From fa59017b69d00f2f545ca3aaeb512e89ccdbbdaa Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 2 Oct 2024 17:10:56 +0100 Subject: [PATCH 001/121] Add comments and simplify sector.next --- src/muse/mca.py | 16 +++++------ src/muse/sectors/sector.py | 59 +++++++++++--------------------------- 2 files changed, 25 insertions(+), 50 deletions(-) diff --git a/src/muse/mca.py b/src/muse/mca.py index 55014c705..7fa2cd481 100644 --- a/src/muse/mca.py +++ b/src/muse/mca.py @@ -310,6 +310,7 @@ def run(self) -> None: ) self.carbon_price = future_propagation(self.carbon_price, future_price) + # Solve the market _, new_market, self.sectors = self.find_equilibrium(new_market) # Save sector outputs @@ -324,17 +325,19 @@ def run(self) -> None: new_market, year_idx ) + # Update the market dims = {i: new_market[i] for i in new_market.dims} self.market.supply.loc[dims] = new_market.supply self.market.consumption.loc[dims] = new_market.consumption - dims = {i: new_market[i] for i in new_market.prices.dims if i != "year"} self.market.prices.loc[dims] = future_propagation( self.market.prices.sel(dims), new_market.prices.sel(year=years[1]) ) + # Global outputs self.outputs(self.market, self.sectors, year=self.time_framework[year_idx]) # type: ignore self.outputs_cache.consolidate_cache(year=self.time_framework[year_idx]) + getLogger(__name__).info( f"Finish simulation year {years[0]} ({year_idx+1}/{nyear})!" ) @@ -429,29 +432,26 @@ def single_year_iteration( if "updated_prices" not in market.data_vars: market["updated_prices"] = drop_timeslice(market.prices.copy()) - # eventually, the first market should be one that creates the initial demand for sector in sectors: + # Solve the sector sector_market = sector.next( market[["supply", "consumption", "prices"]] # type:ignore ) - sector_market = sector_market.sel(year=market.year) + # Calculate net consumption dims = {i: sector_market[i] for i in sector_market.consumption.dims} - sector_market.consumption.loc[dims] = ( sector_market.consumption.loc[dims] - sector_market.supply.loc[dims] ).clip(min=0.0, max=None) + # Update market supply and consumption market.consumption.loc[dims] += sector_market.consumption - dims = {i: sector_market[i] for i in sector_market.supply.dims} market.supply.loc[dims] += sector_market.supply + # Update market prices costs = sector_market.costs.sel(commodity=is_enduse(sector_market.comm_usage)) - - # do not write costs lower than 1e-4 - # should correspond to rounding value if len(costs.commodity) > 0: costs = costs.where(costs > 1e-4, 0) dims = {i: costs[i] for i in costs.dims} diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index b25a7455e..0a6328ed2 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -26,7 +26,6 @@ def factory(cls, name: str, settings: Any) -> Sector: from muse.interactions import factory as interaction_factory from muse.outputs.sector import factory as ofactory from muse.production import factory as pfactory - from muse.readers import read_timeslices from muse.readers.toml import read_technodata from muse.utilities import nametuple_to_dict @@ -34,10 +33,6 @@ def factory(cls, name: str, settings: Any) -> Sector: for attribute in ("name", "type", "priority", "path"): sector_settings.pop(attribute, None) - timeslices = read_timeslices( - sector_settings.pop("timeslice_levels", None) - ).get_index("timeslice") - technologies = read_technodata(settings, name, settings.time_framework) if "subsectors" not in sector_settings: @@ -81,7 +76,6 @@ def factory(cls, name: str, settings: Any) -> Sector: name, technologies, subsectors=subsectors, - timeslices=timeslices, supply_prod=supply, outputs=outputs, interactions=interactions, @@ -93,8 +87,6 @@ def __init__( name: str, technologies: xr.Dataset, subsectors: Sequence[Subsector] = [], - timeslices: pd.MultiIndex | None = None, - technodata_timeslices: xr.Dataset = None, interactions: Callable[[Sequence[AbstractAgent]], None] | None = None, interpolation: str = "linear", outputs: Callable | None = None, @@ -110,11 +102,6 @@ def __init__( """Subsectors controlled by this object.""" self.technologies: xr.Dataset = technologies """Parameters describing the sector's technologies.""" - self.timeslices: pd.MultiIndex | None = timeslices - """Timeslice at which this sector operates. - - If None, it will operate using the timeslice of the input market. - """ self.interpolation: Mapping[str, Any] = { "method": interpolation, "kwargs": {"fill_value": "extrapolate"}, @@ -201,41 +188,25 @@ def group_assets(x: xr.DataArray) -> xr.DataArray: current_year = int(mca_market.year.min()) getLogger(__name__).info(f"Running {self.name} for year {current_year}") - # > to sector timeslice - market = self.convert_market_timeslice( - mca_market.sel( - commodity=self.technologies.commodity, region=self.technologies.region - ).interp( - year=sorted( - { - current_year, - current_year + time_period, - current_year + self.forecast, - } - ), - **self.interpolation, - ), - self.timeslices, - ) - # > agent interactions + # Agent interactions self.interactions(list(self.agents)) - # > investment - years = sorted( - set( - market.year.data.tolist() - + self.capacity.installed.data.tolist() - + self.technologies.year.data.tolist() - ) + + # Select appropriate data from the market + market = mca_market.sel( + commodity=self.technologies.commodity, region=self.technologies.region ) - technologies = self.technologies.interp(year=years, **self.interpolation) + # Investments for subsector in self.subsectors: subsector.invest( - technologies, market, time_period=time_period, current_year=current_year + self.technologies, + market, + time_period=time_period, + current_year=current_year, ) # Full output data - supply, consume, costs = self.market_variables(market, technologies) + supply, consume, costs = self.market_variables(market, self.technologies) self.output_data = xr.Dataset( dict( supply=supply, @@ -287,7 +258,9 @@ def group_assets(x: xr.DataArray) -> xr.DataArray: dict(supply=supply, consumption=consumption, costs=costs) ) result = self.convert_market_timeslice(result, mca_market.timeslice) - result["comm_usage"] = technologies.comm_usage.sel(commodity=result.commodity) + result["comm_usage"] = self.technologies.comm_usage.sel( + commodity=result.commodity + ) result.set_coords("comm_usage") return result @@ -306,15 +279,17 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: years = market.year.values capacity = self.capacity.interp(year=years, **self.interpolation) + # Calculate supply supply = self.supply_prod( market=market, capacity=capacity, technologies=technologies ) - if "timeslice" in market.prices.dims and "timeslice" not in supply.dims: supply = convert_timeslice(supply, market.timeslice, QuantityType.EXTENSIVE) + # Calculate consumption consume = consumption(technologies, supply, market.prices) + # Calculate commodity prices technodata = cast(xr.Dataset, broadcast_techs(technologies, supply)) costs = supply_cost( supply.where(~is_pollutant(supply.comm_usage), 0), From 697ff3f30a2f262a6f1cac39c0de7853298e7b54 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 3 Oct 2024 11:27:03 +0100 Subject: [PATCH 002/121] Simplify agent module, more comments --- src/muse/agents/agent.py | 82 +++++++++++++----------------- src/muse/sectors/sector.py | 15 ++++-- src/muse/sectors/subsector.py | 93 ++++++++++++++++++----------------- 3 files changed, 94 insertions(+), 96 deletions(-) diff --git a/src/muse/agents/agent.py b/src/muse/agents/agent.py index fb34dffb4..a6d45e304 100644 --- a/src/muse/agents/agent.py +++ b/src/muse/agents/agent.py @@ -245,40 +245,13 @@ def asset_housekeeping(self): # state. self.assets = self._housekeeping(self, self.assets) - def next( + def compute_decision( self, technologies: xr.Dataset, market: xr.Dataset, demand: xr.DataArray, - time_period: int = 1, - ) -> Optional[xr.Dataset]: - """Iterates agent one turn. - - The goal is to figure out from market variables which technologies to - invest in and by how much. - - This function will modify `self.assets` and increment `self.year`. - Other attributes are left unchanged. Arguments to the function are - never modified. - """ - from logging import getLogger - - # dataset with intermediate computational results from search - # makes it easier to pass intermediate results to functions, as well as - # filter them when inside a function - if demand.size == 0 or demand.sum() < 1e-12: - self.year += time_period - return None - - search_space = ( - self.search_rules(self, demand, technologies, market).fillna(0).astype(int) - ) - - if any(u == 0 for u in search_space.shape): - getLogger(__name__).critical("Search space is empty") - self.year += time_period - return None - + search_space, + ): # Filter technologies according to the search space, forecast year and region techs = self.filter_input( technologies, @@ -297,23 +270,12 @@ def next( # Filter prices according to the region prices = self.filter_input(market.prices) - # Compute the objective - decision = self._compute_objective( + # Compute the objectives + objectives = self.objectives( technologies=techs, demand=reduced_demand, prices=prices ) - self.year += time_period - return xr.Dataset(dict(search_space=search_space, decision=decision)) - - def _compute_objective( - self, - technologies: xr.Dataset, - demand: xr.DataArray, - prices: xr.DataArray, - ) -> xr.DataArray: - objectives = self.objectives( - technologies=technologies, demand=demand, prices=prices - ) + # Compute the decision metric decision = self.decision(objectives) return decision @@ -433,20 +395,42 @@ def next( Other attributes are left unchanged. Arguments to the function are never modified. """ + from logging import getLogger + current_year = self.year - search = super().next(technologies, market, demand, time_period=time_period) - if search is None: + + # Skip forward if demand is zero + if demand.size == 0 or demand.sum() < 1e-12: + self.year += time_period return None + # Calculate the search space + search_space = ( + self.search_rules(self, demand, technologies, market).fillna(0).astype(int) + ) + + # Skip forward if the search space is empty + if any(u == 0 for u in search_space.shape): + getLogger(__name__).critical("Search space is empty") + self.year += time_period + return None + + # Calculate the decision metric + decision = self.compute_decision(technologies, market, demand, search_space) + search = xr.Dataset(dict(search_space=search_space, decision=decision)) if "timeslice" in search.dims: search["demand"] = drop_timeslice(demand) else: search["demand"] = demand + + # Filter assets with demand not_assets = [u for u in search.demand.dims if u != "asset"] condtechs = ( search.demand.sum(not_assets) > getattr(self, "tolerance", 1e-8) ).values search = search.sel(asset=condtechs) + + # Calculate constraints constraints = self.constraints( search.demand, self.assets, @@ -456,6 +440,7 @@ def next( year=current_year, ) + # Calculate investments investments = self.invest( search[["search_space", "decision"]], technologies, @@ -463,9 +448,12 @@ def next( year=current_year, ) + # Add investments self.add_investments( technologies, investments, - current_year=self.year - time_period, + current_year=current_year, time_period=time_period, ) + + self.year += time_period diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index 0a6328ed2..1dc42dd52 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -29,16 +29,19 @@ def factory(cls, name: str, settings: Any) -> Sector: from muse.readers.toml import read_technodata from muse.utilities import nametuple_to_dict + # Read sector settings sector_settings = getattr(settings.sectors, name)._asdict() for attribute in ("name", "type", "priority", "path"): sector_settings.pop(attribute, None) - - technologies = read_technodata(settings, name, settings.time_framework) - if "subsectors" not in sector_settings: raise RuntimeError(f"Missing 'subsectors' section in sector {name}") if len(sector_settings["subsectors"]._asdict()) == 0: raise RuntimeError(f"Empty 'subsectors' section in sector {name}") + + # Read technologies + technologies = read_technodata(settings, name, settings.time_framework) + + # Create subsectors subsectors = [ Subsector.factory( subsec_settings, @@ -51,14 +54,18 @@ def factory(cls, name: str, settings: Any) -> Sector: ._asdict() .items() ] + + # Check that subsector commodities are disjoint are_disjoint_commodities = sum(len(s.commodities) for s in subsectors) == len( set().union(*(set(s.commodities) for s in subsectors)) # type: ignore ) if not are_disjoint_commodities: raise RuntimeError("Subsector commodities are not disjoint") + # Create outputs outputs = ofactory(*sector_settings.pop("outputs", []), sector_name=name) + # supply_args = sector_settings.pop( "supply", sector_settings.pop("dispatch_production", {}) ) @@ -68,8 +75,10 @@ def factory(cls, name: str, settings: Any) -> Sector: supply_args = nametuple_to_dict(supply_args) supply = pfactory(**supply_args) + # Create interactions interactions = interaction_factory(sector_settings.pop("interactions", None)) + # Create sector for attr in ("technodata", "commodities_out", "commodities_in"): sector_settings.pop(attr, None) return cls( diff --git a/src/muse/sectors/subsector.py b/src/muse/sectors/subsector.py index 26ba1cb27..d37045179 100644 --- a/src/muse/sectors/subsector.py +++ b/src/muse/sectors/subsector.py @@ -1,10 +1,9 @@ from __future__ import annotations -from collections.abc import Hashable, MutableMapping, Sequence +from collections.abc import Sequence from typing import ( Any, Callable, - cast, ) import numpy as np @@ -51,35 +50,35 @@ def invest( self, technologies: xr.Dataset, market: xr.Dataset, - time_period: int = 5, - current_year: int | None = None, + time_period: int, + current_year: int, ) -> None: - if current_year is None: - current_year = market.year.min() + # Expand prices to include destination region (for trade models) if self.expand_market_prices: market = market.copy() market["prices"] = drop_timeslice( np.maximum(market.prices, market.prices.rename(region="dst_region")) ) + # Agent housekeeping for agent in self.agents: agent.asset_housekeeping() - lp_problem = self.aggregate_lp( - technologies, market, time_period, current_year=current_year - ) - if lp_problem is None: - return + # Perform the investment + self.aggregate_lp(technologies, market, time_period, current_year=current_year) + # if lp_problem is None: + # return - years = technologies.year - techs = technologies.interp(year=years) - techs = techs.sel(year=current_year + time_period) + # # If there is a problem with the LP... + # years = technologies.year + # techs = technologies.interp(year=years) + # techs = techs.sel(year=current_year + time_period) - solution = self.investment( - search=lp_problem[0], technologies=techs, constraints=lp_problem[1] - ) + # solution = self.investment( + # search=lp_problem[0], technologies=techs, constraints=lp_problem[1] + # ) - self.assign_back_to_agents(technologies, solution, current_year, time_period) + # self.assign_back_to_agents(technologies, solution, current_year, time_period) def assign_back_to_agents( self, @@ -99,14 +98,12 @@ def aggregate_lp( self, technologies: xr.Dataset, market: xr.Dataset, - time_period: int = 5, - current_year: int | None = None, - ) -> tuple[xr.Dataset, Sequence[xr.Dataset]] | None: + time_period, + current_year, + ): from muse.utilities import agent_concatenation, reduce_assets - if current_year is None: - current_year = market.year.min() - + # Split demand across agents demands = self.demand_share( self.agents, market, @@ -122,42 +119,46 @@ def aggregate_lp( dimension. """ raise ValueError(msg) - agent_market = market.copy() + + # Concatenate assets assets = agent_concatenation( {agent.uuid: agent.assets for agent in self.agents} ) + + # Calculate existing capacity + agent_market = market.copy() agent_market["capacity"] = ( reduce_assets(assets.capacity, coords=("region", "technology")) .interp(year=market.year, method="linear", kwargs={"fill_value": 0.0}) .swap_dims(dict(asset="technology")) ) - agent_lps: MutableMapping[Hashable, xr.Dataset] = {} + # agent_lps: MutableMapping[Hashable, xr.Dataset] = {} for agent in self.agents: if "agent" in demands.coords: share = demands.sel(asset=demands.agent == agent.uuid) else: share = demands - result = agent.next( - technologies, agent_market, share, time_period=time_period - ) - if result is not None: - agent_lps[agent.uuid] = result - - if len(agent_lps) == 0: - return None - - lps = cast(xr.Dataset, agent_concatenation(agent_lps, dim="agent")) - coords = {"agent", "technology", "region"}.intersection(assets.asset.coords) - constraints = self.constraints( - demand=demands, - assets=reduce_assets(assets, coords=coords).set_coords(coords), - search_space=lps.search_space, - market=market, - technologies=technologies, - year=current_year, - ) - return lps, constraints + + # Compute investments for the agent + agent.next(technologies, agent_market, share, time_period=time_period) + # if result is not None: + # agent_lps[agent.uuid] = result + + # if len(agent_lps) == 0: + # return None + + # lps = cast(xr.Dataset, agent_concatenation(agent_lps, dim="agent")) + # coords = {"agent", "technology", "region"}.intersection(assets.asset.coords) + # constraints = self.constraints( + # demand=demands, + # assets=reduce_assets(assets, coords=coords).set_coords(coords), + # search_space=lps.search_space, + # market=market, + # technologies=technologies, + # year=current_year, + # ) + # return lps, constraints @classmethod def factory( From b47c811957c92548257c107108229a969c8fd477 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 3 Oct 2024 14:15:51 +0100 Subject: [PATCH 003/121] Simplify retirment profile code --- src/muse/agents/agent.py | 166 ++++++++++++++++++---------------- src/muse/investments.py | 35 +++---- src/muse/sectors/subsector.py | 36 +------- tests/test_investments.py | 2 +- 4 files changed, 103 insertions(+), 136 deletions(-) diff --git a/src/muse/agents/agent.py b/src/muse/agents/agent.py index a6d45e304..8efdd607e 100644 --- a/src/muse/agents/agent.py +++ b/src/muse/agents/agent.py @@ -80,14 +80,9 @@ def next( technologies: xr.Dataset, market: xr.Dataset, demand: xr.DataArray, - time_period: int = 1, + time_period: int, ): - """Iterates agent one turn. - - The goal is to figure out from market variables which technologies to invest in - and by how much. - """ - pass + """Increments agent to the next time point (e.g. performing investments).""" def __repr__(self): return ( @@ -124,7 +119,7 @@ def __init__( spend_limit: int = 0, **kwargs, ): - """Creates a standard buildings agent. + """Creates a standard agent. Arguments: name: Name of the agent, used for cross-refencing external tables @@ -166,9 +161,7 @@ def __init__( ) self.year = year - """ Current year. - - The year is incremented by one every time next is called. + """ Current year. Incremented by one every time next is called. """ self.forecast = forecast """Number of years to look into the future for forecating purposed.""" @@ -245,6 +238,15 @@ def asset_housekeeping(self): # state. self.assets = self._housekeeping(self, self.assets) + def next( + self, + technologies: xr.Dataset, + market: xr.Dataset, + demand: xr.DataArray, + time_period: int, + ): + self.year += time_period + def compute_decision( self, technologies: xr.Dataset, @@ -279,73 +281,6 @@ def compute_decision( decision = self.decision(objectives) return decision - def add_investments( - self, - technologies: xr.Dataset, - investments: xr.DataArray, - current_year: int, - time_period: int, - ): - """Add new assets to the agent.""" - new_capacity = self.retirement_profile( - technologies, investments, current_year, time_period - ) - - if new_capacity is None: - return - new_capacity = new_capacity.drop_vars( - set(new_capacity.coords) - set(self.assets.coords) - ) - new_assets = xr.Dataset(dict(capacity=new_capacity)) - - self.assets = self.merge_transform(self.assets, new_assets) - - def retirement_profile( - self, - technologies: xr.Dataset, - investments: xr.DataArray, - current_year: int, - time_period: int, - ) -> Optional[xr.DataArray]: - from muse.investments import cliff_retirement_profile - - if "asset" in investments.dims: - investments = investments.sum("asset") - if "agent" in investments.dims: - investments = investments.squeeze("agent", drop=True) - investments = investments.sel( - replacement=(investments > self.asset_threshold).any( - [d for d in investments.dims if d != "replacement"] - ) - ) - if investments.size == 0: - return None - - # figures out the retirement profile for the new investments - lifetime = self.filter_input( - technologies.technical_life, - year=current_year, - technology=investments.replacement, - ) - profile = cliff_retirement_profile( - lifetime.clip(min=time_period), - current_year=current_year + time_period, - protected=max(self.forecast - time_period - 1, 0), - ) - if "dst_region" in investments.coords: - investments = investments.reindex_like(profile, method="ffill") - - new_assets = (investments * profile).rename(replacement="asset") - - new_assets["installed"] = "asset", [current_year] * len(new_assets.asset) - - # The new assets have picked up quite a few coordinates along the way. - # we try and keep only those that were there originally. - if set(new_assets.dims) != set(self.assets.dims): - new, old = new_assets.dims, self.assets.dims - raise RuntimeError(f"Asset dimensions do not match: {new} vs {old}") - return new_assets - class InvestingAgent(Agent): """Agent that performs investment for itself.""" @@ -357,7 +292,7 @@ def __init__( investment: Optional[Callable] = None, **kwargs, ): - """Creates a standard buildings agent. + """Creates an investing agent. Arguments: *args: See :py:class:`~muse.agents.agent.Agent` @@ -384,7 +319,7 @@ def next( technologies: xr.Dataset, market: xr.Dataset, demand: xr.DataArray, - time_period: int = 1, + time_period: int, ): """Iterates agent one turn. @@ -456,4 +391,75 @@ def next( time_period=time_period, ) + # Increment the year self.year += time_period + + def add_investments( + self, + technologies: xr.Dataset, + investments: xr.DataArray, + current_year: int, + time_period: int, + ): + """Add new assets to the agent.""" + new_capacity = self.retirement_profile( + technologies, investments, current_year, time_period + ) + + if new_capacity is None: + return + new_capacity = new_capacity.drop_vars( + set(new_capacity.coords) - set(self.assets.coords) + ) + new_assets = xr.Dataset(dict(capacity=new_capacity)) + + self.assets = self.merge_transform(self.assets, new_assets) + + def retirement_profile( + self, + technologies: xr.Dataset, + investments: xr.DataArray, + current_year: int, + time_period: int, + ) -> Optional[xr.DataArray]: + from muse.investments import cliff_retirement_profile + + # Sum investments + if "asset" in investments.dims: + investments = investments.sum("asset") + if "agent" in investments.dims: + investments = investments.squeeze("agent", drop=True) + + # Filter out investments below the threshold + investments = investments.sel( + replacement=(investments > self.asset_threshold).any( + [d for d in investments.dims if d != "replacement"] + ) + ) + if investments.size == 0: + return None + + # Calculate the retirement profile for new investments + # Note: technical life must be at least the length of the time period + lifetime = self.filter_input( + technologies.technical_life, + year=current_year, + technology=investments.replacement, + ).clip(min=time_period) + profile = cliff_retirement_profile( + lifetime, + investment_year=current_year + time_period, + ) + if "dst_region" in investments.coords: + investments = investments.reindex_like(profile, method="ffill") + + # Apply the retirement profile to the investments + new_assets = (investments * profile).rename(replacement="asset") + new_assets["installed"] = "asset", [current_year] * len(new_assets.asset) + + # The new assets have picked up quite a few coordinates along the way. + # we try and keep only those that were there originally. + if set(new_assets.dims) != set(self.assets.dims): + new, old = new_assets.dims, self.assets.dims + raise RuntimeError(f"Asset dimensions do not match: {new} vs {old}") + return new_assets diff --git a/src/muse/investments.py b/src/muse/investments.py index 7d92e5c7b..08a000b19 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -175,8 +175,7 @@ def compute_investment( def cliff_retirement_profile( technical_life: xr.DataArray, - current_year: int = 0, - protected: int = 0, + investment_year: int, interpolation: str = "linear", **kwargs, ) -> xr.DataArray: @@ -186,19 +185,13 @@ def cliff_retirement_profile( Assets with a technical life smaller than the input time-period should automatically be renewed. - Hence, if ``technical_life <= protected``, then effectively, the technical life is - rewritten as ``technical_life * n`` with ``n = int(protected // technical_life) + - 1``. - We could just return an array where each year is represented. Instead, to save memory, we return a compact view of the same where years where no change happens are removed. Arguments: technical_life: lifetimes for each technology - current_year: current year - protected: The technologies are assumed to be renewed between years - `current_year` and `current_year + protected` + investment_year: The year in which the investment is made interpolation: Interpolation type **kwargs: arguments by which to filter technical_life, if any. @@ -211,26 +204,26 @@ def cliff_retirement_profile( if kwargs: technical_life = technical_life.sel(**kwargs) if "year" in technical_life.dims: - technical_life = technical_life.interp(year=current_year, method=interpolation) - technical_life = (1 + protected // technical_life) * technical_life # type:ignore + technical_life = technical_life.interp( + year=investment_year, method=interpolation + ) + # Create profile across all years if len(technical_life) > 0: - max_year = int(current_year + technical_life.max()) + max_year = int(investment_year + technical_life.max()) else: - max_year = int(current_year + protected) + max_year = investment_year allyears = xr.DataArray( - range(current_year, max_year + 1), + range(investment_year, max_year + 1), dims="year", - coords={"year": range(current_year, max_year + 1)}, + coords={"year": range(investment_year, max_year + 1)}, ) + profile = allyears < (investment_year + technical_life) # type: ignore - profile = allyears < (current_year + technical_life) # type: ignore - - # now we minimize the number of years needed to represent the profile fully - # this is done by removing the central year of any three repeating year, ensuring - # the removed year can be recovered by a linear interpolation. + # Minimize the number of years needed to represent the profile fully + # This is done by removing the central year of any three repeating years, ensuring + # the removed year can be recovered by linear interpolation. goodyears = avoid_repetitions(profile.astype(int)) - return profile.sel(year=goodyears).astype(bool) diff --git a/src/muse/sectors/subsector.py b/src/muse/sectors/subsector.py index d37045179..3beb7efa9 100644 --- a/src/muse/sectors/subsector.py +++ b/src/muse/sectors/subsector.py @@ -64,21 +64,8 @@ def invest( for agent in self.agents: agent.asset_housekeeping() - # Perform the investment + # Perform the investments self.aggregate_lp(technologies, market, time_period, current_year=current_year) - # if lp_problem is None: - # return - - # # If there is a problem with the LP... - # years = technologies.year - # techs = technologies.interp(year=years) - # techs = techs.sel(year=current_year + time_period) - - # solution = self.investment( - # search=lp_problem[0], technologies=techs, constraints=lp_problem[1] - # ) - - # self.assign_back_to_agents(technologies, solution, current_year, time_period) def assign_back_to_agents( self, @@ -133,32 +120,13 @@ def aggregate_lp( .swap_dims(dict(asset="technology")) ) - # agent_lps: MutableMapping[Hashable, xr.Dataset] = {} + # Increment each agent (perform investments) for agent in self.agents: if "agent" in demands.coords: share = demands.sel(asset=demands.agent == agent.uuid) else: share = demands - - # Compute investments for the agent agent.next(technologies, agent_market, share, time_period=time_period) - # if result is not None: - # agent_lps[agent.uuid] = result - - # if len(agent_lps) == 0: - # return None - - # lps = cast(xr.Dataset, agent_concatenation(agent_lps, dim="agent")) - # coords = {"agent", "technology", "region"}.intersection(assets.asset.coords) - # constraints = self.constraints( - # demand=demands, - # assets=reduce_assets(assets, coords=coords).set_coords(coords), - # search_space=lps.search_space, - # market=market, - # technologies=technologies, - # year=current_year, - # ) - # return lps, constraints @classmethod def factory( diff --git a/tests/test_investments.py b/tests/test_investments.py index 92b9abbbc..415f0c9f5 100644 --- a/tests/test_investments.py +++ b/tests/test_investments.py @@ -75,7 +75,7 @@ def test_cliff_retirement_random_profile(protected): current = 5 profile = cliff_retirement_profile( - lifetime, current_year=current, protected=protected + lifetime, investment_year=current, protected=protected ) assert profile.year.min() == current assert profile.year.max() <= current + effective_lifetime.max() + 1 From a86e07f7f5f3cc93e9868587e5be4a2bd247ecfa Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 3 Oct 2024 14:56:04 +0100 Subject: [PATCH 004/121] Simplify merge_assets --- src/muse/agents/agent.py | 3 ++- src/muse/utilities.py | 50 +++++++++++++++------------------------- 2 files changed, 21 insertions(+), 32 deletions(-) diff --git a/src/muse/agents/agent.py b/src/muse/agents/agent.py index 8efdd607e..6a014e343 100644 --- a/src/muse/agents/agent.py +++ b/src/muse/agents/agent.py @@ -402,10 +402,10 @@ def add_investments( time_period: int, ): """Add new assets to the agent.""" + # Calculate retirement profile of new assets new_capacity = self.retirement_profile( technologies, investments, current_year, time_period ) - if new_capacity is None: return new_capacity = new_capacity.drop_vars( @@ -413,6 +413,7 @@ def add_investments( ) new_assets = xr.Dataset(dict(capacity=new_capacity)) + # Merge new assets with existing assets self.assets = self.merge_transform(self.assets, new_assets) def retirement_profile( diff --git a/src/muse/utilities.py b/src/muse/utilities.py index a2afd0093..6a8e4e09e 100644 --- a/src/muse/utilities.py +++ b/src/muse/utilities.py @@ -385,41 +385,29 @@ def merge_assets( dimension: str = "asset", ) -> xr.DataArray: """Merge two capacity arrays.""" + # Interpolate capacity arrays to a common time framework years = sorted(set(capa_a.year.values).union(capa_b.year.values)) - if len(capa_a.year) == 1: - result = xr.concat( - ( - capa_a, - capa_b.interp(year=years, method=interpolation).fillna(0), - ), - dim=dimension, - ).fillna(0) + capa_a_interp = capa_a + capa_b_interp = capa_b.interp(year=years, method=interpolation).fillna(0) elif len(capa_b.year) == 1: - result = xr.concat( - ( - capa_a.interp(year=years, method=interpolation).fillna(0), - capa_b, - ), - dim=dimension, - ).fillna(0) + capa_a_interp = capa_a.interp(year=years, method=interpolation).fillna(0) + capa_b_interp = capa_b else: - result = xr.concat( - ( - capa_a.interp(year=years, method=interpolation).fillna(0), - capa_b.interp(year=years, method=interpolation).fillna(0), - ), - dim=dimension, - ) - forgroup = result.pipe(coords_to_multiindex, dimension=dimension) - if len(forgroup[dimension]) != len(set(forgroup[dimension].values)): - result = ( - forgroup.groupby(dimension) - .sum(dimension) - .clip(min=0) - .pipe(multiindex_to_coords, dimension=dimension) - ) - return result + capa_a_interp = capa_a.interp(year=years, method=interpolation).fillna(0) + capa_b_interp = capa_b.interp(year=years, method=interpolation).fillna(0) + + # Concatenate the two capacity arrays + result = xr.concat((capa_a_interp, capa_b_interp), dim=dimension) + + # forgroup = result.pipe(coords_to_multiindex, dimension=dimension) + # result = ( + # forgroup.groupby(dimension) + # .sum(dimension) + # .clip(min=0) + # .pipe(multiindex_to_coords, dimension=dimension) + # ) + return result.clip(min=0) def avoid_repetitions(data: xr.DataArray, dim: str = "year") -> xr.DataArray: From 3e513111cbc1c15ac2acefc0bd442034300d7735 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 4 Oct 2024 10:06:02 +0100 Subject: [PATCH 005/121] Revert change to merge_assets --- src/muse/utilities.py | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/muse/utilities.py b/src/muse/utilities.py index 6a8e4e09e..120949ee6 100644 --- a/src/muse/utilities.py +++ b/src/muse/utilities.py @@ -141,6 +141,8 @@ def reduce_assets( """ from copy import copy + assets = copy(assets) + if operation is None: def operation(x): @@ -148,23 +150,31 @@ def operation(x): assert operation is not None + # Concatenate assets if a sequence is given if not isinstance(assets, (xr.Dataset, xr.DataArray)): assets = xr.concat(assets, dim=dim) assert isinstance(assets, (xr.Dataset, xr.DataArray)) + + # If there are no assets, nothing needs to be done if assets[dim].size == 0: return assets + + # Coordinates to reduce over (e.g. technology, installed) if coords is None: coords = [cast(str, k) for k, v in assets.coords.items() if v.dims == (dim,)] elif isinstance(coords, str): coords = (coords,) coords = [k for k in coords if k in assets.coords and assets[k].dims == (dim,)] - assets = copy(assets) + + # Create a new dimension to group by dtypes = [(d, assets[d].dtype) for d in coords] grouper = np.array( list(zip(*(cast(Iterator, assets[d].values) for d in coords))), dtype=dtypes ) assert "grouper" not in assets.coords assets["grouper"] = "asset", grouper + + # Perform the operation result = operation(assets.groupby("grouper")).rename(grouper=dim) for i, d in enumerate(coords): result[d] = dim, [u[i] for u in result[dim].values] @@ -400,14 +410,16 @@ def merge_assets( # Concatenate the two capacity arrays result = xr.concat((capa_a_interp, capa_b_interp), dim=dimension) - # forgroup = result.pipe(coords_to_multiindex, dimension=dimension) - # result = ( - # forgroup.groupby(dimension) - # .sum(dimension) - # .clip(min=0) - # .pipe(multiindex_to_coords, dimension=dimension) - # ) - return result.clip(min=0) + # + forgroup = result.pipe(coords_to_multiindex, dimension=dimension) + if len(forgroup[dimension]) != len(set(forgroup[dimension].values)): + result = ( + forgroup.groupby(dimension) + .sum(dimension) + .clip(min=0) + .pipe(multiindex_to_coords, dimension=dimension) + ) + return result def avoid_repetitions(data: xr.DataArray, dim: str = "year") -> xr.DataArray: From 941a5a6824a162411bd1cdf0cc055649cf4fc3aa Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 4 Oct 2024 10:07:36 +0100 Subject: [PATCH 006/121] Delete unused factory --- src/muse/agents/__init__.py | 2 +- src/muse/agents/factories.py | 91 ------------------------------------ 2 files changed, 1 insertion(+), 92 deletions(-) diff --git a/src/muse/agents/__init__.py b/src/muse/agents/__init__.py index 069f1c2ef..926d1ee14 100644 --- a/src/muse/agents/__init__.py +++ b/src/muse/agents/__init__.py @@ -8,4 +8,4 @@ ] from muse.agents.agent import AbstractAgent, Agent, InvestingAgent -from muse.agents.factories import agents_factory, create_agent, factory +from muse.agents.factories import agents_factory, create_agent diff --git a/src/muse/agents/factories.py b/src/muse/agents/factories.py index efd7056fd..236eb24eb 100644 --- a/src/muse/agents/factories.py +++ b/src/muse/agents/factories.py @@ -7,7 +7,6 @@ import xarray as xr from muse.agents.agent import Agent, InvestingAgent -from muse.defaults import DEFAULT_SECTORS_DIRECTORY from muse.errors import RetrofitAgentNotDefined, TechnologyNotDefined @@ -173,96 +172,6 @@ def create_agent(agent_type: str, **kwargs) -> Agent: return method(**kwargs) # type: ignore -def factory( - existing_capacity_path: Optional[Union[Path, str]] = None, - agent_parameters_path: Optional[Union[Path, str]] = None, - technodata_path: Optional[Union[Path, str]] = None, - technodata_timeslices_path: Optional[Union[str, Path]] = None, - sector: Optional[str] = None, - sectors_directory: Union[str, Path] = DEFAULT_SECTORS_DIRECTORY, - baseyear: int = 2010, -) -> list[Agent]: - """Reads list of agents from standard MUSE input files.""" - from copy import deepcopy - from logging import getLogger - from textwrap import dedent - - from muse.readers import ( - read_csv_agent_parameters, - read_initial_assets, - read_technodata_timeslices, - read_technodictionary, - ) - from muse.readers.csv import find_sectors_file - - if sector is None: - assert existing_capacity_path is not None - assert agent_parameters_path is not None - assert technodata_path is not None - - if existing_capacity_path is None: - existing_capacity_path = find_sectors_file( - f"Existing{sector}.csv", sector, sectors_directory - ) - if agent_parameters_path is None: - agent_parameters_path = find_sectors_file( - f"BuildingAgent{sector}.csv", sector, sectors_directory - ) - if technodata_path is None: - technodata_path = find_sectors_file( - f"technodata{sector}.csv", sector, sectors_directory - ) - - params = read_csv_agent_parameters(agent_parameters_path) - techno = read_technodictionary(technodata_path) - capa = read_initial_assets(existing_capacity_path) - if technodata_timeslices_path and isinstance( - technodata_timeslices_path, (str, Path) - ): - technodata_timeslices = read_technodata_timeslices(technodata_timeslices_path) - else: - technodata_timeslices = None - result = [] - for param in params: - if param["agent_type"] == "retrofit": - param["technologies"] = techno.sel(region=param["region"]) - if technodata_timeslices is not None: - param.drop_vars("utilization_factor") - param = param.merge(technodata_timeslices.sel(region=param["region"])) - param["category"] = param["agent_type"] - param["capacity"] = deepcopy(capa.sel(region=param["region"])) - param["year"] = baseyear - result.append(create_agent(**param)) - - nregs = len({u.region for u in result}) - types = [u.name for u in result] - msg = dedent( - """\ - Read agents for sector {name} from: - - agent parameter file {para} - - technologies data file {tech} - - initial capacity file {ini} - - Found {n} agents across {nregs} regions{end} - """.format( - n=len(result), - name=sector, - para=agent_parameters_path, - tech=technodata_path, - ini=existing_capacity_path, - nregs=nregs, - end="." if len(result) == 0 else ", with:\n", - ) - ) - for t in set(types): - n = types.count(t) - msg += " - {n} {t} agent{plural}\n".format( - n=n, t=t, plural="" if n == 1 else "s" - ) - getLogger(__name__).info(msg) - return result - - def agents_factory( params_or_path: Union[str, Path, list], capacity: Union[xr.DataArray, str, Path], From 9d2cac9c4be1729193e2483373ff5a35f83ce974 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 4 Oct 2024 10:08:01 +0100 Subject: [PATCH 007/121] More comments added to code --- src/muse/demand_share.py | 93 +++++++++++++++++++++++++--------------- src/muse/investments.py | 14 +++++- 2 files changed, 70 insertions(+), 37 deletions(-) diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index f95e43f30..f913c5fbc 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -363,8 +363,15 @@ def decommissioning(capacity): if current_year is None: current_year = market.year.min() + # Make sure there are no retrofit agents + for agent in agents: + if agent.category == "retrofit": + raise RetrofitAgentInStandardDemandShare() + + # Calculate existing capacity capacity = reduce_assets([agent.assets.capacity for agent in agents]) + # Calculate new and retrofit demands demands = new_and_retro_demands( capacity, market, @@ -374,34 +381,32 @@ def decommissioning(capacity): forecast=forecast, ) + # Only consider end-use commodities demands = demands.where( is_enduse(technologies.comm_usage.sel(commodity=demands.commodity)), 0 ) - for agent in agents: - if agent.category == "retrofit": - raise RetrofitAgentInStandardDemandShare() - id_to_share: MutableMapping[Hashable, xr.DataArray] = {} for region in demands.region.values: + # Calculate current capacity current_capacity: MutableMapping[Hashable, xr.DataArray] = { agent.uuid: agent.assets.capacity for agent in agents if agent.region == region } + + # Split demands between agents id_to_quantity = { agent.uuid: (agent.name, agent.region, agent.quantity) for agent in agents if agent.region == region } - retro_demands: MutableMapping[Hashable, xr.DataArray] = _inner_split( current_capacity, demands.retrofit.sel(region=region), decommissioning, id_to_quantity, ) - new_demands = _inner_split( current_capacity, demands.new.sel(region=region), @@ -413,6 +418,7 @@ def decommissioning(capacity): id_to_quantity, ) + # Sum new and retrofit demands total_demands = { k: new_demands[k] + retro_demands[k] for k in new_demands.keys() } @@ -527,14 +533,21 @@ def unmet_demand( prod_method = production if callable(production) else prod_factory(production) assert callable(prod_method) + + # Calculate production by existing assets produced = prod_method(market=market, capacity=capacity, technologies=technologies) + + # Total commodity production by summing over assets if "dst_region" in produced.dims: produced = produced.sum("asset").rename(dst_region="region") elif "region" in produced.coords and produced.region.dims: produced = produced.groupby("region").sum("asset") else: produced = produced.sum("asset") - return (market.consumption - produced).clip(min=0) + + # Unmet demand is the difference between the consumption and the production + unmet_demand = (market.consumption - produced).clip(min=0) + return unmet_demand def new_consumption( @@ -565,20 +578,23 @@ def new_consumption( if current_year is None: current_year = market.year.min() - ts_capa = convert_timeslice( - capacity.interp(year=current_year), market.timeslice, QuantityType.EXTENSIVE - ) + # Interpolate market to forecast year + market = market.interp(year=[current_year, current_year + forecast]) + current = market.sel(year=current_year, drop=True) + forecasted = market.sel(year=current_year + forecast, drop=True) + + # Calculate the increase in consumption over the forecast period + delta = (forecasted.consumption - current.consumption).clip(min=0) + + # Capacity in the forecast year ts_capa = convert_timeslice( capacity.interp(year=current_year + forecast), market.timeslice, QuantityType.EXTENSIVE, ) assert isinstance(ts_capa, xr.DataArray) - market = market.interp(year=[current_year, current_year + forecast]) - current = market.sel(year=current_year, drop=True) - forecasted = market.sel(year=current_year + forecast, drop=True) - delta = (forecasted.consumption - current.consumption).clip(min=0) + # missing = unmet_demand(current, ts_capa, technologies) consumption = minimum(delta, missing) return consumption @@ -612,23 +628,28 @@ def new_and_retro_demands( if current_year is None: current_year = market.year.min() + # Interpolate market to forecast year smarket: xr.Dataset = market.interp(year=[current_year, current_year + forecast]) + + # Split capacity between timeslices ts_capa = convert_timeslice( capacity.interp(year=[current_year, current_year + forecast]), market.timeslice, QuantityType.EXTENSIVE, ) - assert isinstance(ts_capa, xr.DataArray) + if hasattr(ts_capa, "region") and ts_capa.region.dims == (): ts_capa["region"] = "asset", [str(ts_capa.region.values)] * len(ts_capa.asset) + # Calculate demand to allocate to "new" agents new_demand = new_consumption( ts_capa, smarket, technologies, current_year=current_year, forecast=forecast ) if "year" in new_demand.dims: new_demand = new_demand.squeeze("year") + # Total production in the forecast year by existing assets service = ( production_method( smarket.sel(year=current_year + forecast), @@ -638,37 +659,39 @@ def new_and_retro_demands( .groupby("region") .sum("asset") ) - # existing asset should not execute beyond demand + + # Existing asset should not execute beyond demand service = minimum( service, smarket.consumption.sel(year=current_year + forecast, drop=True) ) + + # Leftover demand that cannot be serviced by existing assets or "new" agents retro_demand = ( smarket.consumption.sel(year=current_year + forecast, drop=True) - new_demand - service ).clip(min=0) - if "year" in retro_demand.dims: retro_demand = retro_demand.squeeze("year") return xr.Dataset({"new": new_demand, "retrofit": retro_demand}) -def new_demand( - capacity: xr.DataArray, - market: xr.Dataset, - technologies: xr.Dataset, - production: Union[str, Mapping, Callable] = "maximum_production", - current_year: Optional[int] = None, - forecast: int = 5, -) -> xr.DataArray: - """Calculates the new demand that needs to be covered. - - It groups the demand related to an increase in consumption as well as the existing - demand associated with decommissoned assets. Internally, it just calls - `new_and_retro` demands and adds together both components. - """ - demand = new_and_retro_demands( - capacity, market, technologies, production, current_year, forecast - ) - return (demand["new"] + demand["retrofit"]).rename("demand") +# def new_demand( +# capacity: xr.DataArray, +# market: xr.Dataset, +# technologies: xr.Dataset, +# production: Union[str, Mapping, Callable] = "maximum_production", +# current_year: Optional[int] = None, +# forecast: int = 5, +# ) -> xr.DataArray: +# """Calculates the new demand that needs to be covered. + +# It groups the demand related to an increase in consumption as well as the existing +# demand associated with decommissoned assets. Internally, it just calls +# `new_and_retro` demands and adds together both components. +# """ +# demand = new_and_retro_demands( +# capacity, market, technologies, production, current_year, forecast +# ) +# return (demand["new"] + demand["retrofit"]).rename("demand") diff --git a/src/muse/investments.py b/src/muse/investments.py index 08a000b19..8d8cc7075 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -154,6 +154,7 @@ def compute_investment( """ from numpy import zeros + # Skip the investment step if no assets or replacements are available if any(u == 0 for u in search.decision.shape): return xr.DataArray( zeros((len(search.asset), len(search.replacement))), @@ -161,6 +162,7 @@ def compute_investment( dims=("asset", "replacement"), ) + # Otherwise, compute the investment return investment( search.decision, search.search_space, @@ -305,18 +307,24 @@ def scipy_match_demand( if "timeslice" in costs.dims and timeslice_op is not None: costs = timeslice_op(costs) + + timeslice = next(cs.timeslice for cs in constraints if "timeslice" in cs.dims) + + # Select technodata for the current year if "year" in technologies.dims and year is None: raise ValueError("Missing year argument") elif "year" in technologies.dims: techs = technologies.sel(year=year).drop_vars("year") else: techs = technologies - timeslice = next(cs.timeslice for cs in constraints if "timeslice" in cs.dims) + # Run scipy optimization with highs solver adapter = ScipyAdapter.factory( techs, cast(np.ndarray, costs), timeslice, *constraints ) res = linprog(**adapter.kwargs, method="highs") + + # Backup: try with highs-ipm if not res.success and (res.status != 0): res = linprog( **adapter.kwargs, @@ -338,7 +346,9 @@ def scipy_match_demand( getLogger(__name__).critical(msg) raise GrowthOfCapacityTooConstrained - return cast(Callable[[np.ndarray], xr.Dataset], adapter.to_muse)(res.x) + # Convert results to a MUSE friendly format + result = cast(Callable[[np.ndarray], xr.Dataset], adapter.to_muse)(res.x) + return result @register_investment(name=["cvxopt"]) From e386da12460a0c11a249ec0d3a3571d0af8544d0 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 4 Oct 2024 12:10:10 +0100 Subject: [PATCH 008/121] Revert some changes to fix tests --- src/muse/demand_share.py | 9 +++++---- src/muse/investments.py | 2 +- src/muse/quantities.py | 8 +++++--- src/muse/sectors/sector.py | 19 ++++++++++++++++++- tests/test_agents.py | 2 +- tests/test_investments.py | 14 +++++++------- tests/test_subsector.py | 11 +++++++++-- 7 files changed, 46 insertions(+), 19 deletions(-) diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index f913c5fbc..01af32149 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -473,6 +473,7 @@ def _inner_split( """ from numpy import logical_and + # Find decrease in capacity production by each asset over time shares: Mapping[Hashable, xr.DataArray] = { key: method(capacity=capacity) .groupby("technology") @@ -480,24 +481,24 @@ def _inner_split( .rename(technology="asset") for key, capacity in assets.items() } + + # Total decrease in production across assets try: summed_shares: xr.DataArray = xr.concat(shares.values(), dim="concat_dim").sum( "concat_dim" ) - - # Calculates the total demand assigned in the previous step with the "method" - # function across agents and assets. total: xr.DataArray = summed_shares.sum("asset") except AttributeError: raise AgentWithNoAssetsInDemandShare() # Calculates the demand divided by the number of assets times the number of agents # if the demand is bigger than zero and the total demand assigned with the "method" - # function is zero. + # function is zero (i.e. no decrease in production). unassigned = (demand / (len(shares) * len(summed_shares))).where( logical_and(demand > 1e-12, total <= 1e-12), 0 ) + # ??? totals = { key: (share / share.sum("asset")).fillna(0) for key, share in shares.items() } diff --git a/src/muse/investments.py b/src/muse/investments.py index 8d8cc7075..19598f496 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -177,7 +177,7 @@ def compute_investment( def cliff_retirement_profile( technical_life: xr.DataArray, - investment_year: int, + investment_year: int = 0, interpolation: str = "linear", **kwargs, ) -> xr.DataArray: diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 7daf87b15..66df60c39 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -250,9 +250,11 @@ def decommissioning_demand( baseyear = min(year) dyears = [u for u in year if u != baseyear] - return maximum_production( - technologies, capacity.sel(year=baseyear) - capacity.sel(year=dyears) - ).clip(min=0) + # Calculate the decrease in capacity from the current year to future years + capacity_decrease = capacity.sel(year=baseyear) - capacity.sel(year=dyears) + + # Calculate production associated with this capacity + return maximum_production(technologies, capacity_decrease).clip(min=0) def consumption( diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index 1dc42dd52..31e04dae5 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -26,6 +26,7 @@ def factory(cls, name: str, settings: Any) -> Sector: from muse.interactions import factory as interaction_factory from muse.outputs.sector import factory as ofactory from muse.production import factory as pfactory + from muse.readers import read_timeslices from muse.readers.toml import read_technodata from muse.utilities import nametuple_to_dict @@ -38,6 +39,11 @@ def factory(cls, name: str, settings: Any) -> Sector: if len(sector_settings["subsectors"]._asdict()) == 0: raise RuntimeError(f"Empty 'subsectors' section in sector {name}") + # Timeslices + timeslices = read_timeslices( + sector_settings.pop("timeslice_levels", None) + ).get_index("timeslice") + # Read technologies technologies = read_technodata(settings, name, settings.time_framework) @@ -79,12 +85,18 @@ def factory(cls, name: str, settings: Any) -> Sector: interactions = interaction_factory(sector_settings.pop("interactions", None)) # Create sector - for attr in ("technodata", "commodities_out", "commodities_in"): + for attr in ( + "technodata", + "commodities_out", + "commodities_in", + "technodata_timeslices", + ): sector_settings.pop(attr, None) return cls( name, technologies, subsectors=subsectors, + timeslices=timeslices, supply_prod=supply, outputs=outputs, interactions=interactions, @@ -96,6 +108,7 @@ def __init__( name: str, technologies: xr.Dataset, subsectors: Sequence[Subsector] = [], + timeslices: pd.MultiIndex | None = None, interactions: Callable[[Sequence[AbstractAgent]], None] | None = None, interpolation: str = "linear", outputs: Callable | None = None, @@ -111,6 +124,10 @@ def __init__( """Subsectors controlled by this object.""" self.technologies: xr.Dataset = technologies """Parameters describing the sector's technologies.""" + self.timeslices: pd.MultiIndex | None = timeslices + """Timeslice at which this sector operates. + If None, it will operate using the timeslice of the input market. + """ self.interpolation: Mapping[str, Any] = { "method": interpolation, "kwargs": {"fill_value": "extrapolate"}, diff --git a/tests/test_agents.py b/tests/test_agents.py index c767c2c98..3287e0e3c 100644 --- a/tests/test_agents.py +++ b/tests/test_agents.py @@ -143,7 +143,7 @@ def test_run_retro_agent(retro_agent, technologies, agent_market, demand_share): technologies.max_capacity_addition[:] = retro_agent.assets.capacity.sum() * 100 technologies.max_capacity_growth[:] = retro_agent.assets.capacity.sum() * 100 - retro_agent.next(technologies, agent_market, demand_share) + retro_agent.next(technologies, agent_market, demand_share, time_period=5) def test_merge_assets(assets): diff --git a/tests/test_investments.py b/tests/test_investments.py index 415f0c9f5..f330eda43 100644 --- a/tests/test_investments.py +++ b/tests/test_investments.py @@ -44,7 +44,7 @@ def test_cliff_retirement_known_profile(): name="technical_life", ) - profile = cliff_retirement_profile(lifetime) + profile = cliff_retirement_profile(technical_life=lifetime) expected = array( [ [True, False, False, False], @@ -73,12 +73,12 @@ def test_cliff_retirement_random_profile(protected): ) effective_lifetime = (protected // lifetime + 1) * lifetime - current = 5 + investment_year = 5 profile = cliff_retirement_profile( - lifetime, investment_year=current, protected=protected + technical_life=lifetime, investment_year=investment_year, protected=protected ) - assert profile.year.min() == current - assert profile.year.max() <= current + effective_lifetime.max() + 1 - assert profile.astype(int).interp(year=current).all() - assert profile.astype(int).interp(year=current + protected).all() + assert profile.year.min() == investment_year + assert profile.year.max() <= investment_year + effective_lifetime.max() + 1 + assert profile.astype(int).interp(year=investment_year).all() + assert profile.astype(int).interp(year=investment_year + protected).all() assert not profile.astype(int).interp(year=profile.year.max()).any() diff --git a/tests/test_subsector.py b/tests/test_subsector.py index 9c326f1f4..3ec688c26 100644 --- a/tests/test_subsector.py +++ b/tests/test_subsector.py @@ -48,7 +48,12 @@ def test_subsector_investing_aggregation(): subsector = Subsector(agents, commodities) initial_agents = deepcopy(agents) assert {agent.year for agent in agents} == {int(market.year.min())} - assert subsector.aggregate_lp(technologies, market) is None + assert ( + subsector.aggregate_lp( + technologies, market, time_period=5, current_year=5 + ) + is None + ) assert {agent.year for agent in agents} == {int(market.year.min() + 5)} for initial, final in zip(initial_agents, agents): assert initial.assets.sum() != final.assets.sum() @@ -105,7 +110,9 @@ def test_subsector_noninvesting_aggregation(market, model, technologies, tmp_pat commodity=technologies.commodity, region=technologies.region ).interp(year=[2020, 2025]) assert all(agent.year == 2020 for agent in agents) - result = subsector.aggregate_lp(technologies, market) + result = subsector.aggregate_lp( + technologies, market, time_period=5, current_year=2020 + ) assert result is not None assert len(result) == 2 From 018ca5c3bb8c32dc438a3edf4802de4a057165e5 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 4 Oct 2024 12:32:59 +0100 Subject: [PATCH 009/121] Fix tests --- tests/test_investments.py | 4 ++-- tests/test_subsector.py | 18 +----------------- 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/tests/test_investments.py b/tests/test_investments.py index f330eda43..a4fc87690 100644 --- a/tests/test_investments.py +++ b/tests/test_investments.py @@ -75,10 +75,10 @@ def test_cliff_retirement_random_profile(protected): investment_year = 5 profile = cliff_retirement_profile( - technical_life=lifetime, investment_year=investment_year, protected=protected + technical_life=lifetime.clip(min=protected), investment_year=investment_year ) assert profile.year.min() == investment_year assert profile.year.max() <= investment_year + effective_lifetime.max() + 1 assert profile.astype(int).interp(year=investment_year).all() - assert profile.astype(int).interp(year=investment_year + protected).all() + assert profile.astype(int).interp(year=investment_year + protected - 1).all() assert not profile.astype(int).interp(year=profile.year.max()).any() diff --git a/tests/test_subsector.py b/tests/test_subsector.py index 3ec688c26..5d18358a9 100644 --- a/tests/test_subsector.py +++ b/tests/test_subsector.py @@ -1,4 +1,3 @@ -from collections.abc import Sequence from unittest.mock import MagicMock, patch import xarray as xr @@ -110,22 +109,7 @@ def test_subsector_noninvesting_aggregation(market, model, technologies, tmp_pat commodity=technologies.commodity, region=technologies.region ).interp(year=[2020, 2025]) assert all(agent.year == 2020 for agent in agents) - result = subsector.aggregate_lp( - technologies, market, time_period=5, current_year=2020 - ) - - assert result is not None - assert len(result) == 2 - - lpcosts, lpconstraints = result - assert isinstance(lpcosts, xr.Dataset) - assert {"search_space", "decision"} == set(lpcosts.data_vars) - assert "agent" in lpcosts.coords - assert isinstance(lpconstraints, Sequence) - assert len(lpconstraints) == 1 - assert all(isinstance(u, xr.Dataset) for u in lpconstraints) - # makes sure agent investment got called - assert all(agent.year == 2025 for agent in agents) + subsector.aggregate_lp(technologies, market, time_period=5, current_year=2020) def test_factory_smoke_test(model, technologies, tmp_path): From 4fd2e79a486e026f31412f8362fc7e54f3ac8535 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 4 Oct 2024 14:02:07 +0100 Subject: [PATCH 010/121] Small fix to another test --- src/muse/agents/agent.py | 3 +-- src/muse/demand_share.py | 20 -------------------- tests/test_utilities.py | 2 +- 3 files changed, 2 insertions(+), 23 deletions(-) diff --git a/src/muse/agents/agent.py b/src/muse/agents/agent.py index 6a014e343..836adbab6 100644 --- a/src/muse/agents/agent.py +++ b/src/muse/agents/agent.py @@ -161,8 +161,7 @@ def __init__( ) self.year = year - """ Current year. Incremented by one every time next is called. - """ + """ Current year. Incremented by one every time next is called.""" self.forecast = forecast """Number of years to look into the future for forecating purposed.""" if search_rules is None: diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index 01af32149..a5187c4fe 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -676,23 +676,3 @@ def new_and_retro_demands( retro_demand = retro_demand.squeeze("year") return xr.Dataset({"new": new_demand, "retrofit": retro_demand}) - - -# def new_demand( -# capacity: xr.DataArray, -# market: xr.Dataset, -# technologies: xr.Dataset, -# production: Union[str, Mapping, Callable] = "maximum_production", -# current_year: Optional[int] = None, -# forecast: int = 5, -# ) -> xr.DataArray: -# """Calculates the new demand that needs to be covered. - -# It groups the demand related to an increase in consumption as well as the existing -# demand associated with decommissoned assets. Internally, it just calls -# `new_and_retro` demands and adds together both components. -# """ -# demand = new_and_retro_demands( -# capacity, market, technologies, production, current_year, forecast -# ) -# return (demand["new"] + demand["retrofit"]).rename("demand") diff --git a/tests/test_utilities.py b/tests/test_utilities.py index f829ac6be..44d7bf0f6 100644 --- a/tests/test_utilities.py +++ b/tests/test_utilities.py @@ -37,7 +37,7 @@ def test_reduce_assets_with_zero_size(capacity: xr.DataArray): x = capacity.sel(asset=[]) actual = reduce_assets(x) - assert actual is x + assert (actual == x).all() def test_broadcast_tech(technologies, capacity): From 51a5273f9720f95fa4126b6654e11414a490c616 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 4 Oct 2024 14:58:40 +0100 Subject: [PATCH 011/121] Delete legacy sector --- src/muse/mca.py | 68 +---- src/muse/sectors/legacy_sector.py | 451 ------------------------------ 2 files changed, 1 insertion(+), 518 deletions(-) delete mode 100644 src/muse/sectors/legacy_sector.py diff --git a/src/muse/mca.py b/src/muse/mca.py index 7fa2cd481..1440a7d76 100644 --- a/src/muse/mca.py +++ b/src/muse/mca.py @@ -274,23 +274,14 @@ def run(self) -> None: """ from logging import getLogger - from numpy import where from xarray import DataArray - _, self.sectors, hist_years = self.calibrate_legacy_sectors() - if len(hist_years) > 0: - hist = where(self.time_framework <= hist_years[-1])[0] - start = hist[-1] - - else: - start = -1 - nyear = len(self.time_framework) - 1 check_carbon_budget = len(self.carbon_budget) and len(self.carbon_commodities) shoots = self.control_undershoot or self.control_overshoot variables = ["supply", "consumption", "prices"] - for year_idx in range(start + 1, nyear): + for year_idx in range(nyear): years = self.time_framework[year_idx : year_idx + 2] getLogger(__name__).info(f"Running simulation year {years[0]}...") new_market = self.market[variables].sel(year=years) @@ -342,63 +333,6 @@ def run(self) -> None: f"Finish simulation year {years[0]} ({year_idx+1}/{nyear})!" ) - def calibrate_legacy_sectors(self): - """Run a calibration step in the legacy sectors. - - Run historical years. - """ - from copy import deepcopy - from logging import getLogger - - from numpy import where - - hist_years = [] - if len([s for s in self.sectors if "LegacySector" in str(type(s))]) == 0: - return None, self.sectors, hist_years - - sectors = [] - idx = [] - for i, s in enumerate(self.sectors): - if "LegacySector" in str(type(s)): - s.mode = "Calibration" - sectors.append(s) - idx.append(i) - - getLogger(__name__).info("Calibrating LegacySectors...") - - if 2015 in self.time_framework: - hist_years = self.time_framework[where(self.time_framework <= 2015)] - hist = len(hist_years) - for year_idx in range(hist): # range(nyear): - years = self.time_framework[year_idx : year_idx + 1] - sectors = deepcopy(sectors) - variables = ["supply", "consumption", "prices"] - new_market = self.market[variables].sel(year=years).copy(deep=True) - for sector in sectors: - sector_market = sector.next( - new_market[["supply", "consumption", "prices"]] # type:ignore - ) - - sector_market = sector_market.sel(year=new_market.year) - - dims = {i: sector_market[i] for i in sector_market.consumption.dims} - - sector_market.consumption.loc[dims] = ( - sector_market.consumption.loc[dims] - sector_market.supply.loc[dims] - ).clip(min=0.0, max=None) - new_market.consumption.loc[dims] += sector_market.consumption - - dims = {i: sector_market[i] for i in sector_market.supply.dims} - new_market.supply.loc[dims] += sector_market.supply - - for i, s in enumerate(sectors): - s.mode = "Iteration" - self.sectors[idx[i]] = s - - getLogger(__name__).info("Finish calibration of LegacySectors!") - - return None, self.sectors, hist_years - class SingleYearIterationResult(NamedTuple): """Result of iterating over sectors for a year. diff --git a/src/muse/sectors/legacy_sector.py b/src/muse/sectors/legacy_sector.py deleted file mode 100644 index ad61cdc6f..000000000 --- a/src/muse/sectors/legacy_sector.py +++ /dev/null @@ -1,451 +0,0 @@ -"""This module defines the LegacySector class. - -This is needed to interface the new MCA with the old MUSE sectors. It can be deleted -once accessing those sectors is no longer needed. -""" - -from collections.abc import Sequence -from dataclasses import dataclass -from itertools import chain -from logging import getLogger -from typing import Any, Union - -import numpy as np -import pandas as pd -from xarray import DataArray, Dataset - -from muse.readers import read_csv_timeslices, read_initial_market -from muse.sectors.abstract import AbstractSector -from muse.sectors.register import register_sector -from muse.timeslices import QuantityType, new_to_old_timeslice - - -@dataclass -class LegacyMarket: - BaseYear: int - EndYear: int - Foresight: np.ndarray - TimeFramework: np.ndarray - YearlyTimeFramework: np.ndarray - NYears: list - GlobalCommoditiesAttributes: np.ndarray - CommoditiesBudget: list - macro_drivers: pd.DataFrame - dfRegions: pd.DataFrame - Regions: np.ndarray - interpolation_mode: str - - -@register_sector(name="legacy") -class LegacySector(AbstractSector): # type: ignore - @classmethod - def factory(cls, name: str, settings: Any, **kwargs) -> "LegacySector": - from pathlib import Path - - from muse_legacy.sectors import SECTORS - - from muse.readers import read_technologies - - sector = getattr(settings.sectors, name) - - settings_dir = sector.userdata_path - sectors_dir = Path(sector.technodata_path).parent - excess = sector.excess - - base_year = settings.time_framework[0] - end_year = settings.time_framework[-1] - - path = settings.global_input_files.macrodrivers - macro_drivers = pd.read_csv(path).sort_index(ascending=True) - - path = settings.global_input_files.regions - regions = pd.read_csv(path).sort_index(ascending=True) - global_commodities = read_technologies( - Path(sector.technodata_path) / f"technodata{name.title()}.csv", - None, - Path(sector.technodata_path) / f"commOUTtechnodata{name.title()}.csv", - Path(sector.technodata_path) / f"commINtechnodata{name.title()}.csv", - commodities=settings.global_input_files.global_commodities, - )[["heat_rate", "unit", "emmission_factor"]] - - interpolation_mode = ( - "Active" if settings.interpolation_mode == "linear" else "off" - ) - - market = LegacyMarket( - BaseYear=base_year, - EndYear=end_year, - Foresight=np.array([settings.foresight]), - TimeFramework=settings.time_framework, - YearlyTimeFramework=np.arange(base_year, end_year + 1, 1, dtype=int), - NYears=list(np.diff(settings.time_framework)), - GlobalCommoditiesAttributes=global_commodities.commodity.values, - CommoditiesBudget=settings.carbon_budget_control.commodities, - macro_drivers=macro_drivers, - dfRegions=regions, - Regions=np.array(settings.regions), - interpolation_mode=interpolation_mode, - ) - - timeslices, aggregation = cls.load_timeslices_and_aggregation( - settings.timeslices, settings.sectors - ) - timeslices = { - "prices": timeslices["prices"], - "finest": timeslices["finest"], - "finest aggregation": aggregation, - name: timeslices[name], - } - - initial = ( - read_initial_market( - settings.global_input_files.projections, - base_year_export=getattr( - settings.global_input_files, "base_year_export", None - ), - base_year_import=getattr( - settings.global_input_files, "base_year_import", None - ), - timeslices=timeslices["prices"], - ) - .sel(region=settings.regions) - .interp(year=settings.time_framework, method=settings.interpolation_mode) - ) - commodity_price = initial["prices"] - static_trade = initial["static_trade"] - - old_sector = SECTORS[name]( - market=market, sectors_dir=sectors_dir, settings_dir=settings_dir - ) - - old_sector.SectorCommoditiesOUT = commodities_idx(old_sector, "OUT") - old_sector.SectorCommoditiesIN = commodities_idx(old_sector, "IN") - old_sector.SectorCommoditiesNotENV = commodities_idx(old_sector, "NotENV") - - sector_comm = list( - set(old_sector.SectorCommoditiesOUT).union(old_sector.SectorCommoditiesIN) - ) - - commodities = { - "global": global_commodities, - name: global_commodities.isel(commodity=sector_comm), - } - - msg = f"LegacySector {name} created successfully." - getLogger(__name__).info(msg) - return cls( - name, - old_sector, - timeslices, - commodities, - commodity_price, - static_trade, - settings.regions, - settings.time_framework, - "Calibration" if getattr(settings, "calibration", False) else "Iteration", - excess, - "converged", - str(sectors_dir), - str(sector.output_path), - ) - - def __init__( - self, - name: str, - old_sector, - timeslices: dict, - commodities: dict, - commodity_price: DataArray, - static_trade: DataArray, - regions: Sequence, - time_framework: np.ndarray, - mode: str, - excess: Union[int, float], - market_iterative: str, - sectors_dir: str, - output_dir: str, - ): - super().__init__() - self.name = name - """Name of the sector""" - self.old_sector = old_sector - """Legacy sector method to run the calculation""" - assert "prices" in timeslices - assert "finest" in timeslices - assert name in timeslices - self.timeslices = timeslices - """Timeslices for sectors and mca.""" - self.commodities = commodities - """Commodities for each sector, as well as global commodities.""" - self.commodity_price = commodity_price - """Initial price of all the commodities.""" - self.static_trade = static_trade - """Static trade needed for the conversion and supply sectors.""" - self.regions = regions - """Regions taking part in the simulation.""" - self.time_framework = time_framework - """Time framework of the complete simulation.""" - self.mode = mode - """If 'Calibration', the sector runs in calibration mode""" - self.excess = excess - """Allowed excess of capacity.""" - self.market_iterative = market_iterative - """ -----> TODO what's this parameter?""" - self.sectors_dir = sectors_dir - """Sectors directory.""" - self.output_dir = output_dir - """Outputs directory.""" - self.dims = ("commodity", "region", "year", "timeslice") - """Order of the input and output dimensions.""" - self.calibrated = False - """Flag if the sector has gone through the calibration process.""" - - def next(self, market: Dataset) -> Dataset: - """Adapter between the old and the new.""" - from muse_legacy.sectors.sector import Demand - - self.commodity_price.loc[{"year": market.year}] = market.prices - - # Consumption in Conversion and Supply sectors depend on the static trade - # TODO This might need to go outside, in the MCA since it will affect all - # sectors, not just the legacy ones. But static trade seems to be always zero, - # so not sure how useful it might be. - if not issubclass(type(self.old_sector), Demand): - consumption = ( - market.consumption - self.static_trade.sel(year=market.year) - ).clip(min=0.0) - else: - consumption = market.consumption.copy() - - converted = self.inputs( - consumption=consumption, supply=market.supply, prices=self.commodity_price - ) - - idx = int(np.argwhere(self.time_framework == market.year.values[0])) - - result = self.runprocessmodule( - converted.consumption, - converted.supplycost, - converted.supply, - (idx, market.year.values[0]), - ) - - result = self.outputs( - consumption=result.consumption, - supply=result.supply, - prices=result.supplycost, - ).sel(year=market.year) - - result["comm_usage"] = self.commodities[self.name].comm_usage - result = result.set_coords("comm_usage") - - # Prices in Demand sectors should not change. - if issubclass(type(self.old_sector), Demand): - result["prices"] = self.commodity_price.copy() - - return result - - def runprocessmodule(self, consumption, supplycost, supply, t): - params = [ - consumption, - supplycost, - supply, - new_to_old_timeslice(self.timeslices["prices"]), - new_to_old_timeslice( - self.timeslices["finest"], self.timeslices["finest aggregation"] - ), - t, - self.mode, - ] - - inputs = {"output_dir": self.output_dir, "sectors_dir": self.sectors_dir} - - if self.name == "Power": - if self.mode == "Calibration": - params += [self.market_iterative] - result = self.old_sector.power_calibration(*params, **inputs) - self.mode = "Iteration" - else: - self.mode = "Iteration" - params += [self.old_sector.instance, self.market_iterative, self.excess] - result = self.old_sector.runprocessmodule(*params, **inputs) - else: - params += [self.market_iterative, self.excess] - result = self.old_sector.runprocessmodule(*params, **inputs) - - self.old_sector.report(result, t[1], self.output_dir) - - return result - - @staticmethod - def load_timeslices_and_aggregation(timeslices, sectors) -> tuple[dict, str]: - """Loads all sector timeslices and finds the finest one.""" - timeslices = {"prices": timeslices.rename("prices timeslices")} - finest = timeslices["prices"].copy() - aggregation = "month" - - for sector in sectors.list: - sector_ts = read_csv_timeslices( - getattr(sectors, sector).timeslices_path - ).rename(sector + " timeslice") - timeslices[sector] = sector_ts - - # Now we get the finest - if len(finest) < len(sector_ts): - finest = timeslices[sector] - aggregation = getattr(sectors, sector).agregation_level - elif len(finest) == len(sector_ts) and any( - finest.get_index("timeslice") != sector_ts.get_index("timeslice") - ): - raise ValueError("Timeslice order do not match") - - timeslices["finest"] = finest - timeslices["finest"] = timeslices["finest"].rename("finest timeslice") - - return timeslices, aggregation - - @property - def global_commodities(self): - """List of all commodities used by the MCA.""" - return self.commodities["global"].commodity.values - - @property - def sector_commodities(self): - """List of all commodities used by the Sector.""" - return self.commodities[self.name].commodity.values - - @property - def sector_timeslices(self): - """List of all commodities used by the MCA.""" - return self.timeslices[self.name] - - def _to(self, data: np.ndarray, data_ts, ts: pd.MultiIndex, qt: QuantityType): - """From ndarray to dataarray.""" - return ndarray_to_xarray( - years=self.time_framework, - data=data, - ts=ts, - qt=qt, - global_commodities=self.global_commodities, - sector_commodities=self.sector_commodities, - data_ts=data_ts, - dims=self.dims, - regions=self.regions, - ) - - def _from(self, xdata: DataArray, ts: pd.MultiIndex, qt: QuantityType): - """From dataarray to ndarray.""" - return xarray_to_ndarray( - years=self.time_framework, - xdata=xdata, - ts=ts, - qt=qt, - global_commodities=self.global_commodities, - dims=self.dims, - regions=self.regions, - ) - - def outputs( - self, consumption: np.ndarray, prices: np.ndarray, supply: np.ndarray - ) -> Dataset: - """Converts MUSE numpy outputs to xarray.""" - from muse.timeslices import QuantityType - - finest, prices_ts = self.timeslices["finest"], self.timeslices["prices"] - c = self._to(consumption, finest, prices_ts, QuantityType.EXTENSIVE) - s = self._to(supply, self.sector_timeslices, prices_ts, QuantityType.EXTENSIVE) - p = self._to(prices, self.sector_timeslices, prices_ts, QuantityType.INTENSIVE) - return Dataset({"consumption": c, "supply": s, "costs": p}) - - def inputs(self, consumption: DataArray, prices: DataArray, supply: DataArray): - """Converts xarray to MUSE numpy input arrays.""" - from muse_legacy.sectors.sector import Sector as OriginalSector - - MarketVars = OriginalSector.MarketVars - - finest, prices_ts = self.timeslices["finest"], self.timeslices["prices"] - c = self._from(consumption, finest, QuantityType.EXTENSIVE) - s = self._from(supply, finest, QuantityType.EXTENSIVE) - p = self._from(prices, prices_ts, QuantityType.INTENSIVE) - - return MarketVars(consumption=c, supply=s, supplycost=p) - - -def ndarray_to_xarray( - years: np.ndarray, - data: np.ndarray, - ts: pd.MultiIndex, - qt: QuantityType, - global_commodities: DataArray, - sector_commodities: DataArray, - data_ts: pd.MultiIndex, - dims: Sequence[str], - regions: Sequence[str], -) -> DataArray: - """From ndarray to dataarray.""" - from collections.abc import Hashable, Mapping - - from muse.timeslices import convert_timeslice - - coords: Mapping[Hashable, Any] = { - "year": years, - "commodity": global_commodities, - "region": regions, - "timeslice": data_ts, - } - result = convert_timeslice(DataArray(data, coords=coords, dims=dims), ts, qt) - assert isinstance(result, DataArray) - return result.sel(commodity=sector_commodities).transpose(*dims) - - -def xarray_to_ndarray( - years: np.ndarray, - xdata: DataArray, - ts: pd.MultiIndex, - qt: QuantityType, - global_commodities: DataArray, - dims: Sequence[str], - regions: Sequence[str], -) -> np.ndarray: - """From dataarray to ndarray.""" - from collections.abc import Hashable, Mapping - - from muse.timeslices import convert_timeslice - - coords: Mapping[Hashable, Any] = { - "year": years, - "commodity": global_commodities, - "region": regions, - "timeslice": ts, - } - warp = np.zeros((len(global_commodities), len(regions), len(years), len(ts))) - result = DataArray(warp, coords=coords, dims=dims) - result.loc[{"year": xdata.year}] = convert_timeslice(xdata, ts, qt).transpose(*dims) - - return result.values - - -def commodities_idx(sector, comm: str) -> Sequence: - """Gets the indices of the commodities involved in the processes of the sector. - - Arguments: - sector: The old MUSE sector of interest - comm: Either "OUT", "IN" or "NotENV" - - Returns: - A list with the indexes - """ - comm = { - "OUT": "listIndexCommoditiesOUT", - "IN": "listIndexCommoditiesIN", - "NotENV": "listIndexNotEnvironmental", - }[comm] - - comm_list = chain.from_iterable( - chain.from_iterable( - [[c for c in p.__dict__[comm]] for p in wp.processes + wp.OtherProcesses] - for wp in sector - ) - ) - - return list({item for item in comm_list}) From 1518034180c3f42d8081d0cfe16255fdacf09ecb Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 4 Oct 2024 15:05:35 +0100 Subject: [PATCH 012/121] Delete tests and documentation --- docs/api.rst | 5 - docs/source/muse.sectors.rst | 8 -- src/muse/__init__.py | 1 - src/muse/sectors/__init__.py | 3 - tests/conftest.py | 5 +- tests/test_legacy_sector.py | 183 ----------------------------------- 6 files changed, 1 insertion(+), 204 deletions(-) delete mode 100644 tests/test_legacy_sector.py diff --git a/docs/api.rst b/docs/api.rst index 1d1828be3..0d47458d6 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -55,11 +55,6 @@ PresetSector .. autoclass:: muse.sectors.preset_sector.PresetSector :members: -LegacySector -~~~~~~~~~~~~ - -.. autoclass:: muse.sectors.legacy_sector.LegacySector - :members: Production ~~~~~~~~~~ diff --git a/docs/source/muse.sectors.rst b/docs/source/muse.sectors.rst index ed2f2fab3..c6f0db570 100644 --- a/docs/source/muse.sectors.rst +++ b/docs/source/muse.sectors.rst @@ -12,14 +12,6 @@ muse.sectors.abstract module :undoc-members: :show-inheritance: -muse.sectors.legacy\_sector module ----------------------------------- - -.. automodule:: muse.sectors.legacy_sector - :members: - :undoc-members: - :show-inheritance: - muse.sectors.preset\_sector module ---------------------------------- diff --git a/src/muse/__init__.py b/src/muse/__init__.py index dff12e09a..ee6182dcc 100644 --- a/src/muse/__init__.py +++ b/src/muse/__init__.py @@ -59,6 +59,5 @@ def _create_logger(color: bool = True): "objectives", "outputs", "sectors", - "legacy_sectors", VERSION, ] diff --git a/src/muse/sectors/__init__.py b/src/muse/sectors/__init__.py index 94370517b..822e91e9a 100644 --- a/src/muse/sectors/__init__.py +++ b/src/muse/sectors/__init__.py @@ -7,8 +7,6 @@ investing in new assets. - :class:`~muse.sectors.preset_sector.PresetSector`: A sector that is meant to generate demand for the sectors above using a fixed formula or schedule. -- :class:`~muse.sectors.legacy_sector.LegacySector`: A wrapper around the original MUSE - sectors. All the sectors derive from :class:`AbstractSector`. The :class:`AbstractSector` defines two `abstract`__ functions which should be declared by derived sectors. `Abstract`__ @@ -38,7 +36,6 @@ "SECTORS_REGISTERED", ] from muse.sectors.abstract import AbstractSector -from muse.sectors.legacy_sector import LegacySector from muse.sectors.preset_sector import PresetSector from muse.sectors.register import SECTORS_REGISTERED, register_sector from muse.sectors.sector import Sector diff --git a/tests/conftest.py b/tests/conftest.py index 0443eb8a3..efc0e38f8 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -589,11 +589,8 @@ def drop_optionals(settings): def warnings_as_errors(request): from warnings import simplefilter - # disable fixture for some tests using legacy sectors. + # disable fixture for some tests if ( - request.module.__name__ == "test_legacy_sector" - and request.node.name.startswith("test_legacy_sector_regression[") - ) or ( request.module.__name__ == "test_outputs" and request.node.name == "test_save_with_fullpath_to_excel_with_sink" ): diff --git a/tests/test_legacy_sector.py b/tests/test_legacy_sector.py deleted file mode 100644 index 6b9aaca43..000000000 --- a/tests/test_legacy_sector.py +++ /dev/null @@ -1,183 +0,0 @@ -from pathlib import Path -from typing import Optional - -from pytest import approx, mark - - -def legacy_inputs(): - try: - import muse_legacy - except ImportError: - return [] - - from muse_legacy.sectors import SECTORS - - excluded = { - "Bioenergy", - "Commercial", - "Industry", - "NET", - "Refinery", - "Residential", - "IndustryABM", - "Sequestration", - "TradeSupply", - "TradeRefinery", - "TradePower", - "Transport", - "Shipping", - "Supply", - "Power", - } - - return [ - ( - sector, - Path(muse_legacy.__file__).parent - / "data" - / "test" - / "cases" - / sector - / f"settings_legacy_{sector.lower()}.toml", - ) - for sector in set(SECTORS) - excluded - ] - - -def legacy_input_file(sector: str) -> Optional[Path]: - """Gets the legacy sector settings file.""" - input_file = ( - Path(__file__).parent - / "data" - / "cases" - / sector - / f"settings_legacy_{sector.lower()}.toml" - ) - - return input_file - - -def update_settings(settings, sec_dir, out_dir): - """Updates a settings namedtuple with temporal sectors and output directories.""" - sectors = settings.sectors - - for s in sectors.list: - path = Path(sec_dir) / s - sector = getattr(sectors, s)._replace( - userdata_path=path, technodata_path=path, output_path=out_dir - ) - sectors = sectors._replace(**{s: sector}) - - return settings._replace(sectors=sectors) - - -@mark.legacy -@mark.sgidata -@mark.parametrize("sector,filepath", legacy_inputs()) -def test_legacy_sector_creation(sector, filepath): - """Test the creation of the legacy sectors.""" - from muse.readers import read_settings - from muse.sectors import SECTORS_REGISTERED - - settings = read_settings(filepath) - - SECTORS_REGISTERED["legacy"](name=sector, settings=settings) - - -def test_xarray_to_array(market): - import numpy as np - - from muse.sectors.legacy_sector import xarray_to_ndarray - from muse.timeslices import QuantityType - - dims = ("commodity", "region", "year", "timeslice") - arr = xarray_to_ndarray( - years=market.year, - xdata=market.supply, - ts=market.timeslice, - qt=QuantityType.EXTENSIVE, - global_commodities=market.commodity, - dims=dims, - regions=np.array(market.region), - ) - - assert arr == approx(market.supply.transpose(*dims).values) - - -def test_array_to_xarray(market): - from numpy import array - from xarray import broadcast - - from muse.sectors.legacy_sector import ndarray_to_xarray - from muse.timeslices import QuantityType - - dims = ("commodity", "region", "year", "timeslice") - arr = market.supply.transpose(*dims).values - result = ndarray_to_xarray( - years=market.year, - data=arr, - ts=market.timeslice, - qt=QuantityType.EXTENSIVE, - global_commodities=market.commodity, - sector_commodities=market.commodity, - data_ts=market.timeslice, - dims=dims, - regions=array(market.region), - ) - - expected, actual = broadcast(market.supply, result) - assert actual.values == approx(expected.values) - - -def test_round_trip(market): - from numpy import array - from xarray import broadcast - - from muse.sectors.legacy_sector import ndarray_to_xarray, xarray_to_ndarray - from muse.timeslices import QuantityType - - dims = ("commodity", "region", "year", "timeslice") - - arr = xarray_to_ndarray( - years=market.year, - xdata=market.supply, - ts=market.timeslice, - qt=QuantityType.EXTENSIVE, - global_commodities=market.commodity, - dims=dims, - regions=array(market.region), - ) - - result = ndarray_to_xarray( - years=market.year, - data=arr, - ts=market.timeslice, - qt=QuantityType.EXTENSIVE, - global_commodities=market.commodity, - sector_commodities=market.commodity, - data_ts=market.timeslice, - dims=dims, - regions=array(market.region), - ) - - expected, actual = broadcast(market.supply, result) - assert actual.values == approx(expected.values) - - -@mark.legacy -@mark.sgidata -@mark.regression -@mark.parametrize("sector,filepath", legacy_inputs()) -def test_legacy_sector_regression(sector, filepath, sectors_dir, tmpdir, compare_dirs): - """Test the execution of the next method in the legacy sectors for 1 year.""" - from muse.mca import MCA - from muse.readers import read_settings - - settings = read_settings(filepath) - settings = update_settings(settings, sectors_dir, tmpdir) - - mca = MCA.factory(settings) - mca.run() - - regression_dir = filepath.parent - compare_dirs(tmpdir, regression_dir / "output") From 3b0cb49bd6e1df925406f825c4e465fb6ed2f706 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 4 Oct 2024 15:51:45 +0100 Subject: [PATCH 013/121] Remove more redundant code --- src/muse/demand_share.py | 34 ++++++++------------------- src/muse/sectors/sector.py | 47 ++++++++++++++++---------------------- 2 files changed, 30 insertions(+), 51 deletions(-) diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index a5187c4fe..9c7e42120 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -112,9 +112,9 @@ def new_and_retro( agents: Sequence[AbstractAgent], market: xr.Dataset, technologies: xr.Dataset, + current_year: int, + forecast: int, production: Union[str, Mapping, Callable] = "maximum_production", - current_year: Optional[int] = None, - forecast: int = 5, ) -> xr.DataArray: r"""Splits demand across new and retro agents. @@ -236,9 +236,6 @@ def decommissioning(capacity): technologies, capacity, year=[current_year, current_year + forecast] ).squeeze("year") - if current_year is None: - current_year = market.year.min() - capacity = reduce_assets([u.assets.capacity for u in agents]) demands = new_and_retro_demands( @@ -323,9 +320,9 @@ def standard_demand( agents: Sequence[AbstractAgent], market: xr.Dataset, technologies: xr.Dataset, + current_year: int, + forecast: int, production: Union[str, Mapping, Callable] = "maximum_production", - current_year: Optional[int] = None, - forecast: int = 5, ) -> xr.DataArray: r"""Splits demand across new agents. @@ -360,9 +357,6 @@ def decommissioning(capacity): technologies, capacity, year=[current_year, current_year + forecast] ).squeeze("year") - if current_year is None: - current_year = market.year.min() - # Make sure there are no retrofit agents for agent in agents: if agent.category == "retrofit": @@ -433,18 +427,15 @@ def unmet_forecasted_demand( agents: Sequence[AbstractAgent], market: xr.Dataset, technologies: xr.Dataset, - current_year: Optional[int] = None, + current_year: int, + forecast: int, production: Union[str, Mapping, Callable] = "maximum_production", - forecast: int = 5, ) -> xr.DataArray: """Forecast demand that cannot be serviced by non-decommissioned current assets.""" from muse.commodities import is_enduse from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import reduce_assets - if current_year is None: - current_year = market.year.min() - year = current_year + forecast comm_usage = technologies.comm_usage.sel(commodity=market.commodity) smarket: xr.Dataset = market.where(is_enduse(comm_usage), 0).interp(year=year) @@ -555,8 +546,8 @@ def new_consumption( capacity: xr.DataArray, market: xr.Dataset, technologies: xr.Dataset, - current_year: Optional[int] = None, - forecast: int = 5, + current_year: int, + forecast: int, ) -> xr.DataArray: r"""Computes share of the demand attributed to new agents. @@ -576,9 +567,6 @@ def new_consumption( from muse.timeslices import QuantityType, convert_timeslice - if current_year is None: - current_year = market.year.min() - # Interpolate market to forecast year market = market.interp(year=[current_year, current_year + forecast]) current = market.sel(year=current_year, drop=True) @@ -605,9 +593,9 @@ def new_and_retro_demands( capacity: xr.DataArray, market: xr.Dataset, technologies: xr.Dataset, + current_year: int, + forecast: int, production: Union[str, Mapping, Callable] = "maximum_production", - current_year: Optional[int] = None, - forecast: int = 5, ) -> xr.Dataset: """Splits demand into *new* and *retrofit* demand. @@ -626,8 +614,6 @@ def new_and_retro_demands( production_method = production if callable(production) else prod_factory(production) assert callable(production_method) - if current_year is None: - current_year = market.year.min() # Interpolate market to forecast year smarket: xr.Dataset = market.interp(year=[current_year, current_year + forecast]) diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index 31e04dae5..d5c2b517c 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -174,30 +174,18 @@ def forecast(self): If no agents with a "forecast" attribute are found, defaults to 5. It cannot be lower than 1 year. """ - forecasts = [ - getattr(agent, "forecast") - for agent in self.agents - if hasattr(agent, "forecast") - ] - if len(forecasts) == 0: - return 5 + forecasts = [getattr(agent, "forecast") for agent in self.agents] return max(1, max(forecasts)) def next( self, mca_market: xr.Dataset, - time_period: int | None = None, - current_year: int | None = None, ) -> xr.Dataset: """Advance sector by one time period. Args: mca_market: Market with ``demand``, ``supply``, and ``prices``. - time_period: - Length of the time period in the framework. Defaults to the range of - ``mca_market.year``. - current_year: Current year of the simulation Returns: A market containing the ``supply`` offered by the sector, it's attendant @@ -208,10 +196,8 @@ def next( def group_assets(x: xr.DataArray) -> xr.DataArray: return xr.Dataset(dict(x=x)).groupby("region").sum("asset").x - if time_period is None: - time_period = int(mca_market.year.max() - mca_market.year.min()) - if current_year is None: - current_year = int(mca_market.year.min()) + time_period = int(mca_market.year.max() - mca_market.year.min()) + current_year = int(mca_market.year.min()) getLogger(__name__).info(f"Running {self.name} for year {current_year}") # Agent interactions @@ -347,6 +333,8 @@ def capacity(self) -> xr.DataArray: for u in self.agents if "dst_region" not in u.assets.capacity.dims ] + + # Only nontraded assets if not traded: full_list = [ list(nontraded[i].year.values) @@ -361,7 +349,9 @@ def capacity(self) -> xr.DataArray: if "dst_region" not in u.assets.capacity.dims ] return reduce_assets(nontraded) - if not nontraded: + + # Only traded assets + elif not nontraded: full_list = [ list(traded[i].year.values) for i in range(len(traded)) @@ -375,15 +365,18 @@ def capacity(self) -> xr.DataArray: if "dst_region" in u.assets.capacity.dims ] return reduce_assets(traded) - traded_results = reduce_assets(traded) - nontraded_results = reduce_assets(nontraded) - return reduce_assets( - [ - traded_results, - nontraded_results - * (nontraded_results.region == traded_results.dst_region), - ] - ) + + # Both traded and nontraded assets + else: + traded_results = reduce_assets(traded) + nontraded_results = reduce_assets(nontraded) + return reduce_assets( + [ + traded_results, + nontraded_results + * (nontraded_results.region == traded_results.dst_region), + ] + ) @property def agents(self) -> Iterator[AbstractAgent]: From 3a053440e517eec2407992a2a0b967f2f10a9c0a Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 4 Oct 2024 15:56:28 +0100 Subject: [PATCH 014/121] Delete new_to_old_timeslice function --- src/muse/readers/__init__.py | 11 ----------- src/muse/timeslices.py | 20 -------------------- 2 files changed, 31 deletions(-) diff --git a/src/muse/readers/__init__.py b/src/muse/readers/__init__.py index 631cecdaf..930dd43ef 100644 --- a/src/muse/readers/__init__.py +++ b/src/muse/readers/__init__.py @@ -19,14 +19,3 @@ def camel_to_snake(name: str) -> str: result = result.replace("n2_o", "N2O") result = result.replace("f-gases", "F-gases") return result - - -def kebab_to_camel(string): - return "".join(x.capitalize() for x in string.split("-")) - - -def snake_to_kebab(string: str) -> str: - from re import sub - - result = sub(r"((?<=[a-z])[A-Z]|(? dict: - """Transforms timeslices defined as DataArray to a pandas dataframe. - - This function is used in the LegacySector class to adapt the new MCA timeslices to - the format required by the old sectors. - """ - length = len(ts.month.values) - converted_ts = { - "Month": [kebab_to_camel(w) for w in ts.month.values], - "Day": [kebab_to_camel(w) for w in ts.day.values], - "Hour": [kebab_to_camel(w) for w in ts.hour.values], - "RepresentHours": list(ts.represent_hours.values.astype(float)), - "SN": list(range(1, length + 1)), - "AgLevel": [ag_level] * length, - } - return converted_ts - - def represent_hours( timeslices: DataArray, nhours: Union[int, float] = 8765.82 ) -> DataArray: From 977647d39838594caff9a927b1ec04ae1fa5709f Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 8 Oct 2024 15:20:39 +0100 Subject: [PATCH 015/121] Remove unnecessary convert_timeslice operations --- src/muse/sectors/preset_sector.py | 12 ++---------- src/muse/sectors/sector.py | 19 +++++++++---------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/muse/sectors/preset_sector.py b/src/muse/sectors/preset_sector.py index 7a35bc2a3..4d61eff2b 100644 --- a/src/muse/sectors/preset_sector.py +++ b/src/muse/sectors/preset_sector.py @@ -151,21 +151,13 @@ def __init__( def next(self, mca_market: Dataset) -> Dataset: """Advance sector by one time period.""" - from muse.timeslices import QuantityType, convert_timeslice - presets = self.presets.sel(region=mca_market.region) supply = self._interpolate(presets.supply, mca_market.year) consumption = self._interpolate(presets.consumption, mca_market.year) costs = self._interpolate(presets.costs, mca_market.year) - result = convert_timeslice( - Dataset({"supply": supply, "consumption": consumption}), - mca_market.timeslice, - QuantityType.EXTENSIVE, - ) - result["costs"] = drop_timeslice( - convert_timeslice(costs, mca_market.timeslice, QuantityType.INTENSIVE) - ) + result = Dataset({"supply": supply, "consumption": consumption}) + result["costs"] = drop_timeslice(costs) assert isinstance(result, Dataset) return result diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index d5c2b517c..f61e546e0 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -397,15 +397,14 @@ def convert_market_timeslice( intensive = (intensive,) timesliced = {d for d in market.data_vars if "timeslice" in market[d].dims} - intensives = convert_timeslice( - market[list(timesliced.intersection(intensive))], - timeslice, - QuantityType.INTENSIVE, - ) - extensives = convert_timeslice( - market[list(timesliced.difference(intensives.data_vars))], - timeslice, - QuantityType.EXTENSIVE, - ) + + intensives = market[list(timesliced.intersection(intensive))] + if "timeslice" not in intensives.dims: + intensives = convert_timeslice( + intensives, + timeslice, + QuantityType.INTENSIVE, + ) + extensives = market[list(timesliced.difference(intensives.data_vars))] others = market[list(set(market.data_vars).difference(timesliced))] return xr.merge([intensives, extensives, others]) From 647d3fe14a99ae24106be9ebb7fe2ec660b66688 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 8 Oct 2024 15:57:37 +0100 Subject: [PATCH 016/121] Use global TIMESLICE variable throughout --- src/muse/constraints.py | 12 ++++++------ src/muse/costs.py | 14 +++++++------- src/muse/demand_share.py | 12 ++++++------ src/muse/examples.py | 4 ++-- src/muse/investments.py | 4 ++-- src/muse/objectives.py | 16 ++++++++-------- src/muse/outputs/mca.py | 24 ++++++++---------------- src/muse/quantities.py | 16 ++++++++-------- src/muse/readers/csv.py | 8 ++++---- src/muse/sectors/preset_sector.py | 4 ++-- src/muse/sectors/sector.py | 8 ++++---- 11 files changed, 57 insertions(+), 65 deletions(-) diff --git a/src/muse/constraints.py b/src/muse/constraints.py index 74a55b843..3f3b96ec3 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -446,7 +446,7 @@ def max_production( from xarray import ones_like, zeros_like from muse.commodities import is_enduse - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice if year is None: year = int(market.year.min()) @@ -467,7 +467,7 @@ def max_production( ) capacity = convert_timeslice( techs.fixed_outputs * techs.utilization_factor, - market.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) if "asset" not in capacity.dims and "asset" in search_space.dims: @@ -728,7 +728,7 @@ def minimum_service( from xarray import ones_like, zeros_like from muse.commodities import is_enduse - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice if "minimum_service_factor" not in technologies.data_vars: return None @@ -753,7 +753,7 @@ def minimum_service( ) capacity = convert_timeslice( techs.fixed_outputs * techs.minimum_service_factor, - market.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) if "asset" not in capacity.dims: @@ -819,11 +819,11 @@ def lp_costs( from xarray import zeros_like from muse.commodities import is_enduse - from muse.timeslices import convert_timeslice + from muse.timeslices import TIMESLICE, convert_timeslice assert "year" not in technologies.dims - ts_costs = convert_timeslice(costs, timeslices) + ts_costs = convert_timeslice(costs, TIMESLICE) selection = dict( commodity=is_enduse(technologies.comm_usage), technology=technologies.technology.isin(costs.replacement), diff --git a/src/muse/costs.py b/src/muse/costs.py index 10ef893d4..ca0c7e213 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -13,7 +13,7 @@ from muse.commodities import is_enduse, is_fuel, is_material, is_pollutant from muse.quantities import consumption -from muse.timeslices import QuantityType, convert_timeslice +from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import filter_input @@ -98,7 +98,7 @@ def net_present_value( # Cost of installed capacity installed_capacity_costs = convert_timeslice( techs.cap_par * (capacity**techs.cap_exp), - prices.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) @@ -122,7 +122,7 @@ def net_present_value( # Fixed and Variable costs fixed_costs = convert_timeslice( techs.fix_par * (capacity**techs.fix_exp), - prices.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) variable_costs = techs.var_par * ( @@ -262,7 +262,7 @@ def lifetime_levelized_cost_of_energy( # Cost of installed capacity installed_capacity_costs = convert_timeslice( techs.cap_par * (capacity**techs.cap_exp), - prices.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) @@ -286,7 +286,7 @@ def lifetime_levelized_cost_of_energy( # Fixed and Variable costs fixed_costs = convert_timeslice( techs.fix_par * (capacity**techs.fix_exp), - prices.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) variable_costs = ( @@ -374,7 +374,7 @@ def annual_levelized_cost_of_energy( annualized_capital_costs = ( convert_timeslice( techs.cap_par * rates, - prices.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) / techs.utilization_factor @@ -383,7 +383,7 @@ def annual_levelized_cost_of_energy( o_and_e_costs = ( convert_timeslice( (techs.fix_par + techs.var_par), - prices.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) / techs.utilization_factor diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index 9c7e42120..bc848b627 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -433,7 +433,7 @@ def unmet_forecasted_demand( ) -> xr.DataArray: """Forecast demand that cannot be serviced by non-decommissioned current assets.""" from muse.commodities import is_enduse - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import reduce_assets year = current_year + forecast @@ -442,7 +442,7 @@ def unmet_forecasted_demand( capacity = reduce_assets([u.assets.capacity.interp(year=year) for u in agents]) ts_capacity = cast( xr.DataArray, - convert_timeslice(capacity, market.timeslice, QuantityType.EXTENSIVE), + convert_timeslice(capacity, TIMESLICE, QuantityType.EXTENSIVE), ) result = unmet_demand(smarket, ts_capacity, technologies, production) @@ -565,7 +565,7 @@ def new_consumption( """ from numpy import minimum - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice # Interpolate market to forecast year market = market.interp(year=[current_year, current_year + forecast]) @@ -578,7 +578,7 @@ def new_consumption( # Capacity in the forecast year ts_capa = convert_timeslice( capacity.interp(year=current_year + forecast), - market.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) assert isinstance(ts_capa, xr.DataArray) @@ -610,7 +610,7 @@ def new_and_retro_demands( from numpy import minimum from muse.production import factory as prod_factory - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice production_method = production if callable(production) else prod_factory(production) assert callable(production_method) @@ -621,7 +621,7 @@ def new_and_retro_demands( # Split capacity between timeslices ts_capa = convert_timeslice( capacity.interp(year=[current_year, current_year + forecast]), - market.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) assert isinstance(ts_capa, xr.DataArray) diff --git a/src/muse/examples.py b/src/muse/examples.py index e75823db7..ad35798e3 100644 --- a/src/muse/examples.py +++ b/src/muse/examples.py @@ -242,7 +242,7 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: from muse.examples import sector as load_sector from muse.quantities import consumption, maximum_production from muse.sectors import Sector - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import agent_concatenation loaded_sector = cast(Sector, load_sector(sector, model)) @@ -253,7 +253,7 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: xr.DataArray, convert_timeslice( maximum_production(loaded_sector.technologies, assets.capacity), - loaded_sector.timeslices, + TIMESLICE, QuantityType.EXTENSIVE, ), ) diff --git a/src/muse/investments.py b/src/muse/investments.py index 19598f496..cdae91d27 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -247,7 +247,7 @@ def adhoc_match_demand( ) -> xr.DataArray: from muse.demand_matching import demand_matching from muse.quantities import capacity_in_use, maximum_production - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice demand = next(c for c in constraints if c.name == "demand").b @@ -260,7 +260,7 @@ def adhoc_match_demand( commodity=demand.commodity, ).drop_vars("technology") if "timeslice" in demand.dims and "timeslice" not in max_prod.dims: - max_prod = convert_timeslice(max_prod, demand, QuantityType.EXTENSIVE) + max_prod = convert_timeslice(max_prod, TIMESLICE, QuantityType.EXTENSIVE) # Push disabled techs to last rank. # Any production assigned to them by the demand-matching algorithm will be removed. diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 13639bca9..ef0b88691 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -388,11 +388,11 @@ def lifetime_levelized_cost_of_energy( due to a zero utilisation factor. """ from muse.costs import lifetime_levelized_cost_of_energy as LCOE - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, demand.timeslice, QuantityType.EXTENSIVE) + production = convert_timeslice(production, TIMESLICE, QuantityType.EXTENSIVE) results = LCOE( technologies=technologies, @@ -418,11 +418,11 @@ def net_present_value( See :py:func:`muse.costs.net_present_value` for more details. """ from muse.costs import net_present_value as NPV - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, demand.timeslice, QuantityType.EXTENSIVE) + production = convert_timeslice(production, TIMESLICE, QuantityType.EXTENSIVE) results = NPV( technologies=technologies, @@ -447,11 +447,11 @@ def net_present_cost( See :py:func:`muse.costs.net_present_cost` for more details. """ from muse.costs import net_present_cost as NPC - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, demand.timeslice, QuantityType.EXTENSIVE) + production = convert_timeslice(production, TIMESLICE, QuantityType.EXTENSIVE) results = NPC( technologies=technologies, @@ -476,11 +476,11 @@ def equivalent_annual_cost( See :py:func:`muse.costs.equivalent_annual_cost` for more details. """ from muse.costs import equivalent_annual_cost as EAC - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, demand.timeslice, QuantityType.EXTENSIVE) + production = convert_timeslice(production, TIMESLICE, QuantityType.EXTENSIVE) results = EAC( technologies=technologies, diff --git a/src/muse/outputs/mca.py b/src/muse/outputs/mca.py index adabf600f..3fe34aae2 100644 --- a/src/muse/outputs/mca.py +++ b/src/muse/outputs/mca.py @@ -35,7 +35,7 @@ def quantity( from muse.outputs.sector import market_quantity from muse.registration import registrator from muse.sectors import AbstractSector -from muse.timeslices import QuantityType, convert_timeslice, drop_timeslice +from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice, drop_timeslice from muse.utilities import multiindex_to_coords OUTPUT_QUANTITY_SIGNATURE = Callable[ @@ -334,7 +334,6 @@ def sector_supply(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Da if len(techs) > 0: for a in agents: output_year = a.year - a.forecast - capacity = a.filter_input(a.assets.capacity, year=output_year).fillna(0.0) technologies = a.filter_input(techs, year=output_year).fillna(0.0) agent_market = market.sel(year=output_year).copy() agent_market["consumption"] = drop_timeslice( @@ -353,7 +352,7 @@ def sector_supply(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Da result = convert_timeslice( supply( agent_market, - capacity, + TIMESLICE, technologies, ), agent_market["consumption"].timeslice, @@ -566,7 +565,6 @@ def sector_consumption( if len(techs) > 0: for a in agents: output_year = a.year - a.forecast - capacity = a.filter_input(a.assets.capacity, year=output_year).fillna(0.0) technologies = a.filter_input(techs, year=output_year).fillna(0.0) agent_market = market.sel(year=output_year).copy() agent_market["consumption"] = drop_timeslice( @@ -585,7 +583,7 @@ def sector_consumption( production = convert_timeslice( supply( agent_market, - capacity, + TIMESLICE, technologies, ), agent_market["consumption"].timeslice, @@ -719,15 +717,10 @@ def sector_fuel_costs( ) commodity = is_fuel(technologies.comm_usage) - capacity = a.filter_input( - a.assets.capacity, - year=output_year, - ).fillna(0.0) - production = convert_timeslice( supply( agent_market, - capacity, + TIMESLICE, technologies, ), agent_market["consumption"].timeslice, @@ -775,7 +768,6 @@ def sector_capital_costs( if len(technologies) > 0: for a in agents: - demand = market.consumption * a.quantity output_year = a.year - a.forecast capacity = a.filter_input(a.assets.capacity, year=output_year).fillna(0.0) data = a.filter_input( @@ -786,7 +778,7 @@ def sector_capital_costs( result = data.cap_par * (capacity**data.cap_exp) data_agent = convert_timeslice( result, - demand.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) data_agent["agent"] = a.name @@ -848,7 +840,7 @@ def sector_emission_costs( production = convert_timeslice( supply( agent_market, - capacity, + TIMESLICE, technologies, ), agent_market["consumption"].timeslice, @@ -921,7 +913,7 @@ def sector_lcoe(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Data production = capacity * techs.fixed_outputs * techs.utilization_factor production = convert_timeslice( production, - demand.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) @@ -999,7 +991,7 @@ def sector_eac(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.DataF production = capacity * techs.fixed_outputs * techs.utilization_factor production = convert_timeslice( production, - demand.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 66df60c39..561656468 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -150,7 +150,7 @@ def gross_margin( - non-environmental commodities OUTPUTS are related to revenues. """ from muse.commodities import is_enduse, is_pollutant - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import broadcast_techs tech = broadcast_techs( # type: ignore @@ -189,7 +189,7 @@ def gross_margin( # Variable costs depend on factors such as labour variable_costs = convert_timeslice( var_par * ((fixed_outputs.sel(commodity=enduses)).sum("commodity")) ** var_exp, - prices.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) @@ -269,7 +269,7 @@ def consumption( are not given, then flexible consumption is *not* considered. """ from muse.commodities import is_enduse, is_fuel - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import filter_with_template params = filter_with_template( @@ -284,7 +284,7 @@ def consumption( if prices is not None and "timeslice" in prices.dims: production = convert_timeslice( # type: ignore - production, prices, QuantityType.EXTENSIVE + production, TIMESLICE, QuantityType.EXTENSIVE ) params_fuels = is_fuel(params.comm_usage) @@ -380,7 +380,7 @@ def demand_matched_production( """ from muse.costs import annual_levelized_cost_of_energy as ALCOE from muse.demand_matching import demand_matching - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import broadcast_techs technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) @@ -389,7 +389,7 @@ def demand_matched_production( assert ("timeslice" in demand.dims) == ("timeslice" in cost.dims) if "timeslice" in demand.dims and "timeslice" not in max_production.dims: max_production = convert_timeslice( - max_production, demand.timeslice, QuantityType.EXTENSIVE + max_production, TIMESLICE, QuantityType.EXTENSIVE ) return demand_matching(demand, cost, max_production) @@ -459,7 +459,7 @@ def costed_production( service is applied first. """ from muse.quantities import maximum_production - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import broadcast_techs technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) @@ -477,7 +477,7 @@ def group_assets(x: xr.DataArray) -> xr.DataArray: ranking = costs.rank("asset") maxprod = convert_timeslice( maximum_production(technodata, capacity), - demand.timeslice, + TIMESLICE, QuantityType.EXTENSIVE, ) commodity = (maxprod > 0).any([i for i in maxprod.dims if i != "commodity"]) diff --git a/src/muse/readers/csv.py b/src/muse/readers/csv.py index b8ab7fce9..591d2a308 100644 --- a/src/muse/readers/csv.py +++ b/src/muse/readers/csv.py @@ -637,14 +637,14 @@ def read_initial_market( """Read projections, import and export csv files.""" from logging import getLogger - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice # Projections must always be present if isinstance(projections, (str, Path)): getLogger(__name__).info(f"Reading projections from {projections}") projections = read_attribute_table(projections) if timeslices is not None: - projections = convert_timeslice(projections, timeslices, QuantityType.INTENSIVE) + projections = convert_timeslice(projections, TIMESLICE, QuantityType.INTENSIVE) # Base year export is optional. If it is not there, it's set to zero if isinstance(base_year_export, (str, Path)): @@ -664,10 +664,10 @@ def read_initial_market( if timeslices is not None: base_year_export = convert_timeslice( - base_year_export, timeslices, QuantityType.EXTENSIVE + base_year_export, TIMESLICE, QuantityType.EXTENSIVE ) base_year_import = convert_timeslice( - base_year_import, timeslices, QuantityType.EXTENSIVE + base_year_import, TIMESLICE, QuantityType.EXTENSIVE ) base_year_export.name = "exports" base_year_import.name = "imports" diff --git a/src/muse/sectors/preset_sector.py b/src/muse/sectors/preset_sector.py index 4d61eff2b..8539527c4 100644 --- a/src/muse/sectors/preset_sector.py +++ b/src/muse/sectors/preset_sector.py @@ -31,7 +31,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: read_timeslices, ) from muse.regressions import endogenous_demand - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice sector_conf = getattr(settings.sectors, name) presets = Dataset() @@ -122,7 +122,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: for component in {"supply", "consumption"}: if "timeslice" not in presets[component].dims: presets[component] = convert_timeslice( - presets[component], timeslice, QuantityType.EXTENSIVE + presets[component], TIMESLICE, QuantityType.EXTENSIVE ) comm_usage = (presets.costs > 0).any(set(presets.costs.dims) - {"commodity"}) diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index f61e546e0..0872240fa 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -285,7 +285,7 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: from muse.commodities import is_pollutant from muse.costs import annual_levelized_cost_of_energy, supply_cost from muse.quantities import consumption - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import broadcast_techs years = market.year.values @@ -296,7 +296,7 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: market=market, capacity=capacity, technologies=technologies ) if "timeslice" in market.prices.dims and "timeslice" not in supply.dims: - supply = convert_timeslice(supply, market.timeslice, QuantityType.EXTENSIVE) + supply = convert_timeslice(supply, TIMESLICE, QuantityType.EXTENSIVE) # Calculate consumption consume = consumption(technologies, supply, market.prices) @@ -391,7 +391,7 @@ def convert_market_timeslice( intensive: str | tuple[str] = "prices", ) -> xr.Dataset: """Converts market from one to another timeslice.""" - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice if isinstance(intensive, str): intensive = (intensive,) @@ -402,7 +402,7 @@ def convert_market_timeslice( if "timeslice" not in intensives.dims: intensives = convert_timeslice( intensives, - timeslice, + TIMESLICE, QuantityType.INTENSIVE, ) extensives = market[list(timesliced.difference(intensives.data_vars))] From 8faf4680f8eea03487083d0ab3b4f6689eefbce4 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 8 Oct 2024 16:12:07 +0100 Subject: [PATCH 017/121] Simplify some other parts of the code accordingly --- src/muse/constraints.py | 11 ++++------- src/muse/examples.py | 1 - src/muse/investments.py | 6 +----- src/muse/mca.py | 1 - src/muse/readers/csv.py | 19 ++++++++----------- 5 files changed, 13 insertions(+), 25 deletions(-) diff --git a/src/muse/constraints.py b/src/muse/constraints.py index 3f3b96ec3..551b472cc 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -766,9 +766,7 @@ def minimum_service( ) -def lp_costs( - technologies: xr.Dataset, costs: xr.DataArray, timeslices: xr.DataArray -) -> xr.Dataset: +def lp_costs(technologies: xr.Dataset, costs: xr.DataArray) -> xr.Dataset: """Creates costs for solving with scipy's LP solver. Example: @@ -789,7 +787,7 @@ def lp_costs( >>> from muse.constraints import lp_costs >>> lpcosts = lp_costs( - ... technologies.sel(year=2020, region="R1"), costs, timeslices + ... technologies.sel(year=2020, region="R1"), costs ... ) >>> assert "capacity" in lpcosts.data_vars >>> assert "production" in lpcosts.data_vars @@ -1163,7 +1161,7 @@ class ScipyAdapter: In practice, :py:func:`~muse.constraints.lp_costs` helps us define the decision variables (and ``c``). We can verify that the sizes are consistent: - >>> lpcosts = cs.lp_costs(technologies, costs, market.timeslice) + >>> lpcosts = cs.lp_costs(technologies, costs) >>> capsize = lpcosts.capacity.size >>> prodsize = lpcosts.production.size >>> assert inputs.c.size == capsize + prodsize @@ -1198,10 +1196,9 @@ def factory( cls, technologies: xr.Dataset, costs: xr.DataArray, - timeslices: pd.Index, *constraints: Constraint, ) -> ScipyAdapter: - lpcosts = lp_costs(technologies, costs, timeslices) + lpcosts = lp_costs(technologies, costs) data = cls._unified_dataset(technologies, lpcosts, *constraints) diff --git a/src/muse/examples.py b/src/muse/examples.py index ad35798e3..ac592ce8e 100644 --- a/src/muse/examples.py +++ b/src/muse/examples.py @@ -190,7 +190,6 @@ def mca_market(model: str = "default") -> xr.Dataset: base_year_import=getattr( settings.global_input_files, "base_year_import", None ), - timeslices=settings.timeslices, ) .sel(region=settings.regions) .interp(year=settings.time_framework, method=settings.interpolation_mode) diff --git a/src/muse/investments.py b/src/muse/investments.py index cdae91d27..f98efbeda 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -308,8 +308,6 @@ def scipy_match_demand( if "timeslice" in costs.dims and timeslice_op is not None: costs = timeslice_op(costs) - timeslice = next(cs.timeslice for cs in constraints if "timeslice" in cs.dims) - # Select technodata for the current year if "year" in technologies.dims and year is None: raise ValueError("Missing year argument") @@ -319,9 +317,7 @@ def scipy_match_demand( techs = technologies # Run scipy optimization with highs solver - adapter = ScipyAdapter.factory( - techs, cast(np.ndarray, costs), timeslice, *constraints - ) + adapter = ScipyAdapter.factory(techs, cast(np.ndarray, costs), *constraints) res = linprog(**adapter.kwargs, method="highs") # Backup: try with highs-ipm diff --git a/src/muse/mca.py b/src/muse/mca.py index 7fa2cd481..aaadbf37d 100644 --- a/src/muse/mca.py +++ b/src/muse/mca.py @@ -57,7 +57,6 @@ def factory(cls, settings: str | Path | Mapping | Any) -> MCA: base_year_import=getattr( settings.global_input_files, "base_year_import", None ), - timeslices=settings.timeslices, ).sel(region=settings.regions) ).interp(year=settings.time_framework, method=settings.interpolation_mode) diff --git a/src/muse/readers/csv.py b/src/muse/readers/csv.py index 591d2a308..7e9ac44da 100644 --- a/src/muse/readers/csv.py +++ b/src/muse/readers/csv.py @@ -632,7 +632,6 @@ def read_initial_market( projections: Union[xr.DataArray, Path, str], base_year_import: Optional[Union[str, Path, xr.DataArray]] = None, base_year_export: Optional[Union[str, Path, xr.DataArray]] = None, - timeslices: Optional[xr.DataArray] = None, ) -> xr.Dataset: """Read projections, import and export csv files.""" from logging import getLogger @@ -643,8 +642,7 @@ def read_initial_market( if isinstance(projections, (str, Path)): getLogger(__name__).info(f"Reading projections from {projections}") projections = read_attribute_table(projections) - if timeslices is not None: - projections = convert_timeslice(projections, TIMESLICE, QuantityType.INTENSIVE) + projections = convert_timeslice(projections, TIMESLICE, QuantityType.INTENSIVE) # Base year export is optional. If it is not there, it's set to zero if isinstance(base_year_export, (str, Path)): @@ -662,13 +660,12 @@ def read_initial_market( getLogger(__name__).info("Base year import not provided. Set to zero.") base_year_import = xr.zeros_like(projections) - if timeslices is not None: - base_year_export = convert_timeslice( - base_year_export, TIMESLICE, QuantityType.EXTENSIVE - ) - base_year_import = convert_timeslice( - base_year_import, TIMESLICE, QuantityType.EXTENSIVE - ) + base_year_export = convert_timeslice( + base_year_export, TIMESLICE, QuantityType.EXTENSIVE + ) + base_year_import = convert_timeslice( + base_year_import, TIMESLICE, QuantityType.EXTENSIVE + ) base_year_export.name = "exports" base_year_import.name = "imports" @@ -688,7 +685,7 @@ def read_initial_market( commodity_price="prices", units_commodity_price="units_prices" ) result["prices"] = ( - result["prices"].expand_dims({"timeslice": timeslices}).drop_vars("timeslice") + result["prices"].expand_dims({"timeslice": TIMESLICE}).drop_vars("timeslice") ) return result From 65c3e489002712be6e28b8f51c3183cfe4069adb Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 9 Oct 2024 12:11:42 +0100 Subject: [PATCH 018/121] Draft new function with intended behaviour --- src/muse/timeslices.py | 48 +++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index 001152bfe..10eeb92bc 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -247,8 +247,6 @@ def setup_module(settings: Union[str, Mapping]): def timeslice_projector( x: Union[DataArray, MultiIndex], - finest: Optional[DataArray] = None, - transforms: Optional[dict[tuple, ndarray]] = None, ) -> DataArray: '''Project time-slice to standardized finest time-slices. @@ -347,12 +345,8 @@ def timeslice_projector( from numpy import concatenate, ones_like from xarray import DataArray - if finest is None: - global TIMESLICE - finest = TIMESLICE - if transforms is None: - global TRANSFORMS - transforms = TRANSFORMS + finest = TIMESLICE + transforms = TRANSFORMS index = finest.get_index("timeslice") index = index.set_names(f"finest_{u}" for u in index.names) @@ -396,12 +390,27 @@ class QuantityType(Enum): EXTENSIVE = "extensive" +def convert_timeslice_new(x, ts, quantity): + if hasattr(x, "timeslice"): + return x + + if hasattr(ts, "timeslice"): + ts = ts.timeslice + + extensive = x.expand_dims(timeslice=ts["timeslice"]).assign_coords( + timeslice=ts.indexes["timeslice"] + ) + if quantity is QuantityType.EXTENSIVE: + return extensive + + if quantity is QuantityType.INTENSIVE: + return extensive * (ts / ts.sum()) + + def convert_timeslice( x: Union[DataArray, Dataset], ts: Union[DataArray, Dataset, MultiIndex], quantity: Union[QuantityType, str] = QuantityType.EXTENSIVE, - finest: Optional[DataArray] = None, - transforms: Optional[dict[tuple, ndarray]] = None, ) -> Union[DataArray, Dataset]: '''Adjusts the timeslice of x to match that of ts. @@ -528,21 +537,22 @@ def convert_timeslice( >>> bool(all((weekend * 5).round(6) == (weekdays * 2).round(6))) True ''' - if finest is None: - global TIMESLICE - finest = TIMESLICE - if transforms is None: - global TRANSFORMS - transforms = TRANSFORMS + finest = TIMESLICE + + if hasattr(x, "timeslice"): + return x + if hasattr(ts, "timeslice"): ts = ts.timeslice + has_ts = "timeslice" in getattr(x, "dims", ()) same_ts = has_ts and len(ts) == len(x.timeslice) and x.timeslice.equals(ts) if same_ts or ((not has_ts) and quantity == QuantityType.INTENSIVE): return x - quantity = QuantityType(quantity) - proj0 = timeslice_projector(x, finest=finest, transforms=transforms) - proj1 = timeslice_projector(ts, finest=finest, transforms=transforms) + + proj0 = timeslice_projector(x) + proj1 = timeslice_projector(ts) + if quantity is QuantityType.EXTENSIVE: finest = finest.rename(timeslice="finest_timeslice") index = finest.get_index("finest_timeslice") From d9eb060dd05c1dbce64062b30932d826491322a4 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 10 Oct 2024 14:01:00 +0100 Subject: [PATCH 019/121] Use new function wherever possible --- src/muse/constraints.py | 10 ++++----- src/muse/costs.py | 26 +++++++++++------------ src/muse/demand_share.py | 18 ++++++++-------- src/muse/examples.py | 6 +++--- src/muse/investments.py | 4 ++-- src/muse/objectives.py | 16 +++++++------- src/muse/outputs/mca.py | 35 ++++++++++++++++++------------- src/muse/quantities.py | 18 ++++++++-------- src/muse/readers/csv.py | 15 ++++++++----- src/muse/sectors/preset_sector.py | 6 +++--- src/muse/sectors/sector.py | 10 ++++----- src/muse/timeslices.py | 13 ++++-------- 12 files changed, 91 insertions(+), 86 deletions(-) diff --git a/src/muse/constraints.py b/src/muse/constraints.py index 551b472cc..e5255b241 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -728,7 +728,7 @@ def minimum_service( from xarray import ones_like, zeros_like from muse.commodities import is_enduse - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new if "minimum_service_factor" not in technologies.data_vars: return None @@ -751,10 +751,10 @@ def minimum_service( .sel(**kwargs) .drop_vars("technology") ) - capacity = convert_timeslice( + capacity = convert_timeslice_new( techs.fixed_outputs * techs.minimum_service_factor, TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) if "asset" not in capacity.dims: capacity = capacity.expand_dims(asset=search_space.asset) @@ -817,11 +817,11 @@ def lp_costs(technologies: xr.Dataset, costs: xr.DataArray) -> xr.Dataset: from xarray import zeros_like from muse.commodities import is_enduse - from muse.timeslices import TIMESLICE, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new assert "year" not in technologies.dims - ts_costs = convert_timeslice(costs, TIMESLICE) + ts_costs = convert_timeslice_new(costs, TIMESLICE, QuantityType.INTENSIVE) selection = dict( commodity=is_enduse(technologies.comm_usage), technology=technologies.technology.isin(costs.replacement), diff --git a/src/muse/costs.py b/src/muse/costs.py index ca0c7e213..d0710c310 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -13,7 +13,7 @@ from muse.commodities import is_enduse, is_fuel, is_material, is_pollutant from muse.quantities import consumption -from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice +from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new from muse.utilities import filter_input @@ -96,10 +96,10 @@ def net_present_value( raw_revenues = (production * prices_non_env * rates).sum(("commodity", "year")) # Cost of installed capacity - installed_capacity_costs = convert_timeslice( + installed_capacity_costs = convert_timeslice_new( techs.cap_par * (capacity**techs.cap_exp), TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) # Cost related to environmental products @@ -120,10 +120,10 @@ def net_present_value( material_costs = (production * prices_material * rates).sum(("commodity", "year")) # Fixed and Variable costs - fixed_costs = convert_timeslice( + fixed_costs = convert_timeslice_new( techs.fix_par * (capacity**techs.fix_exp), TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) variable_costs = techs.var_par * ( (production.sel(commodity=products).sum("commodity")) ** techs.var_exp @@ -260,10 +260,10 @@ def lifetime_levelized_cost_of_energy( fuels = is_fuel(technologies.comm_usage) # Cost of installed capacity - installed_capacity_costs = convert_timeslice( + installed_capacity_costs = convert_timeslice_new( techs.cap_par * (capacity**techs.cap_exp), TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) # Cost related to environmental products @@ -284,10 +284,10 @@ def lifetime_levelized_cost_of_energy( material_costs = (production * prices_material * rates).sum(("commodity", "year")) # Fixed and Variable costs - fixed_costs = convert_timeslice( + fixed_costs = convert_timeslice_new( techs.fix_par * (capacity**techs.fix_exp), TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) variable_costs = ( techs.var_par * production.sel(commodity=products) ** techs.var_exp @@ -372,19 +372,19 @@ def annual_levelized_cost_of_energy( rates = techs.interest_rate / (1 - (1 + techs.interest_rate) ** (-life)) annualized_capital_costs = ( - convert_timeslice( + convert_timeslice_new( techs.cap_par * rates, TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) / techs.utilization_factor ) o_and_e_costs = ( - convert_timeslice( + convert_timeslice_new( (techs.fix_par + techs.var_par), TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) / techs.utilization_factor ) diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index bc848b627..1212c1763 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -145,7 +145,7 @@ def new_and_retro( A_{a, s}^r = w_s\sum_i A_a^{r, i} with :math:`w_s` a weight associated with each timeslice and determined via - :py:func:`muse.timeslices.convert_timeslice`. + :py:func:`muse.timeslices.convert_timeslice_new`. #. An intermediate quantity, the :py:func:`unmet demand ` :math:`U` is defined from @@ -433,7 +433,7 @@ def unmet_forecasted_demand( ) -> xr.DataArray: """Forecast demand that cannot be serviced by non-decommissioned current assets.""" from muse.commodities import is_enduse - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new from muse.utilities import reduce_assets year = current_year + forecast @@ -442,7 +442,7 @@ def unmet_forecasted_demand( capacity = reduce_assets([u.assets.capacity.interp(year=year) for u in agents]) ts_capacity = cast( xr.DataArray, - convert_timeslice(capacity, TIMESLICE, QuantityType.EXTENSIVE), + convert_timeslice_new(capacity, TIMESLICE, QuantityType.INTENSIVE), ) result = unmet_demand(smarket, ts_capacity, technologies, production) @@ -565,7 +565,7 @@ def new_consumption( """ from numpy import minimum - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new # Interpolate market to forecast year market = market.interp(year=[current_year, current_year + forecast]) @@ -576,10 +576,10 @@ def new_consumption( delta = (forecasted.consumption - current.consumption).clip(min=0) # Capacity in the forecast year - ts_capa = convert_timeslice( + ts_capa = convert_timeslice_new( capacity.interp(year=current_year + forecast), TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) assert isinstance(ts_capa, xr.DataArray) @@ -610,7 +610,7 @@ def new_and_retro_demands( from numpy import minimum from muse.production import factory as prod_factory - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new production_method = production if callable(production) else prod_factory(production) assert callable(production_method) @@ -619,10 +619,10 @@ def new_and_retro_demands( smarket: xr.Dataset = market.interp(year=[current_year, current_year + forecast]) # Split capacity between timeslices - ts_capa = convert_timeslice( + ts_capa = convert_timeslice_new( capacity.interp(year=[current_year, current_year + forecast]), TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) assert isinstance(ts_capa, xr.DataArray) diff --git a/src/muse/examples.py b/src/muse/examples.py index ac592ce8e..8cd220de6 100644 --- a/src/muse/examples.py +++ b/src/muse/examples.py @@ -241,7 +241,7 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: from muse.examples import sector as load_sector from muse.quantities import consumption, maximum_production from muse.sectors import Sector - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new from muse.utilities import agent_concatenation loaded_sector = cast(Sector, load_sector(sector, model)) @@ -250,10 +250,10 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: market = xr.Dataset() production = cast( xr.DataArray, - convert_timeslice( + convert_timeslice_new( maximum_production(loaded_sector.technologies, assets.capacity), TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ), ) market["supply"] = production.sum("asset") diff --git a/src/muse/investments.py b/src/muse/investments.py index f98efbeda..d23e10c1a 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -247,7 +247,7 @@ def adhoc_match_demand( ) -> xr.DataArray: from muse.demand_matching import demand_matching from muse.quantities import capacity_in_use, maximum_production - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new demand = next(c for c in constraints if c.name == "demand").b @@ -260,7 +260,7 @@ def adhoc_match_demand( commodity=demand.commodity, ).drop_vars("technology") if "timeslice" in demand.dims and "timeslice" not in max_prod.dims: - max_prod = convert_timeslice(max_prod, TIMESLICE, QuantityType.EXTENSIVE) + max_prod = convert_timeslice_new(max_prod, TIMESLICE, QuantityType.INTENSIVE) # Push disabled techs to last rank. # Any production assigned to them by the demand-matching algorithm will be removed. diff --git a/src/muse/objectives.py b/src/muse/objectives.py index ef0b88691..653e68249 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -388,11 +388,11 @@ def lifetime_levelized_cost_of_energy( due to a zero utilisation factor. """ from muse.costs import lifetime_levelized_cost_of_energy as LCOE - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, TIMESLICE, QuantityType.EXTENSIVE) + production = convert_timeslice_new(production, TIMESLICE, QuantityType.INTENSIVE) results = LCOE( technologies=technologies, @@ -418,11 +418,11 @@ def net_present_value( See :py:func:`muse.costs.net_present_value` for more details. """ from muse.costs import net_present_value as NPV - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, TIMESLICE, QuantityType.EXTENSIVE) + production = convert_timeslice_new(production, TIMESLICE, QuantityType.INTENSIVE) results = NPV( technologies=technologies, @@ -447,11 +447,11 @@ def net_present_cost( See :py:func:`muse.costs.net_present_cost` for more details. """ from muse.costs import net_present_cost as NPC - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, TIMESLICE, QuantityType.EXTENSIVE) + production = convert_timeslice_new(production, TIMESLICE, QuantityType.INTENSIVE) results = NPC( technologies=technologies, @@ -476,11 +476,11 @@ def equivalent_annual_cost( See :py:func:`muse.costs.equivalent_annual_cost` for more details. """ from muse.costs import equivalent_annual_cost as EAC - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, TIMESLICE, QuantityType.EXTENSIVE) + production = convert_timeslice_new(production, TIMESLICE, QuantityType.INTENSIVE) results = EAC( technologies=technologies, diff --git a/src/muse/outputs/mca.py b/src/muse/outputs/mca.py index 3fe34aae2..12f38fea1 100644 --- a/src/muse/outputs/mca.py +++ b/src/muse/outputs/mca.py @@ -35,7 +35,12 @@ def quantity( from muse.outputs.sector import market_quantity from muse.registration import registrator from muse.sectors import AbstractSector -from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice, drop_timeslice +from muse.timeslices import ( + TIMESLICE, + QuantityType, + convert_timeslice_new, + drop_timeslice, +) from muse.utilities import multiindex_to_coords OUTPUT_QUANTITY_SIGNATURE = Callable[ @@ -349,14 +354,14 @@ def sector_supply(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Da ] agent_market.loc[dict(commodity=excluded)] = 0 - result = convert_timeslice( + result = convert_timeslice_new( supply( agent_market, TIMESLICE, technologies, ), agent_market["consumption"].timeslice, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) if "year" in result.dims: @@ -580,14 +585,14 @@ def sector_consumption( ] agent_market.loc[dict(commodity=excluded)] = 0 - production = convert_timeslice( + production = convert_timeslice_new( supply( agent_market, TIMESLICE, technologies, ), agent_market["consumption"].timeslice, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) prices = a.filter_input(market.prices, year=output_year) result = consumption( @@ -717,14 +722,14 @@ def sector_fuel_costs( ) commodity = is_fuel(technologies.comm_usage) - production = convert_timeslice( + production = convert_timeslice_new( supply( agent_market, TIMESLICE, technologies, ), agent_market["consumption"].timeslice, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) prices = a.filter_input(market.prices, year=output_year) @@ -776,10 +781,10 @@ def sector_capital_costs( technology=capacity.technology, ) result = data.cap_par * (capacity**data.cap_exp) - data_agent = convert_timeslice( + data_agent = convert_timeslice_new( result, TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) data_agent["agent"] = a.name data_agent["category"] = a.category @@ -837,14 +842,14 @@ def sector_emission_costs( i = (np.where(envs))[0][0] red_envs = envs[i].commodity.values prices = a.filter_input(market.prices, year=output_year, commodity=red_envs) - production = convert_timeslice( + production = convert_timeslice_new( supply( agent_market, TIMESLICE, technologies, ), agent_market["consumption"].timeslice, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) total = production.sel(commodity=enduses).sum("commodity") data_agent = total * (allemissions * prices).sum("commodity") @@ -911,10 +916,10 @@ def sector_lcoe(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Data demand = agent_market.consumption.sel(commodity=included) capacity = agent.filter_input(capacity_to_service_demand(demand, techs)) production = capacity * techs.fixed_outputs * techs.utilization_factor - production = convert_timeslice( + production = convert_timeslice_new( production, TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) result = LCOE( @@ -989,10 +994,10 @@ def sector_eac(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.DataF demand = agent_market.consumption.sel(commodity=included) capacity = agent.filter_input(capacity_to_service_demand(demand, techs)) production = capacity * techs.fixed_outputs * techs.utilization_factor - production = convert_timeslice( + production = convert_timeslice_new( production, TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) result = EAC( diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 561656468..4c58fefb5 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -150,7 +150,7 @@ def gross_margin( - non-environmental commodities OUTPUTS are related to revenues. """ from muse.commodities import is_enduse, is_pollutant - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new from muse.utilities import broadcast_techs tech = broadcast_techs( # type: ignore @@ -187,10 +187,10 @@ def gross_margin( enduses = is_enduse(technologies.comm_usage) # Variable costs depend on factors such as labour - variable_costs = convert_timeslice( + variable_costs = convert_timeslice_new( var_par * ((fixed_outputs.sel(commodity=enduses)).sum("commodity")) ** var_exp, TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) # The individual prices are selected @@ -269,7 +269,7 @@ def consumption( are not given, then flexible consumption is *not* considered. """ from muse.commodities import is_enduse, is_fuel - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new from muse.utilities import filter_with_template params = filter_with_template( @@ -283,8 +283,8 @@ def consumption( production = production.sel(commodity=is_enduse(comm_usage)).sum("commodity") if prices is not None and "timeslice" in prices.dims: - production = convert_timeslice( # type: ignore - production, TIMESLICE, QuantityType.EXTENSIVE + production = convert_timeslice_new( # type: ignore + production, TIMESLICE, QuantityType.INTENSIVE ) params_fuels = is_fuel(params.comm_usage) @@ -380,7 +380,7 @@ def demand_matched_production( """ from muse.costs import annual_levelized_cost_of_energy as ALCOE from muse.demand_matching import demand_matching - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new from muse.utilities import broadcast_techs technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) @@ -388,8 +388,8 @@ def demand_matched_production( max_production = maximum_production(technodata, capacity, **filters) assert ("timeslice" in demand.dims) == ("timeslice" in cost.dims) if "timeslice" in demand.dims and "timeslice" not in max_production.dims: - max_production = convert_timeslice( - max_production, TIMESLICE, QuantityType.EXTENSIVE + max_production = convert_timeslice_new( + max_production, TIMESLICE, QuantityType.INTENSIVE ) return demand_matching(demand, cost, max_production) diff --git a/src/muse/readers/csv.py b/src/muse/readers/csv.py index 7e9ac44da..755d1f0ce 100644 --- a/src/muse/readers/csv.py +++ b/src/muse/readers/csv.py @@ -636,7 +636,12 @@ def read_initial_market( """Read projections, import and export csv files.""" from logging import getLogger - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import ( + TIMESLICE, + QuantityType, + convert_timeslice, + convert_timeslice_new, + ) # Projections must always be present if isinstance(projections, (str, Path)): @@ -660,11 +665,11 @@ def read_initial_market( getLogger(__name__).info("Base year import not provided. Set to zero.") base_year_import = xr.zeros_like(projections) - base_year_export = convert_timeslice( - base_year_export, TIMESLICE, QuantityType.EXTENSIVE + base_year_export = convert_timeslice_new( + base_year_export, TIMESLICE, QuantityType.INTENSIVE ) - base_year_import = convert_timeslice( - base_year_import, TIMESLICE, QuantityType.EXTENSIVE + base_year_import = convert_timeslice_new( + base_year_import, TIMESLICE, QuantityType.INTENSIVE ) base_year_export.name = "exports" base_year_import.name = "imports" diff --git a/src/muse/sectors/preset_sector.py b/src/muse/sectors/preset_sector.py index 8539527c4..12c9da18c 100644 --- a/src/muse/sectors/preset_sector.py +++ b/src/muse/sectors/preset_sector.py @@ -31,7 +31,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: read_timeslices, ) from muse.regressions import endogenous_demand - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new sector_conf = getattr(settings.sectors, name) presets = Dataset() @@ -121,8 +121,8 @@ def factory(cls, name: str, settings: Any) -> PresetSector: # add timeslice, if missing for component in {"supply", "consumption"}: if "timeslice" not in presets[component].dims: - presets[component] = convert_timeslice( - presets[component], TIMESLICE, QuantityType.EXTENSIVE + presets[component] = convert_timeslice_new( + presets[component], TIMESLICE, QuantityType.INTENSIVE ) comm_usage = (presets.costs > 0).any(set(presets.costs.dims) - {"commodity"}) diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index 0872240fa..f52410b33 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -285,7 +285,7 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: from muse.commodities import is_pollutant from muse.costs import annual_levelized_cost_of_energy, supply_cost from muse.quantities import consumption - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new from muse.utilities import broadcast_techs years = market.year.values @@ -296,7 +296,7 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: market=market, capacity=capacity, technologies=technologies ) if "timeslice" in market.prices.dims and "timeslice" not in supply.dims: - supply = convert_timeslice(supply, TIMESLICE, QuantityType.EXTENSIVE) + supply = convert_timeslice_new(supply, TIMESLICE, QuantityType.INTENSIVE) # Calculate consumption consume = consumption(technologies, supply, market.prices) @@ -391,7 +391,7 @@ def convert_market_timeslice( intensive: str | tuple[str] = "prices", ) -> xr.Dataset: """Converts market from one to another timeslice.""" - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new if isinstance(intensive, str): intensive = (intensive,) @@ -400,10 +400,10 @@ def convert_market_timeslice( intensives = market[list(timesliced.intersection(intensive))] if "timeslice" not in intensives.dims: - intensives = convert_timeslice( + intensives = convert_timeslice_new( intensives, TIMESLICE, - QuantityType.INTENSIVE, + QuantityType.EXTENSIVE, ) extensives = market[list(timesliced.difference(intensives.data_vars))] others = market[list(set(market.data_vars).difference(timesliced))] diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index 10eeb92bc..f4bf4d6b6 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -391,15 +391,13 @@ class QuantityType(Enum): def convert_timeslice_new(x, ts, quantity): + from xarray import Coordinates + if hasattr(x, "timeslice"): return x - if hasattr(ts, "timeslice"): - ts = ts.timeslice - - extensive = x.expand_dims(timeslice=ts["timeslice"]).assign_coords( - timeslice=ts.indexes["timeslice"] - ) + mindex_coords = Coordinates.from_pandas_multiindex(ts.timeslice, "timeslice") + extensive = x.expand_dims(timeslice=ts["timeslice"]).assign_coords(mindex_coords) if quantity is QuantityType.EXTENSIVE: return extensive @@ -539,9 +537,6 @@ def convert_timeslice( ''' finest = TIMESLICE - if hasattr(x, "timeslice"): - return x - if hasattr(ts, "timeslice"): ts = ts.timeslice From 7ebab9ee3f1c8a58b67beb1f8aae812c001ec3ec Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 10 Oct 2024 16:08:53 +0100 Subject: [PATCH 020/121] Update tests --- src/muse/readers/csv.py | 2 -- tests/test_constraints.py | 22 ++++++++-------- tests/test_costs.py | 6 ++--- tests/test_demand_share.py | 12 ++++----- tests/test_quantities.py | 36 +++++++++++++------------- tests/test_timeslices.py | 52 -------------------------------------- 6 files changed, 38 insertions(+), 92 deletions(-) diff --git a/src/muse/readers/csv.py b/src/muse/readers/csv.py index 755d1f0ce..917936b0f 100644 --- a/src/muse/readers/csv.py +++ b/src/muse/readers/csv.py @@ -639,7 +639,6 @@ def read_initial_market( from muse.timeslices import ( TIMESLICE, QuantityType, - convert_timeslice, convert_timeslice_new, ) @@ -647,7 +646,6 @@ def read_initial_market( if isinstance(projections, (str, Path)): getLogger(__name__).info(f"Reading projections from {projections}") projections = read_attribute_table(projections) - projections = convert_timeslice(projections, TIMESLICE, QuantityType.INTENSIVE) # Base year export is optional. If it is not there, it's set to zero if isinstance(base_year_export, (str, Path)): diff --git a/tests/test_constraints.py b/tests/test_constraints.py index 0f307f321..e816c240e 100644 --- a/tests/test_constraints.py +++ b/tests/test_constraints.py @@ -61,7 +61,6 @@ def lpcosts(technologies, market, costs): return lp_costs( technologies.interp(year=market.year.min() + 5).drop_vars("year"), costs=costs, - timeslices=market.timeslice, ) @@ -73,13 +72,14 @@ def assets(residential): @fixture def market_demand(assets, technologies, market): from muse.quantities import maximum_production - from muse.timeslices import convert_timeslice + from muse.timeslices import QuantityType, convert_timeslice_new return 0.8 * maximum_production( technologies.interp(year=2025), - convert_timeslice( + convert_timeslice_new( assets.capacity.sel(year=2025).groupby("technology").sum("asset"), market, + QuantityType.INTENSIVE, ), ).rename(technology="asset") @@ -227,7 +227,7 @@ def test_to_scipy_adapter_maxprod(technologies, costs, max_production, timeslice assert adapter.b_ub.size == adapter.A_ub.shape[0] assert adapter.c.size == adapter.A_ub.shape[1] - lpcosts = lp_costs(technologies, costs, timeslices) + lpcosts = lp_costs(technologies, costs) capsize = lpcosts.capacity.size prodsize = lpcosts.production.size assert adapter.c.size == capsize + prodsize @@ -254,7 +254,7 @@ def test_to_scipy_adapter_demand(technologies, costs, demand_constraint, timesli assert adapter.b_ub.size == adapter.A_ub.shape[0] assert adapter.c.size == adapter.A_ub.shape[1] - lpcosts = lp_costs(technologies, costs, timeslices) + lpcosts = lp_costs(technologies, costs) capsize = lpcosts.capacity.size prodsize = lpcosts.production.size assert adapter.c.size == capsize + prodsize @@ -290,7 +290,7 @@ def test_to_scipy_adapter_max_capacity_expansion( assert adapter.c.size == adapter.A_ub.shape[1] assert adapter.c.ndim == 1 - lpcosts = lp_costs(technologies, costs, timeslices) + lpcosts = lp_costs(technologies, costs) capsize = lpcosts.capacity.size prodsize = lpcosts.production.size assert adapter.c.size == capsize + prodsize @@ -314,7 +314,7 @@ def test_to_scipy_adapter_no_constraint(technologies, costs, timeslices): assert adapter.b_eq is None assert adapter.c.ndim == 1 - lpcosts = lp_costs(technologies, costs, timeslices) + lpcosts = lp_costs(technologies, costs) capsize = lpcosts.capacity.size prodsize = lpcosts.production.size assert adapter.c.size == capsize + prodsize @@ -325,7 +325,7 @@ def test_back_to_muse_capacity(technologies, costs, timeslices): technologies = technologies.interp(year=2025) - lpcosts = lp_costs(technologies, costs, timeslices) + lpcosts = lp_costs(technologies, costs) data = ScipyAdapter._unified_dataset(technologies, lpcosts) lpquantity = ScipyAdapter._selected_quantity(data, "capacity") assert set(lpquantity.dims) == {"d(asset)", "d(replacement)"} @@ -340,7 +340,7 @@ def test_back_to_muse_production(technologies, costs, timeslices): technologies = technologies.interp(year=2025) - lpcosts = lp_costs(technologies, costs, timeslices) + lpcosts = lp_costs(technologies, costs) data = ScipyAdapter._unified_dataset(technologies, lpcosts) lpquantity = ScipyAdapter._selected_quantity(data, "production") assert set(lpquantity.dims) == { @@ -359,7 +359,7 @@ def test_back_to_muse_all(technologies, costs, timeslices, rng: np.random.Genera from muse.constraints import ScipyAdapter, lp_costs technologies = technologies.interp(year=2025) - lpcosts = lp_costs(technologies, costs, timeslices) + lpcosts = lp_costs(technologies, costs) data = ScipyAdapter._unified_dataset(technologies, lpcosts) lpcapacity = ScipyAdapter._selected_quantity(data, "capacity") @@ -390,7 +390,7 @@ def test_scipy_adapter_back_to_muse(technologies, costs, timeslices, rng): from muse.constraints import ScipyAdapter, lp_costs technologies = technologies.interp(year=2025) - lpcosts = lp_costs(technologies, costs, timeslices) + lpcosts = lp_costs(technologies, costs) data = ScipyAdapter._unified_dataset(technologies, lpcosts) lpcapacity = ScipyAdapter._selected_quantity(data, "capacity") diff --git a/tests/test_costs.py b/tests/test_costs.py index 4270d5b2a..1bbefe0b1 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -19,13 +19,13 @@ def _capacity(technologies, demand_share): @fixture def _production(technologies, _capacity, demand_share): - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import QuantityType, convert_timeslice_new production = ( _capacity * technologies.fixed_outputs * technologies.utilization_factor ) - production = convert_timeslice( - production, demand_share.timeslice, QuantityType.EXTENSIVE + production = convert_timeslice_new( + production, demand_share.timeslice, QuantityType.INTENSIVE ) return production diff --git a/tests/test_demand_share.py b/tests/test_demand_share.py index 9661a180b..a8c282687 100644 --- a/tests/test_demand_share.py +++ b/tests/test_demand_share.py @@ -19,13 +19,13 @@ def _matching_market(technologies, stock, timeslice): from numpy.random import random from muse.quantities import consumption, maximum_production - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import QuantityType, convert_timeslice_new market = xr.Dataset() - production = convert_timeslice( + production = convert_timeslice_new( maximum_production(technologies, stock.capacity), timeslice, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) market["supply"] = production.sum("asset") market["consumption"] = drop_timeslice( @@ -126,7 +126,7 @@ def test_new_retro_split_zero_new_unmet(technologies, stock, matching_market): def test_new_retro_accounting_identity(technologies, stock, market): from muse.demand_share import new_and_retro_demands from muse.production import factory - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import QuantityType, convert_timeslice_new share = new_and_retro_demands( stock.capacity, market, technologies, current_year=2010, forecast=5 @@ -134,14 +134,14 @@ def test_new_retro_accounting_identity(technologies, stock, market): assert (share >= 0).all() production_method = factory() - serviced = convert_timeslice( + serviced = convert_timeslice_new( production_method( market.interp(year=2015), stock.capacity.interp(year=2015), technologies ) .groupby("region") .sum("asset"), market.timeslice, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) consumption = market.consumption.interp(year=2015) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index 2d0711ea5..280209833 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -403,7 +403,7 @@ def test_demand_matched_production( ): from muse.commodities import CommodityUsage, is_enduse from muse.quantities import demand_matched_production, maximum_production - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import QuantityType, convert_timeslice_new # try and make sure we have a few more outputs than the default fixture technologies.comm_usage[:] = np.random.choice( @@ -414,10 +414,10 @@ def test_demand_matched_production( technologies.fixed_outputs[:] *= is_enduse(technologies.comm_usage) capacity = capacity.sel(year=capacity.year.min(), drop=True) - max_prod = convert_timeslice( + max_prod = convert_timeslice_new( maximum_production(technologies, capacity), demand.timeslice, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) demand = max_prod.sum("asset") demand[:] *= np.random.choice([0, 1, 1 / 2, 1 / 3, 1 / 10], demand.shape) @@ -434,7 +434,7 @@ def test_costed_production_exact_match(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import QuantityType, convert_timeslice_new from muse.utilities import broadcast_techs if set(capacity.region.values) != set(market.region.values): @@ -445,13 +445,13 @@ def test_costed_production_exact_match(market, capacity, technologies): costs = annual_levelized_cost_of_energy( prices=market.prices.sel(region=technodata.region), technologies=technodata ) - maxdemand = convert_timeslice( + maxdemand = convert_timeslice_new( xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") .mp, market, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) market["consumption"] = drop_timeslice(maxdemand) result = costed_production(market.consumption, costs, capacity, technologies) @@ -469,16 +469,16 @@ def test_costed_production_single_region(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import QuantityType, convert_timeslice_new from muse.utilities import broadcast_techs capacity = capacity.drop_vars("region") capacity["region"] = "USA" market = market.sel(region=[capacity.region.values]) - maxdemand = convert_timeslice( + maxdemand = convert_timeslice_new( maximum_production(technologies, capacity).sum("asset"), market, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) market["consumption"] = drop_timeslice(0.9 * maxdemand) technodata = broadcast_techs(technologies, capacity) @@ -500,18 +500,18 @@ def test_costed_production_single_year(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import QuantityType, convert_timeslice_new from muse.utilities import broadcast_techs capacity = capacity.sel(year=2010) market = market.sel(year=2010) - maxdemand = convert_timeslice( + maxdemand = convert_timeslice_new( xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") .mp, market, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) market["consumption"] = drop_timeslice(0.9 * maxdemand) technodata = broadcast_techs(technologies, capacity) @@ -533,7 +533,7 @@ def test_costed_production_over_capacity(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import QuantityType, convert_timeslice_new from muse.utilities import broadcast_techs capacity = capacity.isel(asset=[0, 1, 2]) @@ -541,13 +541,13 @@ def test_costed_production_over_capacity(market, capacity, technologies): capacity.region.values[: len(set(market.region.values))] = list( set(market.region.values) ) - maxdemand = convert_timeslice( + maxdemand = convert_timeslice_new( xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") .mp, market, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) market["consumption"] = drop_timeslice(maxdemand * 0.9) technodata = broadcast_techs(technologies, capacity) @@ -569,7 +569,7 @@ def test_costed_production_with_minimum_service(market, capacity, technologies, costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import QuantityType, convert_timeslice_new from muse.utilities import broadcast_techs if set(capacity.region.values) != set(market.region.values): @@ -580,8 +580,8 @@ def test_costed_production_with_minimum_service(market, capacity, technologies, technologies.utilization_factor.dims, rng.uniform(low=0.5, high=0.9, size=technologies.utilization_factor.shape), ) - maxprod = convert_timeslice( - maximum_production(technologies, capacity), market, QuantityType.EXTENSIVE + maxprod = convert_timeslice_new( + maximum_production(technologies, capacity), market, QuantityType.INTENSIVE ) minprod = maxprod * broadcast_techs(technologies.minimum_service_factor, maxprod) maxdemand = xr.Dataset(dict(mp=minprod)).groupby("region").sum("asset").mp diff --git a/tests/test_timeslices.py b/tests/test_timeslices.py index 7f478d027..b4fcd1b6c 100644 --- a/tests/test_timeslices.py +++ b/tests/test_timeslices.py @@ -3,8 +3,6 @@ from pytest import approx, fixture from xarray import DataArray -from muse.timeslices import QuantityType, convert_timeslice - @fixture def toml(): @@ -60,56 +58,6 @@ def timeslice_dataarray(reference): ) -def test_convert_extensive_timeslice(reference, timeslice_dataarray, transforms): - z = convert_timeslice( - timeslice_dataarray, reference, finest=reference, transforms=transforms - ) - assert z.shape == reference.shape - assert z.values == approx( - [ - float( - timeslice_dataarray[0] * reference[0] / (reference[0] + reference[1]) - ), - float( - timeslice_dataarray[0] * reference[1] / (reference[0] + reference[1]) - ), - 0, - 0, - float(timeslice_dataarray[1]), - 0, - 0, - 0, - float(timeslice_dataarray[2]), - 0, - ] - ) - - -def test_convert_intensive_timeslice(reference, timeslice_dataarray, transforms): - z = convert_timeslice( - timeslice_dataarray, - reference, - finest=reference, - transforms=transforms, - quantity=QuantityType.INTENSIVE, - ) - - assert z.values == approx( - [ - float(timeslice_dataarray[0]), - float(timeslice_dataarray[0]), - 0, - 0, - float(timeslice_dataarray[1]), - 0, - 0, - 0, - float(timeslice_dataarray[2]), - 0, - ] - ) - - def test_reference_timeslice(): from toml import loads From a0fe43c3d4b605e43c7d8aced953d6659a8dc00d Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 10 Oct 2024 16:18:05 +0100 Subject: [PATCH 021/121] Remove represent_hours function --- src/muse/objectives.py | 13 ++++--------- src/muse/quantities.py | 7 ++----- src/muse/timeslices.py | 14 -------------- 3 files changed, 6 insertions(+), 28 deletions(-) diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 653e68249..284504cc9 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -214,12 +214,8 @@ def capacity_to_service_demand( ) -> xr.DataArray: """Minimum capacity required to fulfill the demand.""" from muse.quantities import capacity_to_service_demand - from muse.timeslices import represent_hours - hours = represent_hours(demand.timeslice) - return capacity_to_service_demand( - demand=demand, technologies=technologies, hours=hours - ) + return capacity_to_service_demand(demand=demand, technologies=technologies) @register_objective @@ -230,13 +226,12 @@ def capacity_in_use( **kwargs, ): from muse.commodities import is_enduse - from muse.timeslices import represent_hours + from muse.timeslices import TIMESLICE - hours = represent_hours(demand.timeslice) enduses = is_enduse(technologies.comm_usage.sel(commodity=demand.commodity)) return ( - (demand.sel(commodity=enduses).sum("commodity") / hours).sum("timeslice") - * hours.sum() + (demand.sel(commodity=enduses).sum("commodity") / TIMESLICE).sum("timeslice") + * TIMESLICE.sum() / technologies.utilization_factor ) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 4c58fefb5..0773b9405 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -529,14 +529,11 @@ def group_assets(x: xr.DataArray) -> xr.DataArray: def capacity_to_service_demand( demand: xr.DataArray, technologies: xr.Dataset, - hours=None, ) -> xr.DataArray: """Minimum capacity required to fulfill the demand.""" - from muse.timeslices import represent_hours + from muse.timeslices import TIMESLICE - if hours is None: - hours = represent_hours(demand.timeslice) - max_hours = hours.max() / hours.sum() + max_hours = TIMESLICE.max() / TIMESLICE.sum() commodity_output = technologies.fixed_outputs.sel(commodity=demand.commodity) max_demand = ( demand.where(commodity_output > 0, 0) diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index f4bf4d6b6..cf27f463c 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -6,7 +6,6 @@ "convert_timeslice", "timeslice_projector", "setup_module", - "represent_hours", ] from collections.abc import Mapping, Sequence @@ -588,19 +587,6 @@ def new_to_old_timeslice(ts: DataArray, ag_level="Month") -> dict: return converted_ts -def represent_hours( - timeslices: DataArray, nhours: Union[int, float] = 8765.82 -) -> DataArray: - """Number of hours per timeslice. - - Arguments: - timeslices: The timeslice for which to compute the number of hours - nhours: The total number of hours represented in the timeslice. Defaults to the - average number of hours in year. - """ - return convert_timeslice(DataArray([nhours]), timeslices).squeeze() - - def drop_timeslice(data: DataArray) -> DataArray: """Drop the timeslice variable from a DataArray. From c2b94e7a4782a3b1770fc75c82a24bc91bb17064 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 11 Oct 2024 10:08:46 +0100 Subject: [PATCH 022/121] Fix issue with timeslice ordering --- src/muse/constraints.py | 10 +++++++--- src/muse/timeslices.py | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/muse/constraints.py b/src/muse/constraints.py index e5255b241..8ae44a40b 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -446,7 +446,11 @@ def max_production( from xarray import ones_like, zeros_like from muse.commodities import is_enduse - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import ( + TIMESLICE, + QuantityType, + convert_timeslice_new, + ) if year is None: year = int(market.year.min()) @@ -465,10 +469,10 @@ def max_production( .sel(**kwargs) .drop_vars("technology") ) - capacity = convert_timeslice( + capacity = convert_timeslice_new( techs.fixed_outputs * techs.utilization_factor, TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) if "asset" not in capacity.dims and "asset" in search_space.dims: capacity = capacity.expand_dims(asset=search_space.asset) diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index cf27f463c..1caf8b2b7 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -393,6 +393,7 @@ def convert_timeslice_new(x, ts, quantity): from xarray import Coordinates if hasattr(x, "timeslice"): + x = x.sel(timeslice=ts["timeslice"]) return x mindex_coords = Coordinates.from_pandas_multiindex(ts.timeslice, "timeslice") From 5cbc8f2afd2248961611511f6ea4e101a816c2f0 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 11 Oct 2024 10:53:56 +0100 Subject: [PATCH 023/121] Remove remaining convert_timeslice calls --- src/muse/investments.py | 4 ++-- src/muse/quantities.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/muse/investments.py b/src/muse/investments.py index d23e10c1a..97b23b9f6 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -126,9 +126,9 @@ def factory(settings: Optional[Union[str, Mapping]] = None) -> Callable: if top.lower() == "max": def timeslice_op(x: xr.DataArray) -> xr.DataArray: - from muse.timeslices import convert_timeslice + from muse.timeslices import TIMESLICE - return (x / convert_timeslice(xr.DataArray(1), x)).max("timeslice") + return (x / (TIMESLICE / sum(TIMESLICE))).max("timeslice") elif top.lower() == "sum": diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 0773b9405..310c47d99 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -459,7 +459,7 @@ def costed_production( service is applied first. """ from muse.quantities import maximum_production - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new from muse.utilities import broadcast_techs technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) @@ -475,10 +475,10 @@ def group_assets(x: xr.DataArray) -> xr.DataArray: return xr.Dataset(dict(x=x)).groupby("region").sum("asset").x ranking = costs.rank("asset") - maxprod = convert_timeslice( + maxprod = convert_timeslice_new( maximum_production(technodata, capacity), TIMESLICE, - QuantityType.EXTENSIVE, + QuantityType.INTENSIVE, ) commodity = (maxprod > 0).any([i for i in maxprod.dims if i != "commodity"]) commodity = commodity.drop_vars( From 81e7a6acbd18f6a84f5212dc78da1619367d6289 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 11 Oct 2024 11:02:55 +0100 Subject: [PATCH 024/121] Simplify timeslice_op function --- src/muse/investments.py | 40 +++++++++++----------------------------- 1 file changed, 11 insertions(+), 29 deletions(-) diff --git a/src/muse/investments.py b/src/muse/investments.py index 97b23b9f6..bc731c906 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -121,25 +121,6 @@ def factory(settings: Optional[Union[str, Mapping]] = None) -> Callable: name = settings["name"] params = {k: v for k, v in settings.items() if k != "name"} - top = params.get("timeslice_op", "max") - if isinstance(top, str): - if top.lower() == "max": - - def timeslice_op(x: xr.DataArray) -> xr.DataArray: - from muse.timeslices import TIMESLICE - - return (x / (TIMESLICE / sum(TIMESLICE))).max("timeslice") - - elif top.lower() == "sum": - - def timeslice_op(x: xr.DataArray) -> xr.DataArray: - return x.sum("timeslice") - - else: - raise ValueError(f"Unknown timeslice transform {top}") - - params["timeslice_op"] = timeslice_op - investment = INVESTMENTS[name] def compute_investment( @@ -243,7 +224,6 @@ def adhoc_match_demand( technologies: xr.Dataset, constraints: list[Constraint], year: int, - timeslice_op: Optional[Callable[[xr.DataArray], xr.DataArray]] = None, ) -> xr.DataArray: from muse.demand_matching import demand_matching from muse.quantities import capacity_in_use, maximum_production @@ -265,7 +245,7 @@ def adhoc_match_demand( # Push disabled techs to last rank. # Any production assigned to them by the demand-matching algorithm will be removed. - if "timeslice" in costs.dims and timeslice_op is not None: + if "timeslice" in costs.dims: costs = costs.mean("timeslice").mean("asset") # timeslice_op(costs) minobj = costs.min() @@ -282,7 +262,7 @@ def adhoc_match_demand( capacity = capacity_in_use( production, technologies, year=year, technology=production.replacement ).drop_vars("technology") - if "timeslice" in capacity.dims and timeslice_op is not None: + if "timeslice" in capacity.dims: capacity = timeslice_op(capacity) result = xr.Dataset({"capacity": capacity, "production": production}) @@ -296,7 +276,6 @@ def scipy_match_demand( technologies: xr.Dataset, constraints: list[Constraint], year: Optional[int] = None, - timeslice_op: Optional[Callable[[xr.DataArray], xr.DataArray]] = None, **options, ) -> xr.DataArray: from logging import getLogger @@ -305,7 +284,7 @@ def scipy_match_demand( from muse.constraints import ScipyAdapter - if "timeslice" in costs.dims and timeslice_op is not None: + if "timeslice" in costs.dims: costs = timeslice_op(costs) # Select technodata for the current year @@ -354,7 +333,6 @@ def cvxopt_match_demand( technologies: xr.Dataset, constraints: list[Constraint], year: Optional[int] = None, - timeslice_op: Optional[Callable[[xr.DataArray], xr.DataArray]] = None, **options, ) -> xr.DataArray: from importlib import import_module @@ -370,9 +348,7 @@ def cvxopt_match_demand( techs = technologies def default_to_scipy(): - return scipy_match_demand( - costs, search_space, techs, constraints, timeslice_op=timeslice_op - ) + return scipy_match_demand(costs, search_space, techs, constraints) try: cvxopt = import_module("cvxopt") @@ -385,7 +361,7 @@ def default_to_scipy(): getLogger(__name__).critical(msg) return default_to_scipy() - if "timeslice" in costs.dims and timeslice_op is not None: + if "timeslice" in costs.dims: costs = timeslice_op(costs) timeslice = next(cs.timeslice for cs in constraints if "timeslice" in cs.dims) adapter = ScipyAdapter.factory( @@ -412,3 +388,9 @@ def default_to_scipy(): solution = cast(Callable[[np.ndarray], xr.Dataset], adapter.to_muse)(list(res["x"])) return solution + + +def timeslice_op(x: xr.DataArray) -> xr.DataArray: + from muse.timeslices import TIMESLICE + + return (x / (TIMESLICE / sum(TIMESLICE))).max("timeslice") From 19cf269ecbb9201bf790ba13c8fde781e4cb9a07 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 11 Oct 2024 11:07:20 +0100 Subject: [PATCH 025/121] Delete old convert_timeslice function --- src/muse/constraints.py | 12 +-- src/muse/costs.py | 14 +-- src/muse/demand_share.py | 12 +-- src/muse/examples.py | 4 +- src/muse/investments.py | 4 +- src/muse/objectives.py | 16 +-- src/muse/outputs/mca.py | 16 +-- src/muse/quantities.py | 16 +-- src/muse/readers/csv.py | 6 +- src/muse/sectors/preset_sector.py | 4 +- src/muse/sectors/sector.py | 8 +- src/muse/timeslices.py | 170 +----------------------------- tests/test_constraints.py | 4 +- tests/test_costs.py | 4 +- tests/test_demand_share.py | 8 +- tests/test_quantities.py | 24 ++--- 16 files changed, 78 insertions(+), 244 deletions(-) diff --git a/src/muse/constraints.py b/src/muse/constraints.py index 8ae44a40b..3849bb2b1 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -449,7 +449,7 @@ def max_production( from muse.timeslices import ( TIMESLICE, QuantityType, - convert_timeslice_new, + convert_timeslice, ) if year is None: @@ -469,7 +469,7 @@ def max_production( .sel(**kwargs) .drop_vars("technology") ) - capacity = convert_timeslice_new( + capacity = convert_timeslice( techs.fixed_outputs * techs.utilization_factor, TIMESLICE, QuantityType.INTENSIVE, @@ -732,7 +732,7 @@ def minimum_service( from xarray import ones_like, zeros_like from muse.commodities import is_enduse - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice if "minimum_service_factor" not in technologies.data_vars: return None @@ -755,7 +755,7 @@ def minimum_service( .sel(**kwargs) .drop_vars("technology") ) - capacity = convert_timeslice_new( + capacity = convert_timeslice( techs.fixed_outputs * techs.minimum_service_factor, TIMESLICE, QuantityType.INTENSIVE, @@ -821,11 +821,11 @@ def lp_costs(technologies: xr.Dataset, costs: xr.DataArray) -> xr.Dataset: from xarray import zeros_like from muse.commodities import is_enduse - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice assert "year" not in technologies.dims - ts_costs = convert_timeslice_new(costs, TIMESLICE, QuantityType.INTENSIVE) + ts_costs = convert_timeslice(costs, TIMESLICE, QuantityType.INTENSIVE) selection = dict( commodity=is_enduse(technologies.comm_usage), technology=technologies.technology.isin(costs.replacement), diff --git a/src/muse/costs.py b/src/muse/costs.py index d0710c310..64fc1b979 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -13,7 +13,7 @@ from muse.commodities import is_enduse, is_fuel, is_material, is_pollutant from muse.quantities import consumption -from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new +from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import filter_input @@ -96,7 +96,7 @@ def net_present_value( raw_revenues = (production * prices_non_env * rates).sum(("commodity", "year")) # Cost of installed capacity - installed_capacity_costs = convert_timeslice_new( + installed_capacity_costs = convert_timeslice( techs.cap_par * (capacity**techs.cap_exp), TIMESLICE, QuantityType.INTENSIVE, @@ -120,7 +120,7 @@ def net_present_value( material_costs = (production * prices_material * rates).sum(("commodity", "year")) # Fixed and Variable costs - fixed_costs = convert_timeslice_new( + fixed_costs = convert_timeslice( techs.fix_par * (capacity**techs.fix_exp), TIMESLICE, QuantityType.INTENSIVE, @@ -260,7 +260,7 @@ def lifetime_levelized_cost_of_energy( fuels = is_fuel(technologies.comm_usage) # Cost of installed capacity - installed_capacity_costs = convert_timeslice_new( + installed_capacity_costs = convert_timeslice( techs.cap_par * (capacity**techs.cap_exp), TIMESLICE, QuantityType.INTENSIVE, @@ -284,7 +284,7 @@ def lifetime_levelized_cost_of_energy( material_costs = (production * prices_material * rates).sum(("commodity", "year")) # Fixed and Variable costs - fixed_costs = convert_timeslice_new( + fixed_costs = convert_timeslice( techs.fix_par * (capacity**techs.fix_exp), TIMESLICE, QuantityType.INTENSIVE, @@ -372,7 +372,7 @@ def annual_levelized_cost_of_energy( rates = techs.interest_rate / (1 - (1 + techs.interest_rate) ** (-life)) annualized_capital_costs = ( - convert_timeslice_new( + convert_timeslice( techs.cap_par * rates, TIMESLICE, QuantityType.INTENSIVE, @@ -381,7 +381,7 @@ def annual_levelized_cost_of_energy( ) o_and_e_costs = ( - convert_timeslice_new( + convert_timeslice( (techs.fix_par + techs.var_par), TIMESLICE, QuantityType.INTENSIVE, diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index 1212c1763..fb2321bd9 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -433,7 +433,7 @@ def unmet_forecasted_demand( ) -> xr.DataArray: """Forecast demand that cannot be serviced by non-decommissioned current assets.""" from muse.commodities import is_enduse - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import reduce_assets year = current_year + forecast @@ -442,7 +442,7 @@ def unmet_forecasted_demand( capacity = reduce_assets([u.assets.capacity.interp(year=year) for u in agents]) ts_capacity = cast( xr.DataArray, - convert_timeslice_new(capacity, TIMESLICE, QuantityType.INTENSIVE), + convert_timeslice(capacity, TIMESLICE, QuantityType.INTENSIVE), ) result = unmet_demand(smarket, ts_capacity, technologies, production) @@ -565,7 +565,7 @@ def new_consumption( """ from numpy import minimum - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice # Interpolate market to forecast year market = market.interp(year=[current_year, current_year + forecast]) @@ -576,7 +576,7 @@ def new_consumption( delta = (forecasted.consumption - current.consumption).clip(min=0) # Capacity in the forecast year - ts_capa = convert_timeslice_new( + ts_capa = convert_timeslice( capacity.interp(year=current_year + forecast), TIMESLICE, QuantityType.INTENSIVE, @@ -610,7 +610,7 @@ def new_and_retro_demands( from numpy import minimum from muse.production import factory as prod_factory - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice production_method = production if callable(production) else prod_factory(production) assert callable(production_method) @@ -619,7 +619,7 @@ def new_and_retro_demands( smarket: xr.Dataset = market.interp(year=[current_year, current_year + forecast]) # Split capacity between timeslices - ts_capa = convert_timeslice_new( + ts_capa = convert_timeslice( capacity.interp(year=[current_year, current_year + forecast]), TIMESLICE, QuantityType.INTENSIVE, diff --git a/src/muse/examples.py b/src/muse/examples.py index 8cd220de6..390a7be96 100644 --- a/src/muse/examples.py +++ b/src/muse/examples.py @@ -241,7 +241,7 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: from muse.examples import sector as load_sector from muse.quantities import consumption, maximum_production from muse.sectors import Sector - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import agent_concatenation loaded_sector = cast(Sector, load_sector(sector, model)) @@ -250,7 +250,7 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: market = xr.Dataset() production = cast( xr.DataArray, - convert_timeslice_new( + convert_timeslice( maximum_production(loaded_sector.technologies, assets.capacity), TIMESLICE, QuantityType.INTENSIVE, diff --git a/src/muse/investments.py b/src/muse/investments.py index bc731c906..923100a70 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -227,7 +227,7 @@ def adhoc_match_demand( ) -> xr.DataArray: from muse.demand_matching import demand_matching from muse.quantities import capacity_in_use, maximum_production - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice demand = next(c for c in constraints if c.name == "demand").b @@ -240,7 +240,7 @@ def adhoc_match_demand( commodity=demand.commodity, ).drop_vars("technology") if "timeslice" in demand.dims and "timeslice" not in max_prod.dims: - max_prod = convert_timeslice_new(max_prod, TIMESLICE, QuantityType.INTENSIVE) + max_prod = convert_timeslice(max_prod, TIMESLICE, QuantityType.INTENSIVE) # Push disabled techs to last rank. # Any production assigned to them by the demand-matching algorithm will be removed. diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 284504cc9..0a9164135 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -383,11 +383,11 @@ def lifetime_levelized_cost_of_energy( due to a zero utilisation factor. """ from muse.costs import lifetime_levelized_cost_of_energy as LCOE - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice_new(production, TIMESLICE, QuantityType.INTENSIVE) + production = convert_timeslice(production, TIMESLICE, QuantityType.INTENSIVE) results = LCOE( technologies=technologies, @@ -413,11 +413,11 @@ def net_present_value( See :py:func:`muse.costs.net_present_value` for more details. """ from muse.costs import net_present_value as NPV - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice_new(production, TIMESLICE, QuantityType.INTENSIVE) + production = convert_timeslice(production, TIMESLICE, QuantityType.INTENSIVE) results = NPV( technologies=technologies, @@ -442,11 +442,11 @@ def net_present_cost( See :py:func:`muse.costs.net_present_cost` for more details. """ from muse.costs import net_present_cost as NPC - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice_new(production, TIMESLICE, QuantityType.INTENSIVE) + production = convert_timeslice(production, TIMESLICE, QuantityType.INTENSIVE) results = NPC( technologies=technologies, @@ -471,11 +471,11 @@ def equivalent_annual_cost( See :py:func:`muse.costs.equivalent_annual_cost` for more details. """ from muse.costs import equivalent_annual_cost as EAC - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice_new(production, TIMESLICE, QuantityType.INTENSIVE) + production = convert_timeslice(production, TIMESLICE, QuantityType.INTENSIVE) results = EAC( technologies=technologies, diff --git a/src/muse/outputs/mca.py b/src/muse/outputs/mca.py index 12f38fea1..8a6d7f7fe 100644 --- a/src/muse/outputs/mca.py +++ b/src/muse/outputs/mca.py @@ -38,7 +38,7 @@ def quantity( from muse.timeslices import ( TIMESLICE, QuantityType, - convert_timeslice_new, + convert_timeslice, drop_timeslice, ) from muse.utilities import multiindex_to_coords @@ -354,7 +354,7 @@ def sector_supply(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Da ] agent_market.loc[dict(commodity=excluded)] = 0 - result = convert_timeslice_new( + result = convert_timeslice( supply( agent_market, TIMESLICE, @@ -585,7 +585,7 @@ def sector_consumption( ] agent_market.loc[dict(commodity=excluded)] = 0 - production = convert_timeslice_new( + production = convert_timeslice( supply( agent_market, TIMESLICE, @@ -722,7 +722,7 @@ def sector_fuel_costs( ) commodity = is_fuel(technologies.comm_usage) - production = convert_timeslice_new( + production = convert_timeslice( supply( agent_market, TIMESLICE, @@ -781,7 +781,7 @@ def sector_capital_costs( technology=capacity.technology, ) result = data.cap_par * (capacity**data.cap_exp) - data_agent = convert_timeslice_new( + data_agent = convert_timeslice( result, TIMESLICE, QuantityType.INTENSIVE, @@ -842,7 +842,7 @@ def sector_emission_costs( i = (np.where(envs))[0][0] red_envs = envs[i].commodity.values prices = a.filter_input(market.prices, year=output_year, commodity=red_envs) - production = convert_timeslice_new( + production = convert_timeslice( supply( agent_market, TIMESLICE, @@ -916,7 +916,7 @@ def sector_lcoe(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Data demand = agent_market.consumption.sel(commodity=included) capacity = agent.filter_input(capacity_to_service_demand(demand, techs)) production = capacity * techs.fixed_outputs * techs.utilization_factor - production = convert_timeslice_new( + production = convert_timeslice( production, TIMESLICE, QuantityType.INTENSIVE, @@ -994,7 +994,7 @@ def sector_eac(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.DataF demand = agent_market.consumption.sel(commodity=included) capacity = agent.filter_input(capacity_to_service_demand(demand, techs)) production = capacity * techs.fixed_outputs * techs.utilization_factor - production = convert_timeslice_new( + production = convert_timeslice( production, TIMESLICE, QuantityType.INTENSIVE, diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 310c47d99..cb36a7734 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -150,7 +150,7 @@ def gross_margin( - non-environmental commodities OUTPUTS are related to revenues. """ from muse.commodities import is_enduse, is_pollutant - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import broadcast_techs tech = broadcast_techs( # type: ignore @@ -187,7 +187,7 @@ def gross_margin( enduses = is_enduse(technologies.comm_usage) # Variable costs depend on factors such as labour - variable_costs = convert_timeslice_new( + variable_costs = convert_timeslice( var_par * ((fixed_outputs.sel(commodity=enduses)).sum("commodity")) ** var_exp, TIMESLICE, QuantityType.INTENSIVE, @@ -269,7 +269,7 @@ def consumption( are not given, then flexible consumption is *not* considered. """ from muse.commodities import is_enduse, is_fuel - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import filter_with_template params = filter_with_template( @@ -283,7 +283,7 @@ def consumption( production = production.sel(commodity=is_enduse(comm_usage)).sum("commodity") if prices is not None and "timeslice" in prices.dims: - production = convert_timeslice_new( # type: ignore + production = convert_timeslice( # type: ignore production, TIMESLICE, QuantityType.INTENSIVE ) @@ -380,7 +380,7 @@ def demand_matched_production( """ from muse.costs import annual_levelized_cost_of_energy as ALCOE from muse.demand_matching import demand_matching - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import broadcast_techs technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) @@ -388,7 +388,7 @@ def demand_matched_production( max_production = maximum_production(technodata, capacity, **filters) assert ("timeslice" in demand.dims) == ("timeslice" in cost.dims) if "timeslice" in demand.dims and "timeslice" not in max_production.dims: - max_production = convert_timeslice_new( + max_production = convert_timeslice( max_production, TIMESLICE, QuantityType.INTENSIVE ) return demand_matching(demand, cost, max_production) @@ -459,7 +459,7 @@ def costed_production( service is applied first. """ from muse.quantities import maximum_production - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import broadcast_techs technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) @@ -475,7 +475,7 @@ def group_assets(x: xr.DataArray) -> xr.DataArray: return xr.Dataset(dict(x=x)).groupby("region").sum("asset").x ranking = costs.rank("asset") - maxprod = convert_timeslice_new( + maxprod = convert_timeslice( maximum_production(technodata, capacity), TIMESLICE, QuantityType.INTENSIVE, diff --git a/src/muse/readers/csv.py b/src/muse/readers/csv.py index 917936b0f..01c0d08c1 100644 --- a/src/muse/readers/csv.py +++ b/src/muse/readers/csv.py @@ -639,7 +639,7 @@ def read_initial_market( from muse.timeslices import ( TIMESLICE, QuantityType, - convert_timeslice_new, + convert_timeslice, ) # Projections must always be present @@ -663,10 +663,10 @@ def read_initial_market( getLogger(__name__).info("Base year import not provided. Set to zero.") base_year_import = xr.zeros_like(projections) - base_year_export = convert_timeslice_new( + base_year_export = convert_timeslice( base_year_export, TIMESLICE, QuantityType.INTENSIVE ) - base_year_import = convert_timeslice_new( + base_year_import = convert_timeslice( base_year_import, TIMESLICE, QuantityType.INTENSIVE ) base_year_export.name = "exports" diff --git a/src/muse/sectors/preset_sector.py b/src/muse/sectors/preset_sector.py index 12c9da18c..2a121fcfa 100644 --- a/src/muse/sectors/preset_sector.py +++ b/src/muse/sectors/preset_sector.py @@ -31,7 +31,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: read_timeslices, ) from muse.regressions import endogenous_demand - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice sector_conf = getattr(settings.sectors, name) presets = Dataset() @@ -121,7 +121,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: # add timeslice, if missing for component in {"supply", "consumption"}: if "timeslice" not in presets[component].dims: - presets[component] = convert_timeslice_new( + presets[component] = convert_timeslice( presets[component], TIMESLICE, QuantityType.INTENSIVE ) diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index f52410b33..37f029850 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -285,7 +285,7 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: from muse.commodities import is_pollutant from muse.costs import annual_levelized_cost_of_energy, supply_cost from muse.quantities import consumption - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice from muse.utilities import broadcast_techs years = market.year.values @@ -296,7 +296,7 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: market=market, capacity=capacity, technologies=technologies ) if "timeslice" in market.prices.dims and "timeslice" not in supply.dims: - supply = convert_timeslice_new(supply, TIMESLICE, QuantityType.INTENSIVE) + supply = convert_timeslice(supply, TIMESLICE, QuantityType.INTENSIVE) # Calculate consumption consume = consumption(technologies, supply, market.prices) @@ -391,7 +391,7 @@ def convert_market_timeslice( intensive: str | tuple[str] = "prices", ) -> xr.Dataset: """Converts market from one to another timeslice.""" - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice_new + from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice if isinstance(intensive, str): intensive = (intensive,) @@ -400,7 +400,7 @@ def convert_market_timeslice( intensives = market[list(timesliced.intersection(intensive))] if "timeslice" not in intensives.dims: - intensives = convert_timeslice_new( + intensives = convert_timeslice( intensives, TIMESLICE, QuantityType.EXTENSIVE, diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index 1caf8b2b7..6a6cb26bd 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -12,10 +12,9 @@ from enum import Enum, unique from typing import Optional, Union -import xarray as xr from numpy import ndarray from pandas import MultiIndex -from xarray import DataArray, Dataset +from xarray import DataArray from muse.readers import kebab_to_camel @@ -389,7 +388,7 @@ class QuantityType(Enum): EXTENSIVE = "extensive" -def convert_timeslice_new(x, ts, quantity): +def convert_timeslice(x, ts, quantity): from xarray import Coordinates if hasattr(x, "timeslice"): @@ -405,171 +404,6 @@ def convert_timeslice_new(x, ts, quantity): return extensive * (ts / ts.sum()) -def convert_timeslice( - x: Union[DataArray, Dataset], - ts: Union[DataArray, Dataset, MultiIndex], - quantity: Union[QuantityType, str] = QuantityType.EXTENSIVE, -) -> Union[DataArray, Dataset]: - '''Adjusts the timeslice of x to match that of ts. - - The conversion can be done in on of two ways, depending on whether the - quantity is extensive or intensive. See `QuantityType`. - - Example: - Lets define three timeslices from finest, to fine, to rough: - - >>> toml = """ - ... ["timeslices"] - ... winter.weekday.day = 5 - ... winter.weekday.night = 5 - ... winter.weekend.day = 2 - ... winter.weekend.night = 2 - ... summer.weekday.day = 5 - ... summer.weekday.night = 5 - ... summer.weekend.day = 2 - ... summer.weekend.night = 2 - ... level_names = ["semester", "week", "day"] - ... aggregates.allday = ["day", "night"] - ... aggregates.allweek = ["weekend", "weekday"] - ... aggregates.allyear = ["winter", "summer"] - ... """ - >>> from muse.timeslices import setup_module - >>> from muse.readers import read_timeslices - >>> setup_module(toml) - >>> finest_ts = read_timeslices() - >>> fine_ts = read_timeslices(dict(week=["allweek"])) - >>> rough_ts = read_timeslices(dict(semester=["allyear"], day=["allday"])) - - Lets also define to other data-arrays to demonstrate how we can play with - dimensions: - - >>> from numpy import array - >>> x = DataArray( - ... [5, 2, 3], - ... coords={'a': array([1, 2, 3], dtype="int64")}, - ... dims='a' - ... ) - >>> y = DataArray([1, 1, 2], coords={'b': ["d", "e", "f"]}, dims='b') - - We can now easily convert arrays with different dimensions. First, lets check - conversion from an array with no timeslices: - - >>> from xarray import ones_like - >>> from muse.timeslices import convert_timeslice, QuantityType - >>> z = convert_timeslice(x, finest_ts, QuantityType.EXTENSIVE) - >>> z.round(6) - Size: 192B - array([[0.892857, 0.357143, 0.535714], - [0.892857, 0.357143, 0.535714], - [0.357143, 0.142857, 0.214286], - [0.357143, 0.142857, 0.214286], - [0.892857, 0.357143, 0.535714], - [0.892857, 0.357143, 0.535714], - [0.357143, 0.142857, 0.214286], - [0.357143, 0.142857, 0.214286]]) - Coordinates: - * timeslice (timeslice) object 64B MultiIndex - * semester (timeslice) object 64B 'winter' 'winter' ... 'summer' 'summer' - * week (timeslice) object 64B 'weekday' 'weekday' ... 'weekend' - * day (timeslice) object 64B 'day' 'night' 'day' ... 'day' 'night' - * a (a) int64 24B 1 2 3 - >>> z.sum("timeslice") - Size: 24B - array([5., 2., 3.]) - Coordinates: - * a (a) int64 24B 1 2 3 - - As expected, the sum over timeslices recovers the original array. - - In the case of an intensive quantity without a timeslice dimension, the - operation does not do anything: - - >>> convert_timeslice([1, 2], rough_ts, QuantityType.INTENSIVE) - [1, 2] - - More interesting is the conversion between different timeslices: - - >>> from xarray import zeros_like - >>> zfine = x + y + zeros_like(fine_ts.timeslice, dtype=int) - >>> zrough = convert_timeslice(zfine, rough_ts) - >>> zrough.round(6) - Size: 144B - array([[[17.142857, 17.142857, 20. ], - [ 8.571429, 8.571429, 11.428571], - [11.428571, 11.428571, 14.285714]], - - [[ 6.857143, 6.857143, 8. ], - [ 3.428571, 3.428571, 4.571429], - [ 4.571429, 4.571429, 5.714286]]]) - Coordinates: - * timeslice (timeslice) object 16B MultiIndex - * semester (timeslice) object 16B 'allyear' 'allyear' - * week (timeslice) object 16B 'weekday' 'weekend' - * day (timeslice) object 16B 'allday' 'allday' - * a (a) int64 24B 1 2 3 - * b (b) >> from numpy import all - >>> all(zfine.sum("timeslice").round(6) == zrough.sum("timeslice").round(6)) - Size: 1B - array(True) - - Or that the ratio of weekdays to weekends makes sense: - >>> weekdays = ( - ... zrough - ... .unstack("timeslice") - ... .sel(week="weekday") - ... .stack(timeslice=["semester", "day"]) - ... .squeeze() - ... ) - >>> weekend = ( - ... zrough - ... .unstack("timeslice") - ... .sel(week="weekend") - ... .stack(timeslice=["semester", "day"]) - ... .squeeze() - ... ) - >>> bool(all((weekend * 5).round(6) == (weekdays * 2).round(6))) - True - ''' - finest = TIMESLICE - - if hasattr(ts, "timeslice"): - ts = ts.timeslice - - has_ts = "timeslice" in getattr(x, "dims", ()) - same_ts = has_ts and len(ts) == len(x.timeslice) and x.timeslice.equals(ts) - if same_ts or ((not has_ts) and quantity == QuantityType.INTENSIVE): - return x - - proj0 = timeslice_projector(x) - proj1 = timeslice_projector(ts) - - if quantity is QuantityType.EXTENSIVE: - finest = finest.rename(timeslice="finest_timeslice") - index = finest.get_index("finest_timeslice") - index = index.set_names(f"finest_{u}" for u in index.names) - mindex_coords = xr.Coordinates.from_pandas_multiindex(index, "finest_timeslice") - finest = finest.drop_vars(list(finest.coords)).assign_coords(mindex_coords) - proj0 = proj0 * finest - proj0 = proj0 / proj0.sum("finest_timeslice") - elif quantity is QuantityType.INTENSIVE: - proj1 = proj1 / proj1.sum("finest_timeslice") - - new_names = {"timeslice": "final_ts"} | { - c: f"{c}_ts" for c in proj1.timeslice.coords if c != "timeslice" - } - P = (proj1.rename(**new_names) * proj0).sum("finest_timeslice") - - final_names = {"final_ts": "timeslice"} | { - c: c.replace("_ts", "") for c in P.final_ts.coords if c != "final_ts" - } - return (P * x).sum("timeslice").rename(**final_names) - - def new_to_old_timeslice(ts: DataArray, ag_level="Month") -> dict: """Transforms timeslices defined as DataArray to a pandas dataframe. diff --git a/tests/test_constraints.py b/tests/test_constraints.py index e816c240e..0aee1af5c 100644 --- a/tests/test_constraints.py +++ b/tests/test_constraints.py @@ -72,11 +72,11 @@ def assets(residential): @fixture def market_demand(assets, technologies, market): from muse.quantities import maximum_production - from muse.timeslices import QuantityType, convert_timeslice_new + from muse.timeslices import QuantityType, convert_timeslice return 0.8 * maximum_production( technologies.interp(year=2025), - convert_timeslice_new( + convert_timeslice( assets.capacity.sel(year=2025).groupby("technology").sum("asset"), market, QuantityType.INTENSIVE, diff --git a/tests/test_costs.py b/tests/test_costs.py index 1bbefe0b1..6d90066ee 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -19,12 +19,12 @@ def _capacity(technologies, demand_share): @fixture def _production(technologies, _capacity, demand_share): - from muse.timeslices import QuantityType, convert_timeslice_new + from muse.timeslices import QuantityType, convert_timeslice production = ( _capacity * technologies.fixed_outputs * technologies.utilization_factor ) - production = convert_timeslice_new( + production = convert_timeslice( production, demand_share.timeslice, QuantityType.INTENSIVE ) return production diff --git a/tests/test_demand_share.py b/tests/test_demand_share.py index a8c282687..8e21b8cdf 100644 --- a/tests/test_demand_share.py +++ b/tests/test_demand_share.py @@ -19,10 +19,10 @@ def _matching_market(technologies, stock, timeslice): from numpy.random import random from muse.quantities import consumption, maximum_production - from muse.timeslices import QuantityType, convert_timeslice_new + from muse.timeslices import QuantityType, convert_timeslice market = xr.Dataset() - production = convert_timeslice_new( + production = convert_timeslice( maximum_production(technologies, stock.capacity), timeslice, QuantityType.INTENSIVE, @@ -126,7 +126,7 @@ def test_new_retro_split_zero_new_unmet(technologies, stock, matching_market): def test_new_retro_accounting_identity(technologies, stock, market): from muse.demand_share import new_and_retro_demands from muse.production import factory - from muse.timeslices import QuantityType, convert_timeslice_new + from muse.timeslices import QuantityType, convert_timeslice share = new_and_retro_demands( stock.capacity, market, technologies, current_year=2010, forecast=5 @@ -134,7 +134,7 @@ def test_new_retro_accounting_identity(technologies, stock, market): assert (share >= 0).all() production_method = factory() - serviced = convert_timeslice_new( + serviced = convert_timeslice( production_method( market.interp(year=2015), stock.capacity.interp(year=2015), technologies ) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index 280209833..0479e1a1f 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -403,7 +403,7 @@ def test_demand_matched_production( ): from muse.commodities import CommodityUsage, is_enduse from muse.quantities import demand_matched_production, maximum_production - from muse.timeslices import QuantityType, convert_timeslice_new + from muse.timeslices import QuantityType, convert_timeslice # try and make sure we have a few more outputs than the default fixture technologies.comm_usage[:] = np.random.choice( @@ -414,7 +414,7 @@ def test_demand_matched_production( technologies.fixed_outputs[:] *= is_enduse(technologies.comm_usage) capacity = capacity.sel(year=capacity.year.min(), drop=True) - max_prod = convert_timeslice_new( + max_prod = convert_timeslice( maximum_production(technologies, capacity), demand.timeslice, QuantityType.INTENSIVE, @@ -434,7 +434,7 @@ def test_costed_production_exact_match(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice_new + from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import broadcast_techs if set(capacity.region.values) != set(market.region.values): @@ -445,7 +445,7 @@ def test_costed_production_exact_match(market, capacity, technologies): costs = annual_levelized_cost_of_energy( prices=market.prices.sel(region=technodata.region), technologies=technodata ) - maxdemand = convert_timeslice_new( + maxdemand = convert_timeslice( xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") @@ -469,13 +469,13 @@ def test_costed_production_single_region(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice_new + from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import broadcast_techs capacity = capacity.drop_vars("region") capacity["region"] = "USA" market = market.sel(region=[capacity.region.values]) - maxdemand = convert_timeslice_new( + maxdemand = convert_timeslice( maximum_production(technologies, capacity).sum("asset"), market, QuantityType.INTENSIVE, @@ -500,12 +500,12 @@ def test_costed_production_single_year(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice_new + from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import broadcast_techs capacity = capacity.sel(year=2010) market = market.sel(year=2010) - maxdemand = convert_timeslice_new( + maxdemand = convert_timeslice( xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") @@ -533,7 +533,7 @@ def test_costed_production_over_capacity(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice_new + from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import broadcast_techs capacity = capacity.isel(asset=[0, 1, 2]) @@ -541,7 +541,7 @@ def test_costed_production_over_capacity(market, capacity, technologies): capacity.region.values[: len(set(market.region.values))] = list( set(market.region.values) ) - maxdemand = convert_timeslice_new( + maxdemand = convert_timeslice( xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") @@ -569,7 +569,7 @@ def test_costed_production_with_minimum_service(market, capacity, technologies, costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice_new + from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import broadcast_techs if set(capacity.region.values) != set(market.region.values): @@ -580,7 +580,7 @@ def test_costed_production_with_minimum_service(market, capacity, technologies, technologies.utilization_factor.dims, rng.uniform(low=0.5, high=0.9, size=technologies.utilization_factor.shape), ) - maxprod = convert_timeslice_new( + maxprod = convert_timeslice( maximum_production(technologies, capacity), market, QuantityType.INTENSIVE ) minprod = maxprod * broadcast_techs(technologies.minimum_service_factor, maxprod) From 57c1c73806a7e282d12ea8b07a417a54243d2ad8 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 11 Oct 2024 11:31:16 +0100 Subject: [PATCH 026/121] Delete unused functions --- src/muse/readers/toml.py | 125 +---------------- src/muse/sectors/preset_sector.py | 4 +- src/muse/sectors/sector.py | 4 +- src/muse/timeslices.py | 223 +----------------------------- 4 files changed, 9 insertions(+), 347 deletions(-) diff --git a/src/muse/readers/toml.py b/src/muse/readers/toml.py index 5b357d636..9cc13697f 100644 --- a/src/muse/readers/toml.py +++ b/src/muse/readers/toml.py @@ -16,7 +16,6 @@ ) import numpy as np -import pandas as pd import xarray as xr from muse.decorators import SETTINGS_CHECKS, register_settings_check @@ -395,103 +394,7 @@ def read_settings( return convert(settings) -def read_ts_multiindex( - settings: Optional[Union[Mapping, str]] = None, - timeslice: Optional[xr.DataArray] = None, - transforms: Optional[dict[tuple, np.ndarray]] = None, -) -> pd.MultiIndex: - '''Read multiindex for a timeslice from TOML. - - Example: - The timeslices are read from ``timeslice_levels``. The levels (keyword) and - slice (list of values) correspond to the level, slices and slice aggregates - defined in the the ``timeslices`` section. - - >>> toml = """ - ... ["timeslices"] - ... winter.weekday.day = 5 - ... winter.weekday.night = 5 - ... winter.weekend.day = 2 - ... winter.weekend.night = 2 - ... winter.weekend.dusk = 1 - ... summer.weekday.day = 5 - ... summer.weekday.night = 5 - ... summer.weekend.day = 2 - ... summer.weekend.night = 2 - ... summer.weekend.dusk = 1 - ... level_names = ["semester", "week", "day"] - ... aggregates.allday = ["day", "night"] - ... [timeslice_levels] - ... day = ["dusk", "allday"] - ... """ - >>> from muse.timeslices import ( - ... reference_timeslice, aggregate_transforms - ... ) - >>> from muse.readers.toml import read_ts_multiindex - >>> ref = reference_timeslice(toml) - >>> transforms = aggregate_transforms(toml, ref) - >>> read_ts_multiindex(toml, ref, transforms) - MultiIndex([('summer', 'weekday', 'allday'), - ('summer', 'weekend', 'dusk'), - ('summer', 'weekend', 'allday'), - ('winter', 'weekday', 'allday'), - ('winter', 'weekend', 'dusk'), - ('winter', 'weekend', 'allday')], - names=['semester', 'week', 'day']) - - It is an error to refer to a level or a slice that does not exist: - - >>> read_ts_multiindex(dict(days=["dusk", "allday"]), ref, transforms) - Traceback (most recent call last): - ... - muse.readers.toml.IncorrectSettings: Unexpected level name(s): ... - >>> read_ts_multiindex(dict(day=["usk", "allday"]), ref, transforms) - Traceback (most recent call last): - ... - muse.readers.toml.IncorrectSettings: Unexpected slice(s): ... - ''' - from itertools import product - - from toml import loads - - from muse.timeslices import TIMESLICE, TRANSFORMS - - indices = (TIMESLICE if timeslice is None else timeslice).get_index("timeslice") - if transforms is None: - transforms = TRANSFORMS - if isinstance(settings, str): - settings = loads(settings) - elif settings is None: - return indices - elif not isinstance(settings, Mapping): - settings = undo_damage(settings) - settings = settings.get("timeslice_levels", settings) - assert isinstance(settings, Mapping) - if not set(settings).issubset(indices.names): - msg = "Unexpected level name(s): " + ", ".join( - set(settings).difference(indices.names) - ) - raise IncorrectSettings(msg) - levels = [ - settings.get(name, level) for name, level in zip(indices.names, indices.levels) - ] - levels = [[level] if isinstance(level, str) else level for level in levels] - for i, level in enumerate(levels): - known = [index[i] for index in transforms if len(index) > i] - unexpected = set(level).difference(known) - if unexpected: - raise IncorrectSettings("Unexpected slice(s): " + ", ".join(unexpected)) - return pd.MultiIndex.from_tuples( - [index for index in product(*levels) if index in transforms], - names=indices.names, - ) - - -def read_timeslices( - settings: Optional[Union[str, Mapping]] = None, - timeslice: Optional[xr.DataArray] = None, - transforms: Optional[dict[tuple, np.ndarray]] = None, -) -> xr.Dataset: +def read_timeslices() -> xr.Dataset: '''Reads timeslice levels and create resulting timeslice coordinate. Args: @@ -542,26 +445,10 @@ def read_timeslices( >>> assert set(ts.coords["week"].data) == {"weekday", "weekend"} >>> assert set(ts.coords["semester"].data) == {"summer", "winter"} ''' - from muse.timeslices import TIMESLICE, timeslice_projector - - if timeslice is None: - timeslice = TIMESLICE - if settings is None: - return xr.Dataset({"represent_hours": timeslice}).set_coords("represent_hours") - indices = read_ts_multiindex(settings, timeslice=timeslice, transforms=transforms) - units = xr.DataArray( - np.ones(len(indices)), coords={"timeslice": indices}, dims="timeslice" - ) - proj = timeslice_projector(units, finest=timeslice, transforms=transforms) - proj *= xr.DataArray( - timeslice.values, - coords={"finest_timeslice": proj.finest_timeslice}, - dims="finest_timeslice", - ) + from muse.timeslices import TIMESLICE - return xr.Dataset({"represent_hours": proj.sum("finest_timeslice")}).set_coords( - "represent_hours" - ) + timeslice = TIMESLICE + return xr.Dataset({"represent_hours": timeslice}).set_coords("represent_hours") def add_known_parameters(dd, u, parent=None): @@ -770,9 +657,7 @@ def check_time_slices(settings: dict) -> None: from muse.timeslices import setup_module setup_module(settings) - settings["timeslices"] = read_timeslices( - settings.get("mca", settings).get("timeslice_levels", None) - ).timeslice + settings["timeslices"] = read_timeslices().timeslice @register_settings_check(vary_name=False) diff --git a/src/muse/sectors/preset_sector.py b/src/muse/sectors/preset_sector.py index 2a121fcfa..64d79922c 100644 --- a/src/muse/sectors/preset_sector.py +++ b/src/muse/sectors/preset_sector.py @@ -36,9 +36,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: sector_conf = getattr(settings.sectors, name) presets = Dataset() - timeslice = read_timeslices( - getattr(sector_conf, "timeslice_levels", None) - ).timeslice + timeslice = read_timeslices().timeslice if getattr(sector_conf, "consumption_path", None) is not None: consumption = read_presets(sector_conf.consumption_path) presets["consumption"] = consumption.assign_coords(timeslice=timeslice) diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index 37f029850..be4c8bc5b 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -40,9 +40,7 @@ def factory(cls, name: str, settings: Any) -> Sector: raise RuntimeError(f"Empty 'subsectors' section in sector {name}") # Timeslices - timeslices = read_timeslices( - sector_settings.pop("timeslice_levels", None) - ).get_index("timeslice") + timeslices = read_timeslices().get_index("timeslice") # Read technologies technologies = read_technodata(settings, name, settings.time_framework) diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index 6a6cb26bd..15f28b2ca 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -2,15 +2,14 @@ __all__ = [ "reference_timeslice", - "aggregate_transforms", "convert_timeslice", - "timeslice_projector", + "drop_timeslice", "setup_module", ] from collections.abc import Mapping, Sequence from enum import Enum, unique -from typing import Optional, Union +from typing import Union from numpy import ndarray from pandas import MultiIndex @@ -144,228 +143,10 @@ def reference_timeslice( return DataArray(ts, coords={"timeslice": indices}, dims=name) -def aggregate_transforms( - settings: Optional[Union[Mapping, str]] = None, - timeslice: Optional[DataArray] = None, -) -> dict[tuple, ndarray]: - '''Creates dictionary of transforms for aggregate levels. - - The transforms are used to create the projectors towards the finest timeslice. - - Arguments: - timeslice: a ``DataArray`` with the timeslice dimension. - settings: A dictionary mapping the name of an aggregate with the values it - aggregates, or a string that toml will parse as such. If not given, only the - unit transforms are returned. - - Return: - A dictionary of transforms for each possible slice to it's corresponding finest - timeslices. - - Example: - >>> toml = """ - ... [timeslices] - ... spring.weekday = 5 - ... spring.weekend = 2 - ... autumn.weekday = 5 - ... autumn.weekend = 2 - ... winter.weekday = 5 - ... winter.weekend = 2 - ... summer.weekday = 5 - ... summer.weekend = 2 - ... - ... [timeslices.aggregates] - ... spautumn = ["spring", "autumn"] - ... week = ["weekday", "weekend"] - ... """ - >>> from muse.timeslices import reference_timeslice, aggregate_transforms - >>> ref = reference_timeslice(toml) - >>> transforms = aggregate_transforms(toml, ref) - >>> transforms[("spring", "weekend")] - array([0, 1, 0, 0, 0, 0, 0, 0]) - >>> transforms[("spautumn", "weekday")] - array([1, 0, 1, 0, 0, 0, 0, 0]) - >>> transforms[("autumn", "week")].T - array([0, 0, 1, 1, 0, 0, 0, 0]) - >>> transforms[("spautumn", "week")].T - array([1, 1, 1, 1, 0, 0, 0, 0]) - ''' - from itertools import product - - from numpy import identity, sum - from toml import loads - - if timeslice is None: - timeslice = TIMESLICE - if settings is None: - settings = {} - elif isinstance(settings, str): - settings = loads(settings) - - # get timeslice dimension - Id = identity(len(timeslice), dtype=int) - indices = timeslice.get_index("timeslice") - unitvecs: dict[tuple, ndarray] = {index: Id[i] for (i, index) in enumerate(indices)} - if "timeslices" in settings or "aggregates" in settings: - settings = settings.get("timeslices", settings).get("aggregates", {}) - assert isinstance(settings, Mapping) - - assert set(settings).intersection(unitvecs) == set() - levels = [list(level) for level in indices.levels] - for name, equivalent in settings.items(): - matching_levels = [ - set(level).issuperset(equivalent) for level in indices.levels - ] - if sum(matching_levels) == 0: - raise ValueError(f"Could not find matching level for {equivalent}") - elif sum(matching_levels) > 1: - raise ValueError(f"Found more than one matching level for {equivalent}") - level = matching_levels.index(True) - levels[level].append(name) - - result: dict[tuple, ndarray] = {} - for index in set(product(*levels)).difference(unitvecs): - if not any(level in settings for level in index): - continue - agglevels = set(product(*(settings.get(level, [level]) for level in index))) - result[index] = sum( - [unitvecs[agg] for agg in unitvecs if agg in agglevels], axis=0 - ) - result.update(unitvecs) - return result - - def setup_module(settings: Union[str, Mapping]): """Sets up module singletons.""" global TIMESLICE - global TRANSFORMS TIMESLICE = reference_timeslice(settings) - TRANSFORMS = aggregate_transforms(settings, TIMESLICE) - - -def timeslice_projector( - x: Union[DataArray, MultiIndex], -) -> DataArray: - '''Project time-slice to standardized finest time-slices. - - Returns a matrix from the input timeslice ``x`` to the ``finest`` timeslice, using - the input ``transforms``. The latter are a set of transforms that map indices from - one timeslice to indices in another. - - Example: - Lets define the following timeslices and aggregates: - - >>> toml = """ - ... ["timeslices"] - ... winter.weekday.day = 5 - ... winter.weekday.night = 5 - ... winter.weekend.day = 2 - ... winter.weekend.night = 2 - ... winter.weekend.dusk = 1 - ... summer.weekday.day = 5 - ... summer.weekday.night = 5 - ... summer.weekend.day = 2 - ... summer.weekend.night = 2 - ... summer.weekend.dusk = 1 - ... level_names = ["semester", "week", "day"] - ... aggregates.allday = ["day", "night"] - ... """ - >>> from muse.timeslices import ( - ... reference_timeslice, aggregate_transforms - ... ) - >>> ref = reference_timeslice(toml) - >>> transforms = aggregate_transforms(toml, ref) - >>> from pandas import MultiIndex - >>> input_ts = DataArray( - ... [1, 2, 3], - ... coords={ - ... "timeslice": MultiIndex.from_tuples( - ... [ - ... ("winter", "weekday", "allday"), - ... ("winter", "weekend", "dusk"), - ... ("summer", "weekend", "night"), - ... ], - ... names=ref.get_index("timeslice").names, - ... ), - ... }, - ... dims="timeslice" - ... ) - >>> input_ts # doctest: +SKIP - Size: 12B - array([1, 2, 3]) - Coordinates: - * timeslice (timeslice) object 24B MultiIndex - * semester (timeslice) object 24B 'winter' 'winter' 'summer' - * week (timeslice) object 24B 'weekday' 'weekend' 'weekend' - * day (timeslice) object 24B 'allday' 'dusk' 'night' - - The input timeslice does not have to be complete. In any case, we can now - compute a transform, i.e. a matrix that will take this timeslice and transform - it to the equivalent times in the finest timeslice: - - >>> from muse.timeslices import timeslice_projector - >>> timeslice_projector(input_ts, ref, transforms) # doctest: +SKIP - Size: 120B - array([[1, 0, 0], - [1, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 1, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 1], - [0, 0, 0]]) - Coordinates: - * finest_timeslice (finest_timeslice) object 80B MultiIndex - * finest_semester (finest_timeslice) object 80B 'winter' ... 'summer' - * finest_week (finest_timeslice) object 80B 'weekday' ... 'weekend' - * finest_day (finest_timeslice) object 80B 'day' 'night' ... 'dusk' - * timeslice (timeslice) object 24B MultiIndex - * semester (timeslice) object 24B 'winter' 'winter' 'summer' - * week (timeslice) object 24B 'weekday' 'weekend' 'weekend' - * day (timeslice) object 24B 'allday' 'dusk' 'night' - - It is possible to give as input an array which does not have a timeslice of its - own: - - >>> nots = DataArray([5.0, 1.0, 2.0], dims="a", coords={'a': [1, 2, 3]}) - >>> timeslice_projector(nots, ref, transforms).T # doctest: +SKIP - Size: 40B - array([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]) - Coordinates: - * finest_timeslice (finest_timeslice) object 80B MultiIndex - * finest_semester (finest_timeslice) object 80B 'winter' ... 'summer' - * finest_week (finest_timeslice) object 80B 'weekday' ... 'weekend' - * finest_day (finest_timeslice) object 80B 'day' 'night' ... 'dusk' - Dimensions without coordinates: timeslice - ''' - from numpy import concatenate, ones_like - from xarray import DataArray - - finest = TIMESLICE - transforms = TRANSFORMS - - index = finest.get_index("timeslice") - index = index.set_names(f"finest_{u}" for u in index.names) - - if isinstance(x, MultiIndex): - timeslices = x - elif "timeslice" in x.dims: - timeslices = x.get_index("timeslice") - else: - return DataArray( - ones_like(finest, dtype=int)[:, None], - coords={"finest_timeslice": index}, - dims=("finest_timeslice", "timeslice"), - ) - - return DataArray( - concatenate([transforms[index][:, None] for index in timeslices], axis=1), - coords={"finest_timeslice": index, "timeslice": timeslices}, - dims=("finest_timeslice", "timeslice"), - name="projector", - ) @unique From e4150e318b81a82c9752b3734f5eb270f720eab8 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 11 Oct 2024 12:00:11 +0100 Subject: [PATCH 027/121] Simplify timeslie import process --- src/muse/__init__.py | 1 - src/muse/readers/__init__.py | 2 +- src/muse/readers/csv.py | 32 ---------- src/muse/readers/toml.py | 75 ++-------------------- src/muse/sectors/legacy_sector.py | 4 +- src/muse/sectors/preset_sector.py | 3 +- src/muse/sectors/sector.py | 4 +- src/muse/timeslices.py | 18 ------ tests/test_timeslices.py | 100 +----------------------------- 9 files changed, 13 insertions(+), 226 deletions(-) diff --git a/src/muse/__init__.py b/src/muse/__init__.py index dff12e09a..35409e2a9 100644 --- a/src/muse/__init__.py +++ b/src/muse/__init__.py @@ -46,7 +46,6 @@ def _create_logger(color: bool = True): "read_technodictionary", "read_technologies", "read_timeslice_shares", - "read_csv_timeslices", "read_settings", "read_macro_drivers", "read_csv_agent_parameters", diff --git a/src/muse/readers/__init__.py b/src/muse/readers/__init__.py index 631cecdaf..0db43a479 100644 --- a/src/muse/readers/__init__.py +++ b/src/muse/readers/__init__.py @@ -2,7 +2,7 @@ from muse.defaults import DATA_DIRECTORY from muse.readers.csv import * # noqa: F403 -from muse.readers.toml import read_settings, read_timeslices # noqa: F401 +from muse.readers.toml import read_settings # noqa: F401 DEFAULT_SETTINGS_PATH = DATA_DIRECTORY / "default_settings.toml" """Default settings path.""" diff --git a/src/muse/readers/csv.py b/src/muse/readers/csv.py index 01c0d08c1..68f9084fb 100644 --- a/src/muse/readers/csv.py +++ b/src/muse/readers/csv.py @@ -5,7 +5,6 @@ "read_io_technodata", "read_initial_assets", "read_technologies", - "read_csv_timeslices", "read_global_commodities", "read_timeslice_shares", "read_csv_agent_parameters", @@ -414,35 +413,6 @@ def read_technologies( return result -def read_csv_timeslices(path: Union[str, Path], **kwargs) -> xr.DataArray: - """Reads timeslice information from input.""" - from logging import getLogger - - getLogger(__name__).info(f"Reading timeslices from {path}") - data = pd.read_csv(path, float_precision="high", **kwargs) - - def snake_case(string): - from re import sub - - result = sub(r"((?<=[a-z])[A-Z]|(? xr.Dataset: """Reads commodities information from input.""" from logging import getLogger @@ -500,8 +470,6 @@ def read_timeslice_shares( timeslice = timeslice.format(sector=sector) if isinstance(timeslice, (str, Path)) and not Path(timeslice).is_file(): timeslice = find_sectors_file(timeslice, sector, path) - if isinstance(timeslice, (str, Path)): - timeslice = read_csv_timeslices(timeslice, low_memory=False) share_path = find_sectors_file(f"TimesliceShare{sector}.csv", sector, path) getLogger(__name__).info(f"Reading timeslice shares from {share_path}") diff --git a/src/muse/readers/toml.py b/src/muse/readers/toml.py index 9cc13697f..55e97692c 100644 --- a/src/muse/readers/toml.py +++ b/src/muse/readers/toml.py @@ -359,6 +359,8 @@ def read_settings( Returns: A dictionary with the settings """ + from muse.timeslices import setup_module + getLogger(__name__).info("Reading MUSE settings") # The user data @@ -388,69 +390,16 @@ def read_settings( settings = add_known_parameters(default_settings, user_settings) settings = add_unknown_parameters(settings, user_settings) + # Set up timeslices + setup_module(settings) + settings.pop("timeslices", None) + # Finally, we run some checks to make sure all makes sense and files exist. validate_settings(settings) return convert(settings) -def read_timeslices() -> xr.Dataset: - '''Reads timeslice levels and create resulting timeslice coordinate. - - Args: - settings: TOML dictionary. It should contain a ``timeslice_levels`` section. - Otherwise, the timeslices will default to the global (finest) timeslices. - timeslice: Finest timeslices. Defaults to the global in - :py:mod:`~muse.timeslices`. If using the default, then this function - should be called *after* the timeslice module has been setup with a call to - :py:func:`~muse.timeslice.setup_module`. - transforms: Transforms from desired timeslices to the finest timeslice. Defaults - to the global in :py:mod:`~muse.timeslices`. If using the default, - then this function should be called *after* the timeslice module has been - setup with a call to :py:func:`~muse.timeslice.setup_module`. - - Returns: - A xr.Dataset with the timeslice coordinates. - - Example: - >>> toml = """ - ... ["timeslices"] - ... winter.weekday.day = 5 - ... winter.weekday.night = 5 - ... winter.weekend.day = 2 - ... winter.weekend.night = 2 - ... winter.weekend.dusk = 1 - ... summer.weekday.day = 5 - ... summer.weekday.night = 5 - ... summer.weekend.day = 2 - ... summer.weekend.night = 2 - ... summer.weekend.dusk = 1 - ... level_names = ["semester", "week", "day"] - ... aggregates.allday = ["day", "night"] - ... [timeslice_levels] - ... day = ["dusk", "allday"] - ... """ - >>> from muse.timeslices import ( - ... reference_timeslice, aggregate_transforms - ... ) - >>> from muse.readers.toml import read_timeslices - >>> ref = reference_timeslice(toml) - >>> transforms = aggregate_transforms(toml, ref) - >>> ts = read_timeslices(toml, ref, transforms) - >>> assert "semester" in ts.coords - >>> assert "week" in ts.coords - >>> assert "day" in ts.coords - >>> assert "represent_hours" in ts.coords - >>> assert set(ts.coords["day"].data) == {"dusk", "allday"} - >>> assert set(ts.coords["week"].data) == {"weekday", "weekend"} - >>> assert set(ts.coords["semester"].data) == {"summer", "winter"} - ''' - from muse.timeslices import TIMESLICE - - timeslice = TIMESLICE - return xr.Dataset({"represent_hours": timeslice}).set_coords("represent_hours") - - def add_known_parameters(dd, u, parent=None): """Function for updating the settings dictionary recursively. @@ -648,18 +597,6 @@ def check_iteration_control(settings: dict) -> None: assert settings["tolerance"] > 0, msg -@register_settings_check(vary_name=False) -def check_time_slices(settings: dict) -> None: - """Check the time slices. - - If there is no error, they are transformed into a xr.DataArray - """ - from muse.timeslices import setup_module - - setup_module(settings) - settings["timeslices"] = read_timeslices().timeslice - - @register_settings_check(vary_name=False) def check_global_data_files(settings: dict) -> None: """Checks that the global user files exist.""" diff --git a/src/muse/sectors/legacy_sector.py b/src/muse/sectors/legacy_sector.py index ad61cdc6f..b55b0028b 100644 --- a/src/muse/sectors/legacy_sector.py +++ b/src/muse/sectors/legacy_sector.py @@ -14,10 +14,10 @@ import pandas as pd from xarray import DataArray, Dataset -from muse.readers import read_csv_timeslices, read_initial_market +from muse.readers import read_initial_market from muse.sectors.abstract import AbstractSector from muse.sectors.register import register_sector -from muse.timeslices import QuantityType, new_to_old_timeslice +from muse.timeslices import QuantityType @dataclass diff --git a/src/muse/sectors/preset_sector.py b/src/muse/sectors/preset_sector.py index 64d79922c..c077ac024 100644 --- a/src/muse/sectors/preset_sector.py +++ b/src/muse/sectors/preset_sector.py @@ -28,7 +28,6 @@ def factory(cls, name: str, settings: Any) -> PresetSector: read_presets, read_regression_parameters, read_timeslice_shares, - read_timeslices, ) from muse.regressions import endogenous_demand from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice @@ -36,7 +35,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: sector_conf = getattr(settings.sectors, name) presets = Dataset() - timeslice = read_timeslices().timeslice + timeslice = TIMESLICE.timeslice if getattr(sector_conf, "consumption_path", None) is not None: consumption = read_presets(sector_conf.consumption_path) presets["consumption"] = consumption.assign_coords(timeslice=timeslice) diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index be4c8bc5b..18aafc3a1 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -26,9 +26,9 @@ def factory(cls, name: str, settings: Any) -> Sector: from muse.interactions import factory as interaction_factory from muse.outputs.sector import factory as ofactory from muse.production import factory as pfactory - from muse.readers import read_timeslices from muse.readers.toml import read_technodata from muse.utilities import nametuple_to_dict + from muse.timeslices import TIMESLICE # Read sector settings sector_settings = getattr(settings.sectors, name)._asdict() @@ -40,7 +40,7 @@ def factory(cls, name: str, settings: Any) -> Sector: raise RuntimeError(f"Empty 'subsectors' section in sector {name}") # Timeslices - timeslices = read_timeslices().get_index("timeslice") + timeslices = TIMESLICE.timeslice # Read technologies technologies = read_technodata(settings, name, settings.time_framework) diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index 15f28b2ca..fefd3c5d1 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -185,24 +185,6 @@ def convert_timeslice(x, ts, quantity): return extensive * (ts / ts.sum()) -def new_to_old_timeslice(ts: DataArray, ag_level="Month") -> dict: - """Transforms timeslices defined as DataArray to a pandas dataframe. - - This function is used in the LegacySector class to adapt the new MCA timeslices to - the format required by the old sectors. - """ - length = len(ts.month.values) - converted_ts = { - "Month": [kebab_to_camel(w) for w in ts.month.values], - "Day": [kebab_to_camel(w) for w in ts.day.values], - "Hour": [kebab_to_camel(w) for w in ts.hour.values], - "RepresentHours": list(ts.represent_hours.values.astype(float)), - "SN": list(range(1, length + 1)), - "AgLevel": [ag_level] * length, - } - return converted_ts - - def drop_timeslice(data: DataArray) -> DataArray: """Drop the timeslice variable from a DataArray. diff --git a/tests/test_timeslices.py b/tests/test_timeslices.py index b4fcd1b6c..c8de264dc 100644 --- a/tests/test_timeslices.py +++ b/tests/test_timeslices.py @@ -1,6 +1,6 @@ """Test timeslice utilities.""" -from pytest import approx, fixture +from pytest import fixture from xarray import DataArray @@ -31,13 +31,6 @@ def reference(toml): return reference_timeslice(toml) -@fixture -def transforms(toml, reference): - from muse.timeslices import aggregate_transforms - - return aggregate_transforms(toml, reference) - - @fixture def timeslice_dataarray(reference): from pandas import MultiIndex @@ -111,97 +104,6 @@ def test_no_overlap(): ) -def test_aggregate_transforms_no_aggregates(): - from itertools import product - - from numpy import ndarray, zeros - - from muse.timeslices import aggregate_transforms, reference_timeslice - - reference = reference_timeslice( - """ - [timeslices] - spring.weekday = 396 - spring.weekend = 396 - autumn.weekday = 396 - autumn.weekend = 156 - """ - ) - - vectors = aggregate_transforms(timeslice=reference) - assert isinstance(vectors, dict) - assert set(vectors) == set(product(["spring", "autumn"], ["weekday", "weekend"])) - for i in range(reference.shape[0]): - index = reference.timeslice[i].values.tolist() - vector = vectors[index] - assert isinstance(vector, ndarray) - expected = zeros(reference.shape, dtype=int) - expected[i] = 1 - assert vector == approx(expected) - - -def test_aggregate_transforms_with_aggregates(): - from itertools import product - - from toml import loads - - from muse.timeslices import aggregate_transforms, reference_timeslice - - toml = loads( - """ - [timeslices] - spring.weekday.day = 396 - spring.weekday.night = 396 - spring.weekend.day = 156 - spring.weekend.night = 156 - summer.weekday.day = 396 - summer.weekday.night = 396 - summer.weekend.day = 156 - summer.weekend.night = 156 - autumn.weekday.day = 396 - autumn.weekday.night = 396 - autumn.weekend.day = 156 - autumn.weekend.night = 156 - winter.weekday.day = 396 - winter.weekday.night = 396 - winter.weekend.day = 156 - winter.weekend.night = 156 - - [timeslices.aggregates] - springautumn = ["spring", "autumn"] - allday = ["day", "night"] - week = ["weekday", "weekend"] - """ - ) - reference = reference_timeslice(toml) - - vectors = aggregate_transforms(toml, reference) - assert isinstance(vectors, dict) - assert set(vectors) == set( - product( - ["winter", "spring", "summer", "autumn", "springautumn"], - ["weekend", "weekday", "week"], - ["day", "night", "allday"], - ) - ) - - def to_bitstring(x): - return "".join(x.astype(str)) - - assert to_bitstring(vectors[("spring", "weekday", "night")]) == "0100000000000000" - assert to_bitstring(vectors[("autumn", "weekday", "night")]) == "0000000001000000" - assert to_bitstring(vectors[("spring", "weekend", "night")]) == "0001000000000000" - assert to_bitstring(vectors[("autumn", "weekend", "night")]) == "0000000000010000" - assert ( - to_bitstring(vectors[("springautumn", "weekday", "night")]) - == "0100000001000000" - ) - assert to_bitstring(vectors[("spring", "week", "night")]) == "0101000000000000" - assert ( - to_bitstring(vectors[("springautumn", "week", "night")]) == "0101000001010000" - ) - - def test_drop_timeslice(timeslice_dataarray): from muse.timeslices import drop_timeslice From dc8b8b862ac2248b2dabc39322873463a2d6991c Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 11 Oct 2024 12:00:34 +0100 Subject: [PATCH 028/121] Formatting --- src/muse/sectors/sector.py | 2 +- src/muse/timeslices.py | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index 18aafc3a1..e9a310c6f 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -27,8 +27,8 @@ def factory(cls, name: str, settings: Any) -> Sector: from muse.outputs.sector import factory as ofactory from muse.production import factory as pfactory from muse.readers.toml import read_technodata - from muse.utilities import nametuple_to_dict from muse.timeslices import TIMESLICE + from muse.utilities import nametuple_to_dict # Read sector settings sector_settings = getattr(settings.sectors, name)._asdict() diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index fefd3c5d1..a462c661a 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -15,8 +15,6 @@ from pandas import MultiIndex from xarray import DataArray -from muse.readers import kebab_to_camel - TIMESLICE: DataArray = None # type: ignore """Array with the finest timeslice.""" TRANSFORMS: dict[tuple, ndarray] = None # type: ignore From 02884599498c86600f8f6e775ea4943dd55724ae Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 11 Oct 2024 14:03:38 +0100 Subject: [PATCH 029/121] Default arguments for convert_timeslice --- src/muse/constraints.py | 16 ++++---------- src/muse/costs.py | 14 +----------- src/muse/demand_share.py | 12 ++++------- src/muse/examples.py | 4 +--- src/muse/investments.py | 4 ++-- src/muse/objectives.py | 16 +++++++------- src/muse/outputs/mca.py | 36 +++++++++++-------------------- src/muse/quantities.py | 20 ++++++----------- src/muse/readers/csv.py | 14 +++--------- src/muse/sectors/preset_sector.py | 6 ++---- src/muse/sectors/sector.py | 4 ++-- src/muse/timeslices.py | 5 ++++- 12 files changed, 49 insertions(+), 102 deletions(-) diff --git a/src/muse/constraints.py b/src/muse/constraints.py index 3849bb2b1..6a0b12bb6 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -446,11 +446,7 @@ def max_production( from xarray import ones_like, zeros_like from muse.commodities import is_enduse - from muse.timeslices import ( - TIMESLICE, - QuantityType, - convert_timeslice, - ) + from muse.timeslices import convert_timeslice if year is None: year = int(market.year.min()) @@ -471,8 +467,6 @@ def max_production( ) capacity = convert_timeslice( techs.fixed_outputs * techs.utilization_factor, - TIMESLICE, - QuantityType.INTENSIVE, ) if "asset" not in capacity.dims and "asset" in search_space.dims: capacity = capacity.expand_dims(asset=search_space.asset) @@ -732,7 +726,7 @@ def minimum_service( from xarray import ones_like, zeros_like from muse.commodities import is_enduse - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice if "minimum_service_factor" not in technologies.data_vars: return None @@ -757,8 +751,6 @@ def minimum_service( ) capacity = convert_timeslice( techs.fixed_outputs * techs.minimum_service_factor, - TIMESLICE, - QuantityType.INTENSIVE, ) if "asset" not in capacity.dims: capacity = capacity.expand_dims(asset=search_space.asset) @@ -821,11 +813,11 @@ def lp_costs(technologies: xr.Dataset, costs: xr.DataArray) -> xr.Dataset: from xarray import zeros_like from muse.commodities import is_enduse - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice assert "year" not in technologies.dims - ts_costs = convert_timeslice(costs, TIMESLICE, QuantityType.INTENSIVE) + ts_costs = convert_timeslice(costs) selection = dict( commodity=is_enduse(technologies.comm_usage), technology=technologies.technology.isin(costs.replacement), diff --git a/src/muse/costs.py b/src/muse/costs.py index 64fc1b979..bb2e3493c 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -13,7 +13,7 @@ from muse.commodities import is_enduse, is_fuel, is_material, is_pollutant from muse.quantities import consumption -from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice +from muse.timeslices import convert_timeslice from muse.utilities import filter_input @@ -98,8 +98,6 @@ def net_present_value( # Cost of installed capacity installed_capacity_costs = convert_timeslice( techs.cap_par * (capacity**techs.cap_exp), - TIMESLICE, - QuantityType.INTENSIVE, ) # Cost related to environmental products @@ -122,8 +120,6 @@ def net_present_value( # Fixed and Variable costs fixed_costs = convert_timeslice( techs.fix_par * (capacity**techs.fix_exp), - TIMESLICE, - QuantityType.INTENSIVE, ) variable_costs = techs.var_par * ( (production.sel(commodity=products).sum("commodity")) ** techs.var_exp @@ -262,8 +258,6 @@ def lifetime_levelized_cost_of_energy( # Cost of installed capacity installed_capacity_costs = convert_timeslice( techs.cap_par * (capacity**techs.cap_exp), - TIMESLICE, - QuantityType.INTENSIVE, ) # Cost related to environmental products @@ -286,8 +280,6 @@ def lifetime_levelized_cost_of_energy( # Fixed and Variable costs fixed_costs = convert_timeslice( techs.fix_par * (capacity**techs.fix_exp), - TIMESLICE, - QuantityType.INTENSIVE, ) variable_costs = ( techs.var_par * production.sel(commodity=products) ** techs.var_exp @@ -374,8 +366,6 @@ def annual_levelized_cost_of_energy( annualized_capital_costs = ( convert_timeslice( techs.cap_par * rates, - TIMESLICE, - QuantityType.INTENSIVE, ) / techs.utilization_factor ) @@ -383,8 +373,6 @@ def annual_levelized_cost_of_energy( o_and_e_costs = ( convert_timeslice( (techs.fix_par + techs.var_par), - TIMESLICE, - QuantityType.INTENSIVE, ) / techs.utilization_factor ) diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index fb2321bd9..321899916 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -433,7 +433,7 @@ def unmet_forecasted_demand( ) -> xr.DataArray: """Forecast demand that cannot be serviced by non-decommissioned current assets.""" from muse.commodities import is_enduse - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice from muse.utilities import reduce_assets year = current_year + forecast @@ -442,7 +442,7 @@ def unmet_forecasted_demand( capacity = reduce_assets([u.assets.capacity.interp(year=year) for u in agents]) ts_capacity = cast( xr.DataArray, - convert_timeslice(capacity, TIMESLICE, QuantityType.INTENSIVE), + convert_timeslice(capacity), ) result = unmet_demand(smarket, ts_capacity, technologies, production) @@ -565,7 +565,7 @@ def new_consumption( """ from numpy import minimum - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice # Interpolate market to forecast year market = market.interp(year=[current_year, current_year + forecast]) @@ -578,8 +578,6 @@ def new_consumption( # Capacity in the forecast year ts_capa = convert_timeslice( capacity.interp(year=current_year + forecast), - TIMESLICE, - QuantityType.INTENSIVE, ) assert isinstance(ts_capa, xr.DataArray) @@ -610,7 +608,7 @@ def new_and_retro_demands( from numpy import minimum from muse.production import factory as prod_factory - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice production_method = production if callable(production) else prod_factory(production) assert callable(production_method) @@ -621,8 +619,6 @@ def new_and_retro_demands( # Split capacity between timeslices ts_capa = convert_timeslice( capacity.interp(year=[current_year, current_year + forecast]), - TIMESLICE, - QuantityType.INTENSIVE, ) assert isinstance(ts_capa, xr.DataArray) diff --git a/src/muse/examples.py b/src/muse/examples.py index 390a7be96..236ac9f38 100644 --- a/src/muse/examples.py +++ b/src/muse/examples.py @@ -241,7 +241,7 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: from muse.examples import sector as load_sector from muse.quantities import consumption, maximum_production from muse.sectors import Sector - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice from muse.utilities import agent_concatenation loaded_sector = cast(Sector, load_sector(sector, model)) @@ -252,8 +252,6 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: xr.DataArray, convert_timeslice( maximum_production(loaded_sector.technologies, assets.capacity), - TIMESLICE, - QuantityType.INTENSIVE, ), ) market["supply"] = production.sum("asset") diff --git a/src/muse/investments.py b/src/muse/investments.py index 923100a70..6fed448a2 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -227,7 +227,7 @@ def adhoc_match_demand( ) -> xr.DataArray: from muse.demand_matching import demand_matching from muse.quantities import capacity_in_use, maximum_production - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice demand = next(c for c in constraints if c.name == "demand").b @@ -240,7 +240,7 @@ def adhoc_match_demand( commodity=demand.commodity, ).drop_vars("technology") if "timeslice" in demand.dims and "timeslice" not in max_prod.dims: - max_prod = convert_timeslice(max_prod, TIMESLICE, QuantityType.INTENSIVE) + max_prod = convert_timeslice(max_prod) # Push disabled techs to last rank. # Any production assigned to them by the demand-matching algorithm will be removed. diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 0a9164135..babe2593a 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -383,11 +383,11 @@ def lifetime_levelized_cost_of_energy( due to a zero utilisation factor. """ from muse.costs import lifetime_levelized_cost_of_energy as LCOE - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, TIMESLICE, QuantityType.INTENSIVE) + production = convert_timeslice(production) results = LCOE( technologies=technologies, @@ -413,11 +413,11 @@ def net_present_value( See :py:func:`muse.costs.net_present_value` for more details. """ from muse.costs import net_present_value as NPV - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, TIMESLICE, QuantityType.INTENSIVE) + production = convert_timeslice(production) results = NPV( technologies=technologies, @@ -442,11 +442,11 @@ def net_present_cost( See :py:func:`muse.costs.net_present_cost` for more details. """ from muse.costs import net_present_cost as NPC - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, TIMESLICE, QuantityType.INTENSIVE) + production = convert_timeslice(production) results = NPC( technologies=technologies, @@ -471,11 +471,11 @@ def equivalent_annual_cost( See :py:func:`muse.costs.equivalent_annual_cost` for more details. """ from muse.costs import equivalent_annual_cost as EAC - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice capacity = capacity_to_service_demand(technologies, demand) production = capacity * technologies.fixed_outputs * technologies.utilization_factor - production = convert_timeslice(production, TIMESLICE, QuantityType.INTENSIVE) + production = convert_timeslice(production) results = EAC( technologies=technologies, diff --git a/src/muse/outputs/mca.py b/src/muse/outputs/mca.py index 8a6d7f7fe..128c00ea7 100644 --- a/src/muse/outputs/mca.py +++ b/src/muse/outputs/mca.py @@ -35,12 +35,7 @@ def quantity( from muse.outputs.sector import market_quantity from muse.registration import registrator from muse.sectors import AbstractSector -from muse.timeslices import ( - TIMESLICE, - QuantityType, - convert_timeslice, - drop_timeslice, -) +from muse.timeslices import convert_timeslice, drop_timeslice from muse.utilities import multiindex_to_coords OUTPUT_QUANTITY_SIGNATURE = Callable[ @@ -339,6 +334,7 @@ def sector_supply(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Da if len(techs) > 0: for a in agents: output_year = a.year - a.forecast + capacity = a.filter_input(a.assets.capacity, year=output_year).fillna(0.0) technologies = a.filter_input(techs, year=output_year).fillna(0.0) agent_market = market.sel(year=output_year).copy() agent_market["consumption"] = drop_timeslice( @@ -357,11 +353,9 @@ def sector_supply(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Da result = convert_timeslice( supply( agent_market, - TIMESLICE, + capacity, technologies, ), - agent_market["consumption"].timeslice, - QuantityType.INTENSIVE, ) if "year" in result.dims: @@ -570,6 +564,7 @@ def sector_consumption( if len(techs) > 0: for a in agents: output_year = a.year - a.forecast + capacity = a.filter_input(a.assets.capacity, year=output_year).fillna(0.0) technologies = a.filter_input(techs, year=output_year).fillna(0.0) agent_market = market.sel(year=output_year).copy() agent_market["consumption"] = drop_timeslice( @@ -588,11 +583,9 @@ def sector_consumption( production = convert_timeslice( supply( agent_market, - TIMESLICE, + capacity, technologies, ), - agent_market["consumption"].timeslice, - QuantityType.INTENSIVE, ) prices = a.filter_input(market.prices, year=output_year) result = consumption( @@ -722,14 +715,17 @@ def sector_fuel_costs( ) commodity = is_fuel(technologies.comm_usage) + capacity = a.filter_input( + a.assets.capacity, + year=output_year, + ).fillna(0.0) + production = convert_timeslice( supply( agent_market, - TIMESLICE, + capacity, technologies, ), - agent_market["consumption"].timeslice, - QuantityType.INTENSIVE, ) prices = a.filter_input(market.prices, year=output_year) @@ -783,8 +779,6 @@ def sector_capital_costs( result = data.cap_par * (capacity**data.cap_exp) data_agent = convert_timeslice( result, - TIMESLICE, - QuantityType.INTENSIVE, ) data_agent["agent"] = a.name data_agent["category"] = a.category @@ -845,11 +839,9 @@ def sector_emission_costs( production = convert_timeslice( supply( agent_market, - TIMESLICE, + capacity, technologies, ), - agent_market["consumption"].timeslice, - QuantityType.INTENSIVE, ) total = production.sel(commodity=enduses).sum("commodity") data_agent = total * (allemissions * prices).sum("commodity") @@ -918,8 +910,6 @@ def sector_lcoe(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Data production = capacity * techs.fixed_outputs * techs.utilization_factor production = convert_timeslice( production, - TIMESLICE, - QuantityType.INTENSIVE, ) result = LCOE( @@ -996,8 +986,6 @@ def sector_eac(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.DataF production = capacity * techs.fixed_outputs * techs.utilization_factor production = convert_timeslice( production, - TIMESLICE, - QuantityType.INTENSIVE, ) result = EAC( diff --git a/src/muse/quantities.py b/src/muse/quantities.py index cb36a7734..12dd7e8f8 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -150,7 +150,7 @@ def gross_margin( - non-environmental commodities OUTPUTS are related to revenues. """ from muse.commodities import is_enduse, is_pollutant - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice from muse.utilities import broadcast_techs tech = broadcast_techs( # type: ignore @@ -189,8 +189,6 @@ def gross_margin( # Variable costs depend on factors such as labour variable_costs = convert_timeslice( var_par * ((fixed_outputs.sel(commodity=enduses)).sum("commodity")) ** var_exp, - TIMESLICE, - QuantityType.INTENSIVE, ) # The individual prices are selected @@ -269,7 +267,7 @@ def consumption( are not given, then flexible consumption is *not* considered. """ from muse.commodities import is_enduse, is_fuel - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice from muse.utilities import filter_with_template params = filter_with_template( @@ -283,9 +281,7 @@ def consumption( production = production.sel(commodity=is_enduse(comm_usage)).sum("commodity") if prices is not None and "timeslice" in prices.dims: - production = convert_timeslice( # type: ignore - production, TIMESLICE, QuantityType.INTENSIVE - ) + production = convert_timeslice(production) # type: ignore params_fuels = is_fuel(params.comm_usage) consumption = production * params.fixed_inputs.where(params_fuels, 0) @@ -380,7 +376,7 @@ def demand_matched_production( """ from muse.costs import annual_levelized_cost_of_energy as ALCOE from muse.demand_matching import demand_matching - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice from muse.utilities import broadcast_techs technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) @@ -388,9 +384,7 @@ def demand_matched_production( max_production = maximum_production(technodata, capacity, **filters) assert ("timeslice" in demand.dims) == ("timeslice" in cost.dims) if "timeslice" in demand.dims and "timeslice" not in max_production.dims: - max_production = convert_timeslice( - max_production, TIMESLICE, QuantityType.INTENSIVE - ) + max_production = convert_timeslice(max_production) return demand_matching(demand, cost, max_production) @@ -459,7 +453,7 @@ def costed_production( service is applied first. """ from muse.quantities import maximum_production - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice from muse.utilities import broadcast_techs technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) @@ -477,8 +471,6 @@ def group_assets(x: xr.DataArray) -> xr.DataArray: ranking = costs.rank("asset") maxprod = convert_timeslice( maximum_production(technodata, capacity), - TIMESLICE, - QuantityType.INTENSIVE, ) commodity = (maxprod > 0).any([i for i in maxprod.dims if i != "commodity"]) commodity = commodity.drop_vars( diff --git a/src/muse/readers/csv.py b/src/muse/readers/csv.py index 68f9084fb..89b4f60ec 100644 --- a/src/muse/readers/csv.py +++ b/src/muse/readers/csv.py @@ -604,11 +604,7 @@ def read_initial_market( """Read projections, import and export csv files.""" from logging import getLogger - from muse.timeslices import ( - TIMESLICE, - QuantityType, - convert_timeslice, - ) + from muse.timeslices import TIMESLICE, convert_timeslice # Projections must always be present if isinstance(projections, (str, Path)): @@ -631,12 +627,8 @@ def read_initial_market( getLogger(__name__).info("Base year import not provided. Set to zero.") base_year_import = xr.zeros_like(projections) - base_year_export = convert_timeslice( - base_year_export, TIMESLICE, QuantityType.INTENSIVE - ) - base_year_import = convert_timeslice( - base_year_import, TIMESLICE, QuantityType.INTENSIVE - ) + base_year_export = convert_timeslice(base_year_export) + base_year_import = convert_timeslice(base_year_import) base_year_export.name = "exports" base_year_import.name = "imports" diff --git a/src/muse/sectors/preset_sector.py b/src/muse/sectors/preset_sector.py index c077ac024..04c6e48ca 100644 --- a/src/muse/sectors/preset_sector.py +++ b/src/muse/sectors/preset_sector.py @@ -30,7 +30,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: read_timeslice_shares, ) from muse.regressions import endogenous_demand - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import TIMESLICE, convert_timeslice sector_conf = getattr(settings.sectors, name) presets = Dataset() @@ -118,9 +118,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: # add timeslice, if missing for component in {"supply", "consumption"}: if "timeslice" not in presets[component].dims: - presets[component] = convert_timeslice( - presets[component], TIMESLICE, QuantityType.INTENSIVE - ) + presets[component] = convert_timeslice(presets[component]) comm_usage = (presets.costs > 0).any(set(presets.costs.dims) - {"commodity"}) presets["comm_usage"] = ( diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index e9a310c6f..f9a9f70d0 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -283,7 +283,7 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: from muse.commodities import is_pollutant from muse.costs import annual_levelized_cost_of_energy, supply_cost from muse.quantities import consumption - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import convert_timeslice from muse.utilities import broadcast_techs years = market.year.values @@ -294,7 +294,7 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: market=market, capacity=capacity, technologies=technologies ) if "timeslice" in market.prices.dims and "timeslice" not in supply.dims: - supply = convert_timeslice(supply, TIMESLICE, QuantityType.INTENSIVE) + supply = convert_timeslice(supply) # Calculate consumption consume = consumption(technologies, supply, market.prices) diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index a462c661a..2a5f420dc 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -167,9 +167,12 @@ class QuantityType(Enum): EXTENSIVE = "extensive" -def convert_timeslice(x, ts, quantity): +def convert_timeslice(x, ts=None, quantity=QuantityType.INTENSIVE): from xarray import Coordinates + if ts is None: + ts = TIMESLICE + if hasattr(x, "timeslice"): x = x.sel(timeslice=ts["timeslice"]) return x From c7f67f4fe3e9c80fae79d9dfdd13fdfc9f5b5a38 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 11 Oct 2024 14:16:00 +0100 Subject: [PATCH 030/121] Update results files --- .../1-min-constraint/Results/Power_Supply.csv | 168 +++++++++--------- .../2-max-constraint/Results/Power_Supply.csv | 120 ++++++------- .../default_timeslice/Power_Supply.csv | 123 +++++++++++++ 3 files changed, 267 insertions(+), 144 deletions(-) create mode 100644 tests/example_outputs/default_timeslice/Power_Supply.csv diff --git a/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/Power_Supply.csv b/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/Power_Supply.csv index ff56d993c..c2a07461a 100644 --- a/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/Power_Supply.csv +++ b/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/Power_Supply.csv @@ -1,143 +1,143 @@ asset,comm_usage,commodity,day,hour,installed,month,region,supply,technology,timeslice,year 0,10,electricity,all-week,night,2020,all-year,R1,0.20000000000,gasCCGT,0,2020 -0,6,CO2f,all-week,night,2020,all-year,R1,18.33400000000,gasCCGT,0,2020 0,10,electricity,all-week,morning,2020,all-year,R1,0.40000000000,gasCCGT,1,2020 -0,6,CO2f,all-week,morning,2020,all-year,R1,36.66800000000,gasCCGT,1,2020 0,10,electricity,all-week,afternoon,2020,all-year,R1,0.60000000000,gasCCGT,2,2020 -0,6,CO2f,all-week,afternoon,2020,all-year,R1,55.00200000000,gasCCGT,2,2020 0,10,electricity,all-week,early-peak,2020,all-year,R1,0.40000000000,gasCCGT,3,2020 -0,6,CO2f,all-week,early-peak,2020,all-year,R1,36.66800000000,gasCCGT,3,2020 0,10,electricity,all-week,late-peak,2020,all-year,R1,0.80000000000,gasCCGT,4,2020 -0,6,CO2f,all-week,late-peak,2020,all-year,R1,73.33600000000,gasCCGT,4,2020 0,10,electricity,all-week,evening,2020,all-year,R1,1.00000000000,gasCCGT,5,2020 +0,6,CO2f,all-week,night,2020,all-year,R1,18.33400000000,gasCCGT,0,2020 +0,6,CO2f,all-week,morning,2020,all-year,R1,36.66800000000,gasCCGT,1,2020 +0,6,CO2f,all-week,afternoon,2020,all-year,R1,55.00200000000,gasCCGT,2,2020 +0,6,CO2f,all-week,early-peak,2020,all-year,R1,36.66800000000,gasCCGT,3,2020 +0,6,CO2f,all-week,late-peak,2020,all-year,R1,73.33600000000,gasCCGT,4,2020 0,6,CO2f,all-week,evening,2020,all-year,R1,91.67000000000,gasCCGT,5,2020 0,10,electricity,all-week,night,2020,all-year,R1,0.20000000000,gasCCGT,0,2025 -0,6,CO2f,all-week,night,2020,all-year,R1,18.33400000000,gasCCGT,0,2025 -1,10,electricity,all-week,night,2020,all-year,R1,0.22220000000,windturbine,0,2025 0,10,electricity,all-week,morning,2020,all-year,R1,0.40000000000,gasCCGT,1,2025 -0,6,CO2f,all-week,morning,2020,all-year,R1,36.66800000000,gasCCGT,1,2025 -1,10,electricity,all-week,morning,2020,all-year,R1,0.23330000000,windturbine,1,2025 0,10,electricity,all-week,afternoon,2020,all-year,R1,0.60000000000,gasCCGT,2,2025 -0,6,CO2f,all-week,afternoon,2020,all-year,R1,55.00200000000,gasCCGT,2,2025 0,10,electricity,all-week,early-peak,2020,all-year,R1,0.40000000000,gasCCGT,3,2025 -0,6,CO2f,all-week,early-peak,2020,all-year,R1,36.66800000000,gasCCGT,3,2025 -1,10,electricity,all-week,early-peak,2020,all-year,R1,0.23330000000,windturbine,3,2025 0,10,electricity,all-week,late-peak,2020,all-year,R1,0.80000000000,gasCCGT,4,2025 -0,6,CO2f,all-week,late-peak,2020,all-year,R1,73.33600000000,gasCCGT,4,2025 -1,10,electricity,all-week,late-peak,2020,all-year,R1,0.46670000000,windturbine,4,2025 0,10,electricity,all-week,evening,2020,all-year,R1,1.00000000000,gasCCGT,5,2025 +0,6,CO2f,all-week,night,2020,all-year,R1,18.33400000000,gasCCGT,0,2025 +0,6,CO2f,all-week,morning,2020,all-year,R1,36.66800000000,gasCCGT,1,2025 +0,6,CO2f,all-week,afternoon,2020,all-year,R1,55.00200000000,gasCCGT,2,2025 +0,6,CO2f,all-week,early-peak,2020,all-year,R1,36.66800000000,gasCCGT,3,2025 +0,6,CO2f,all-week,late-peak,2020,all-year,R1,73.33600000000,gasCCGT,4,2025 0,6,CO2f,all-week,evening,2020,all-year,R1,91.67000000000,gasCCGT,5,2025 +1,10,electricity,all-week,night,2020,all-year,R1,0.22220000000,windturbine,0,2025 +1,10,electricity,all-week,morning,2020,all-year,R1,0.23330000000,windturbine,1,2025 +1,10,electricity,all-week,early-peak,2020,all-year,R1,0.23330000000,windturbine,3,2025 +1,10,electricity,all-week,late-peak,2020,all-year,R1,0.46670000000,windturbine,4,2025 1,10,electricity,all-week,night,2020,all-year,R1,0.33330000000,windturbine,0,2030 -2,10,electricity,all-week,night,2025,all-year,R1,0.33330000000,windturbine,0,2030 1,10,electricity,all-week,morning,2020,all-year,R1,0.50000000000,windturbine,1,2030 -2,10,electricity,all-week,morning,2025,all-year,R1,0.50000000000,windturbine,1,2030 1,10,electricity,all-week,afternoon,2020,all-year,R1,0.33330000000,windturbine,2,2030 -2,10,electricity,all-week,afternoon,2025,all-year,R1,0.33330000000,windturbine,2,2030 1,10,electricity,all-week,early-peak,2020,all-year,R1,0.50000000000,windturbine,3,2030 -2,10,electricity,all-week,early-peak,2025,all-year,R1,0.50000000000,windturbine,3,2030 1,10,electricity,all-week,late-peak,2020,all-year,R1,1.00000000000,windturbine,4,2030 -2,10,electricity,all-week,late-peak,2025,all-year,R1,1.00000000000,windturbine,4,2030 1,10,electricity,all-week,evening,2020,all-year,R1,0.66670000000,windturbine,5,2030 +2,10,electricity,all-week,night,2025,all-year,R1,0.33330000000,windturbine,0,2030 +2,10,electricity,all-week,morning,2025,all-year,R1,0.50000000000,windturbine,1,2030 +2,10,electricity,all-week,afternoon,2025,all-year,R1,0.33330000000,windturbine,2,2030 +2,10,electricity,all-week,early-peak,2025,all-year,R1,0.50000000000,windturbine,3,2030 +2,10,electricity,all-week,late-peak,2025,all-year,R1,1.00000000000,windturbine,4,2030 2,10,electricity,all-week,evening,2025,all-year,R1,0.66670000000,windturbine,5,2030 1,10,electricity,all-week,night,2020,all-year,R1,0.20000000000,windturbine,0,2035 -2,10,electricity,all-week,night,2025,all-year,R1,0.20000000000,windturbine,0,2035 -3,10,electricity,all-week,night,2030,all-year,R1,0.40000000000,windturbine,0,2035 1,10,electricity,all-week,morning,2020,all-year,R1,0.30000000000,windturbine,1,2035 -2,10,electricity,all-week,morning,2025,all-year,R1,0.30000000000,windturbine,1,2035 -3,10,electricity,all-week,morning,2030,all-year,R1,0.60000000000,windturbine,1,2035 1,10,electricity,all-week,afternoon,2020,all-year,R1,0.20000000000,windturbine,2,2035 -2,10,electricity,all-week,afternoon,2025,all-year,R1,0.20000000000,windturbine,2,2035 -3,10,electricity,all-week,afternoon,2030,all-year,R1,0.40000000000,windturbine,2,2035 1,10,electricity,all-week,early-peak,2020,all-year,R1,0.30000000000,windturbine,3,2035 -2,10,electricity,all-week,early-peak,2025,all-year,R1,0.30000000000,windturbine,3,2035 -3,10,electricity,all-week,early-peak,2030,all-year,R1,0.60000000000,windturbine,3,2035 1,10,electricity,all-week,late-peak,2020,all-year,R1,0.60000000000,windturbine,4,2035 -2,10,electricity,all-week,late-peak,2025,all-year,R1,0.60000000000,windturbine,4,2035 -3,10,electricity,all-week,late-peak,2030,all-year,R1,1.20000000000,windturbine,4,2035 1,10,electricity,all-week,evening,2020,all-year,R1,0.40000000000,windturbine,5,2035 +2,10,electricity,all-week,night,2025,all-year,R1,0.20000000000,windturbine,0,2035 +2,10,electricity,all-week,morning,2025,all-year,R1,0.30000000000,windturbine,1,2035 +2,10,electricity,all-week,afternoon,2025,all-year,R1,0.20000000000,windturbine,2,2035 +2,10,electricity,all-week,early-peak,2025,all-year,R1,0.30000000000,windturbine,3,2035 +2,10,electricity,all-week,late-peak,2025,all-year,R1,0.60000000000,windturbine,4,2035 2,10,electricity,all-week,evening,2025,all-year,R1,0.40000000000,windturbine,5,2035 +3,10,electricity,all-week,night,2030,all-year,R1,0.40000000000,windturbine,0,2035 +3,10,electricity,all-week,morning,2030,all-year,R1,0.60000000000,windturbine,1,2035 +3,10,electricity,all-week,afternoon,2030,all-year,R1,0.40000000000,windturbine,2,2035 +3,10,electricity,all-week,early-peak,2030,all-year,R1,0.60000000000,windturbine,3,2035 +3,10,electricity,all-week,late-peak,2030,all-year,R1,1.20000000000,windturbine,4,2035 3,10,electricity,all-week,evening,2030,all-year,R1,0.80000000000,windturbine,5,2035 1,10,electricity,all-week,night,2020,all-year,R1,0.15560000000,windturbine,0,2040 -2,10,electricity,all-week,night,2025,all-year,R1,0.15560000000,windturbine,0,2040 -3,10,electricity,all-week,night,2030,all-year,R1,0.31110000000,windturbine,0,2040 -4,10,electricity,all-week,night,2035,all-year,R1,0.31110000000,windturbine,0,2040 1,10,electricity,all-week,morning,2020,all-year,R1,0.23330000000,windturbine,1,2040 -2,10,electricity,all-week,morning,2025,all-year,R1,0.23330000000,windturbine,1,2040 -3,10,electricity,all-week,morning,2030,all-year,R1,0.46670000000,windturbine,1,2040 -4,10,electricity,all-week,morning,2035,all-year,R1,0.46670000000,windturbine,1,2040 1,10,electricity,all-week,afternoon,2020,all-year,R1,0.15560000000,windturbine,2,2040 -2,10,electricity,all-week,afternoon,2025,all-year,R1,0.15560000000,windturbine,2,2040 -3,10,electricity,all-week,afternoon,2030,all-year,R1,0.31110000000,windturbine,2,2040 -4,10,electricity,all-week,afternoon,2035,all-year,R1,0.31110000000,windturbine,2,2040 1,10,electricity,all-week,early-peak,2020,all-year,R1,0.23330000000,windturbine,3,2040 -2,10,electricity,all-week,early-peak,2025,all-year,R1,0.23330000000,windturbine,3,2040 -3,10,electricity,all-week,early-peak,2030,all-year,R1,0.46670000000,windturbine,3,2040 -4,10,electricity,all-week,early-peak,2035,all-year,R1,0.46670000000,windturbine,3,2040 1,10,electricity,all-week,late-peak,2020,all-year,R1,0.46670000000,windturbine,4,2040 -2,10,electricity,all-week,late-peak,2025,all-year,R1,0.46670000000,windturbine,4,2040 -3,10,electricity,all-week,late-peak,2030,all-year,R1,0.93330000000,windturbine,4,2040 -4,10,electricity,all-week,late-peak,2035,all-year,R1,0.93330000000,windturbine,4,2040 1,10,electricity,all-week,evening,2020,all-year,R1,0.31110000000,windturbine,5,2040 +2,10,electricity,all-week,night,2025,all-year,R1,0.15560000000,windturbine,0,2040 +2,10,electricity,all-week,morning,2025,all-year,R1,0.23330000000,windturbine,1,2040 +2,10,electricity,all-week,afternoon,2025,all-year,R1,0.15560000000,windturbine,2,2040 +2,10,electricity,all-week,early-peak,2025,all-year,R1,0.23330000000,windturbine,3,2040 +2,10,electricity,all-week,late-peak,2025,all-year,R1,0.46670000000,windturbine,4,2040 2,10,electricity,all-week,evening,2025,all-year,R1,0.31110000000,windturbine,5,2040 +3,10,electricity,all-week,night,2030,all-year,R1,0.31110000000,windturbine,0,2040 +3,10,electricity,all-week,morning,2030,all-year,R1,0.46670000000,windturbine,1,2040 +3,10,electricity,all-week,afternoon,2030,all-year,R1,0.31110000000,windturbine,2,2040 +3,10,electricity,all-week,early-peak,2030,all-year,R1,0.46670000000,windturbine,3,2040 +3,10,electricity,all-week,late-peak,2030,all-year,R1,0.93330000000,windturbine,4,2040 3,10,electricity,all-week,evening,2030,all-year,R1,0.62220000000,windturbine,5,2040 +4,10,electricity,all-week,night,2035,all-year,R1,0.31110000000,windturbine,0,2040 +4,10,electricity,all-week,morning,2035,all-year,R1,0.46670000000,windturbine,1,2040 +4,10,electricity,all-week,afternoon,2035,all-year,R1,0.31110000000,windturbine,2,2040 +4,10,electricity,all-week,early-peak,2035,all-year,R1,0.46670000000,windturbine,3,2040 +4,10,electricity,all-week,late-peak,2035,all-year,R1,0.93330000000,windturbine,4,2040 4,10,electricity,all-week,evening,2035,all-year,R1,0.62220000000,windturbine,5,2040 1,10,electricity,all-week,night,2020,all-year,R1,0.13330000000,windturbine,0,2045 -2,10,electricity,all-week,night,2025,all-year,R1,0.13330000000,windturbine,0,2045 -3,10,electricity,all-week,night,2030,all-year,R1,0.26670000000,windturbine,0,2045 -4,10,electricity,all-week,night,2035,all-year,R1,0.26670000000,windturbine,0,2045 -5,10,electricity,all-week,night,2040,all-year,R1,0.26670000000,windturbine,0,2045 1,10,electricity,all-week,morning,2020,all-year,R1,0.20000000000,windturbine,1,2045 -2,10,electricity,all-week,morning,2025,all-year,R1,0.20000000000,windturbine,1,2045 -3,10,electricity,all-week,morning,2030,all-year,R1,0.40000000000,windturbine,1,2045 -4,10,electricity,all-week,morning,2035,all-year,R1,0.40000000000,windturbine,1,2045 -5,10,electricity,all-week,morning,2040,all-year,R1,0.40000000000,windturbine,1,2045 1,10,electricity,all-week,afternoon,2020,all-year,R1,0.13330000000,windturbine,2,2045 -2,10,electricity,all-week,afternoon,2025,all-year,R1,0.13330000000,windturbine,2,2045 -3,10,electricity,all-week,afternoon,2030,all-year,R1,0.26670000000,windturbine,2,2045 -4,10,electricity,all-week,afternoon,2035,all-year,R1,0.26670000000,windturbine,2,2045 -5,10,electricity,all-week,afternoon,2040,all-year,R1,0.26670000000,windturbine,2,2045 1,10,electricity,all-week,early-peak,2020,all-year,R1,0.20000000000,windturbine,3,2045 -2,10,electricity,all-week,early-peak,2025,all-year,R1,0.20000000000,windturbine,3,2045 -3,10,electricity,all-week,early-peak,2030,all-year,R1,0.40000000000,windturbine,3,2045 -4,10,electricity,all-week,early-peak,2035,all-year,R1,0.40000000000,windturbine,3,2045 -5,10,electricity,all-week,early-peak,2040,all-year,R1,0.40000000000,windturbine,3,2045 1,10,electricity,all-week,late-peak,2020,all-year,R1,0.40000000000,windturbine,4,2045 -2,10,electricity,all-week,late-peak,2025,all-year,R1,0.40000000000,windturbine,4,2045 -3,10,electricity,all-week,late-peak,2030,all-year,R1,0.80000000000,windturbine,4,2045 -4,10,electricity,all-week,late-peak,2035,all-year,R1,0.80000000000,windturbine,4,2045 -5,10,electricity,all-week,late-peak,2040,all-year,R1,0.80000000000,windturbine,4,2045 1,10,electricity,all-week,evening,2020,all-year,R1,0.26670000000,windturbine,5,2045 +2,10,electricity,all-week,night,2025,all-year,R1,0.13330000000,windturbine,0,2045 +2,10,electricity,all-week,morning,2025,all-year,R1,0.20000000000,windturbine,1,2045 +2,10,electricity,all-week,afternoon,2025,all-year,R1,0.13330000000,windturbine,2,2045 +2,10,electricity,all-week,early-peak,2025,all-year,R1,0.20000000000,windturbine,3,2045 +2,10,electricity,all-week,late-peak,2025,all-year,R1,0.40000000000,windturbine,4,2045 2,10,electricity,all-week,evening,2025,all-year,R1,0.26670000000,windturbine,5,2045 +3,10,electricity,all-week,night,2030,all-year,R1,0.26670000000,windturbine,0,2045 +3,10,electricity,all-week,morning,2030,all-year,R1,0.40000000000,windturbine,1,2045 +3,10,electricity,all-week,afternoon,2030,all-year,R1,0.26670000000,windturbine,2,2045 +3,10,electricity,all-week,early-peak,2030,all-year,R1,0.40000000000,windturbine,3,2045 +3,10,electricity,all-week,late-peak,2030,all-year,R1,0.80000000000,windturbine,4,2045 3,10,electricity,all-week,evening,2030,all-year,R1,0.53330000000,windturbine,5,2045 +4,10,electricity,all-week,night,2035,all-year,R1,0.26670000000,windturbine,0,2045 +4,10,electricity,all-week,morning,2035,all-year,R1,0.40000000000,windturbine,1,2045 +4,10,electricity,all-week,afternoon,2035,all-year,R1,0.26670000000,windturbine,2,2045 +4,10,electricity,all-week,early-peak,2035,all-year,R1,0.40000000000,windturbine,3,2045 +4,10,electricity,all-week,late-peak,2035,all-year,R1,0.80000000000,windturbine,4,2045 4,10,electricity,all-week,evening,2035,all-year,R1,0.53330000000,windturbine,5,2045 +5,10,electricity,all-week,night,2040,all-year,R1,0.26670000000,windturbine,0,2045 +5,10,electricity,all-week,morning,2040,all-year,R1,0.40000000000,windturbine,1,2045 +5,10,electricity,all-week,afternoon,2040,all-year,R1,0.26670000000,windturbine,2,2045 +5,10,electricity,all-week,early-peak,2040,all-year,R1,0.40000000000,windturbine,3,2045 +5,10,electricity,all-week,late-peak,2040,all-year,R1,0.80000000000,windturbine,4,2045 5,10,electricity,all-week,evening,2040,all-year,R1,0.53330000000,windturbine,5,2045 2,10,electricity,all-week,night,2025,all-year,R1,0.13330000000,windturbine,0,2050 -3,10,electricity,all-week,night,2030,all-year,R1,0.26670000000,windturbine,0,2050 -4,10,electricity,all-week,night,2035,all-year,R1,0.26670000000,windturbine,0,2050 -5,10,electricity,all-week,night,2040,all-year,R1,0.26670000000,windturbine,0,2050 -6,10,electricity,all-week,night,2045,all-year,R1,0.26670000000,windturbine,0,2050 2,10,electricity,all-week,morning,2025,all-year,R1,0.20000000000,windturbine,1,2050 -3,10,electricity,all-week,morning,2030,all-year,R1,0.40000000000,windturbine,1,2050 -4,10,electricity,all-week,morning,2035,all-year,R1,0.40000000000,windturbine,1,2050 -5,10,electricity,all-week,morning,2040,all-year,R1,0.40000000000,windturbine,1,2050 -6,10,electricity,all-week,morning,2045,all-year,R1,0.40000000000,windturbine,1,2050 2,10,electricity,all-week,afternoon,2025,all-year,R1,0.13330000000,windturbine,2,2050 -3,10,electricity,all-week,afternoon,2030,all-year,R1,0.26670000000,windturbine,2,2050 -4,10,electricity,all-week,afternoon,2035,all-year,R1,0.26670000000,windturbine,2,2050 -5,10,electricity,all-week,afternoon,2040,all-year,R1,0.26670000000,windturbine,2,2050 -6,10,electricity,all-week,afternoon,2045,all-year,R1,0.26670000000,windturbine,2,2050 2,10,electricity,all-week,early-peak,2025,all-year,R1,0.20000000000,windturbine,3,2050 -3,10,electricity,all-week,early-peak,2030,all-year,R1,0.40000000000,windturbine,3,2050 -4,10,electricity,all-week,early-peak,2035,all-year,R1,0.40000000000,windturbine,3,2050 -5,10,electricity,all-week,early-peak,2040,all-year,R1,0.40000000000,windturbine,3,2050 -6,10,electricity,all-week,early-peak,2045,all-year,R1,0.40000000000,windturbine,3,2050 2,10,electricity,all-week,late-peak,2025,all-year,R1,0.40000000000,windturbine,4,2050 -3,10,electricity,all-week,late-peak,2030,all-year,R1,0.80000000000,windturbine,4,2050 -4,10,electricity,all-week,late-peak,2035,all-year,R1,0.80000000000,windturbine,4,2050 -5,10,electricity,all-week,late-peak,2040,all-year,R1,0.80000000000,windturbine,4,2050 -6,10,electricity,all-week,late-peak,2045,all-year,R1,0.80000000000,windturbine,4,2050 2,10,electricity,all-week,evening,2025,all-year,R1,0.26670000000,windturbine,5,2050 +3,10,electricity,all-week,night,2030,all-year,R1,0.26670000000,windturbine,0,2050 +3,10,electricity,all-week,morning,2030,all-year,R1,0.40000000000,windturbine,1,2050 +3,10,electricity,all-week,afternoon,2030,all-year,R1,0.26670000000,windturbine,2,2050 +3,10,electricity,all-week,early-peak,2030,all-year,R1,0.40000000000,windturbine,3,2050 +3,10,electricity,all-week,late-peak,2030,all-year,R1,0.80000000000,windturbine,4,2050 3,10,electricity,all-week,evening,2030,all-year,R1,0.53330000000,windturbine,5,2050 +4,10,electricity,all-week,night,2035,all-year,R1,0.26670000000,windturbine,0,2050 +4,10,electricity,all-week,morning,2035,all-year,R1,0.40000000000,windturbine,1,2050 +4,10,electricity,all-week,afternoon,2035,all-year,R1,0.26670000000,windturbine,2,2050 +4,10,electricity,all-week,early-peak,2035,all-year,R1,0.40000000000,windturbine,3,2050 +4,10,electricity,all-week,late-peak,2035,all-year,R1,0.80000000000,windturbine,4,2050 4,10,electricity,all-week,evening,2035,all-year,R1,0.53330000000,windturbine,5,2050 +5,10,electricity,all-week,night,2040,all-year,R1,0.26670000000,windturbine,0,2050 +5,10,electricity,all-week,morning,2040,all-year,R1,0.40000000000,windturbine,1,2050 +5,10,electricity,all-week,afternoon,2040,all-year,R1,0.26670000000,windturbine,2,2050 +5,10,electricity,all-week,early-peak,2040,all-year,R1,0.40000000000,windturbine,3,2050 +5,10,electricity,all-week,late-peak,2040,all-year,R1,0.80000000000,windturbine,4,2050 5,10,electricity,all-week,evening,2040,all-year,R1,0.53330000000,windturbine,5,2050 +6,10,electricity,all-week,night,2045,all-year,R1,0.26670000000,windturbine,0,2050 +6,10,electricity,all-week,morning,2045,all-year,R1,0.40000000000,windturbine,1,2050 +6,10,electricity,all-week,afternoon,2045,all-year,R1,0.26670000000,windturbine,2,2050 +6,10,electricity,all-week,early-peak,2045,all-year,R1,0.40000000000,windturbine,3,2050 +6,10,electricity,all-week,late-peak,2045,all-year,R1,0.80000000000,windturbine,4,2050 6,10,electricity,all-week,evening,2045,all-year,R1,0.53330000000,windturbine,5,2050 diff --git a/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/Power_Supply.csv b/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/Power_Supply.csv index 173adbe8e..421a270fb 100644 --- a/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/Power_Supply.csv +++ b/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/Power_Supply.csv @@ -1,27 +1,27 @@ asset,comm_usage,commodity,day,hour,installed,month,region,supply,technology,timeslice,year 0,10,electricity,all-week,night,2020,all-year,R1,0.20000000000,gasCCGT,0,2020 -0,6,CO2f,all-week,night,2020,all-year,R1,18.33400000000,gasCCGT,0,2020 0,10,electricity,all-week,morning,2020,all-year,R1,0.40000000000,gasCCGT,1,2020 -0,6,CO2f,all-week,morning,2020,all-year,R1,36.66800000000,gasCCGT,1,2020 0,10,electricity,all-week,afternoon,2020,all-year,R1,0.60000000000,gasCCGT,2,2020 -0,6,CO2f,all-week,afternoon,2020,all-year,R1,55.00200000000,gasCCGT,2,2020 0,10,electricity,all-week,early-peak,2020,all-year,R1,0.40000000000,gasCCGT,3,2020 -0,6,CO2f,all-week,early-peak,2020,all-year,R1,36.66800000000,gasCCGT,3,2020 0,10,electricity,all-week,late-peak,2020,all-year,R1,0.80000000000,gasCCGT,4,2020 -0,6,CO2f,all-week,late-peak,2020,all-year,R1,73.33600000000,gasCCGT,4,2020 0,10,electricity,all-week,evening,2020,all-year,R1,1.00000000000,gasCCGT,5,2020 +0,6,CO2f,all-week,night,2020,all-year,R1,18.33400000000,gasCCGT,0,2020 +0,6,CO2f,all-week,morning,2020,all-year,R1,36.66800000000,gasCCGT,1,2020 +0,6,CO2f,all-week,afternoon,2020,all-year,R1,55.00200000000,gasCCGT,2,2020 +0,6,CO2f,all-week,early-peak,2020,all-year,R1,36.66800000000,gasCCGT,3,2020 +0,6,CO2f,all-week,late-peak,2020,all-year,R1,73.33600000000,gasCCGT,4,2020 0,6,CO2f,all-week,evening,2020,all-year,R1,91.67000000000,gasCCGT,5,2020 0,10,electricity,all-week,night,2020,all-year,R1,0.42220000000,gasCCGT,0,2025 -0,6,CO2f,all-week,night,2020,all-year,R1,38.70510000000,gasCCGT,0,2025 0,10,electricity,all-week,morning,2020,all-year,R1,0.63330000000,gasCCGT,1,2025 -0,6,CO2f,all-week,morning,2020,all-year,R1,58.05770000000,gasCCGT,1,2025 0,10,electricity,all-week,afternoon,2020,all-year,R1,0.60000000000,gasCCGT,2,2025 -0,6,CO2f,all-week,afternoon,2020,all-year,R1,55.00200000000,gasCCGT,2,2025 0,10,electricity,all-week,early-peak,2020,all-year,R1,0.63330000000,gasCCGT,3,2025 -0,6,CO2f,all-week,early-peak,2020,all-year,R1,58.05770000000,gasCCGT,3,2025 0,10,electricity,all-week,late-peak,2020,all-year,R1,1.26670000000,gasCCGT,4,2025 -0,6,CO2f,all-week,late-peak,2020,all-year,R1,116.11530000000,gasCCGT,4,2025 0,10,electricity,all-week,evening,2020,all-year,R1,1.00000000000,gasCCGT,5,2025 +0,6,CO2f,all-week,night,2020,all-year,R1,38.70510000000,gasCCGT,0,2025 +0,6,CO2f,all-week,morning,2020,all-year,R1,58.05770000000,gasCCGT,1,2025 +0,6,CO2f,all-week,afternoon,2020,all-year,R1,55.00200000000,gasCCGT,2,2025 +0,6,CO2f,all-week,early-peak,2020,all-year,R1,58.05770000000,gasCCGT,3,2025 +0,6,CO2f,all-week,late-peak,2020,all-year,R1,116.11530000000,gasCCGT,4,2025 0,6,CO2f,all-week,evening,2020,all-year,R1,91.67000000000,gasCCGT,5,2025 4,10,electricity,all-week,night,2025,all-year,R1,0.66670000000,windturbine,0,2030 4,10,electricity,all-week,morning,2025,all-year,R1,0.50000000000,windturbine,1,2030 @@ -30,86 +30,86 @@ asset,comm_usage,commodity,day,hour,installed,month,region,supply,technology,tim 4,10,electricity,all-week,late-peak,2025,all-year,R1,1.00000000000,windturbine,4,2030 4,10,electricity,all-week,evening,2025,all-year,R1,1.00000000000,windturbine,5,2030 5,10,electricity,all-week,night,2025,all-year,R1,0.40000000000,windturbine,0,2035 -6,10,electricity,all-week,night,2030,all-year,R1,0.40000000000,windturbine,0,2035 5,10,electricity,all-week,morning,2025,all-year,R1,0.50000000000,windturbine,1,2035 -6,10,electricity,all-week,morning,2030,all-year,R1,0.50000000000,windturbine,1,2035 5,10,electricity,all-week,afternoon,2025,all-year,R1,0.40000000000,windturbine,2,2035 -6,10,electricity,all-week,afternoon,2030,all-year,R1,0.40000000000,windturbine,2,2035 5,10,electricity,all-week,early-peak,2025,all-year,R1,0.60000000000,windturbine,3,2035 -6,10,electricity,all-week,early-peak,2030,all-year,R1,0.60000000000,windturbine,3,2035 5,10,electricity,all-week,late-peak,2025,all-year,R1,1.00000000000,windturbine,4,2035 -6,10,electricity,all-week,late-peak,2030,all-year,R1,1.00000000000,windturbine,4,2035 5,10,electricity,all-week,evening,2025,all-year,R1,0.80000000000,windturbine,5,2035 +6,10,electricity,all-week,night,2030,all-year,R1,0.40000000000,windturbine,0,2035 +6,10,electricity,all-week,morning,2030,all-year,R1,0.50000000000,windturbine,1,2035 +6,10,electricity,all-week,afternoon,2030,all-year,R1,0.40000000000,windturbine,2,2035 +6,10,electricity,all-week,early-peak,2030,all-year,R1,0.60000000000,windturbine,3,2035 +6,10,electricity,all-week,late-peak,2030,all-year,R1,1.00000000000,windturbine,4,2035 6,10,electricity,all-week,evening,2030,all-year,R1,0.80000000000,windturbine,5,2035 6,10,electricity,all-week,night,2025,all-year,R1,0.31110000000,windturbine,0,2040 -7,10,electricity,all-week,night,2030,all-year,R1,0.31110000000,windturbine,0,2040 -8,10,electricity,all-week,night,2035,all-year,R1,0.31110000000,windturbine,0,2040 6,10,electricity,all-week,morning,2025,all-year,R1,0.46670000000,windturbine,1,2040 -7,10,electricity,all-week,morning,2030,all-year,R1,0.46670000000,windturbine,1,2040 -8,10,electricity,all-week,morning,2035,all-year,R1,0.46670000000,windturbine,1,2040 6,10,electricity,all-week,afternoon,2025,all-year,R1,0.31110000000,windturbine,2,2040 -7,10,electricity,all-week,afternoon,2030,all-year,R1,0.31110000000,windturbine,2,2040 -8,10,electricity,all-week,afternoon,2035,all-year,R1,0.31110000000,windturbine,2,2040 6,10,electricity,all-week,early-peak,2025,all-year,R1,0.46670000000,windturbine,3,2040 -7,10,electricity,all-week,early-peak,2030,all-year,R1,0.46670000000,windturbine,3,2040 -8,10,electricity,all-week,early-peak,2035,all-year,R1,0.46670000000,windturbine,3,2040 6,10,electricity,all-week,late-peak,2025,all-year,R1,0.93330000000,windturbine,4,2040 -7,10,electricity,all-week,late-peak,2030,all-year,R1,0.93330000000,windturbine,4,2040 -8,10,electricity,all-week,late-peak,2035,all-year,R1,0.93330000000,windturbine,4,2040 6,10,electricity,all-week,evening,2025,all-year,R1,0.62220000000,windturbine,5,2040 +7,10,electricity,all-week,night,2030,all-year,R1,0.31110000000,windturbine,0,2040 +7,10,electricity,all-week,morning,2030,all-year,R1,0.46670000000,windturbine,1,2040 +7,10,electricity,all-week,afternoon,2030,all-year,R1,0.31110000000,windturbine,2,2040 +7,10,electricity,all-week,early-peak,2030,all-year,R1,0.46670000000,windturbine,3,2040 +7,10,electricity,all-week,late-peak,2030,all-year,R1,0.93330000000,windturbine,4,2040 7,10,electricity,all-week,evening,2030,all-year,R1,0.62220000000,windturbine,5,2040 +8,10,electricity,all-week,night,2035,all-year,R1,0.31110000000,windturbine,0,2040 +8,10,electricity,all-week,morning,2035,all-year,R1,0.46670000000,windturbine,1,2040 +8,10,electricity,all-week,afternoon,2035,all-year,R1,0.31110000000,windturbine,2,2040 +8,10,electricity,all-week,early-peak,2035,all-year,R1,0.46670000000,windturbine,3,2040 +8,10,electricity,all-week,late-peak,2035,all-year,R1,0.93330000000,windturbine,4,2040 8,10,electricity,all-week,evening,2035,all-year,R1,0.62220000000,windturbine,5,2040 7,10,electricity,all-week,night,2025,all-year,R1,0.21330000000,windturbine,0,2045 -8,10,electricity,all-week,night,2030,all-year,R1,0.21330000000,windturbine,0,2045 -9,10,electricity,all-week,night,2035,all-year,R1,0.21330000000,windturbine,0,2045 -10,10,electricity,all-week,night,2040,all-year,R1,0.42670000000,windturbine,0,2045 7,10,electricity,all-week,morning,2025,all-year,R1,0.32000000000,windturbine,1,2045 -8,10,electricity,all-week,morning,2030,all-year,R1,0.32000000000,windturbine,1,2045 -9,10,electricity,all-week,morning,2035,all-year,R1,0.32000000000,windturbine,1,2045 -10,10,electricity,all-week,morning,2040,all-year,R1,0.64000000000,windturbine,1,2045 7,10,electricity,all-week,afternoon,2025,all-year,R1,0.21330000000,windturbine,2,2045 -8,10,electricity,all-week,afternoon,2030,all-year,R1,0.21330000000,windturbine,2,2045 -9,10,electricity,all-week,afternoon,2035,all-year,R1,0.21330000000,windturbine,2,2045 -10,10,electricity,all-week,afternoon,2040,all-year,R1,0.42670000000,windturbine,2,2045 7,10,electricity,all-week,early-peak,2025,all-year,R1,0.32000000000,windturbine,3,2045 -8,10,electricity,all-week,early-peak,2030,all-year,R1,0.32000000000,windturbine,3,2045 -9,10,electricity,all-week,early-peak,2035,all-year,R1,0.32000000000,windturbine,3,2045 -10,10,electricity,all-week,early-peak,2040,all-year,R1,0.64000000000,windturbine,3,2045 7,10,electricity,all-week,late-peak,2025,all-year,R1,0.64000000000,windturbine,4,2045 -8,10,electricity,all-week,late-peak,2030,all-year,R1,0.64000000000,windturbine,4,2045 -9,10,electricity,all-week,late-peak,2035,all-year,R1,0.64000000000,windturbine,4,2045 -10,10,electricity,all-week,late-peak,2040,all-year,R1,1.28000000000,windturbine,4,2045 7,10,electricity,all-week,evening,2025,all-year,R1,0.42670000000,windturbine,5,2045 +8,10,electricity,all-week,night,2030,all-year,R1,0.21330000000,windturbine,0,2045 +8,10,electricity,all-week,morning,2030,all-year,R1,0.32000000000,windturbine,1,2045 +8,10,electricity,all-week,afternoon,2030,all-year,R1,0.21330000000,windturbine,2,2045 +8,10,electricity,all-week,early-peak,2030,all-year,R1,0.32000000000,windturbine,3,2045 +8,10,electricity,all-week,late-peak,2030,all-year,R1,0.64000000000,windturbine,4,2045 8,10,electricity,all-week,evening,2030,all-year,R1,0.42670000000,windturbine,5,2045 +9,10,electricity,all-week,night,2035,all-year,R1,0.21330000000,windturbine,0,2045 +9,10,electricity,all-week,morning,2035,all-year,R1,0.32000000000,windturbine,1,2045 +9,10,electricity,all-week,afternoon,2035,all-year,R1,0.21330000000,windturbine,2,2045 +9,10,electricity,all-week,early-peak,2035,all-year,R1,0.32000000000,windturbine,3,2045 +9,10,electricity,all-week,late-peak,2035,all-year,R1,0.64000000000,windturbine,4,2045 9,10,electricity,all-week,evening,2035,all-year,R1,0.42670000000,windturbine,5,2045 +10,10,electricity,all-week,night,2040,all-year,R1,0.42670000000,windturbine,0,2045 +10,10,electricity,all-week,morning,2040,all-year,R1,0.64000000000,windturbine,1,2045 +10,10,electricity,all-week,afternoon,2040,all-year,R1,0.42670000000,windturbine,2,2045 +10,10,electricity,all-week,early-peak,2040,all-year,R1,0.64000000000,windturbine,3,2045 +10,10,electricity,all-week,late-peak,2040,all-year,R1,1.28000000000,windturbine,4,2045 10,10,electricity,all-week,evening,2040,all-year,R1,0.85330000000,windturbine,5,2045 8,10,electricity,all-week,night,2025,all-year,R1,0.17140000000,windturbine,0,2050 -9,10,electricity,all-week,night,2030,all-year,R1,0.17140000000,windturbine,0,2050 -10,10,electricity,all-week,night,2035,all-year,R1,0.17140000000,windturbine,0,2050 -11,10,electricity,all-week,night,2040,all-year,R1,0.34290000000,windturbine,0,2050 -12,10,electricity,all-week,night,2045,all-year,R1,0.34290000000,windturbine,0,2050 8,10,electricity,all-week,morning,2025,all-year,R1,0.25710000000,windturbine,1,2050 -9,10,electricity,all-week,morning,2030,all-year,R1,0.25710000000,windturbine,1,2050 -10,10,electricity,all-week,morning,2035,all-year,R1,0.25710000000,windturbine,1,2050 -11,10,electricity,all-week,morning,2040,all-year,R1,0.51430000000,windturbine,1,2050 -12,10,electricity,all-week,morning,2045,all-year,R1,0.51430000000,windturbine,1,2050 8,10,electricity,all-week,afternoon,2025,all-year,R1,0.17140000000,windturbine,2,2050 -9,10,electricity,all-week,afternoon,2030,all-year,R1,0.17140000000,windturbine,2,2050 -10,10,electricity,all-week,afternoon,2035,all-year,R1,0.17140000000,windturbine,2,2050 -11,10,electricity,all-week,afternoon,2040,all-year,R1,0.34290000000,windturbine,2,2050 -12,10,electricity,all-week,afternoon,2045,all-year,R1,0.34290000000,windturbine,2,2050 8,10,electricity,all-week,early-peak,2025,all-year,R1,0.25710000000,windturbine,3,2050 -9,10,electricity,all-week,early-peak,2030,all-year,R1,0.25710000000,windturbine,3,2050 -10,10,electricity,all-week,early-peak,2035,all-year,R1,0.25710000000,windturbine,3,2050 -11,10,electricity,all-week,early-peak,2040,all-year,R1,0.51430000000,windturbine,3,2050 -12,10,electricity,all-week,early-peak,2045,all-year,R1,0.51430000000,windturbine,3,2050 8,10,electricity,all-week,late-peak,2025,all-year,R1,0.51430000000,windturbine,4,2050 -9,10,electricity,all-week,late-peak,2030,all-year,R1,0.51430000000,windturbine,4,2050 -10,10,electricity,all-week,late-peak,2035,all-year,R1,0.51430000000,windturbine,4,2050 -11,10,electricity,all-week,late-peak,2040,all-year,R1,1.02860000000,windturbine,4,2050 -12,10,electricity,all-week,late-peak,2045,all-year,R1,1.02860000000,windturbine,4,2050 8,10,electricity,all-week,evening,2025,all-year,R1,0.34290000000,windturbine,5,2050 +9,10,electricity,all-week,night,2030,all-year,R1,0.17140000000,windturbine,0,2050 +9,10,electricity,all-week,morning,2030,all-year,R1,0.25710000000,windturbine,1,2050 +9,10,electricity,all-week,afternoon,2030,all-year,R1,0.17140000000,windturbine,2,2050 +9,10,electricity,all-week,early-peak,2030,all-year,R1,0.25710000000,windturbine,3,2050 +9,10,electricity,all-week,late-peak,2030,all-year,R1,0.51430000000,windturbine,4,2050 9,10,electricity,all-week,evening,2030,all-year,R1,0.34290000000,windturbine,5,2050 +10,10,electricity,all-week,night,2035,all-year,R1,0.17140000000,windturbine,0,2050 +10,10,electricity,all-week,morning,2035,all-year,R1,0.25710000000,windturbine,1,2050 +10,10,electricity,all-week,afternoon,2035,all-year,R1,0.17140000000,windturbine,2,2050 +10,10,electricity,all-week,early-peak,2035,all-year,R1,0.25710000000,windturbine,3,2050 +10,10,electricity,all-week,late-peak,2035,all-year,R1,0.51430000000,windturbine,4,2050 10,10,electricity,all-week,evening,2035,all-year,R1,0.34290000000,windturbine,5,2050 +11,10,electricity,all-week,night,2040,all-year,R1,0.34290000000,windturbine,0,2050 +11,10,electricity,all-week,morning,2040,all-year,R1,0.51430000000,windturbine,1,2050 +11,10,electricity,all-week,afternoon,2040,all-year,R1,0.34290000000,windturbine,2,2050 +11,10,electricity,all-week,early-peak,2040,all-year,R1,0.51430000000,windturbine,3,2050 +11,10,electricity,all-week,late-peak,2040,all-year,R1,1.02860000000,windturbine,4,2050 11,10,electricity,all-week,evening,2040,all-year,R1,0.68570000000,windturbine,5,2050 +12,10,electricity,all-week,night,2045,all-year,R1,0.34290000000,windturbine,0,2050 +12,10,electricity,all-week,morning,2045,all-year,R1,0.51430000000,windturbine,1,2050 +12,10,electricity,all-week,afternoon,2045,all-year,R1,0.34290000000,windturbine,2,2050 +12,10,electricity,all-week,early-peak,2045,all-year,R1,0.51430000000,windturbine,3,2050 +12,10,electricity,all-week,late-peak,2045,all-year,R1,1.02860000000,windturbine,4,2050 12,10,electricity,all-week,evening,2045,all-year,R1,0.68570000000,windturbine,5,2050 diff --git a/tests/example_outputs/default_timeslice/Power_Supply.csv b/tests/example_outputs/default_timeslice/Power_Supply.csv new file mode 100644 index 000000000..6717cad0e --- /dev/null +++ b/tests/example_outputs/default_timeslice/Power_Supply.csv @@ -0,0 +1,123 @@ +asset,comm_usage,commodity,day,hour,installed,month,region,supply,technology,timeslice,year +0,10,electricity,all-week,late-peak,2020,all-year,R1,0.26670000000,gasCCGT,4,2025 +0,6,CO2f,all-week,late-peak,2020,all-year,R1,24.44530000000,gasCCGT,4,2025 +1,10,electricity,all-week,night,2020,all-year,R1,0.42220000000,windturbine,0,2025 +1,10,electricity,all-week,morning,2020,all-year,R1,0.63330000000,windturbine,1,2025 +1,10,electricity,all-week,afternoon,2020,all-year,R1,0.42220000000,windturbine,2,2025 +1,10,electricity,all-week,early-peak,2020,all-year,R1,0.63330000000,windturbine,3,2025 +1,10,electricity,all-week,late-peak,2020,all-year,R1,1.00000000000,windturbine,4,2025 +1,10,electricity,all-week,evening,2020,all-year,R1,0.84440000000,windturbine,5,2025 +1,10,electricity,all-week,night,2020,all-year,R1,0.33330000000,windturbine,0,2030 +1,10,electricity,all-week,morning,2020,all-year,R1,0.50000000000,windturbine,1,2030 +1,10,electricity,all-week,afternoon,2020,all-year,R1,0.33330000000,windturbine,2,2030 +1,10,electricity,all-week,early-peak,2020,all-year,R1,0.50000000000,windturbine,3,2030 +1,10,electricity,all-week,late-peak,2020,all-year,R1,1.00000000000,windturbine,4,2030 +1,10,electricity,all-week,evening,2020,all-year,R1,0.66670000000,windturbine,5,2030 +2,10,electricity,all-week,night,2025,all-year,R1,0.33330000000,windturbine,0,2030 +2,10,electricity,all-week,morning,2025,all-year,R1,0.50000000000,windturbine,1,2030 +2,10,electricity,all-week,afternoon,2025,all-year,R1,0.33330000000,windturbine,2,2030 +2,10,electricity,all-week,early-peak,2025,all-year,R1,0.50000000000,windturbine,3,2030 +2,10,electricity,all-week,late-peak,2025,all-year,R1,1.00000000000,windturbine,4,2030 +2,10,electricity,all-week,evening,2025,all-year,R1,0.66670000000,windturbine,5,2030 +1,10,electricity,all-week,night,2020,all-year,R1,0.20000000000,windturbine,0,2035 +1,10,electricity,all-week,morning,2020,all-year,R1,0.30000000000,windturbine,1,2035 +1,10,electricity,all-week,afternoon,2020,all-year,R1,0.20000000000,windturbine,2,2035 +1,10,electricity,all-week,early-peak,2020,all-year,R1,0.30000000000,windturbine,3,2035 +1,10,electricity,all-week,late-peak,2020,all-year,R1,0.60000000000,windturbine,4,2035 +1,10,electricity,all-week,evening,2020,all-year,R1,0.40000000000,windturbine,5,2035 +2,10,electricity,all-week,night,2025,all-year,R1,0.20000000000,windturbine,0,2035 +2,10,electricity,all-week,morning,2025,all-year,R1,0.30000000000,windturbine,1,2035 +2,10,electricity,all-week,afternoon,2025,all-year,R1,0.20000000000,windturbine,2,2035 +2,10,electricity,all-week,early-peak,2025,all-year,R1,0.30000000000,windturbine,3,2035 +2,10,electricity,all-week,late-peak,2025,all-year,R1,0.60000000000,windturbine,4,2035 +2,10,electricity,all-week,evening,2025,all-year,R1,0.40000000000,windturbine,5,2035 +3,10,electricity,all-week,night,2030,all-year,R1,0.40000000000,windturbine,0,2035 +3,10,electricity,all-week,morning,2030,all-year,R1,0.60000000000,windturbine,1,2035 +3,10,electricity,all-week,afternoon,2030,all-year,R1,0.40000000000,windturbine,2,2035 +3,10,electricity,all-week,early-peak,2030,all-year,R1,0.60000000000,windturbine,3,2035 +3,10,electricity,all-week,late-peak,2030,all-year,R1,1.20000000000,windturbine,4,2035 +3,10,electricity,all-week,evening,2030,all-year,R1,0.80000000000,windturbine,5,2035 +1,10,electricity,all-week,night,2020,all-year,R1,0.15560000000,windturbine,0,2040 +1,10,electricity,all-week,morning,2020,all-year,R1,0.23330000000,windturbine,1,2040 +1,10,electricity,all-week,afternoon,2020,all-year,R1,0.15560000000,windturbine,2,2040 +1,10,electricity,all-week,early-peak,2020,all-year,R1,0.23330000000,windturbine,3,2040 +1,10,electricity,all-week,late-peak,2020,all-year,R1,0.46670000000,windturbine,4,2040 +1,10,electricity,all-week,evening,2020,all-year,R1,0.31110000000,windturbine,5,2040 +2,10,electricity,all-week,night,2025,all-year,R1,0.15560000000,windturbine,0,2040 +2,10,electricity,all-week,morning,2025,all-year,R1,0.23330000000,windturbine,1,2040 +2,10,electricity,all-week,afternoon,2025,all-year,R1,0.15560000000,windturbine,2,2040 +2,10,electricity,all-week,early-peak,2025,all-year,R1,0.23330000000,windturbine,3,2040 +2,10,electricity,all-week,late-peak,2025,all-year,R1,0.46670000000,windturbine,4,2040 +2,10,electricity,all-week,evening,2025,all-year,R1,0.31110000000,windturbine,5,2040 +3,10,electricity,all-week,night,2030,all-year,R1,0.31110000000,windturbine,0,2040 +3,10,electricity,all-week,morning,2030,all-year,R1,0.46670000000,windturbine,1,2040 +3,10,electricity,all-week,afternoon,2030,all-year,R1,0.31110000000,windturbine,2,2040 +3,10,electricity,all-week,early-peak,2030,all-year,R1,0.46670000000,windturbine,3,2040 +3,10,electricity,all-week,late-peak,2030,all-year,R1,0.93330000000,windturbine,4,2040 +3,10,electricity,all-week,evening,2030,all-year,R1,0.62220000000,windturbine,5,2040 +4,10,electricity,all-week,night,2035,all-year,R1,0.31110000000,windturbine,0,2040 +4,10,electricity,all-week,morning,2035,all-year,R1,0.46670000000,windturbine,1,2040 +4,10,electricity,all-week,afternoon,2035,all-year,R1,0.31110000000,windturbine,2,2040 +4,10,electricity,all-week,early-peak,2035,all-year,R1,0.46670000000,windturbine,3,2040 +4,10,electricity,all-week,late-peak,2035,all-year,R1,0.93330000000,windturbine,4,2040 +4,10,electricity,all-week,evening,2035,all-year,R1,0.62220000000,windturbine,5,2040 +1,10,electricity,all-week,night,2020,all-year,R1,0.13330000000,windturbine,0,2045 +1,10,electricity,all-week,morning,2020,all-year,R1,0.20000000000,windturbine,1,2045 +1,10,electricity,all-week,afternoon,2020,all-year,R1,0.13330000000,windturbine,2,2045 +1,10,electricity,all-week,early-peak,2020,all-year,R1,0.20000000000,windturbine,3,2045 +1,10,electricity,all-week,late-peak,2020,all-year,R1,0.40000000000,windturbine,4,2045 +1,10,electricity,all-week,evening,2020,all-year,R1,0.26670000000,windturbine,5,2045 +2,10,electricity,all-week,night,2025,all-year,R1,0.13330000000,windturbine,0,2045 +2,10,electricity,all-week,morning,2025,all-year,R1,0.20000000000,windturbine,1,2045 +2,10,electricity,all-week,afternoon,2025,all-year,R1,0.13330000000,windturbine,2,2045 +2,10,electricity,all-week,early-peak,2025,all-year,R1,0.20000000000,windturbine,3,2045 +2,10,electricity,all-week,late-peak,2025,all-year,R1,0.40000000000,windturbine,4,2045 +2,10,electricity,all-week,evening,2025,all-year,R1,0.26670000000,windturbine,5,2045 +3,10,electricity,all-week,night,2030,all-year,R1,0.26670000000,windturbine,0,2045 +3,10,electricity,all-week,morning,2030,all-year,R1,0.40000000000,windturbine,1,2045 +3,10,electricity,all-week,afternoon,2030,all-year,R1,0.26670000000,windturbine,2,2045 +3,10,electricity,all-week,early-peak,2030,all-year,R1,0.40000000000,windturbine,3,2045 +3,10,electricity,all-week,late-peak,2030,all-year,R1,0.80000000000,windturbine,4,2045 +3,10,electricity,all-week,evening,2030,all-year,R1,0.53330000000,windturbine,5,2045 +4,10,electricity,all-week,night,2035,all-year,R1,0.26670000000,windturbine,0,2045 +4,10,electricity,all-week,morning,2035,all-year,R1,0.40000000000,windturbine,1,2045 +4,10,electricity,all-week,afternoon,2035,all-year,R1,0.26670000000,windturbine,2,2045 +4,10,electricity,all-week,early-peak,2035,all-year,R1,0.40000000000,windturbine,3,2045 +4,10,electricity,all-week,late-peak,2035,all-year,R1,0.80000000000,windturbine,4,2045 +4,10,electricity,all-week,evening,2035,all-year,R1,0.53330000000,windturbine,5,2045 +5,10,electricity,all-week,night,2040,all-year,R1,0.26670000000,windturbine,0,2045 +5,10,electricity,all-week,morning,2040,all-year,R1,0.40000000000,windturbine,1,2045 +5,10,electricity,all-week,afternoon,2040,all-year,R1,0.26670000000,windturbine,2,2045 +5,10,electricity,all-week,early-peak,2040,all-year,R1,0.40000000000,windturbine,3,2045 +5,10,electricity,all-week,late-peak,2040,all-year,R1,0.80000000000,windturbine,4,2045 +5,10,electricity,all-week,evening,2040,all-year,R1,0.53330000000,windturbine,5,2045 +2,10,electricity,all-week,night,2025,all-year,R1,0.13330000000,windturbine,0,2050 +2,10,electricity,all-week,morning,2025,all-year,R1,0.20000000000,windturbine,1,2050 +2,10,electricity,all-week,afternoon,2025,all-year,R1,0.13330000000,windturbine,2,2050 +2,10,electricity,all-week,early-peak,2025,all-year,R1,0.20000000000,windturbine,3,2050 +2,10,electricity,all-week,late-peak,2025,all-year,R1,0.40000000000,windturbine,4,2050 +2,10,electricity,all-week,evening,2025,all-year,R1,0.26670000000,windturbine,5,2050 +3,10,electricity,all-week,night,2030,all-year,R1,0.26670000000,windturbine,0,2050 +3,10,electricity,all-week,morning,2030,all-year,R1,0.40000000000,windturbine,1,2050 +3,10,electricity,all-week,afternoon,2030,all-year,R1,0.26670000000,windturbine,2,2050 +3,10,electricity,all-week,early-peak,2030,all-year,R1,0.40000000000,windturbine,3,2050 +3,10,electricity,all-week,late-peak,2030,all-year,R1,0.80000000000,windturbine,4,2050 +3,10,electricity,all-week,evening,2030,all-year,R1,0.53330000000,windturbine,5,2050 +4,10,electricity,all-week,night,2035,all-year,R1,0.26670000000,windturbine,0,2050 +4,10,electricity,all-week,morning,2035,all-year,R1,0.40000000000,windturbine,1,2050 +4,10,electricity,all-week,afternoon,2035,all-year,R1,0.26670000000,windturbine,2,2050 +4,10,electricity,all-week,early-peak,2035,all-year,R1,0.40000000000,windturbine,3,2050 +4,10,electricity,all-week,late-peak,2035,all-year,R1,0.80000000000,windturbine,4,2050 +4,10,electricity,all-week,evening,2035,all-year,R1,0.53330000000,windturbine,5,2050 +5,10,electricity,all-week,night,2040,all-year,R1,0.26670000000,windturbine,0,2050 +5,10,electricity,all-week,morning,2040,all-year,R1,0.40000000000,windturbine,1,2050 +5,10,electricity,all-week,afternoon,2040,all-year,R1,0.26670000000,windturbine,2,2050 +5,10,electricity,all-week,early-peak,2040,all-year,R1,0.40000000000,windturbine,3,2050 +5,10,electricity,all-week,late-peak,2040,all-year,R1,0.80000000000,windturbine,4,2050 +5,10,electricity,all-week,evening,2040,all-year,R1,0.53330000000,windturbine,5,2050 +6,10,electricity,all-week,night,2045,all-year,R1,0.26670000000,windturbine,0,2050 +6,10,electricity,all-week,morning,2045,all-year,R1,0.40000000000,windturbine,1,2050 +6,10,electricity,all-week,afternoon,2045,all-year,R1,0.26670000000,windturbine,2,2050 +6,10,electricity,all-week,early-peak,2045,all-year,R1,0.40000000000,windturbine,3,2050 +6,10,electricity,all-week,late-peak,2045,all-year,R1,0.80000000000,windturbine,4,2050 +6,10,electricity,all-week,evening,2045,all-year,R1,0.53330000000,windturbine,5,2050 From cc9d2370d1f95d495372f8c92a91d08a3dfd661c Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 14 Oct 2024 16:22:05 +0100 Subject: [PATCH 031/121] Fix test --- tests/test_demand_share.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tests/test_demand_share.py b/tests/test_demand_share.py index 9661a180b..1d51a6104 100644 --- a/tests/test_demand_share.py +++ b/tests/test_demand_share.py @@ -345,6 +345,7 @@ def test_unmet_forecast_demand(technologies, coords, timeslice, stock_factory): asia_market = _matching_market(technologies, asia_stock, timeslice) usa_market = _matching_market(technologies, usa_stock, timeslice) market = xr.concat((asia_market, usa_market), dim="region") + current_year = market.year[0] # spoof some agents @dataclass @@ -357,7 +358,9 @@ class Agent: Agent(0.7 * usa_stock.squeeze("region")), Agent(asia_stock.squeeze("region")), ] - result = unmet_forecasted_demand(agents, market, technologies) + result = unmet_forecasted_demand( + agents, market, technologies, current_year=current_year, forecast=5 + ) assert set(result.dims) == set(market.consumption.dims) - {"year"} assert result.values == approx(0) @@ -367,7 +370,9 @@ class Agent: Agent(0.8 * usa_stock.squeeze("region")), Agent(1.1 * asia_stock.squeeze("region")), ] - result = unmet_forecasted_demand(agents, market, technologies) + result = unmet_forecasted_demand( + agents, market, technologies, current_year=current_year, forecast=5 + ) assert set(result.dims) == set(market.consumption.dims) - {"year"} assert result.values == approx(0) @@ -376,7 +381,9 @@ class Agent: Agent(0.5 * usa_stock.squeeze("region")), Agent(0.5 * asia_stock.squeeze("region")), ] - result = unmet_forecasted_demand(agents, market, technologies) + result = unmet_forecasted_demand( + agents, market, technologies, current_year=current_year, forecast=5 + ) comm_usage = technologies.comm_usage.sel(commodity=market.commodity) enduse = is_enduse(comm_usage) assert (result.commodity == comm_usage.commodity).all() From 89f8c618c787fa5abf8053c78c5644f59845a68f Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 16 Oct 2024 10:19:05 +0100 Subject: [PATCH 032/121] Carry changes from fix_supply_issue2 branch --- src/muse/constraints.py | 17 ++++------------- src/muse/costs.py | 10 ++-------- src/muse/demand_share.py | 8 ++------ src/muse/examples.py | 5 +---- src/muse/investments.py | 3 --- src/muse/outputs/mca.py | 5 +---- src/muse/sectors/sector.py | 3 --- 7 files changed, 10 insertions(+), 41 deletions(-) diff --git a/src/muse/constraints.py b/src/muse/constraints.py index 6a0b12bb6..66c9fedd4 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -745,7 +745,7 @@ def minimum_service( if "region" in search_space.coords and "region" in technologies.dims: kwargs["region"] = assets.region techs = ( - technologies[["fixed_outputs", "utilization_factor", "minimum_service_factor"]] + technologies[["fixed_outputs", "minimum_service_factor"]] .sel(**kwargs) .drop_vars("technology") ) @@ -817,25 +817,16 @@ def lp_costs(technologies: xr.Dataset, costs: xr.DataArray) -> xr.Dataset: assert "year" not in technologies.dims - ts_costs = convert_timeslice(costs) selection = dict( commodity=is_enduse(technologies.comm_usage), technology=technologies.technology.isin(costs.replacement), ) - if "region" in technologies.fixed_outputs.dims and "region" in ts_costs.coords: - selection["region"] = ts_costs.region + if "region" in technologies.fixed_outputs.dims and "region" in costs.coords: + selection["region"] = costs.region fouts = technologies.fixed_outputs.sel(selection).rename(technology="replacement") - # lpcosts.dims = Frozen({'asset': 2, - # 'replacement': 2, - # 'timeslice': 3, - # 'commodity': 1}) - # muse38: lpcosts.dims = Frozen({'asset': 2, , - # 'commodity': 1 - # 'replacement': 2, - # 'timeslice': 3}) - production = zeros_like(ts_costs * fouts) + production = zeros_like(costs * convert_timeslice(fouts)) for dim in production.dims: if isinstance(production.get_index(dim), pd.MultiIndex): production = drop_timeslice(production) diff --git a/src/muse/costs.py b/src/muse/costs.py index bb2e3493c..3091cf94e 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -364,17 +364,11 @@ def annual_levelized_cost_of_energy( rates = techs.interest_rate / (1 - (1 + techs.interest_rate) ** (-life)) annualized_capital_costs = ( - convert_timeslice( - techs.cap_par * rates, - ) - / techs.utilization_factor + convert_timeslice(techs.cap_par * rates) / techs.utilization_factor ) o_and_e_costs = ( - convert_timeslice( - (techs.fix_par + techs.var_par), - ) - / techs.utilization_factor + convert_timeslice(techs.fix_par + techs.var_par) / techs.utilization_factor ) fuel_costs = (techs.fixed_inputs * prices).sum("commodity") diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index 321899916..d8da1d096 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -433,19 +433,15 @@ def unmet_forecasted_demand( ) -> xr.DataArray: """Forecast demand that cannot be serviced by non-decommissioned current assets.""" from muse.commodities import is_enduse - from muse.timeslices import convert_timeslice from muse.utilities import reduce_assets year = current_year + forecast comm_usage = technologies.comm_usage.sel(commodity=market.commodity) smarket: xr.Dataset = market.where(is_enduse(comm_usage), 0).interp(year=year) capacity = reduce_assets([u.assets.capacity.interp(year=year) for u in agents]) - ts_capacity = cast( - xr.DataArray, - convert_timeslice(capacity), - ) + capa = cast(xr.DataArray, capacity) - result = unmet_demand(smarket, ts_capacity, technologies, production) + result = unmet_demand(smarket, capa, technologies, production) if "year" in result.dims: result = result.squeeze("year") return result diff --git a/src/muse/examples.py b/src/muse/examples.py index 236ac9f38..9f85c4b3d 100644 --- a/src/muse/examples.py +++ b/src/muse/examples.py @@ -241,7 +241,6 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: from muse.examples import sector as load_sector from muse.quantities import consumption, maximum_production from muse.sectors import Sector - from muse.timeslices import convert_timeslice from muse.utilities import agent_concatenation loaded_sector = cast(Sector, load_sector(sector, model)) @@ -250,9 +249,7 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: market = xr.Dataset() production = cast( xr.DataArray, - convert_timeslice( - maximum_production(loaded_sector.technologies, assets.capacity), - ), + maximum_production(loaded_sector.technologies, assets.capacity), ) market["supply"] = production.sum("asset") if "dst_region" in market.dims: diff --git a/src/muse/investments.py b/src/muse/investments.py index 6fed448a2..87ab26ce9 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -227,7 +227,6 @@ def adhoc_match_demand( ) -> xr.DataArray: from muse.demand_matching import demand_matching from muse.quantities import capacity_in_use, maximum_production - from muse.timeslices import convert_timeslice demand = next(c for c in constraints if c.name == "demand").b @@ -239,8 +238,6 @@ def adhoc_match_demand( technology=costs.replacement, commodity=demand.commodity, ).drop_vars("technology") - if "timeslice" in demand.dims and "timeslice" not in max_prod.dims: - max_prod = convert_timeslice(max_prod) # Push disabled techs to last rank. # Any production assigned to them by the demand-matching algorithm will be removed. diff --git a/src/muse/outputs/mca.py b/src/muse/outputs/mca.py index 128c00ea7..9322f2ebb 100644 --- a/src/muse/outputs/mca.py +++ b/src/muse/outputs/mca.py @@ -776,10 +776,7 @@ def sector_capital_costs( year=output_year, technology=capacity.technology, ) - result = data.cap_par * (capacity**data.cap_exp) - data_agent = convert_timeslice( - result, - ) + data_agent = convert_timeslice(data.cap_par * (capacity**data.cap_exp)) data_agent["agent"] = a.name data_agent["category"] = a.category data_agent["sector"] = getattr(sector, "name", "unnamed") diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index f9a9f70d0..ed1156c81 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -283,7 +283,6 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: from muse.commodities import is_pollutant from muse.costs import annual_levelized_cost_of_energy, supply_cost from muse.quantities import consumption - from muse.timeslices import convert_timeslice from muse.utilities import broadcast_techs years = market.year.values @@ -293,8 +292,6 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: supply = self.supply_prod( market=market, capacity=capacity, technologies=technologies ) - if "timeslice" in market.prices.dims and "timeslice" not in supply.dims: - supply = convert_timeslice(supply) # Calculate consumption consume = consumption(technologies, supply, market.prices) From 793aacf0de2460717ba8d5b6abb83f129ba6251d Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 16 Oct 2024 10:27:09 +0100 Subject: [PATCH 033/121] More benign changes --- src/muse/quantities.py | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 12dd7e8f8..0b0891d5c 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -267,7 +267,6 @@ def consumption( are not given, then flexible consumption is *not* considered. """ from muse.commodities import is_enduse, is_fuel - from muse.timeslices import convert_timeslice from muse.utilities import filter_with_template params = filter_with_template( @@ -279,10 +278,6 @@ def consumption( comm_usage = technologies.comm_usage.sel(commodity=production.commodity) production = production.sel(commodity=is_enduse(comm_usage)).sum("commodity") - - if prices is not None and "timeslice" in prices.dims: - production = convert_timeslice(production) # type: ignore - params_fuels = is_fuel(params.comm_usage) consumption = production * params.fixed_inputs.where(params_fuels, 0) @@ -376,15 +371,12 @@ def demand_matched_production( """ from muse.costs import annual_levelized_cost_of_energy as ALCOE from muse.demand_matching import demand_matching - from muse.timeslices import convert_timeslice from muse.utilities import broadcast_techs technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) cost = ALCOE(prices=prices, technologies=technodata, **filters) max_production = maximum_production(technodata, capacity, **filters) assert ("timeslice" in demand.dims) == ("timeslice" in cost.dims) - if "timeslice" in demand.dims and "timeslice" not in max_production.dims: - max_production = convert_timeslice(max_production) return demand_matching(demand, cost, max_production) @@ -523,12 +515,11 @@ def capacity_to_service_demand( technologies: xr.Dataset, ) -> xr.DataArray: """Minimum capacity required to fulfill the demand.""" - from muse.timeslices import TIMESLICE - - max_hours = TIMESLICE.max() / TIMESLICE.sum() - commodity_output = technologies.fixed_outputs.sel(commodity=demand.commodity) - max_demand = ( - demand.where(commodity_output > 0, 0) - / commodity_output.where(commodity_output > 0, 1) - ).max(("commodity", "timeslice")) - return max_demand / technologies.utilization_factor / max_hours + from muse.timeslices import convert_timeslice + + timeslice_outputs = ( + convert_timeslice(technologies.fixed_outputs.sel(commodity=demand.commodity)) + * technologies.utilization_factor + ) + capa_to_service_demand = demand / timeslice_outputs + return capa_to_service_demand.max(("commodity", "timeslice")) From 22c141e22acb9cf2674f666b7903d2cda6a36efd Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 16 Oct 2024 14:36:52 +0100 Subject: [PATCH 034/121] Fix incorrect convert_timeslice usage in tests --- src/muse/timeslices.py | 6 +++--- tests/test_constraints.py | 9 ++------- tests/test_costs.py | 11 +++++----- tests/test_demand_share.py | 16 ++++----------- tests/test_quantities.py | 41 ++++++++++---------------------------- tests/test_readers.py | 7 ------- tests/test_timeslices.py | 12 +++++------ tests/test_trade.py | 3 +-- 8 files changed, 31 insertions(+), 74 deletions(-) diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index 2a5f420dc..f790ab8e8 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -1,7 +1,7 @@ """Timeslice utility functions.""" __all__ = [ - "reference_timeslice", + "read_timeslices", "convert_timeslice", "drop_timeslice", "setup_module", @@ -63,7 +63,7 @@ """ -def reference_timeslice( +def read_timeslices( settings: Union[Mapping, str], level_names: Sequence[str] = ("month", "day", "hour"), name: str = "timeslice", @@ -144,7 +144,7 @@ def reference_timeslice( def setup_module(settings: Union[str, Mapping]): """Sets up module singletons.""" global TIMESLICE - TIMESLICE = reference_timeslice(settings) + TIMESLICE = read_timeslices(settings) @unique diff --git a/tests/test_constraints.py b/tests/test_constraints.py index 0aee1af5c..64e645883 100644 --- a/tests/test_constraints.py +++ b/tests/test_constraints.py @@ -70,17 +70,12 @@ def assets(residential): @fixture -def market_demand(assets, technologies, market): +def market_demand(assets, technologies): from muse.quantities import maximum_production - from muse.timeslices import QuantityType, convert_timeslice return 0.8 * maximum_production( technologies.interp(year=2025), - convert_timeslice( - assets.capacity.sel(year=2025).groupby("technology").sum("asset"), - market, - QuantityType.INTENSIVE, - ), + assets.capacity.sel(year=2025).groupby("technology").sum("asset"), ).rename(technology="asset") diff --git a/tests/test_costs.py b/tests/test_costs.py index 6d90066ee..715239102 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -18,14 +18,13 @@ def _capacity(technologies, demand_share): @fixture -def _production(technologies, _capacity, demand_share): - from muse.timeslices import QuantityType, convert_timeslice +def _production(technologies, _capacity): + from muse.timeslices import convert_timeslice production = ( - _capacity * technologies.fixed_outputs * technologies.utilization_factor - ) - production = convert_timeslice( - production, demand_share.timeslice, QuantityType.INTENSIVE + _capacity + * convert_timeslice(technologies.fixed_outputs) + * technologies.utilization_factor ) return production diff --git a/tests/test_demand_share.py b/tests/test_demand_share.py index 8e21b8cdf..65f8ddc02 100644 --- a/tests/test_demand_share.py +++ b/tests/test_demand_share.py @@ -14,19 +14,14 @@ def matching_market(technologies, stock, timeslice): ) -def _matching_market(technologies, stock, timeslice): +def _matching_market(technologies, stock): """A market which matches stocks exactly.""" from numpy.random import random from muse.quantities import consumption, maximum_production - from muse.timeslices import QuantityType, convert_timeslice market = xr.Dataset() - production = convert_timeslice( - maximum_production(technologies, stock.capacity), - timeslice, - QuantityType.INTENSIVE, - ) + production = maximum_production(technologies, stock.capacity) market["supply"] = production.sum("asset") market["consumption"] = drop_timeslice( consumption(technologies, production).sum("asset") + market.supply @@ -126,7 +121,6 @@ def test_new_retro_split_zero_new_unmet(technologies, stock, matching_market): def test_new_retro_accounting_identity(technologies, stock, market): from muse.demand_share import new_and_retro_demands from muse.production import factory - from muse.timeslices import QuantityType, convert_timeslice share = new_and_retro_demands( stock.capacity, market, technologies, current_year=2010, forecast=5 @@ -134,14 +128,12 @@ def test_new_retro_accounting_identity(technologies, stock, market): assert (share >= 0).all() production_method = factory() - serviced = convert_timeslice( + serviced = ( production_method( market.interp(year=2015), stock.capacity.interp(year=2015), technologies ) .groupby("region") - .sum("asset"), - market.timeslice, - QuantityType.INTENSIVE, + .sum("asset") ) consumption = market.consumption.interp(year=2015) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index 0479e1a1f..27f22f7a1 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -403,7 +403,6 @@ def test_demand_matched_production( ): from muse.commodities import CommodityUsage, is_enduse from muse.quantities import demand_matched_production, maximum_production - from muse.timeslices import QuantityType, convert_timeslice # try and make sure we have a few more outputs than the default fixture technologies.comm_usage[:] = np.random.choice( @@ -414,11 +413,8 @@ def test_demand_matched_production( technologies.fixed_outputs[:] *= is_enduse(technologies.comm_usage) capacity = capacity.sel(year=capacity.year.min(), drop=True) - max_prod = convert_timeslice( - maximum_production(technologies, capacity), - demand.timeslice, - QuantityType.INTENSIVE, - ) + max_prod = maximum_production(technologies, capacity) + demand = max_prod.sum("asset") demand[:] *= np.random.choice([0, 1, 1 / 2, 1 / 3, 1 / 10], demand.shape) prices = xr.zeros_like(demand) @@ -434,7 +430,6 @@ def test_costed_production_exact_match(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import broadcast_techs if set(capacity.region.values) != set(market.region.values): @@ -445,13 +440,11 @@ def test_costed_production_exact_match(market, capacity, technologies): costs = annual_levelized_cost_of_energy( prices=market.prices.sel(region=technodata.region), technologies=technodata ) - maxdemand = convert_timeslice( + maxdemand = ( xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") - .mp, - market, - QuantityType.INTENSIVE, + .mp ) market["consumption"] = drop_timeslice(maxdemand) result = costed_production(market.consumption, costs, capacity, technologies) @@ -469,17 +462,12 @@ def test_costed_production_single_region(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import broadcast_techs capacity = capacity.drop_vars("region") capacity["region"] = "USA" market = market.sel(region=[capacity.region.values]) - maxdemand = convert_timeslice( - maximum_production(technologies, capacity).sum("asset"), - market, - QuantityType.INTENSIVE, - ) + maxdemand = maximum_production(technologies, capacity).sum("asset") market["consumption"] = drop_timeslice(0.9 * maxdemand) technodata = broadcast_techs(technologies, capacity) costs = annual_levelized_cost_of_energy( @@ -500,18 +488,15 @@ def test_costed_production_single_year(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import broadcast_techs capacity = capacity.sel(year=2010) market = market.sel(year=2010) - maxdemand = convert_timeslice( + maxdemand = ( xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") - .mp, - market, - QuantityType.INTENSIVE, + .mp ) market["consumption"] = drop_timeslice(0.9 * maxdemand) technodata = broadcast_techs(technologies, capacity) @@ -533,7 +518,6 @@ def test_costed_production_over_capacity(market, capacity, technologies): costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import broadcast_techs capacity = capacity.isel(asset=[0, 1, 2]) @@ -541,13 +525,11 @@ def test_costed_production_over_capacity(market, capacity, technologies): capacity.region.values[: len(set(market.region.values))] = list( set(market.region.values) ) - maxdemand = convert_timeslice( + maxdemand = ( xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") - .mp, - market, - QuantityType.INTENSIVE, + .mp ) market["consumption"] = drop_timeslice(maxdemand * 0.9) technodata = broadcast_techs(technologies, capacity) @@ -569,7 +551,6 @@ def test_costed_production_with_minimum_service(market, capacity, technologies, costed_production, maximum_production, ) - from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import broadcast_techs if set(capacity.region.values) != set(market.region.values): @@ -580,9 +561,7 @@ def test_costed_production_with_minimum_service(market, capacity, technologies, technologies.utilization_factor.dims, rng.uniform(low=0.5, high=0.9, size=technologies.utilization_factor.shape), ) - maxprod = convert_timeslice( - maximum_production(technologies, capacity), market, QuantityType.INTENSIVE - ) + maxprod = maximum_production(technologies, capacity) minprod = maxprod * broadcast_techs(technologies.minimum_service_factor, maxprod) maxdemand = xr.Dataset(dict(mp=minprod)).groupby("region").sum("asset").mp market["consumption"] = drop_timeslice(maxdemand * 0.9) diff --git a/tests/test_readers.py b/tests/test_readers.py index f98d2b6ae..69ff7ce7b 100644 --- a/tests/test_readers.py +++ b/tests/test_readers.py @@ -134,13 +134,6 @@ def test_check_foresight(settings: dict): check_foresight(settings) -def test_check_time_slices(settings: dict): - """Tests the check_budget_parameters function.""" - from muse.readers.toml import check_time_slices - - check_time_slices(settings) - - def test_check_global_data_files(settings: dict, user_data_files): """Tests the check_global_data_files function.""" from muse.readers.toml import check_global_data_files diff --git a/tests/test_timeslices.py b/tests/test_timeslices.py index c8de264dc..a704969e0 100644 --- a/tests/test_timeslices.py +++ b/tests/test_timeslices.py @@ -26,9 +26,9 @@ def toml(): @fixture def reference(toml): - from muse.timeslices import reference_timeslice + from muse.timeslices import read_timeslices - return reference_timeslice(toml) + return read_timeslices(toml) @fixture @@ -54,7 +54,7 @@ def timeslice_dataarray(reference): def test_reference_timeslice(): from toml import loads - from muse.timeslices import reference_timeslice + from muse.timeslices import read_timeslices inputs = loads( """ @@ -80,7 +80,7 @@ def test_reference_timeslice(): """ ) - ts = reference_timeslice(inputs) + ts = read_timeslices(inputs) assert isinstance(ts, DataArray) assert "timeslice" in ts.coords @@ -88,10 +88,10 @@ def test_reference_timeslice(): def test_no_overlap(): from pytest import raises - from muse.timeslices import reference_timeslice + from muse.timeslices import read_timeslices with raises(ValueError): - reference_timeslice( + read_timeslices( """ [timeslices] winter.weekday.night = 396 diff --git a/tests/test_trade.py b/tests/test_trade.py index bafa07db9..2398b47d9 100644 --- a/tests/test_trade.py +++ b/tests/test_trade.py @@ -102,14 +102,13 @@ def test_lp_costs(): technologies = examples.technodata("power", model="trade") search_space = examples.search_space("power", model="trade") - timeslices = examples.sector("power", model="trade").timeslices costs = ( search_space * np.arange(np.prod(search_space.shape)).reshape(search_space.shape) * xr.ones_like(technologies.dst_region) ) - lpcosts = lp_costs(technologies.sel(year=2020, drop=True), costs, timeslices) + lpcosts = lp_costs(technologies.sel(year=2020, drop=True), costs) assert "capacity" in lpcosts.data_vars assert "production" in lpcosts.data_vars assert set(lpcosts.capacity.dims) == {"agent", "replacement", "dst_region"} From a59580cc7144bf5add7f2dab92d392471502110e Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 16 Oct 2024 14:42:42 +0100 Subject: [PATCH 035/121] Fix timeslice import in tests --- tests/conftest.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index efc0e38f8..698b8db20 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -169,9 +169,9 @@ def default_timeslice_globals(save_timeslice_globals): @fixture def timeslice(default_timeslice_globals) -> Dataset: - from muse.readers.toml import read_timeslices + from muse.timeslices import TIMESLICE - return read_timeslices(dict(hour=["all-day"])) + return TIMESLICE @fixture From 993af9f9b4766b6f798aaf158173025d430ec541 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 16 Oct 2024 15:02:09 +0100 Subject: [PATCH 036/121] Delete unused fixture --- tests/conftest.py | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 698b8db20..b73ade597 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -152,16 +152,7 @@ def pytest_collection_modifyitems(config, items): @fixture -def save_timeslice_globals(): - from muse import timeslices - - old = timeslices.TIMESLICE, timeslices.TRANSFORMS - yield - timeslices.TIMESLICE, timeslices.TRANSFORMS = old - - -@fixture -def default_timeslice_globals(save_timeslice_globals): +def default_timeslice_globals(): from muse import timeslices timeslices.setup_module(timeslices.DEFAULT_TIMESLICE_DESCRIPTION) @@ -174,22 +165,6 @@ def timeslice(default_timeslice_globals) -> Dataset: return TIMESLICE -@fixture -def other_timeslice() -> Dataset: - from pandas import MultiIndex - - months = ["winter", "spring-autumn", "summer"] - days = ["all-week", "all-week", "all-week"] - hour = ["all-day", "all-day", "all-day"] - coordinates = MultiIndex.from_arrays( - [months, days, hour], names=("month", "day", "hour") - ) - result = Dataset(coords={"timeslice": coordinates}) - result["represent_hours"] = ("timeslice", [2920, 2920, 2920]) - result = result.set_coords("represent_hours") - return result - - @fixture def coords() -> Mapping: """Technoeconomics coordinates.""" From 908872a8c95d795521ad5f1da38c91f28138131b Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 16 Oct 2024 15:11:33 +0100 Subject: [PATCH 037/121] Fix market fixtures --- tests/conftest.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index b73ade597..703f025a9 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -303,7 +303,7 @@ def var(*dims, factor=100.0): def agent_market(coords, technologies, timeslice) -> Dataset: from numpy.random import rand - result = timeslice.copy() + result = Dataset(coords=timeslice.coords) result["commodity"] = "commodity", coords["commodity"] result["region"] = "region", coords["region"] result["technology"] = "technology", coords["technology"] @@ -325,7 +325,7 @@ def var(*dims, factor=100.0): def market(coords, technologies, timeslice) -> Dataset: from numpy.random import rand - result = timeslice.copy() + result = Dataset(coords=timeslice.coords) result["commodity"] = "commodity", coords["commodity"] result["region"] = "region", coords["region"] result["year"] = "year", coords["year"] From e0a8c3a1a31c88a9a1ac004e14a0def3df6af382 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 16 Oct 2024 15:23:34 +0100 Subject: [PATCH 038/121] More test fixes --- tests/conftest.py | 1 - tests/test_demand_share.py | 12 ++++++------ tests/test_fullsim_regression.py | 2 -- tests/test_quantities.py | 9 ++------- 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 703f025a9..8dc90a576 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -490,7 +490,6 @@ def demand_share(coords, timeslice): } shape = len(axes["commodity"]), len(axes["asset"]), len(axes["timeslice"]) result = DataArray(rand(*shape), coords=axes, dims=axes.keys(), name="demand_share") - result.coords["represent_hours"] = timeslice.represent_hours return result diff --git a/tests/test_demand_share.py b/tests/test_demand_share.py index 65f8ddc02..b2beee5d5 100644 --- a/tests/test_demand_share.py +++ b/tests/test_demand_share.py @@ -227,8 +227,8 @@ def test_new_retro_demand_share(technologies, coords, market, timeslice, stock_f asia_stock = stock_factory(coords, technologies).expand_dims(region=["ASEAN"]) usa_stock = stock_factory(coords, technologies).expand_dims(region=["USA"]) - asia_market = _matching_market(technologies, asia_stock, timeslice) - usa_market = _matching_market(technologies, usa_stock, timeslice) + asia_market = _matching_market(technologies, asia_stock) + usa_market = _matching_market(technologies, usa_stock) market = xr.concat((asia_market, usa_market), dim="region") market.consumption.loc[{"year": 2031}] *= 2 @@ -281,8 +281,8 @@ def test_standard_demand_share(technologies, coords, market, timeslice, stock_fa asia_stock = stock_factory(coords, technologies).expand_dims(region=["ASEAN"]) usa_stock = stock_factory(coords, technologies).expand_dims(region=["USA"]) - asia_market = _matching_market(technologies, asia_stock, timeslice) - usa_market = _matching_market(technologies, usa_stock, timeslice) + asia_market = _matching_market(technologies, asia_stock) + usa_market = _matching_market(technologies, usa_stock) market = xr.concat((asia_market, usa_market), dim="region") market.consumption.loc[{"year": 2031}] *= 2 @@ -334,8 +334,8 @@ def test_unmet_forecast_demand(technologies, coords, timeslice, stock_factory): asia_stock = stock_factory(coords, technologies).expand_dims(region=["ASEAN"]) usa_stock = stock_factory(coords, technologies).expand_dims(region=["USA"]) - asia_market = _matching_market(technologies, asia_stock, timeslice) - usa_market = _matching_market(technologies, usa_stock, timeslice) + asia_market = _matching_market(technologies, asia_stock) + usa_market = _matching_market(technologies, usa_stock) market = xr.concat((asia_market, usa_market), dim="region") # spoof some agents diff --git a/tests/test_fullsim_regression.py b/tests/test_fullsim_regression.py index 973d36ff6..d508b7447 100644 --- a/tests/test_fullsim_regression.py +++ b/tests/test_fullsim_regression.py @@ -5,7 +5,6 @@ from muse.examples import available_examples -@mark.usefixtures("save_timeslice_globals") @mark.regression @mark.example @mark.parametrize("model", available_examples()) @@ -40,7 +39,6 @@ def available_tutorials(): return [d.parent for d in base_path.rglob("*/input") if d.is_dir()] -@mark.usefixtures("save_timeslice_globals") @mark.regression @mark.tutorial @mark.parametrize("tutorial_path", available_tutorials()) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index 27f22f7a1..67c1d904e 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -89,6 +89,7 @@ def test_supply_emissions(technologies, capacity): def test_gross_margin(technologies, capacity, market): from muse.commodities import is_enduse, is_fuel, is_pollutant from muse.quantities import gross_margin + from muse.timeslices import convert_timeslice """ Gross margin refers to the calculation @@ -118,12 +119,7 @@ def test_gross_margin(technologies, capacity, market): revenues = prices * prod * sum(is_enduse(usage)) env_costs = env_prices * envs * sum(is_pollutant(usage)) cons_costs = prices * fuels * sum(is_fuel(usage)) - var_costs = ( - vp - * ((prod * sum(is_enduse(usage))) ** ve) - * market.represent_hours - / sum(market.represent_hours) - ) + var_costs = convert_timeslice(vp * ((prod * sum(is_enduse(usage))) ** ve)) expected = revenues - env_costs - cons_costs - var_costs expected *= 100 / revenues @@ -177,7 +173,6 @@ def test_consumption_no_flex(technologies, production, market): technologies.flexible_inputs[:] = 0 actual = consumption(technologies, production, market.prices) - expected = expected * market.represent_hours / market.represent_hours.sum() actual, expected = xr.broadcast(actual, expected) assert actual.values == approx(expected.values) From 803480717917da2520e8efafdc5ebed176c76b3f Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 16 Oct 2024 15:47:45 +0100 Subject: [PATCH 039/121] Fix a fixture --- tests/test_demand_share.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_demand_share.py b/tests/test_demand_share.py index b2beee5d5..17e73b248 100644 --- a/tests/test_demand_share.py +++ b/tests/test_demand_share.py @@ -8,7 +8,7 @@ def matching_market(technologies, stock, timeslice): """A market which matches stocks exactly.""" return ( - _matching_market(technologies, stock, timeslice) + _matching_market(technologies, stock) .interp(year=[2010, 2015, 2020, 2025]) .transpose("timeslice", "region", "commodity", "year") ) From 1bd7c84493b0838e097820845d0394241dc728a9 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 16 Oct 2024 16:26:39 +0100 Subject: [PATCH 040/121] Move default timeslice settings to conftest --- src/muse/timeslices.py | 45 --------------------------------------- tests/conftest.py | 46 ++++++++++++++++++++++++++++++++++++++-- tests/test_quantities.py | 2 +- tests/test_readers.py | 10 ++++----- 4 files changed, 49 insertions(+), 54 deletions(-) diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index f790ab8e8..8f324bfb7 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -20,48 +20,6 @@ TRANSFORMS: dict[tuple, ndarray] = None # type: ignore """Transforms from each aggregate to the finest timeslice.""" -DEFAULT_TIMESLICE_DESCRIPTION = """ - [timeslices] - winter.weekday.night = 396 - winter.weekday.morning = 396 - winter.weekday.afternoon = 264 - winter.weekday.early-peak = 66 - winter.weekday.late-peak = 66 - winter.weekday.evening = 396 - winter.weekend.night = 156 - winter.weekend.morning = 156 - winter.weekend.afternoon = 156 - winter.weekend.evening = 156 - spring-autumn.weekday.night = 792 - spring-autumn.weekday.morning = 792 - spring-autumn.weekday.afternoon = 528 - spring-autumn.weekday.early-peak = 132 - spring-autumn.weekday.late-peak = 132 - spring-autumn.weekday.evening = 792 - spring-autumn.weekend.night = 300 - spring-autumn.weekend.morning = 300 - spring-autumn.weekend.afternoon = 300 - spring-autumn.weekend.evening = 300 - summer.weekday.night = 396 - summer.weekday.morning = 396 - summer.weekday.afternoon = 264 - summer.weekday.early-peak = 66 - summer.weekday.late-peak = 66 - summer.weekday.evening = 396 - summer.weekend.night = 150 - summer.weekend.morning = 150 - summer.weekend.afternoon = 150 - summer.weekend.evening = 150 - level_names = ["month", "day", "hour"] - - [timeslices.aggregates] - all-day = [ - "night", "morning", "afternoon", "early-peak", "late-peak", "evening", "night" - ] - all-week = ["weekday", "weekend"] - all-year = ["winter", "summer", "spring-autumn"] - """ - def read_timeslices( settings: Union[Mapping, str], @@ -195,6 +153,3 @@ def drop_timeslice(data: DataArray) -> DataArray: return data return data.drop_vars(data.timeslice.indexes) - - -setup_module(DEFAULT_TIMESLICE_DESCRIPTION) diff --git a/tests/conftest.py b/tests/conftest.py index 8dc90a576..9984599a5 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -153,9 +153,51 @@ def pytest_collection_modifyitems(config, items): @fixture def default_timeslice_globals(): - from muse import timeslices + from muse.timeslices import setup_module + + default_timeslices = """ + [timeslices] + winter.weekday.night = 396 + winter.weekday.morning = 396 + winter.weekday.afternoon = 264 + winter.weekday.early-peak = 66 + winter.weekday.late-peak = 66 + winter.weekday.evening = 396 + winter.weekend.night = 156 + winter.weekend.morning = 156 + winter.weekend.afternoon = 156 + winter.weekend.evening = 156 + spring-autumn.weekday.night = 792 + spring-autumn.weekday.morning = 792 + spring-autumn.weekday.afternoon = 528 + spring-autumn.weekday.early-peak = 132 + spring-autumn.weekday.late-peak = 132 + spring-autumn.weekday.evening = 792 + spring-autumn.weekend.night = 300 + spring-autumn.weekend.morning = 300 + spring-autumn.weekend.afternoon = 300 + spring-autumn.weekend.evening = 300 + summer.weekday.night = 396 + summer.weekday.morning = 396 + summer.weekday.afternoon = 264 + summer.weekday.early-peak = 66 + summer.weekday.late-peak = 66 + summer.weekday.evening = 396 + summer.weekend.night = 150 + summer.weekend.morning = 150 + summer.weekend.afternoon = 150 + summer.weekend.evening = 150 + level_names = ["month", "day", "hour"] + + [timeslices.aggregates] + all-day = [ + "night", "morning", "afternoon", "early-peak", "late-peak", "evening", "night" + ] + all-week = ["weekday", "weekend"] + all-year = ["winter", "summer", "spring-autumn"] + """ - timeslices.setup_module(timeslices.DEFAULT_TIMESLICE_DESCRIPTION) + setup_module(default_timeslices) @fixture diff --git a/tests/test_quantities.py b/tests/test_quantities.py index 67c1d904e..0c6410f2b 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -139,7 +139,7 @@ def test_decommissioning_demand(technologies, capacity): technologies.fixed_outputs[:] = fouts = 0.5 technologies.utilization_factor[:] = ufac = 0.4 decom = decommissioning_demand(technologies, capacity, years) - assert set(decom.dims) == {"asset", "commodity", "year"} + assert set(decom.dims) == {"asset", "commodity", "year", "timeslice"} assert decom.sel(commodity=is_enduse(technologies.comm_usage)).values == approx( ufac * fouts * (current - forecast) ) diff --git a/tests/test_readers.py b/tests/test_readers.py index 69ff7ce7b..16e36f3bb 100644 --- a/tests/test_readers.py +++ b/tests/test_readers.py @@ -489,12 +489,12 @@ def test_read_technodata_timeslices(tmp_path): month_values = ["all-year"] * 6 day_values = ["all-week"] * 6 hour_values = [ + "night", + "morning", "afternoon", "early-peak", - "evening", "late-peak", - "morning", - "night", + "evening", ] assert list(data.coords["timeslice"].values) == list( @@ -598,11 +598,9 @@ def test_read_csv_agent_parameters(default_model): def test_read_initial_market(default_model): from muse.readers.csv import read_initial_market - from muse.readers.toml import read_settings - settings = read_settings(default_model / "settings.toml") path = default_model / "input" / "Projections.csv" - data = read_initial_market(path, timeslices=settings.timeslices) + data = read_initial_market(path) assert isinstance(data, xr.Dataset) assert set(data.dims) == {"region", "year", "commodity", "timeslice"} From c616694b850c24004715b10b7fbb4a5e65e50f20 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 17 Oct 2024 09:43:02 +0100 Subject: [PATCH 041/121] Fix docstring tests --- src/muse/constraints.py | 12 +++--------- src/muse/demand_share.py | 2 +- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/muse/constraints.py b/src/muse/constraints.py index 66c9fedd4..2514049e6 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -772,7 +772,6 @@ def lp_costs(technologies: xr.Dataset, costs: xr.DataArray) -> xr.Dataset: >>> from muse import examples >>> technologies = examples.technodata("residential", model="medium") >>> search_space = examples.search_space("residential", model="medium") - >>> timeslices = examples.sector("residential", model="medium").timeslices >>> costs = ( ... search_space ... * np.arange(np.prod(search_space.shape)).reshape(search_space.shape) @@ -808,7 +807,7 @@ def lp_costs(technologies: xr.Dataset, costs: xr.DataArray) -> xr.Dataset: which production occurs and the ``commodity`` produced. >>> lpcosts.production.dims - ('timeslice', 'asset', 'replacement', 'commodity') + ('asset', 'replacement', 'timeslice', 'commodity') """ from xarray import zeros_like @@ -956,7 +955,6 @@ def lp_constraint_matrix( ... .sel(region=assets.region) ... ), ... costs=search * np.arange(np.prod(search.shape)).reshape(search.shape), - ... timeslices=market.timeslice, ... ) For a simple example, we can first check the case where b is scalar. The result @@ -1076,7 +1074,6 @@ class ScipyAdapter: >>> from muse import examples >>> from muse.quantities import maximum_production - >>> from muse.timeslices import convert_timeslice >>> from muse import constraints as cs >>> res = examples.sector("residential", model="medium") >>> market = examples.residential_market("medium") @@ -1084,10 +1081,7 @@ class ScipyAdapter: >>> assets = next(a.assets for a in res.agents) >>> market_demand = 0.8 * maximum_production( ... res.technologies.interp(year=2025), - ... convert_timeslice( - ... assets.capacity.sel(year=2025).groupby("technology").sum("asset"), - ... market.timeslice, - ... ), + ... assets.capacity.sel(year=2025).groupby("technology").sum("asset"), ... ).rename(technology="asset") >>> costs = search * np.arange(np.prod(search.shape)).reshape(search.shape) >>> constraint = cs.max_capacity_expansion( @@ -1123,7 +1117,7 @@ class ScipyAdapter: >>> technologies = res.technologies.interp(year=market.year.min() + 5) >>> inputs = cs.ScipyAdapter.factory( - ... technologies, costs, market.timeslice, constraint + ... technologies, costs, constraint ... ) The decision variables are always constrained between zero and infinity: diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index d8da1d096..cad269a65 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -145,7 +145,7 @@ def new_and_retro( A_{a, s}^r = w_s\sum_i A_a^{r, i} with :math:`w_s` a weight associated with each timeslice and determined via - :py:func:`muse.timeslices.convert_timeslice_new`. + :py:func:`muse.timeslices.convert_timeslice`. #. An intermediate quantity, the :py:func:`unmet demand ` :math:`U` is defined from From d054a3ba9222f602f274c9886dce59975a14926f Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 17 Oct 2024 15:09:31 +0100 Subject: [PATCH 042/121] A few more tiny changes (e.g. typing) --- src/muse/agents/agent.py | 12 ++++++------ src/muse/demand_share.py | 3 +-- src/muse/sectors/sector.py | 4 +--- src/muse/sectors/subsector.py | 2 +- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/muse/agents/agent.py b/src/muse/agents/agent.py index 836adbab6..7e69d463a 100644 --- a/src/muse/agents/agent.py +++ b/src/muse/agents/agent.py @@ -81,7 +81,7 @@ def next( market: xr.Dataset, demand: xr.DataArray, time_period: int, - ): + ) -> None: """Increments agent to the next time point (e.g. performing investments).""" def __repr__(self): @@ -243,7 +243,7 @@ def next( market: xr.Dataset, demand: xr.DataArray, time_period: int, - ): + ) -> None: self.year += time_period def compute_decision( @@ -251,8 +251,8 @@ def compute_decision( technologies: xr.Dataset, market: xr.Dataset, demand: xr.DataArray, - search_space, - ): + search_space: xr.DataArray, + ) -> xr.DataArray: # Filter technologies according to the search space, forecast year and region techs = self.filter_input( technologies, @@ -319,7 +319,7 @@ def next( market: xr.Dataset, demand: xr.DataArray, time_period: int, - ): + ) -> None: """Iterates agent one turn. The goal is to figure out from market variables which technologies to @@ -399,7 +399,7 @@ def add_investments( investments: xr.DataArray, current_year: int, time_period: int, - ): + ) -> None: """Add new assets to the agent.""" # Calculate retirement profile of new assets new_capacity = self.retirement_profile( diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index 9c7e42120..69fcca891 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -484,7 +484,7 @@ def _inner_split( # Calculates the demand divided by the number of assets times the number of agents # if the demand is bigger than zero and the total demand assigned with the "method" - # function is zero (i.e. no decrease in production). + # function is zero. unassigned = (demand / (len(shares) * len(summed_shares))).where( logical_and(demand > 1e-12, total <= 1e-12), 0 ) @@ -583,7 +583,6 @@ def new_consumption( ) assert isinstance(ts_capa, xr.DataArray) - # missing = unmet_demand(current, ts_capa, technologies) consumption = minimum(delta, missing) return consumption diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index d5c2b517c..8d0f082ff 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -71,7 +71,6 @@ def factory(cls, name: str, settings: Any) -> Sector: # Create outputs outputs = ofactory(*sector_settings.pop("outputs", []), sector_name=name) - # supply_args = sector_settings.pop( "supply", sector_settings.pop("dispatch_production", {}) ) @@ -171,8 +170,7 @@ def __init__( def forecast(self): """Maximum forecast horizon across agents. - If no agents with a "forecast" attribute are found, defaults to 5. It cannot be - lower than 1 year. + It cannot be lower than 1 year. """ forecasts = [getattr(agent, "forecast") for agent in self.agents] return max(1, max(forecasts)) diff --git a/src/muse/sectors/subsector.py b/src/muse/sectors/subsector.py index 3beb7efa9..edf82a191 100644 --- a/src/muse/sectors/subsector.py +++ b/src/muse/sectors/subsector.py @@ -87,7 +87,7 @@ def aggregate_lp( market: xr.Dataset, time_period, current_year, - ): + ) -> None: from muse.utilities import agent_concatenation, reduce_assets # Split demand across agents From 0c84ba9feed0040ee38092ee688bf1f2a12b574c Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 17 Oct 2024 15:12:34 +0100 Subject: [PATCH 043/121] Remove inline comment --- src/muse/demand_share.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index 69fcca891..eeae9caf6 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -489,7 +489,6 @@ def _inner_split( logical_and(demand > 1e-12, total <= 1e-12), 0 ) - # ??? totals = { key: (share / share.sum("asset")).fillna(0) for key, share in shares.items() } From a02088e0fc1f59c039469183d426727aba9790c4 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 21 Oct 2024 15:09:41 +0100 Subject: [PATCH 044/121] Small changes --- src/muse/constraints.py | 1 - src/muse/demand_share.py | 3 +++ src/muse/readers/csv.py | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/muse/constraints.py b/src/muse/constraints.py index e783afc13..51f931925 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -466,7 +466,6 @@ def max_production( .drop_vars("technology") ) capacity = convert_timeslice(techs.fixed_outputs) * techs.utilization_factor - if "asset" not in capacity.dims and "asset" in search_space.dims: capacity = capacity.expand_dims(asset=search_space.asset) production = ones_like(capacity) diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index 5ddefcfdb..af81fccb6 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -602,8 +602,11 @@ def new_and_retro_demands( # Interpolate market to forecast year smarket: xr.Dataset = market.interp(year=[current_year, current_year + forecast]) + + # Interpolate capacity to forecast year capa = capacity.interp(year=[current_year, current_year + forecast]) assert isinstance(capa, xr.DataArray) + if hasattr(capa, "region") and capa.region.dims == (): capa["region"] = "asset", [str(capa.region.values)] * len(capa.asset) diff --git a/src/muse/readers/csv.py b/src/muse/readers/csv.py index 0a0a08404..f159d61c7 100644 --- a/src/muse/readers/csv.py +++ b/src/muse/readers/csv.py @@ -136,7 +136,7 @@ def to_agent_share(name): def read_technodata_timeslices(filename: Union[str, Path]) -> xr.Dataset: from muse.readers import camel_to_snake - from muse.timeslices import TIMESLICE, convert_timeslice + from muse.timeslices import convert_timeslice csv = pd.read_csv(filename, float_precision="high", low_memory=False) csv = csv.rename(columns=camel_to_snake) @@ -170,7 +170,7 @@ def read_technodata_timeslices(filename: Union[str, Path]) -> xr.Dataset: if item not in ["technology", "region", "year"] ] result = result.stack(timeslice=timeslice_levels) - result = convert_timeslice(result, TIMESLICE) + result = convert_timeslice(result) # sorts timeslices into the correct order return result From 4785412adff6da4e706685cc41b9fcb8269f63f2 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 22 Oct 2024 09:03:34 +0100 Subject: [PATCH 045/121] Fix constraints tests --- tests/test_constraints.py | 42 ++++++++++++++------------------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/tests/test_constraints.py b/tests/test_constraints.py index 64e645883..3681821cf 100644 --- a/tests/test_constraints.py +++ b/tests/test_constraints.py @@ -20,14 +20,6 @@ def residential(model): return examples.sector("residential", model=model) -@fixture(params=["timeslice_as_list", "timeslice_as_multindex"]) -def timeslices(market, request): - timeslice = market.timeslice - if request.param == "timeslice_as_multindex": - timeslice = _as_list(timeslice) - return timeslice - - @fixture def technologies(residential): return residential.technologies.squeeze("region") @@ -206,12 +198,12 @@ def test_lp_constraint(constraint, lpcosts): assert result.b.values == approx(0) -def test_to_scipy_adapter_maxprod(technologies, costs, max_production, timeslices): +def test_to_scipy_adapter_maxprod(technologies, costs, max_production): from muse.constraints import ScipyAdapter, lp_costs technologies = technologies.interp(year=2025) - adapter = ScipyAdapter.factory(technologies, costs, timeslices, max_production) + adapter = ScipyAdapter.factory(technologies, costs, max_production) assert set(adapter.kwargs) == {"c", "A_ub", "b_ub", "A_eq", "b_eq", "bounds"} assert adapter.bounds == (0, np.inf) assert adapter.A_eq is None @@ -231,12 +223,12 @@ def test_to_scipy_adapter_maxprod(technologies, costs, max_production, timeslice assert adapter.A_ub[:, capsize:] == approx(np.eye(prodsize)) -def test_to_scipy_adapter_demand(technologies, costs, demand_constraint, timeslices): +def test_to_scipy_adapter_demand(technologies, costs, demand_constraint): from muse.constraints import ScipyAdapter, lp_costs technologies = technologies.interp(year=2025) - adapter = ScipyAdapter.factory(technologies, costs, timeslices, demand_constraint) + adapter = ScipyAdapter.factory(technologies, costs, demand_constraint) assert set(adapter.kwargs) == {"c", "A_ub", "b_ub", "A_eq", "b_eq", "bounds"} assert adapter.bounds == (0, np.inf) assert adapter.A_ub is not None @@ -263,15 +255,13 @@ def test_to_scipy_adapter_demand(technologies, costs, demand_constraint, timesli def test_to_scipy_adapter_max_capacity_expansion( - technologies, costs, max_capacity_expansion, timeslices + technologies, costs, max_capacity_expansion ): from muse.constraints import ScipyAdapter, lp_costs technologies = technologies.interp(year=2025) - adapter = ScipyAdapter.factory( - technologies, costs, timeslices, max_capacity_expansion - ) + adapter = ScipyAdapter.factory(technologies, costs, max_capacity_expansion) assert set(adapter.kwargs) == {"c", "A_ub", "b_ub", "A_eq", "b_eq", "bounds"} assert adapter.bounds == (0, np.inf) assert adapter.A_ub is not None @@ -295,12 +285,12 @@ def test_to_scipy_adapter_max_capacity_expansion( assert set(adapter.A_ub[:, :capsize].flatten()) == {0.0, 1.0} -def test_to_scipy_adapter_no_constraint(technologies, costs, timeslices): +def test_to_scipy_adapter_no_constraint(technologies, costs): from muse.constraints import ScipyAdapter, lp_costs technologies = technologies.interp(year=2025) - adapter = ScipyAdapter.factory(technologies, costs, timeslices) + adapter = ScipyAdapter.factory(technologies, costs) assert set(adapter.kwargs) == {"c", "A_ub", "b_ub", "A_eq", "b_eq", "bounds"} assert adapter.bounds == (0, np.inf) assert adapter.A_ub is None @@ -315,7 +305,7 @@ def test_to_scipy_adapter_no_constraint(technologies, costs, timeslices): assert adapter.c.size == capsize + prodsize -def test_back_to_muse_capacity(technologies, costs, timeslices): +def test_back_to_muse_capacity(technologies, costs): from muse.constraints import ScipyAdapter, lp_costs technologies = technologies.interp(year=2025) @@ -330,7 +320,7 @@ def test_back_to_muse_capacity(technologies, costs, timeslices): assert (copy == lpcosts.capacity).all() -def test_back_to_muse_production(technologies, costs, timeslices): +def test_back_to_muse_production(technologies, costs): from muse.constraints import ScipyAdapter, lp_costs technologies = technologies.interp(year=2025) @@ -350,7 +340,7 @@ def test_back_to_muse_production(technologies, costs, timeslices): assert (copy == lpcosts.production).all() -def test_back_to_muse_all(technologies, costs, timeslices, rng: np.random.Generator): +def test_back_to_muse_all(technologies, costs, rng: np.random.Generator): from muse.constraints import ScipyAdapter, lp_costs technologies = technologies.interp(year=2025) @@ -381,7 +371,7 @@ def test_back_to_muse_all(technologies, costs, timeslices, rng: np.random.Genera assert (copy.production == lpcosts.production).all() -def test_scipy_adapter_back_to_muse(technologies, costs, timeslices, rng): +def test_scipy_adapter_back_to_muse(technologies, costs, rng): from muse.constraints import ScipyAdapter, lp_costs technologies = technologies.interp(year=2025) @@ -404,7 +394,7 @@ def test_scipy_adapter_back_to_muse(technologies, costs, timeslices, rng): ) ) - adapter = ScipyAdapter.factory(technologies, costs, timeslices) + adapter = ScipyAdapter.factory(technologies, costs) assert (adapter.to_muse(x).capacity == lpcosts.capacity).all() assert (adapter.to_muse(x).production == lpcosts.production).all() @@ -420,14 +410,12 @@ def _as_list(data: Union[xr.DataArray, xr.Dataset]) -> Union[xr.DataArray, xr.Da return data -def test_scipy_adapter_standard_constraints( - technologies, costs, constraints, timeslices -): +def test_scipy_adapter_standard_constraints(technologies, costs, constraints): from muse.constraints import ScipyAdapter technologies = technologies.interp(year=2025) - adapter = ScipyAdapter.factory(technologies, costs, timeslices, *constraints) + adapter = ScipyAdapter.factory(technologies, costs, *constraints) maxprod = next(cs for cs in constraints if cs.name == "max_production") maxcapa = next(cs for cs in constraints if cs.name == "max capacity expansion") demand = next(cs for cs in constraints if cs.name == "demand") From 88d40b489f80f55685bebd6081f80106d97aaaa1 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 22 Oct 2024 09:07:30 +0100 Subject: [PATCH 046/121] Fix remaining tests --- src/muse/timeslices.py | 4 ++-- tests/test_readers.py | 4 ++-- tests/test_timeslices.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index 8f324bfb7..55eec9092 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -44,8 +44,8 @@ def read_timeslices( weight of each timeslice. Example: - >>> from muse.timeslices import reference_timeslice - >>> reference_timeslice( + >>> from muse.timeslices import read_timeslices + >>> read_timeslices( ... """ ... [timeslices] ... spring.weekday = 5 diff --git a/tests/test_readers.py b/tests/test_readers.py index 066c81b19..b4400a06a 100644 --- a/tests/test_readers.py +++ b/tests/test_readers.py @@ -484,8 +484,8 @@ def test_read_technodata_timeslices(tmp_path): assert isinstance(data, xr.Dataset) assert set(data.dims) == {"technology", "region", "year", "timeslice"} assert dict(data.dtypes) == dict( - utilization_factor=np.float64, - minimum_service_factor=np.float64, + utilization_factor=np.int64, + minimum_service_factor=np.int64, ) assert list(data.coords["technology"].values) == ["gasCCGT", "windturbine"] assert list(data.coords["region"].values) == ["R1"] diff --git a/tests/test_timeslices.py b/tests/test_timeslices.py index a704969e0..d1dd4e72f 100644 --- a/tests/test_timeslices.py +++ b/tests/test_timeslices.py @@ -51,7 +51,7 @@ def timeslice_dataarray(reference): ) -def test_reference_timeslice(): +def test_read_timeslices(): from toml import loads from muse.timeslices import read_timeslices From 4fbc1ff06e04035e33db66219011fa0e2edfb4dd Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 22 Oct 2024 16:17:24 +0100 Subject: [PATCH 047/121] Create separate functions for broadcasting and distributing timeslices --- src/muse/constraints.py | 12 ++++---- src/muse/costs.py | 14 ++++----- src/muse/demand_share.py | 2 +- src/muse/objectives.py | 16 +++++----- src/muse/outputs/mca.py | 50 ++++++++++++++----------------- src/muse/quantities.py | 20 ++++++++----- src/muse/readers/csv.py | 10 +++---- src/muse/sectors/preset_sector.py | 4 +-- src/muse/sectors/sector.py | 8 ++--- src/muse/timeslices.py | 42 +++++++------------------- tests/test_costs.py | 4 +-- tests/test_quantities.py | 18 +++++------ 12 files changed, 87 insertions(+), 113 deletions(-) diff --git a/src/muse/constraints.py b/src/muse/constraints.py index 51f931925..16275624b 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -446,7 +446,7 @@ def max_production( from xarray import ones_like, zeros_like from muse.commodities import is_enduse - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice if year is None: year = int(market.year.min()) @@ -465,7 +465,7 @@ def max_production( .sel(**kwargs) .drop_vars("technology") ) - capacity = convert_timeslice(techs.fixed_outputs) * techs.utilization_factor + capacity = distribute_timeslice(techs.fixed_outputs) * techs.utilization_factor if "asset" not in capacity.dims and "asset" in search_space.dims: capacity = capacity.expand_dims(asset=search_space.asset) production = ones_like(capacity) @@ -724,7 +724,7 @@ def minimum_service( from xarray import ones_like, zeros_like from muse.commodities import is_enduse - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice if "minimum_service_factor" not in technologies.data_vars: return None @@ -747,7 +747,7 @@ def minimum_service( .sel(**kwargs) .drop_vars("technology") ) - capacity = convert_timeslice(techs.fixed_outputs) * techs.minimum_service_factor + capacity = distribute_timeslice(techs.fixed_outputs) * techs.minimum_service_factor if "asset" not in capacity.dims: capacity = capacity.expand_dims(asset=search_space.asset) production = ones_like(capacity) @@ -808,7 +808,7 @@ def lp_costs(technologies: xr.Dataset, costs: xr.DataArray) -> xr.Dataset: from xarray import zeros_like from muse.commodities import is_enduse - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice assert "year" not in technologies.dims @@ -821,7 +821,7 @@ def lp_costs(technologies: xr.Dataset, costs: xr.DataArray) -> xr.Dataset: selection["region"] = costs.region fouts = technologies.fixed_outputs.sel(selection).rename(technology="replacement") - production = zeros_like(costs * convert_timeslice(fouts)) + production = zeros_like(costs * distribute_timeslice(fouts)) for dim in production.dims: if isinstance(production.get_index(dim), pd.MultiIndex): production = drop_timeslice(production) diff --git a/src/muse/costs.py b/src/muse/costs.py index 3091cf94e..585417b6c 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -13,7 +13,7 @@ from muse.commodities import is_enduse, is_fuel, is_material, is_pollutant from muse.quantities import consumption -from muse.timeslices import convert_timeslice +from muse.timeslices import distribute_timeslice from muse.utilities import filter_input @@ -96,7 +96,7 @@ def net_present_value( raw_revenues = (production * prices_non_env * rates).sum(("commodity", "year")) # Cost of installed capacity - installed_capacity_costs = convert_timeslice( + installed_capacity_costs = distribute_timeslice( techs.cap_par * (capacity**techs.cap_exp), ) @@ -118,7 +118,7 @@ def net_present_value( material_costs = (production * prices_material * rates).sum(("commodity", "year")) # Fixed and Variable costs - fixed_costs = convert_timeslice( + fixed_costs = distribute_timeslice( techs.fix_par * (capacity**techs.fix_exp), ) variable_costs = techs.var_par * ( @@ -256,7 +256,7 @@ def lifetime_levelized_cost_of_energy( fuels = is_fuel(technologies.comm_usage) # Cost of installed capacity - installed_capacity_costs = convert_timeslice( + installed_capacity_costs = distribute_timeslice( techs.cap_par * (capacity**techs.cap_exp), ) @@ -278,7 +278,7 @@ def lifetime_levelized_cost_of_energy( material_costs = (production * prices_material * rates).sum(("commodity", "year")) # Fixed and Variable costs - fixed_costs = convert_timeslice( + fixed_costs = distribute_timeslice( techs.fix_par * (capacity**techs.fix_exp), ) variable_costs = ( @@ -364,11 +364,11 @@ def annual_levelized_cost_of_energy( rates = techs.interest_rate / (1 - (1 + techs.interest_rate) ** (-life)) annualized_capital_costs = ( - convert_timeslice(techs.cap_par * rates) / techs.utilization_factor + distribute_timeslice(techs.cap_par * rates) / techs.utilization_factor ) o_and_e_costs = ( - convert_timeslice(techs.fix_par + techs.var_par) / techs.utilization_factor + distribute_timeslice(techs.fix_par + techs.var_par) / techs.utilization_factor ) fuel_costs = (techs.fixed_inputs * prices).sum("commodity") diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index af81fccb6..e3fbb7b10 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -145,7 +145,7 @@ def new_and_retro( A_{a, s}^r = w_s\sum_i A_a^{r, i} with :math:`w_s` a weight associated with each timeslice and determined via - :py:func:`muse.timeslices.convert_timeslice`. + :py:func:`muse.timeslices.distribute_timeslice`. #. An intermediate quantity, the :py:func:`unmet demand ` :math:`U` is defined from diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 9fb0988df..94e1d618c 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -383,12 +383,12 @@ def lifetime_levelized_cost_of_energy( due to a zero utilisation factor. """ from muse.costs import lifetime_levelized_cost_of_energy as LCOE - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice capacity = capacity_to_service_demand(technologies, demand) production = ( capacity - * convert_timeslice(technologies.fixed_outputs) + * distribute_timeslice(technologies.fixed_outputs) * technologies.utilization_factor ) @@ -416,12 +416,12 @@ def net_present_value( See :py:func:`muse.costs.net_present_value` for more details. """ from muse.costs import net_present_value as NPV - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice capacity = capacity_to_service_demand(technologies, demand) production = ( capacity - * convert_timeslice(technologies.fixed_outputs) + * distribute_timeslice(technologies.fixed_outputs) * technologies.utilization_factor ) @@ -448,12 +448,12 @@ def net_present_cost( See :py:func:`muse.costs.net_present_cost` for more details. """ from muse.costs import net_present_cost as NPC - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice capacity = capacity_to_service_demand(technologies, demand) production = ( capacity - * convert_timeslice(technologies.fixed_outputs) + * distribute_timeslice(technologies.fixed_outputs) * technologies.utilization_factor ) @@ -480,12 +480,12 @@ def equivalent_annual_cost( See :py:func:`muse.costs.equivalent_annual_cost` for more details. """ from muse.costs import equivalent_annual_cost as EAC - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice capacity = capacity_to_service_demand(technologies, demand) production = ( capacity - * convert_timeslice(technologies.fixed_outputs) + * distribute_timeslice(technologies.fixed_outputs) * technologies.utilization_factor ) diff --git a/src/muse/outputs/mca.py b/src/muse/outputs/mca.py index f714de2a0..b50976d11 100644 --- a/src/muse/outputs/mca.py +++ b/src/muse/outputs/mca.py @@ -35,7 +35,7 @@ def quantity( from muse.outputs.sector import market_quantity from muse.registration import registrator from muse.sectors import AbstractSector -from muse.timeslices import convert_timeslice, drop_timeslice +from muse.timeslices import distribute_timeslice, drop_timeslice from muse.utilities import multiindex_to_coords OUTPUT_QUANTITY_SIGNATURE = Callable[ @@ -350,12 +350,10 @@ def sector_supply(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Da ] agent_market.loc[dict(commodity=excluded)] = 0 - result = convert_timeslice( - supply( - agent_market, - capacity, - technologies, - ), + result = supply( + agent_market, + capacity, + technologies, ) if "year" in result.dims: @@ -580,13 +578,12 @@ def sector_consumption( ] agent_market.loc[dict(commodity=excluded)] = 0 - production = convert_timeslice( - supply( - agent_market, - capacity, - technologies, - ), + production = supply( + agent_market, + capacity, + technologies, ) + prices = a.filter_input(market.prices, year=output_year) result = consumption( technologies=technologies, production=production, prices=prices @@ -720,12 +717,10 @@ def sector_fuel_costs( year=output_year, ).fillna(0.0) - production = convert_timeslice( - supply( - agent_market, - capacity, - technologies, - ), + production = supply( + agent_market, + capacity, + technologies, ) prices = a.filter_input(market.prices, year=output_year) @@ -776,7 +771,7 @@ def sector_capital_costs( year=output_year, technology=capacity.technology, ) - data_agent = convert_timeslice(data.cap_par * (capacity**data.cap_exp)) + data_agent = distribute_timeslice(data.cap_par * (capacity**data.cap_exp)) data_agent["agent"] = a.name data_agent["category"] = a.category data_agent["sector"] = getattr(sector, "name", "unnamed") @@ -833,13 +828,12 @@ def sector_emission_costs( i = (np.where(envs))[0][0] red_envs = envs[i].commodity.values prices = a.filter_input(market.prices, year=output_year, commodity=red_envs) - production = convert_timeslice( - supply( - agent_market, - capacity, - technologies, - ), + production = supply( + agent_market, + capacity, + technologies, ) + total = production.sel(commodity=enduses).sum("commodity") data_agent = total * (allemissions * prices).sum("commodity") data_agent["agent"] = a.name @@ -906,7 +900,7 @@ def sector_lcoe(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Data capacity = agent.filter_input(capacity_to_service_demand(demand, techs)) production = ( capacity - * convert_timeslice(techs.fixed_outputs) + * distribute_timeslice(techs.fixed_outputs) * techs.utilization_factor ) @@ -983,7 +977,7 @@ def sector_eac(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.DataF capacity = agent.filter_input(capacity_to_service_demand(demand, techs)) production = ( capacity - * convert_timeslice(techs.fixed_outputs) + * distribute_timeslice(techs.fixed_outputs) * techs.utilization_factor ) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 0d7513982..13b627a70 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -153,7 +153,7 @@ def gross_margin( - non-environmental commodities OUTPUTS are related to revenues. """ from muse.commodities import is_enduse, is_pollutant - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice from muse.utilities import broadcast_techs tech = broadcast_techs( # type: ignore @@ -190,7 +190,7 @@ def gross_margin( enduses = is_enduse(technologies.comm_usage) # Variable costs depend on factors such as labour - variable_costs = convert_timeslice( + variable_costs = distribute_timeslice( var_par * ((fixed_outputs.sel(commodity=enduses)).sum("commodity")) ** var_exp, ) @@ -340,7 +340,7 @@ def maximum_production(technologies: xr.Dataset, capacity: xr.DataArray, **filte filters and the set of technologies in `capacity`. """ from muse.commodities import is_enduse - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice from muse.utilities import broadcast_techs, filter_input capa = filter_input( @@ -352,7 +352,9 @@ def maximum_production(technologies: xr.Dataset, capacity: xr.DataArray, **filte ftechs = filter_input( btechs, **{k: v for k, v in filters.items() if k in btechs.dims} ) - result = capa * convert_timeslice(ftechs.fixed_outputs) * ftechs.utilization_factor + result = ( + capa * distribute_timeslice(ftechs.fixed_outputs) * ftechs.utilization_factor + ) return result.where(is_enduse(result.comm_usage), 0) @@ -543,7 +545,7 @@ def minimum_production(technologies: xr.Dataset, capacity: xr.DataArray, **filte the filters and the set of technologies in `capacity`. """ from muse.commodities import is_enduse - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice from muse.utilities import broadcast_techs, filter_input capa = filter_input( @@ -564,7 +566,9 @@ def minimum_production(technologies: xr.Dataset, capacity: xr.DataArray, **filte btechs, **{k: v for k, v in filters.items() if k in btechs.dims} ) result = ( - capa * convert_timeslice(ftechs.fixed_outputs) * ftechs.minimum_service_factor + capa + * distribute_timeslice(ftechs.fixed_outputs) + * ftechs.minimum_service_factor ) return result.where(is_enduse(result.comm_usage), 0) @@ -574,10 +578,10 @@ def capacity_to_service_demand( technologies: xr.Dataset, ) -> xr.DataArray: """Minimum capacity required to fulfill the demand.""" - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice timeslice_outputs = ( - convert_timeslice(technologies.fixed_outputs.sel(commodity=demand.commodity)) + distribute_timeslice(technologies.fixed_outputs.sel(commodity=demand.commodity)) * technologies.utilization_factor ) capa_to_service_demand = demand / timeslice_outputs diff --git a/src/muse/readers/csv.py b/src/muse/readers/csv.py index f159d61c7..91936a30b 100644 --- a/src/muse/readers/csv.py +++ b/src/muse/readers/csv.py @@ -136,7 +136,7 @@ def to_agent_share(name): def read_technodata_timeslices(filename: Union[str, Path]) -> xr.Dataset: from muse.readers import camel_to_snake - from muse.timeslices import convert_timeslice + from muse.timeslices import TIMESLICE csv = pd.read_csv(filename, float_precision="high", low_memory=False) csv = csv.rename(columns=camel_to_snake) @@ -170,7 +170,7 @@ def read_technodata_timeslices(filename: Union[str, Path]) -> xr.Dataset: if item not in ["technology", "region", "year"] ] result = result.stack(timeslice=timeslice_levels) - result = convert_timeslice(result) + result = result.sel(timeslice=TIMESLICE.timeslice) # sorts timeslices into the correct order return result @@ -607,7 +607,7 @@ def read_initial_market( """Read projections, import and export csv files.""" from logging import getLogger - from muse.timeslices import TIMESLICE, convert_timeslice + from muse.timeslices import TIMESLICE, distribute_timeslice # Projections must always be present if isinstance(projections, (str, Path)): @@ -630,8 +630,8 @@ def read_initial_market( getLogger(__name__).info("Base year import not provided. Set to zero.") base_year_import = xr.zeros_like(projections) - base_year_export = convert_timeslice(base_year_export) - base_year_import = convert_timeslice(base_year_import) + base_year_export = distribute_timeslice(base_year_export) + base_year_import = distribute_timeslice(base_year_import) base_year_export.name = "exports" base_year_import.name = "imports" diff --git a/src/muse/sectors/preset_sector.py b/src/muse/sectors/preset_sector.py index 04c6e48ca..116fece7e 100644 --- a/src/muse/sectors/preset_sector.py +++ b/src/muse/sectors/preset_sector.py @@ -30,7 +30,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: read_timeslice_shares, ) from muse.regressions import endogenous_demand - from muse.timeslices import TIMESLICE, convert_timeslice + from muse.timeslices import TIMESLICE, distribute_timeslice sector_conf = getattr(settings.sectors, name) presets = Dataset() @@ -118,7 +118,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: # add timeslice, if missing for component in {"supply", "consumption"}: if "timeslice" not in presets[component].dims: - presets[component] = convert_timeslice(presets[component]) + presets[component] = distribute_timeslice(presets[component]) comm_usage = (presets.costs > 0).any(set(presets.costs.dims) - {"commodity"}) presets["comm_usage"] = ( diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index 7ce1bae40..9d10165cf 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -384,7 +384,7 @@ def convert_market_timeslice( intensive: str | tuple[str] = "prices", ) -> xr.Dataset: """Converts market from one to another timeslice.""" - from muse.timeslices import TIMESLICE, QuantityType, convert_timeslice + from muse.timeslices import broadcast_timeslice if isinstance(intensive, str): intensive = (intensive,) @@ -393,11 +393,7 @@ def convert_market_timeslice( intensives = market[list(timesliced.intersection(intensive))] if "timeslice" not in intensives.dims: - intensives = convert_timeslice( - intensives, - TIMESLICE, - QuantityType.EXTENSIVE, - ) + intensives = broadcast_timeslice(intensives) extensives = market[list(timesliced.difference(intensives.data_vars))] others = market[list(set(market.data_vars).difference(timesliced))] return xr.merge([intensives, extensives, others]) diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index 55eec9092..ce6425ffd 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -2,13 +2,13 @@ __all__ = [ "read_timeslices", - "convert_timeslice", + "broadcast_timeslice", + "distribute_timeslice", "drop_timeslice", "setup_module", ] from collections.abc import Mapping, Sequence -from enum import Enum, unique from typing import Union from numpy import ndarray @@ -105,43 +105,23 @@ def setup_module(settings: Union[str, Mapping]): TIMESLICE = read_timeslices(settings) -@unique -class QuantityType(Enum): - """Underlying transformation when performing time-slice conversion. - - The meaning of a quantity vs the time-slice can be different: - - - intensive: when extending the period of interest, quantities should be - added together. For instance the number of hours should be summed across - months. - - extensive: when extending the period of interest, quantities should be - broadcasted. For instance when extending a price from a one week period to - a two week period, the price should remain the same. Going in the opposite - direction (reducing the length of the time period), quantities should be - averaged. - """ - - INTENSIVE = "intensive" - EXTENSIVE = "extensive" - - -def convert_timeslice(x, ts=None, quantity=QuantityType.INTENSIVE): +def broadcast_timeslice(x, ts=None): from xarray import Coordinates if ts is None: ts = TIMESLICE - if hasattr(x, "timeslice"): - x = x.sel(timeslice=ts["timeslice"]) - return x - mindex_coords = Coordinates.from_pandas_multiindex(ts.timeslice, "timeslice") extensive = x.expand_dims(timeslice=ts["timeslice"]).assign_coords(mindex_coords) - if quantity is QuantityType.EXTENSIVE: - return extensive + return extensive + + +def distribute_timeslice(x, ts=None): + if ts is None: + ts = TIMESLICE - if quantity is QuantityType.INTENSIVE: - return extensive * (ts / ts.sum()) + extensive = broadcast_timeslice(x, ts) + return extensive * (ts / ts.sum()) def drop_timeslice(data: DataArray) -> DataArray: diff --git a/tests/test_costs.py b/tests/test_costs.py index 715239102..11cf46df6 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -19,11 +19,11 @@ def _capacity(technologies, demand_share): @fixture def _production(technologies, _capacity): - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice production = ( _capacity - * convert_timeslice(technologies.fixed_outputs) + * distribute_timeslice(technologies.fixed_outputs) * technologies.utilization_factor ) return production diff --git a/tests/test_quantities.py b/tests/test_quantities.py index bcd6c4cd6..d15943319 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -31,14 +31,14 @@ def production( ) -> xr.DataArray: from numpy.random import random - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice comms = xr.DataArray( random(len(technologies.commodity)), coords={"commodity": technologies.commodity}, dims="commodity", ) - return capacity * convert_timeslice(comms) + return capacity * distribute_timeslice(comms) def make_array(array): @@ -50,17 +50,17 @@ def test_supply_enduse(technologies, capacity, timeslice): """End-use part of supply.""" from muse.commodities import is_enduse from muse.quantities import maximum_production, supply - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice production = maximum_production(technologies, capacity) - demand = convert_timeslice(production.sum("asset") + 1) + demand = distribute_timeslice(production.sum("asset") + 1) spl = supply(capacity, demand, technologies).where( is_enduse(technologies.comm_usage), 0 ) assert (abs(spl - production) < 1e-12).all() assert (spl.sum("asset") < demand).all() - demand = convert_timeslice(production.sum("asset") * 0.7) + demand = distribute_timeslice(production.sum("asset") * 0.7) spl = supply(capacity, demand, technologies).where( is_enduse(technologies.comm_usage), 0 ) @@ -87,7 +87,7 @@ def test_supply_emissions(technologies, capacity): def test_gross_margin(technologies, capacity, market, timeslice): from muse.commodities import is_enduse, is_fuel, is_pollutant from muse.quantities import gross_margin - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice """ Gross margin refers to the calculation @@ -117,7 +117,7 @@ def test_gross_margin(technologies, capacity, market, timeslice): revenues = prices * prod * sum(is_enduse(usage)) env_costs = env_prices * envs * sum(is_pollutant(usage)) cons_costs = prices * fuels * sum(is_fuel(usage)) - var_costs = convert_timeslice(vp * ((prod * sum(is_enduse(usage))) ** ve)) + var_costs = distribute_timeslice(vp * ((prod * sum(is_enduse(usage))) ** ve)) expected = revenues - env_costs - cons_costs - var_costs expected *= 100 / revenues @@ -177,7 +177,7 @@ def test_consumption_with_flex(technologies, production, market, timeslice): from muse.commodities import is_enduse, is_fuel from muse.quantities import consumption - from muse.timeslices import convert_timeslice + from muse.timeslices import distribute_timeslice techs = technologies.copy() techs.fixed_inputs[:] = 0 @@ -206,7 +206,7 @@ def one_dim(dimension): prices = timeslice + commodity + year * region assert set(prices.dims) == set(market.prices.dims) noenduse = ~is_enduse(techs.comm_usage) - production = convert_timeslice(asset * year + commodity) + production = distribute_timeslice(asset * year + commodity) production.loc[{"commodity": noenduse}] = 0 actual = consumption(technologies, production, prices) From 0258ae983ce0254dd77398f9044cb8e9f8aab95e Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 22 Oct 2024 17:28:41 +0100 Subject: [PATCH 048/121] Check for existing timeslice dimension in broadcast_timeslice --- src/muse/timeslices.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/muse/timeslices.py b/src/muse/timeslices.py index ce6425ffd..d22ab791f 100644 --- a/src/muse/timeslices.py +++ b/src/muse/timeslices.py @@ -111,6 +111,12 @@ def broadcast_timeslice(x, ts=None): if ts is None: ts = TIMESLICE + # If x already has timeslices, check that it is matches the reference timeslice. + if "timeslice" in x.dims: + if x.timeslice.reset_coords(drop=True).equals(ts.timeslice): + return x + raise ValueError("x has incompatible timeslicing.") + mindex_coords = Coordinates.from_pandas_multiindex(ts.timeslice, "timeslice") extensive = x.expand_dims(timeslice=ts["timeslice"]).assign_coords(mindex_coords) return extensive @@ -121,7 +127,7 @@ def distribute_timeslice(x, ts=None): ts = TIMESLICE extensive = broadcast_timeslice(x, ts) - return extensive * (ts / ts.sum()) + return extensive * (ts / broadcast_timeslice(ts.sum())) def drop_timeslice(data: DataArray) -> DataArray: From b0ce2283e07cafd3927d4dfbb117187f060320c5 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 22 Oct 2024 17:51:13 +0100 Subject: [PATCH 049/121] Fix test --- tests/test_quantities.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index d15943319..8a1da12db 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -50,17 +50,16 @@ def test_supply_enduse(technologies, capacity, timeslice): """End-use part of supply.""" from muse.commodities import is_enduse from muse.quantities import maximum_production, supply - from muse.timeslices import distribute_timeslice production = maximum_production(technologies, capacity) - demand = distribute_timeslice(production.sum("asset") + 1) + demand = production.sum("asset") + 1 spl = supply(capacity, demand, technologies).where( is_enduse(technologies.comm_usage), 0 ) assert (abs(spl - production) < 1e-12).all() assert (spl.sum("asset") < demand).all() - demand = distribute_timeslice(production.sum("asset") * 0.7) + demand = production.sum("asset") * 0.7 spl = supply(capacity, demand, technologies).where( is_enduse(technologies.comm_usage), 0 ) From 885f752f48cca023a84f1910816ee0bde6e91e40 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 08:33:20 +0000 Subject: [PATCH 050/121] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/test_quantities.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index bbf6e2429..252cda67a 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -86,7 +86,7 @@ def test_supply_emissions(technologies, capacity): def test_gross_margin(technologies, capacity, market, timeslice): from muse.commodities import is_enduse, is_fuel, is_pollutant from muse.quantities import gross_margin - + """ Gross margin refers to the calculation .. _here: From 433c39c2775cb6074945f23b181b95d5c0733571 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 25 Oct 2024 09:47:21 +0100 Subject: [PATCH 051/121] Fix merge conflicts --- src/muse/costs.py | 29 ++++++----------------------- src/muse/objectives.py | 11 ++++------- src/muse/quantities.py | 9 ++------- 3 files changed, 12 insertions(+), 37 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 4c18a12a1..b379e93f9 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -371,38 +371,21 @@ def annual_levelized_cost_of_energy( distribute_timeslice(techs.fix_par + techs.var_par) / techs.utilization_factor ) - fuel_costs = ( - convert_timeslice(techs.fixed_inputs, prices.timeslice, QuantityType.EXTENSIVE) - * prices - ).sum("commodity") - - fuel_costs += ( - convert_timeslice( - techs.flexible_inputs, prices.timeslice, QuantityType.EXTENSIVE - ) - * prices - ).sum("commodity") + fuel_costs = (distribute_timeslice(techs.fixed_inputs) * prices).sum("commodity") + fuel_costs += (distribute_timeslice(techs.flexible_inputs) * prices).sum( + "commodity" + ) if "region" in techs.dims: env_costs = ( - ( - convert_timeslice( - techs.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE - ) - * prices - ) + (distribute_timeslice(techs.fixed_outputs) * prices) .sel(region=techs.region) .sel(commodity=is_pollutant(techs.comm_usage)) .sum("commodity") ) else: env_costs = ( - ( - convert_timeslice( - techs.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE - ) - * prices - ) + (distribute_timeslice(techs.fixed_outputs) * prices) .sel(commodity=is_pollutant(techs.comm_usage)) .sum("commodity") ) diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 27804da05..e0a67e017 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -317,18 +317,15 @@ def emission_cost( with :math:`s` the timeslices and :math:`c` the commodity. """ from muse.commodities import is_enduse, is_pollutant - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import distribute_timeslice enduses = is_enduse(technologies.comm_usage.sel(commodity=demand.commodity)) total = demand.sel(commodity=enduses).sum("commodity") envs = is_pollutant(technologies.comm_usage) prices = filter_input(prices, year=demand.year.item(), commodity=envs) - return total * ( - convert_timeslice( - technologies.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE - ) - * prices - ).sum("commodity") + return total * (distribute_timeslice(technologies.fixed_outputs) * prices).sum( + "commodity" + ) @register_objective diff --git a/src/muse/quantities.py b/src/muse/quantities.py index c79caeb98..cbfa57d64 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -196,14 +196,9 @@ def gross_margin( # The individual prices are selected # costs due to consumables, direct inputs - consumption_costs = ( - prices - * convert_timeslice(fixed_inputs, prices.timeslice, QuantityType.EXTENSIVE) - ).sum("commodity") + consumption_costs = (prices * distribute_timeslice(fixed_inputs)).sum("commodity") # costs due to pollutants - production_costs = prices * convert_timeslice( - fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE - ) + production_costs = prices * distribute_timeslice(fixed_outputs) environmental_costs = (production_costs.sel(commodity=environmentals)).sum( "commodity" ) From d5875f99076ee0fff94513d0efb62ad95c4ab91b Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 28 Oct 2024 13:38:08 +0000 Subject: [PATCH 052/121] Fix tests --- tests/test_constraints.py | 1 - tests/test_quantities.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_constraints.py b/tests/test_constraints.py index 672bc5a5d..3681821cf 100644 --- a/tests/test_constraints.py +++ b/tests/test_constraints.py @@ -68,7 +68,6 @@ def market_demand(assets, technologies): return 0.8 * maximum_production( technologies.interp(year=2025), assets.capacity.sel(year=2025).groupby("technology").sum("asset"), - timeslices=market.timeslice, ).rename(technology="asset") diff --git a/tests/test_quantities.py b/tests/test_quantities.py index ed56f24ab..7771bb136 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -597,7 +597,7 @@ def test_min_production(technologies, capacity, timeslice): # If no minimum service factor is defined, the minimum production is zero assert "minimum_service_factor" not in technologies - production = minimum_production(technologies, capacity, timeslice) + production = minimum_production(technologies, capacity) assert (production == 0).all() # If minimum service factor is defined, then the minimum production is not zero From 46ab8208b04272229333d64cbc1fa8659b239267 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 28 Oct 2024 13:48:35 +0000 Subject: [PATCH 053/121] Remove timeslice arguments --- src/muse/constraints.py | 1 - src/muse/demand_share.py | 4 --- src/muse/investments.py | 1 - src/muse/production.py | 2 +- src/muse/quantities.py | 13 +++------ tests/test_demand_share.py | 2 -- tests/test_quantities.py | 54 ++++++++++++-------------------------- 7 files changed, 22 insertions(+), 55 deletions(-) diff --git a/src/muse/constraints.py b/src/muse/constraints.py index 62bfbcfbd..16275624b 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -1078,7 +1078,6 @@ class ScipyAdapter: >>> market_demand = 0.8 * maximum_production( ... res.technologies.interp(year=2025), ... assets.capacity.sel(year=2025).groupby("technology").sum("asset"), - ... timeslices=market.timeslice, ... ).rename(technology="asset") >>> costs = search * np.arange(np.prod(search.shape)).reshape(search.shape) >>> constraint = cs.max_capacity_expansion( diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index 41df0886c..d36719a29 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -236,7 +236,6 @@ def decommissioning(capacity): technologies, capacity, year=[current_year, current_year + forecast], - timeslices=market.timeslice, ).squeeze("year") capacity = reduce_assets([u.assets.capacity for u in agents]) @@ -311,7 +310,6 @@ def decommissioning(capacity): partial( maximum_production, technologies=regional_techs, - timeslices=market.timeslice, year=current_year, ), id_to_nquantity, @@ -365,7 +363,6 @@ def decommissioning(capacity): technologies, capacity, year=[current_year, current_year + forecast], - timeslices=market.timeslice, ).squeeze("year") # Make sure there are no retrofit agents @@ -418,7 +415,6 @@ def decommissioning(capacity): partial( maximum_production, technologies=technologies.sel(region=region), - timeslices=market.timeslice, year=current_year, ), id_to_quantity, diff --git a/src/muse/investments.py b/src/muse/investments.py index 18fe9a012..87ab26ce9 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -234,7 +234,6 @@ def adhoc_match_demand( max_prod = maximum_production( technologies, max_capacity, - timeslices=demand, year=year, technology=costs.replacement, commodity=demand.commodity, diff --git a/src/muse/production.py b/src/muse/production.py index ac5e9ac46..b23d4666d 100644 --- a/src/muse/production.py +++ b/src/muse/production.py @@ -108,7 +108,7 @@ def maximum_production( """ from muse.quantities import maximum_production - return maximum_production(technologies, capacity, timeslices=market.timeslice) + return maximum_production(technologies, capacity) @register_production(name=("share", "shares")) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index c153d6c07..2d836ab0f 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -48,8 +48,8 @@ def supply( if production_method is None: production_method = maximum_production - maxprod = production_method(technologies, capacity, timeslices=demand) - minprod = minimum_production(technologies, capacity, timeslices=demand) + maxprod = production_method(technologies, capacity) + minprod = minimum_production(technologies, capacity) size = np.array(maxprod.region).size # in presence of trade demand needs to map maxprod dst_region if ( @@ -216,7 +216,6 @@ def gross_margin( def decommissioning_demand( technologies: xr.Dataset, capacity: xr.DataArray, - timeslices: xr.DataArray, year: Optional[Sequence[int]] = None, ) -> xr.DataArray: r"""Computes demand from process decommissioning. @@ -259,7 +258,6 @@ def decommissioning_demand( return maximum_production( technologies, capacity_decrease, - timeslices=timeslices, ).clip(min=0) @@ -392,9 +390,7 @@ def demand_matched_production( technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) cost = ALCOE(prices=prices, technologies=technodata, **filters) - max_production = maximum_production( - technodata, capacity, timeslices=demand, **filters - ) + max_production = maximum_production(technodata, capacity, **filters) assert ("timeslice" in demand.dims) == ("timeslice" in cost.dims) return demand_matching(demand, cost, max_production) @@ -479,7 +475,7 @@ def group_assets(x: xr.DataArray) -> xr.DataArray: return xr.Dataset(dict(x=x)).groupby("region").sum("asset").x ranking = costs.rank("asset") - maxprod = maximum_production(technodata, capacity, timeslices=demand.timeslice) + maxprod = maximum_production(technodata, capacity) commodity = (maxprod > 0).any([i for i in maxprod.dims if i != "commodity"]) commodity = commodity.drop_vars( [u for u in commodity.coords if u not in commodity.dims] @@ -529,7 +525,6 @@ def group_assets(x: xr.DataArray) -> xr.DataArray: def minimum_production( technologies: xr.Dataset, capacity: xr.DataArray, - timeslices: xr.DataArray, **filters, ): r"""Minimum production for a given capacity. diff --git a/tests/test_demand_share.py b/tests/test_demand_share.py index 2f0b1dd74..32668a4a6 100644 --- a/tests/test_demand_share.py +++ b/tests/test_demand_share.py @@ -158,7 +158,6 @@ def method(capacity): return decommissioning_demand( technologies.sel(region="USA"), capacity, - matching_market.timeslice, year=[2012, 2017], ) @@ -195,7 +194,6 @@ def method(capacity): return 0 * decommissioning_demand( technologies.sel(region="USA"), capacity, - matching_market.timeslice, year=[2012, 2017], ) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index 7771bb136..c069f9e7a 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -46,7 +46,7 @@ def make_array(array): return xr.DataArray(data, dims=array.dims, coords=array.coords) -def test_supply_enduse(technologies, capacity, timeslice): +def test_supply_enduse(technologies, capacity): """End-use part of supply.""" from muse.commodities import is_enduse from muse.quantities import maximum_production, supply @@ -69,12 +69,12 @@ def test_supply_enduse(technologies, capacity, timeslice): ).all() -def test_supply_emissions(technologies, capacity, timeslice): +def test_supply_emissions(technologies, capacity): """Emission part of supply.""" from muse.commodities import is_enduse, is_pollutant from muse.quantities import emission, maximum_production, supply - production = maximum_production(technologies, capacity, timeslices=timeslice) + production = maximum_production(technologies, capacity) spl = supply(capacity, production.sum("asset") + 1, technologies) msn = emission(spl.where(is_enduse(spl.comm_usage), 0), technologies.fixed_outputs) actual, expected = xr.broadcast( @@ -134,7 +134,7 @@ def test_decommissioning_demand(technologies, capacity, timeslice): capacity.loc[{"year": 2015}] = forecast = 1.0 technologies.fixed_outputs[:] = fouts = 0.5 technologies.utilization_factor[:] = ufac = 0.4 - decom = decommissioning_demand(technologies, capacity, timeslice, years) + decom = decommissioning_demand(technologies, capacity, years) assert set(decom.dims) == {"asset", "commodity", "year", "timeslice"} assert decom.sel(commodity=is_enduse(technologies.comm_usage)).sum( "timeslice" @@ -242,7 +242,7 @@ def one_dim(dimension): def test_production_aggregate_asset_view( - capacity: xr.DataArray, technologies: xr.Dataset, timeslice: xr.DataArray + capacity: xr.DataArray, technologies: xr.Dataset ): """Production when capacity has format of agent.sector. @@ -260,7 +260,7 @@ def test_production_aggregate_asset_view( technologies.fixed_outputs[:] = 1 technologies.utilization_factor[:] = 1 - prod = maximum_production(technologies, capacity, timeslices=timeslice) + prod = maximum_production(technologies, capacity) assert set(prod.dims) == set(capacity.dims).union({"commodity", "timeslice"}) assert prod.sel(commodity=~enduses).values == approx(0) prod, expected = xr.broadcast( @@ -270,7 +270,7 @@ def test_production_aggregate_asset_view( technologies.fixed_outputs[:] = fouts = 2 technologies.utilization_factor[:] = ufact = 0.5 - prod = maximum_production(technologies, capacity, timeslices=timeslice) + prod = maximum_production(technologies, capacity) assert prod.sel(commodity=~enduses).values == approx(0) assert set(prod.dims) == set(capacity.dims).union({"commodity", "timeslice"}) prod, expected = xr.broadcast( @@ -280,7 +280,7 @@ def test_production_aggregate_asset_view( technologies.fixed_outputs[:] = fouts = 3 technologies.utilization_factor[:] = ufact = 0.5 - prod = maximum_production(technologies, capacity, timeslices=timeslice) + prod = maximum_production(technologies, capacity) assert prod.sel(commodity=~enduses).values == approx(0) assert set(prod.dims) == set(capacity.dims).union({"commodity", "timeslice"}) prod, expected = xr.broadcast( @@ -406,7 +406,7 @@ def test_demand_matched_production( technologies.fixed_outputs[:] *= is_enduse(technologies.comm_usage) capacity = capacity.sel(year=capacity.year.min(), drop=True) - max_prod = maximum_production(technologies, capacity, timeslices=demand.timeslice) + max_prod = maximum_production(technologies, capacity) demand = max_prod.sum("asset") demand[:] *= np.random.choice([0, 1, 1 / 2, 1 / 3, 1 / 10], demand.shape) prices = xr.zeros_like(demand) @@ -433,13 +433,7 @@ def test_costed_production_exact_match(market, capacity, technologies): prices=market.prices.sel(region=technodata.region), technologies=technodata ) maxdemand = ( - xr.Dataset( - dict( - mp=maximum_production( - technologies, capacity, timeslices=market.timeslice - ) - ) - ) + xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") .mp @@ -465,9 +459,7 @@ def test_costed_production_single_region(market, capacity, technologies): capacity = capacity.drop_vars("region") capacity["region"] = "USA" market = market.sel(region=[capacity.region.values]) - maxdemand = maximum_production( - technologies, capacity, timeslices=market.timeslice - ).sum("asset") + maxdemand = maximum_production(technologies, capacity).sum("asset") market["consumption"] = drop_timeslice(0.9 * maxdemand) technodata = broadcast_techs(technologies, capacity) costs = annual_levelized_cost_of_energy( @@ -493,13 +485,7 @@ def test_costed_production_single_year(market, capacity, technologies): capacity = capacity.sel(year=2010) market = market.sel(year=2010) maxdemand = ( - xr.Dataset( - dict( - mp=maximum_production( - technologies, capacity, timeslices=market.timeslice - ) - ) - ) + xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") .mp @@ -532,13 +518,7 @@ def test_costed_production_over_capacity(market, capacity, technologies): set(market.region.values) ) maxdemand = ( - xr.Dataset( - dict( - mp=maximum_production( - technologies, capacity, timeslices=market.timeslice - ) - ) - ) + xr.Dataset(dict(mp=maximum_production(technologies, capacity))) .groupby("region") .sum("asset") .mp @@ -573,7 +553,7 @@ def test_costed_production_with_minimum_service(market, capacity, technologies, technologies.utilization_factor.dims, rng.uniform(low=0.5, high=0.9, size=technologies.utilization_factor.shape), ) - maxprod = maximum_production(technologies, capacity, timeslices=market.timeslice) + maxprod = maximum_production(technologies, capacity) minprod = maxprod * broadcast_techs(technologies.minimum_service_factor, maxprod) maxdemand = xr.Dataset(dict(mp=minprod)).groupby("region").sum("asset").mp market["consumption"] = drop_timeslice(maxdemand * 0.9) @@ -603,9 +583,9 @@ def test_min_production(technologies, capacity, timeslice): # If minimum service factor is defined, then the minimum production is not zero # and it is less than the maximum production technologies["minimum_service_factor"] = 0.5 - production = minimum_production(technologies, capacity, timeslice) + production = minimum_production(technologies, capacity) assert not (production == 0).all() - assert (production <= maximum_production(technologies, capacity, timeslice)).all() + assert (production <= maximum_production(technologies, capacity)).all() def test_supply_capped_by_min_service(technologies, capacity, timeslice): @@ -614,7 +594,7 @@ def test_supply_capped_by_min_service(technologies, capacity, timeslice): from muse.quantities import minimum_production, supply technologies["minimum_service_factor"] = 0.3 - minprod = minimum_production(technologies, capacity, timeslice) + minprod = minimum_production(technologies, capacity) # If minimum service factor is defined, then the minimum production is not zero assert not (minprod == 0).all() From d5b5676e236f0cb72dcdced740c3e045df2fca20 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 28 Oct 2024 15:33:48 +0000 Subject: [PATCH 054/121] Fix tests --- tests/test_quantities.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index c069f9e7a..a451c8e6f 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -46,7 +46,7 @@ def make_array(array): return xr.DataArray(data, dims=array.dims, coords=array.coords) -def test_supply_enduse(technologies, capacity): +def test_supply_enduse(technologies, capacity, timeslice): """End-use part of supply.""" from muse.commodities import is_enduse from muse.quantities import maximum_production, supply @@ -69,7 +69,7 @@ def test_supply_enduse(technologies, capacity): ).all() -def test_supply_emissions(technologies, capacity): +def test_supply_emissions(technologies, capacity, timeslice): """Emission part of supply.""" from muse.commodities import is_enduse, is_pollutant from muse.quantities import emission, maximum_production, supply @@ -296,7 +296,7 @@ def test_production_agent_asset_view( from muse.utilities import coords_to_multiindex, reduce_assets capacity = coords_to_multiindex(reduce_assets(capacity)).unstack("asset").fillna(0) - test_production_aggregate_asset_view(capacity, technologies, timeslice) + test_production_aggregate_asset_view(capacity, technologies) def test_capacity_in_use(production: xr.DataArray, technologies: xr.Dataset): From ae3c06cbe683717ef63c4d59ee7c922ccf95637a Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 30 Oct 2024 11:36:09 +0000 Subject: [PATCH 055/121] Turn off automatic broadcasting over the timeslice dimension (#530) * xarray patch to prevent automatic broadcasting * Fix most remaining broadcasting bugs * Fix some tests * Fix more tests * Simplify dlc constraint * More timeslice broadcasting * Fix incorrect uses of distribute_timeslice * Fix bug in _inner_split * Remove unnecessary drop_timeslice operations * Fix correlation model * Fix a couple of tests * Restore drop_timeslice * Restore more drop_timeslice * Fix demand_matching tests * Fix correlation model * Consistent timeslice dimension in objectives * Revert change to capacity_in_use * Fix objective tests * Fix more tests * Fix another test * Fix final test (hopefully) --- src/muse/__main__.py | 31 ++++++++++++++++- src/muse/agents/agent.py | 5 +-- src/muse/constraints.py | 40 +++++++++------------ src/muse/costs.py | 46 ++++++++++++++---------- src/muse/decisions.py | 4 ++- src/muse/demand_share.py | 4 ++- src/muse/investments.py | 8 ++--- src/muse/mca.py | 6 +++- src/muse/objectives.py | 46 ++++++++++++++---------- src/muse/quantities.py | 58 ++++++++++++++++++++----------- src/muse/readers/csv.py | 12 ------- src/muse/sectors/preset_sector.py | 22 ++++-------- tests/conftest.py | 10 ++++++ tests/test_costs.py | 6 ++-- tests/test_quantities.py | 20 +++++++---- 15 files changed, 186 insertions(+), 132 deletions(-) diff --git a/src/muse/__main__.py b/src/muse/__main__.py index a71bc7f0a..d0b1ffc8c 100644 --- a/src/muse/__main__.py +++ b/src/muse/__main__.py @@ -61,5 +61,34 @@ def run(): muse_main(args.settings, args.model, args.copy) +def patched_broadcast_compat_data(self, other): + from xarray.core.variable import Variable, _broadcast_compat_variables + + if (isinstance(other, Variable)) and ("timeslice" in self.dims) != ( + "timeslice" in getattr(other, "dims", []) + ): + raise ValueError( + "Broadcasting is necessary but automatic broadcasting is disabled globally." + ) + + if all(hasattr(other, attr) for attr in ["dims", "data", "shape", "encoding"]): + # `other` satisfies the necessary Variable API for broadcast_variables + new_self, new_other = _broadcast_compat_variables(self, other) + self_data = new_self.data + other_data = new_other.data + dims = new_self.dims + else: + # rely on numpy broadcasting rules + self_data = self.data + other_data = other + dims = self.dims + return self_data, other_data, dims + + if "__main__" == __name__: - run() + from unittest.mock import patch + + with patch( + "xarray.core.variable._broadcast_compat_data", patched_broadcast_compat_data + ): + run() diff --git a/src/muse/agents/agent.py b/src/muse/agents/agent.py index 7e69d463a..7c674e7d7 100644 --- a/src/muse/agents/agent.py +++ b/src/muse/agents/agent.py @@ -352,10 +352,7 @@ def next( # Calculate the decision metric decision = self.compute_decision(technologies, market, demand, search_space) search = xr.Dataset(dict(search_space=search_space, decision=decision)) - if "timeslice" in search.dims: - search["demand"] = drop_timeslice(demand) - else: - search["demand"] = demand + search["demand"] = drop_timeslice(demand) # Filter assets with demand not_assets = [u for u in search.demand.dims if u != "asset"] diff --git a/src/muse/constraints.py b/src/muse/constraints.py index 16275624b..bb261a0ae 100644 --- a/src/muse/constraints.py +++ b/src/muse/constraints.py @@ -446,7 +446,7 @@ def max_production( from xarray import ones_like, zeros_like from muse.commodities import is_enduse - from muse.timeslices import distribute_timeslice + from muse.timeslices import broadcast_timeslice, distribute_timeslice if year is None: year = int(market.year.min()) @@ -465,7 +465,9 @@ def max_production( .sel(**kwargs) .drop_vars("technology") ) - capacity = distribute_timeslice(techs.fixed_outputs) * techs.utilization_factor + capacity = distribute_timeslice(techs.fixed_outputs) * broadcast_timeslice( + techs.utilization_factor + ) if "asset" not in capacity.dims and "asset" in search_space.dims: capacity = capacity.expand_dims(asset=search_space.asset) production = ones_like(capacity) @@ -482,8 +484,8 @@ def max_production( maxadd = maxadd.rename(technology="replacement") maxadd = maxadd.where(maxadd == 0, 0.0) maxadd = maxadd.where(maxadd > 0, -1.0) - capacity = capacity * maxadd - production = production * maxadd + capacity = capacity * broadcast_timeslice(maxadd) + production = production * broadcast_timeslice(maxadd) b = b.rename(region="src_region") return xr.Dataset( dict(capacity=-cast(np.ndarray, capacity), production=production, b=b), @@ -534,21 +536,9 @@ def demand_limiting_capacity( # utilization factor. if "timeslice" in b.dims or "timeslice" in capacity.dims: ratio = b / capacity - ts = ratio.timeslice.isel( - timeslice=ratio.min("replacement").argmax("timeslice") - ) - # We select this timeslice for each array - don't trust the indices: - # search for the right timeslice in the array and select it. - b = ( - b.isel(timeslice=(b.timeslice == ts).argmax("timeslice")) - if "timeslice" in b.dims - else b - ) - capacity = ( - capacity.isel(timeslice=(capacity.timeslice == ts).argmax("timeslice")) - if "timeslice" in capacity.dims - else capacity - ) + ts_index = ratio.min("replacement").argmax("timeslice") + b = b.isel(timeslice=ts_index) + capacity = capacity.isel(timeslice=ts_index) # An adjustment is required to account for technologies that have multiple output # commodities @@ -724,7 +714,7 @@ def minimum_service( from xarray import ones_like, zeros_like from muse.commodities import is_enduse - from muse.timeslices import distribute_timeslice + from muse.timeslices import broadcast_timeslice, distribute_timeslice if "minimum_service_factor" not in technologies.data_vars: return None @@ -747,7 +737,9 @@ def minimum_service( .sel(**kwargs) .drop_vars("technology") ) - capacity = distribute_timeslice(techs.fixed_outputs) * techs.minimum_service_factor + capacity = distribute_timeslice(techs.fixed_outputs) * broadcast_timeslice( + techs.minimum_service_factor + ) if "asset" not in capacity.dims: capacity = capacity.expand_dims(asset=search_space.asset) production = ones_like(capacity) @@ -803,12 +795,12 @@ def lp_costs(technologies: xr.Dataset, costs: xr.DataArray) -> xr.Dataset: which production occurs and the ``commodity`` produced. >>> lpcosts.production.dims - ('asset', 'replacement', 'timeslice', 'commodity') + ('timeslice', 'asset', 'replacement', 'commodity') """ from xarray import zeros_like from muse.commodities import is_enduse - from muse.timeslices import distribute_timeslice + from muse.timeslices import broadcast_timeslice, distribute_timeslice assert "year" not in technologies.dims @@ -821,7 +813,7 @@ def lp_costs(technologies: xr.Dataset, costs: xr.DataArray) -> xr.Dataset: selection["region"] = costs.region fouts = technologies.fixed_outputs.sel(selection).rename(technology="replacement") - production = zeros_like(costs * distribute_timeslice(fouts)) + production = zeros_like(broadcast_timeslice(costs) * distribute_timeslice(fouts)) for dim in production.dims: if isinstance(production.get_index(dim), pd.MultiIndex): production = drop_timeslice(production) diff --git a/src/muse/costs.py b/src/muse/costs.py index aaa64b620..bc35f2ad4 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -13,7 +13,7 @@ from muse.commodities import is_enduse, is_fuel, is_material, is_pollutant from muse.quantities import consumption -from muse.timeslices import distribute_timeslice +from muse.timeslices import broadcast_timeslice, distribute_timeslice from muse.utilities import filter_input @@ -79,10 +79,12 @@ def net_present_value( years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") # Evolution of rates with time - rates = discount_factor( - years - year + 1, - interest_rate=techs.interest_rate, - mask=years <= year + life, + rates = broadcast_timeslice( + discount_factor( + years - year + 1, + interest_rate=techs.interest_rate, + mask=years <= year + life, + ) ) # Filters @@ -121,8 +123,9 @@ def net_present_value( fixed_costs = distribute_timeslice( techs.fix_par * (capacity**techs.fix_exp), ) - variable_costs = techs.var_par * ( - (production.sel(commodity=products).sum("commodity")) ** techs.var_exp + variable_costs = broadcast_timeslice(techs.var_par) * ( + (production.sel(commodity=products).sum("commodity")) + ** broadcast_timeslice(techs.var_exp) ) assert set(fixed_costs.dims) == set(variable_costs.dims) fixed_and_variable_costs = ((fixed_costs + variable_costs) * rates).sum("year") @@ -196,7 +199,7 @@ def equivalent_annual_cost( """ npc = net_present_cost(technologies, prices, capacity, production, year) crf = capital_recovery_factor(technologies) - return npc * crf + return npc * broadcast_timeslice(crf) def lifetime_levelized_cost_of_energy( @@ -220,6 +223,8 @@ def lifetime_levelized_cost_of_energy( Return: xr.DataArray with the LCOE calculated for the relevant technologies """ + from muse.timeslices import broadcast_timeslice, distribute_timeslice + techs = technologies[ [ "technical_life", @@ -243,10 +248,12 @@ def lifetime_levelized_cost_of_energy( years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") # Evolution of rates with time - rates = discount_factor( - years=years - year + 1, - interest_rate=techs.interest_rate, - mask=years <= year + life, + rates = broadcast_timeslice( + discount_factor( + years=years - year + 1, + interest_rate=techs.interest_rate, + mask=years <= year + life, + ) ) # Filters @@ -282,7 +289,8 @@ def lifetime_levelized_cost_of_energy( techs.fix_par * (capacity**techs.fix_exp), ) variable_costs = ( - techs.var_par * production.sel(commodity=products) ** techs.var_exp + broadcast_timeslice(techs.var_par) + * production.sel(commodity=products) ** broadcast_timeslice(techs.var_exp) ).sum("commodity") fixed_and_variable_costs = ((fixed_costs + variable_costs) * rates).sum("year") denominator = production.where(production > 0.0, 1e-6) @@ -364,14 +372,14 @@ def annual_levelized_cost_of_energy( rates = techs.interest_rate / (1 - (1 + techs.interest_rate) ** (-life)) # Capital costs - annualized_capital_costs = ( - distribute_timeslice(techs.cap_par * rates) / techs.utilization_factor - ) + annualized_capital_costs = distribute_timeslice( + techs.cap_par * rates + ) / broadcast_timeslice(techs.utilization_factor) # Fixed and variable running costs - o_and_e_costs = ( - distribute_timeslice(techs.fix_par + techs.var_par) / techs.utilization_factor - ) + o_and_e_costs = distribute_timeslice( + techs.fix_par + techs.var_par + ) / broadcast_timeslice(techs.utilization_factor) # Fuel costs from fixed and flexible inputs fuel_costs = (distribute_timeslice(techs.fixed_inputs) * prices).sum("commodity") diff --git a/src/muse/decisions.py b/src/muse/decisions.py index b75b2a446..e24a3a9c9 100644 --- a/src/muse/decisions.py +++ b/src/muse/decisions.py @@ -117,7 +117,9 @@ def mean(objectives: Dataset, *args, **kwargs) -> DataArray: from xarray import concat allobjectives = concat(objectives.data_vars.values(), dim="concat_var") - return allobjectives.mean(set(allobjectives.dims) - {"asset", "replacement"}) + return allobjectives.mean( + set(allobjectives.dims) - {"asset", "replacement", "timeslice"} + ) @register_decision diff --git a/src/muse/demand_share.py b/src/muse/demand_share.py index d36719a29..9a672cb01 100644 --- a/src/muse/demand_share.py +++ b/src/muse/demand_share.py @@ -488,7 +488,9 @@ def _inner_split( # Calculates the demand divided by the number of assets times the number of agents # if the demand is bigger than zero and the total demand assigned with the "method" # function is zero. - unassigned = (demand / (len(shares) * len(summed_shares))).where( + n_agents = len(quantity) + n_assets = summed_shares.sizes["asset"] + unassigned = (demand / (n_agents * n_assets)).where( logical_and(demand > 1e-12, total <= 1e-12), 0 ) diff --git a/src/muse/investments.py b/src/muse/investments.py index 87ab26ce9..67ac780d5 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -241,10 +241,6 @@ def adhoc_match_demand( # Push disabled techs to last rank. # Any production assigned to them by the demand-matching algorithm will be removed. - - if "timeslice" in costs.dims: - costs = costs.mean("timeslice").mean("asset") # timeslice_op(costs) - minobj = costs.min() maxobj = costs.where(search_space, minobj).max("replacement") + 1 @@ -388,6 +384,6 @@ def default_to_scipy(): def timeslice_op(x: xr.DataArray) -> xr.DataArray: - from muse.timeslices import TIMESLICE + from muse.timeslices import TIMESLICE, broadcast_timeslice - return (x / (TIMESLICE / sum(TIMESLICE))).max("timeslice") + return (x / (TIMESLICE / broadcast_timeslice(TIMESLICE.sum()))).max("timeslice") diff --git a/src/muse/mca.py b/src/muse/mca.py index 1e56a2d82..850e7673e 100644 --- a/src/muse/mca.py +++ b/src/muse/mca.py @@ -41,6 +41,7 @@ def factory(cls, settings: str | Path | Mapping | Any) -> MCA: from muse.outputs.mca import factory as ofactory from muse.readers import read_settings from muse.readers.toml import convert + from muse.timeslices import drop_timeslice if isinstance(settings, (str, Path)): settings = read_settings(settings) # type: ignore @@ -275,6 +276,8 @@ def run(self) -> None: from xarray import DataArray + from muse.timeslices import broadcast_timeslice + nyear = len(self.time_framework) - 1 check_carbon_budget = len(self.carbon_budget) and len(self.carbon_commodities) shoots = self.control_undershoot or self.control_overshoot @@ -295,7 +298,7 @@ def run(self) -> None: new_market.prices.loc[dict(commodity=self.carbon_commodities)] = ( future_propagation( new_market.prices.sel(commodity=self.carbon_commodities), - future_price, + broadcast_timeslice(future_price), ) ) self.carbon_price = future_propagation(self.carbon_price, future_price) @@ -359,6 +362,7 @@ def single_year_iteration( from copy import deepcopy from muse.commodities import is_enduse + from muse.timeslices import drop_timeslice sectors = deepcopy(sectors) market = market.copy(deep=True) diff --git a/src/muse/objectives.py b/src/muse/objectives.py index e0a67e017..5e51d7ef0 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -133,12 +133,16 @@ def objectives( *args, **kwargs, ) -> xr.Dataset: + from muse.timeslices import broadcast_timeslice + result = xr.Dataset() for name, objective in functions: obj = objective( technologies=technologies, demand=demand, prices=prices, *args, **kwargs ) - if "timeslice" in obj.dims and "timeslice" in result.dims: + if "timeslice" not in obj.dims: + obj = broadcast_timeslice(obj) + if "timeslice" in result.dims: obj = drop_timeslice(obj) result[name] = obj return result @@ -274,7 +278,9 @@ def fixed_costs( :math:`\alpha` and :math:`\beta` are "fix_par" and "fix_exp" in :ref:`inputs-technodata`, respectively. """ - capacity = capacity_to_service_demand(technologies, demand) + from muse.quantities import capacity_to_service_demand + + capacity = capacity_to_service_demand(technologies=technologies, demand=demand) result = technologies.fix_par * (capacity**technologies.fix_exp) return result @@ -386,13 +392,14 @@ def lifetime_levelized_cost_of_energy( due to a zero utilisation factor. """ from muse.costs import lifetime_levelized_cost_of_energy as LCOE - from muse.timeslices import distribute_timeslice + from muse.quantities import capacity_to_service_demand + from muse.timeslices import broadcast_timeslice, distribute_timeslice - capacity = capacity_to_service_demand(technologies, demand) + capacity = capacity_to_service_demand(technologies=technologies, demand=demand) production = ( - capacity + broadcast_timeslice(capacity) * distribute_timeslice(technologies.fixed_outputs) - * technologies.utilization_factor + * broadcast_timeslice(technologies.utilization_factor) ) results = LCOE( @@ -419,13 +426,14 @@ def net_present_value( See :py:func:`muse.costs.net_present_value` for more details. """ from muse.costs import net_present_value as NPV - from muse.timeslices import distribute_timeslice + from muse.quantities import capacity_to_service_demand + from muse.timeslices import broadcast_timeslice, distribute_timeslice - capacity = capacity_to_service_demand(technologies, demand) + capacity = capacity_to_service_demand(technologies=technologies, demand=demand) production = ( - capacity + broadcast_timeslice(capacity) * distribute_timeslice(technologies.fixed_outputs) - * technologies.utilization_factor + * broadcast_timeslice(technologies.utilization_factor) ) results = NPV( @@ -451,13 +459,14 @@ def net_present_cost( See :py:func:`muse.costs.net_present_cost` for more details. """ from muse.costs import net_present_cost as NPC - from muse.timeslices import distribute_timeslice + from muse.quantities import capacity_to_service_demand + from muse.timeslices import broadcast_timeslice, distribute_timeslice - capacity = capacity_to_service_demand(technologies, demand) + capacity = capacity_to_service_demand(technologies=technologies, demand=demand) production = ( - capacity + broadcast_timeslice(capacity) * distribute_timeslice(technologies.fixed_outputs) - * technologies.utilization_factor + * broadcast_timeslice(technologies.utilization_factor) ) results = NPC( @@ -483,13 +492,14 @@ def equivalent_annual_cost( See :py:func:`muse.costs.equivalent_annual_cost` for more details. """ from muse.costs import equivalent_annual_cost as EAC - from muse.timeslices import distribute_timeslice + from muse.quantities import capacity_to_service_demand + from muse.timeslices import broadcast_timeslice, distribute_timeslice - capacity = capacity_to_service_demand(technologies, demand) + capacity = capacity_to_service_demand(technologies=technologies, demand=demand) production = ( - capacity + broadcast_timeslice(capacity) * distribute_timeslice(technologies.fixed_outputs) - * technologies.utilization_factor + * broadcast_timeslice(technologies.utilization_factor) ) results = EAC( diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 2d836ab0f..e172099cf 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -44,6 +44,7 @@ def supply( input commodities). """ from muse.commodities import CommodityUsage, check_usage, is_pollutant + from muse.timeslices import broadcast_timeslice if production_method is None: production_method = maximum_production @@ -88,8 +89,12 @@ def supply( demsum = set(maxprod.dims).difference(demand.dims) expanded_demand = (demand * maxprod / maxprod.sum(demsum)).fillna(0) - expanded_maxprod = (maxprod * demand / demand.sum(prodsum)).fillna(0) - expanded_minprod = (minprod * demand / demand.sum(prodsum)).fillna(0) + expanded_maxprod = ( + maxprod * demand / broadcast_timeslice(demand.sum(prodsum)) + ).fillna(0) + expanded_minprod = ( + minprod * demand / broadcast_timeslice(demand.sum(prodsum)) + ).fillna(0) expanded_demand = expanded_demand.reindex_like(maxprod) expanded_minprod = expanded_minprod.reindex_like(maxprod) @@ -125,6 +130,7 @@ def emission(production: xr.DataArray, fixed_outputs: xr.DataArray): A data array containing emissions (and only emissions). """ from muse.commodities import is_enduse, is_pollutant + from muse.timeslices import broadcast_timeslice from muse.utilities import broadcast_techs # just in case we are passed a technologies dataset, like in other functions @@ -133,8 +139,8 @@ def emission(production: xr.DataArray, fixed_outputs: xr.DataArray): ) envs = is_pollutant(fouts.comm_usage) enduses = is_enduse(fouts.comm_usage) - return production.sel(commodity=enduses).sum("commodity") * fouts.sel( - commodity=envs + return production.sel(commodity=enduses).sum("commodity") * broadcast_timeslice( + fouts.sel(commodity=envs) ) @@ -273,6 +279,7 @@ def consumption( are not given, then flexible consumption is *not* considered. """ from muse.commodities import is_enduse, is_fuel + from muse.timeslices import broadcast_timeslice from muse.utilities import filter_with_template params = filter_with_template( @@ -285,7 +292,9 @@ def consumption( production = production.sel(commodity=is_enduse(comm_usage)).sum("commodity") params_fuels = is_fuel(params.comm_usage) - consumption = production * params.fixed_inputs.where(params_fuels, 0) + consumption = production * broadcast_timeslice( + params.fixed_inputs.where(params_fuels, 0) + ) if prices is None: return consumption @@ -306,7 +315,7 @@ def consumption( ] # add consumption from cheapest fuel assert all(flexs.commodity.values == consumption.commodity.values) - flex = flexs.where(minprices == flexs.commodity, 0) + flex = flexs.where(minprices == broadcast_timeslice(flexs.commodity), 0) flex = flex / (flex > 0).sum("commodity").clip(min=1) return consumption + flex * production @@ -349,7 +358,7 @@ def maximum_production( filters and the set of technologies in `capacity`. """ from muse.commodities import is_enduse - from muse.timeslices import distribute_timeslice + from muse.timeslices import broadcast_timeslice, distribute_timeslice from muse.utilities import broadcast_techs, filter_input capa = filter_input( @@ -362,7 +371,9 @@ def maximum_production( btechs, **{k: v for k, v in filters.items() if k in btechs.dims} ) result = ( - capa * distribute_timeslice(ftechs.fixed_outputs) * ftechs.utilization_factor + broadcast_timeslice(capa) + * distribute_timeslice(ftechs.fixed_outputs) + * broadcast_timeslice(ftechs.utilization_factor) ) return result.where(is_enduse(result.comm_usage), 0) @@ -421,6 +432,7 @@ def capacity_in_use( Capacity-in-use for each technology, whittled down by the filters. """ from muse.commodities import is_enduse + from muse.timeslices import broadcast_timeslice from muse.utilities import broadcast_techs, filter_input prod = filter_input( @@ -435,7 +447,7 @@ def capacity_in_use( ) factor = 1 / (ftechs.fixed_outputs * ftechs.utilization_factor) - capa_in_use = (prod * factor).where(~np.isinf(factor), 0) + capa_in_use = (prod * broadcast_timeslice(factor)).where(~np.isinf(factor), 0) capa_in_use = capa_in_use.where( is_enduse(technologies.comm_usage.sel(commodity=capa_in_use.commodity)), 0 @@ -460,6 +472,7 @@ def costed_production( service is applied first. """ from muse.quantities import maximum_production + from muse.timeslices import broadcast_timeslice from muse.utilities import broadcast_techs technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) @@ -492,9 +505,13 @@ def group_assets(x: xr.DataArray) -> xr.DataArray: if not with_minimum_service: production = xr.zeros_like(constraints.maxprod) else: - production = ( - getattr(technodata, "minimum_service_factor", 0) * constraints.maxprod - ) + if hasattr(technodata, "minimum_service_factor"): + production = ( + broadcast_timeslice(technodata.minimum_service_factor) + * constraints.maxprod + ) + else: + production = 0 * constraints.maxprod demand = np.maximum(demand - group_assets(production), 0) for rank in sorted(set(constraints.ranking.values.flatten())): @@ -560,7 +577,7 @@ def minimum_production( the filters and the set of technologies in `capacity`. """ from muse.commodities import is_enduse - from muse.timeslices import distribute_timeslice + from muse.timeslices import broadcast_timeslice, distribute_timeslice from muse.utilities import broadcast_techs, filter_input capa = filter_input( @@ -568,7 +585,7 @@ def minimum_production( ) if "minimum_service_factor" not in technologies: - return xr.zeros_like(capa) + return broadcast_timeslice(xr.zeros_like(capa)) btechs = broadcast_techs( # type: ignore cast( @@ -581,9 +598,9 @@ def minimum_production( btechs, **{k: v for k, v in filters.items() if k in btechs.dims} ) result = ( - capa + broadcast_timeslice(capa) * distribute_timeslice(ftechs.fixed_outputs) - * ftechs.minimum_service_factor + * broadcast_timeslice(ftechs.minimum_service_factor) ) return result.where(is_enduse(result.comm_usage), 0) @@ -593,11 +610,10 @@ def capacity_to_service_demand( technologies: xr.Dataset, ) -> xr.DataArray: """Minimum capacity required to fulfill the demand.""" - from muse.timeslices import distribute_timeslice + from muse.timeslices import broadcast_timeslice, distribute_timeslice - timeslice_outputs = ( - distribute_timeslice(technologies.fixed_outputs.sel(commodity=demand.commodity)) - * technologies.utilization_factor - ) + timeslice_outputs = distribute_timeslice( + technologies.fixed_outputs.sel(commodity=demand.commodity) + ) * broadcast_timeslice(technologies.utilization_factor) capa_to_service_demand = demand / timeslice_outputs return capa_to_service_demand.max(("commodity", "timeslice")) diff --git a/src/muse/readers/csv.py b/src/muse/readers/csv.py index 91936a30b..5438dfa4b 100644 --- a/src/muse/readers/csv.py +++ b/src/muse/readers/csv.py @@ -450,7 +450,6 @@ def read_global_commodities(path: Union[str, Path]) -> xr.Dataset: def read_timeslice_shares( path: Union[str, Path] = DEFAULT_SECTORS_DIRECTORY, sector: Optional[str] = None, - timeslice: Union[str, Path, xr.DataArray] = "Timeslices{sector}.csv", ) -> xr.Dataset: """Reads sliceshare information into a xr.Dataset. @@ -469,10 +468,6 @@ def read_timeslice_shares( path, filename = path.parent, path.name re = match(r"TimesliceShare(.*)\.csv", filename) sector = path.name if re is None else re.group(1) - if isinstance(timeslice, str) and "{sector}" in timeslice: - timeslice = timeslice.format(sector=sector) - if isinstance(timeslice, (str, Path)) and not Path(timeslice).is_file(): - timeslice = find_sectors_file(timeslice, sector, path) share_path = find_sectors_file(f"TimesliceShare{sector}.csv", sector, path) getLogger(__name__).info(f"Reading timeslice shares from {share_path}") @@ -485,13 +480,6 @@ def read_timeslice_shares( data.columns.name = "commodity" result = xr.DataArray(data).unstack("rt").to_dataset(name="shares") - - if timeslice is None: - result = result.drop_vars("timeslice") - elif isinstance(timeslice, xr.DataArray) and hasattr(timeslice, "timeslice"): - result["timeslice"] = timeslice.timeslice - else: - result["timeslice"] = timeslice return result.shares diff --git a/src/muse/sectors/preset_sector.py b/src/muse/sectors/preset_sector.py index 116fece7e..03bf20080 100644 --- a/src/muse/sectors/preset_sector.py +++ b/src/muse/sectors/preset_sector.py @@ -30,7 +30,7 @@ def factory(cls, name: str, settings: Any) -> PresetSector: read_timeslice_shares, ) from muse.regressions import endogenous_demand - from muse.timeslices import TIMESLICE, distribute_timeslice + from muse.timeslices import TIMESLICE, broadcast_timeslice, distribute_timeslice sector_conf = getattr(settings.sectors, name) presets = Dataset() @@ -68,22 +68,14 @@ def factory(cls, name: str, settings: Any) -> PresetSector: if getattr(sector_conf, "timeslice_shares_path", None) is not None: assert isinstance(timeslice, DataArray) - shares = read_timeslice_shares( - sector_conf.timeslice_shares_path, timeslice=timeslice - ) + shares = read_timeslice_shares(sector_conf.timeslice_shares_path) + shares = shares.assign_coords(timeslice=timeslice) assert consumption.commodity.isin(shares.commodity).all() assert consumption.region.isin(shares.region).all() - if "timeslice" in shares.dims: - ts = shares.timeslice - shares = drop_timeslice(shares) - consumption = (shares * consumption).assign_coords(timeslice=ts) - else: - consumption = consumption * shares.sel( - region=consumption.region, commodity=consumption.commodity - ) - presets["consumption"] = drop_timeslice(consumption).assign_coords( - timeslice=timeslice - ) + consumption = broadcast_timeslice(consumption) * shares.sel( + region=consumption.region, commodity=consumption.commodity + ) + presets["consumption"] = consumption if getattr(sector_conf, "supply_path", None) is not None: supply = read_presets(sector_conf.supply_path) diff --git a/tests/conftest.py b/tests/conftest.py index 9984599a5..bb58727a5 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,12 +1,14 @@ from collections.abc import Mapping, Sequence from pathlib import Path from typing import Callable, Optional +from unittest.mock import patch import numpy as np from pandas import DataFrame from pytest import fixture, mark from xarray import DataArray, Dataset +from muse.__main__ import patched_broadcast_compat_data from muse.agents import Agent @@ -19,6 +21,14 @@ def logger(): return logger +@fixture(autouse=True) +def patch_broadcast_compat_data(): + with patch( + "xarray.core.variable._broadcast_compat_data", patched_broadcast_compat_data + ): + yield + + @fixture(scope="session") def cases_directory() -> Optional[Path]: try: diff --git a/tests/test_costs.py b/tests/test_costs.py index 11cf46df6..1099e2312 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -19,12 +19,12 @@ def _capacity(technologies, demand_share): @fixture def _production(technologies, _capacity): - from muse.timeslices import distribute_timeslice + from muse.timeslices import broadcast_timeslice, distribute_timeslice production = ( - _capacity + broadcast_timeslice(_capacity) * distribute_timeslice(technologies.fixed_outputs) - * technologies.utilization_factor + * broadcast_timeslice(technologies.utilization_factor) ) return production diff --git a/tests/test_quantities.py b/tests/test_quantities.py index a451c8e6f..f5db481d1 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -31,14 +31,14 @@ def production( ) -> xr.DataArray: from numpy.random import random - from muse.timeslices import distribute_timeslice + from muse.timeslices import broadcast_timeslice, distribute_timeslice comms = xr.DataArray( random(len(technologies.commodity)), coords={"commodity": technologies.commodity}, dims="commodity", ) - return capacity * distribute_timeslice(comms) + return broadcast_timeslice(capacity) * distribute_timeslice(comms) def make_array(array): @@ -144,6 +144,7 @@ def test_decommissioning_demand(technologies, capacity, timeslice): def test_consumption_no_flex(technologies, production, market): from muse.commodities import is_enduse, is_fuel from muse.quantities import consumption + from muse.timeslices import broadcast_timeslice fins = ( technologies.fixed_inputs.where(is_fuel(technologies.comm_usage), 0) @@ -156,7 +157,7 @@ def test_consumption_no_flex(technologies, production, market): ) services = technologies.commodity.sel(commodity=is_enduse(technologies.comm_usage)) expected = ( - (production.rename(commodity="comm_in") * fins) + (production.rename(commodity="comm_in") * broadcast_timeslice(fins)) .sel(comm_in=production.commodity.isin(services).rename(commodity="comm_in")) .sum("comm_in") ) @@ -175,7 +176,7 @@ def test_consumption_with_flex(technologies, production, market, timeslice): from muse.commodities import is_enduse, is_fuel from muse.quantities import consumption - from muse.timeslices import distribute_timeslice + from muse.timeslices import broadcast_timeslice, distribute_timeslice techs = technologies.copy() techs.fixed_inputs[:] = 0 @@ -201,7 +202,11 @@ def one_dim(dimension): timeslice = one_dim(market.timeslice) commodity = one_dim(market.commodity) - prices = timeslice + commodity + year * region + prices = ( + timeslice + + broadcast_timeslice(commodity) + + broadcast_timeslice(year) * broadcast_timeslice(region) + ) assert set(prices.dims) == set(market.prices.dims) noenduse = ~is_enduse(techs.comm_usage) production = distribute_timeslice(asset * year + commodity) @@ -543,6 +548,7 @@ def test_costed_production_with_minimum_service(market, capacity, technologies, costed_production, maximum_production, ) + from muse.timeslices import broadcast_timeslice from muse.utilities import broadcast_techs if set(capacity.region.values) != set(market.region.values): @@ -554,7 +560,9 @@ def test_costed_production_with_minimum_service(market, capacity, technologies, rng.uniform(low=0.5, high=0.9, size=technologies.utilization_factor.shape), ) maxprod = maximum_production(technologies, capacity) - minprod = maxprod * broadcast_techs(technologies.minimum_service_factor, maxprod) + minprod = maxprod * broadcast_timeslice( + broadcast_techs(technologies.minimum_service_factor, maxprod) + ) maxdemand = xr.Dataset(dict(mp=minprod)).groupby("region").sum("asset").mp market["consumption"] = drop_timeslice(maxdemand * 0.9) technodata = broadcast_techs(technologies, capacity) From 366c37cef00ec0a6750670bc564b796564fe682a Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 1 Nov 2024 15:57:56 +0000 Subject: [PATCH 056/121] Drop convert_market_timeslice --- src/muse/sectors/sector.py | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index 9d10165cf..1b1f81de8 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -265,7 +265,6 @@ def group_assets(x: xr.DataArray) -> xr.DataArray: result = xr.Dataset( dict(supply=supply, consumption=consumption, costs=costs) ) - result = self.convert_market_timeslice(result, mca_market.timeslice) result["comm_usage"] = self.technologies.comm_usage.sel( commodity=result.commodity ) @@ -376,24 +375,3 @@ def agents(self) -> Iterator[AbstractAgent]: """Iterator over all agents in the sector.""" for subsector in self.subsectors: yield from subsector.agents - - @staticmethod - def convert_market_timeslice( - market: xr.Dataset, - timeslice: pd.MultiIndex, - intensive: str | tuple[str] = "prices", - ) -> xr.Dataset: - """Converts market from one to another timeslice.""" - from muse.timeslices import broadcast_timeslice - - if isinstance(intensive, str): - intensive = (intensive,) - - timesliced = {d for d in market.data_vars if "timeslice" in market[d].dims} - - intensives = market[list(timesliced.intersection(intensive))] - if "timeslice" not in intensives.dims: - intensives = broadcast_timeslice(intensives) - extensives = market[list(timesliced.difference(intensives.data_vars))] - others = market[list(set(market.data_vars).difference(timesliced))] - return xr.merge([intensives, extensives, others]) From 908be7be4c9f021bf32e193d9a2e7f243c5155b7 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 4 Nov 2024 14:44:48 +0000 Subject: [PATCH 057/121] Remove timeslice attribute from sectors --- src/muse/sectors/sector.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index 1b1f81de8..7037eeca4 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -7,7 +7,6 @@ cast, ) -import pandas as pd import xarray as xr from muse.agents import AbstractAgent @@ -27,7 +26,6 @@ def factory(cls, name: str, settings: Any) -> Sector: from muse.outputs.sector import factory as ofactory from muse.production import factory as pfactory from muse.readers.toml import read_technodata - from muse.timeslices import TIMESLICE from muse.utilities import nametuple_to_dict # Read sector settings @@ -39,9 +37,6 @@ def factory(cls, name: str, settings: Any) -> Sector: if len(sector_settings["subsectors"]._asdict()) == 0: raise RuntimeError(f"Empty 'subsectors' section in sector {name}") - # Timeslices - timeslices = TIMESLICE.timeslice - # Read technologies technologies = read_technodata(settings, name, settings.time_framework) @@ -93,7 +88,6 @@ def factory(cls, name: str, settings: Any) -> Sector: name, technologies, subsectors=subsectors, - timeslices=timeslices, supply_prod=supply, outputs=outputs, interactions=interactions, @@ -105,7 +99,6 @@ def __init__( name: str, technologies: xr.Dataset, subsectors: Sequence[Subsector] = [], - timeslices: pd.MultiIndex | None = None, interactions: Callable[[Sequence[AbstractAgent]], None] | None = None, interpolation: str = "linear", outputs: Callable | None = None, @@ -121,10 +114,6 @@ def __init__( """Subsectors controlled by this object.""" self.technologies: xr.Dataset = technologies """Parameters describing the sector's technologies.""" - self.timeslices: pd.MultiIndex | None = timeslices - """Timeslice at which this sector operates. - If None, it will operate using the timeslice of the input market. - """ self.interpolation: Mapping[str, Any] = { "method": interpolation, "kwargs": {"fill_value": "extrapolate"}, From 0518e5ad1c7b1ebe6bd92c71ca9f4fda836caf22 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 6 Nov 2024 10:03:04 +0000 Subject: [PATCH 058/121] Simplify costs module, add assert statements --- src/muse/agents/agent.py | 2 +- src/muse/costs.py | 57 +++++++++++++++++++++------------------- src/muse/objectives.py | 5 +++- src/muse/outputs/mca.py | 1 - 4 files changed, 35 insertions(+), 30 deletions(-) diff --git a/src/muse/agents/agent.py b/src/muse/agents/agent.py index fb34dffb4..2a642f4a7 100644 --- a/src/muse/agents/agent.py +++ b/src/muse/agents/agent.py @@ -299,7 +299,7 @@ def next( # Compute the objective decision = self._compute_objective( - technologies=techs, demand=reduced_demand, prices=prices + technologies=techs, demand=reduced_demand, prices=prices.isel(year=1) ) self.year += time_period diff --git a/src/muse/costs.py b/src/muse/costs.py index 52614821f..63c65508f 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -22,7 +22,6 @@ def net_present_value( prices: xr.DataArray, capacity: xr.DataArray, production: xr.DataArray, - year: int, ) -> xr.DataArray: """Net present value (NPV) of the relevant technologies. @@ -50,7 +49,6 @@ def net_present_value( prices: xr.DataArray with commodity prices capacity: xr.DataArray with the capacity of the relevant technologies production: xr.DataArray with the production of the relevant technologies - year: int, the year of the forecast Return: xr.DataArray with the NPV calculated for the relevant technologies @@ -75,14 +73,14 @@ def net_present_value( # Years life = techs.technical_life.astype(int) - iyears = range(year, max(year + life.values.max(), year + 1)) + iyears = range(life.values.max()) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") # Evolution of rates with time rates = discount_factor( - years - year + 1, + years + 1, interest_rate=techs.interest_rate, - mask=years <= year + life, + mask=years <= life, ) # Filters @@ -92,7 +90,7 @@ def net_present_value( fuels = is_fuel(technologies.comm_usage) # Revenue - prices_non_env = filter_input(prices, commodity=products, year=years.values) + prices_non_env = filter_input(prices, commodity=products) raw_revenues = (production * prices_non_env * rates).sum(("commodity", "year")) # Cost of installed capacity @@ -103,20 +101,18 @@ def net_present_value( ) # Cost related to environmental products - prices_environmental = filter_input( - prices, commodity=environmentals, year=years.values - ) + prices_environmental = filter_input(prices, commodity=environmentals) environmental_costs = (production * prices_environmental * rates).sum( ("commodity", "year") ) # Fuel/energy costs - prices_fuel = filter_input(prices, commodity=fuels, year=years.values) + prices_fuel = filter_input(prices, commodity=fuels) fuel = consumption(technologies=techs, production=production, prices=prices) fuel_costs = (fuel * prices_fuel * rates).sum(("commodity", "year")) # Cost related to material other than fuel/energy and environmentals - prices_material = filter_input(prices, commodity=material, year=years.values) + prices_material = filter_input(prices, commodity=material) material_costs = (production * prices_material * rates).sum(("commodity", "year")) # Fixed and Variable costs @@ -147,7 +143,6 @@ def net_present_cost( prices: xr.DataArray, capacity: xr.DataArray, production: xr.DataArray, - year: int, ) -> xr.DataArray: """Net present cost (NPC) of the relevant technologies. @@ -163,12 +158,16 @@ def net_present_cost( prices: xr.DataArray with commodity prices capacity: xr.DataArray with the capacity of the relevant technologies production: xr.DataArray with the production of the relevant technologies - year: int, the year of the forecast Return: xr.DataArray with the NPC calculated for the relevant technologies """ - return -net_present_value(technologies, prices, capacity, production, year) + assert "year" not in technologies.dims + assert "year" not in prices.dims + assert "year" not in capacity.dims + assert "year" not in production.dims + + return -net_present_value(technologies, prices, capacity, production) def equivalent_annual_cost( @@ -176,7 +175,6 @@ def equivalent_annual_cost( prices: xr.DataArray, capacity: xr.DataArray, production: xr.DataArray, - year: int, ) -> xr.DataArray: """Equivalent annual costs (or annualized cost) of a technology. @@ -193,12 +191,16 @@ def equivalent_annual_cost( prices: xr.DataArray with commodity prices capacity: xr.DataArray with the capacity of the relevant technologies production: xr.DataArray with the production of the relevant technologies - year: int, the year of the forecast Return: xr.DataArray with the EAC calculated for the relevant technologies """ - npc = net_present_cost(technologies, prices, capacity, production, year) + assert "year" not in technologies.dims + assert "year" not in prices.dims + assert "year" not in capacity.dims + assert "year" not in production.dims + + npc = net_present_cost(technologies, prices, capacity, production) crf = capital_recovery_factor(technologies) return npc * crf @@ -208,7 +210,6 @@ def lifetime_levelized_cost_of_energy( prices: xr.DataArray, capacity: xr.DataArray, production: xr.DataArray, - year: int, ) -> xr.DataArray: """Levelized cost of energy (LCOE) of technologies over their lifetime. @@ -224,6 +225,11 @@ def lifetime_levelized_cost_of_energy( Return: xr.DataArray with the LCOE calculated for the relevant technologies """ + assert "year" not in technologies.dims + assert "year" not in prices.dims + assert "year" not in capacity.dims + assert "year" not in production.dims + techs = technologies[ [ "technical_life", @@ -243,14 +249,14 @@ def lifetime_levelized_cost_of_energy( # Years life = techs.technical_life.astype(int) - iyears = range(year, max(year + life.values.max(), year)) + iyears = range(life.values.max()) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") # Evolution of rates with time rates = discount_factor( - years=years - year + 1, + years=years + 1, interest_rate=techs.interest_rate, - mask=years <= year + life, + mask=years <= life, ) # Filters @@ -267,20 +273,18 @@ def lifetime_levelized_cost_of_energy( ) # Cost related to environmental products - prices_environmental = filter_input( - prices, commodity=environmentals, year=years.values - ) + prices_environmental = filter_input(prices, commodity=environmentals) environmental_costs = (production * prices_environmental * rates).sum( ("commodity", "year") ) # Fuel/energy costs - prices_fuel = filter_input(prices, commodity=fuels, year=years.values) + prices_fuel = filter_input(prices, commodity=fuels) fuel = consumption(technologies=techs, production=production, prices=prices) fuel_costs = (fuel * prices_fuel * rates).sum(("commodity", "year")) # Cost related to material other than fuel/energy and environmentals - prices_material = filter_input(prices, commodity=material, year=years.values) + prices_material = filter_input(prices, commodity=material) material_costs = (production * prices_material * rates).sum(("commodity", "year")) # Fixed and Variable costs @@ -444,7 +448,6 @@ def supply_cost( `muse.quantities.production`. lcoe: Levelized cost of energy for each good produced. In practice, it can be obtained from market prices via - `muse.costs.annual_levelized_cost_of_energy` or `muse.costs.lifetime_levelized_cost_of_energy`. asset_dim: Name of the dimension(s) holding assets, processes or technologies. """ diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 2bb3b7ba4..c9dc0e2e4 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -133,6 +133,10 @@ def objectives( *args, **kwargs, ) -> xr.Dataset: + assert set(technologies.dims) == {"replacement", "commodity"} + assert set(demand.dims) == {"asset", "timeslice", "commodity"} + assert set(prices.dims) == {"commodity", "timeslice"} + result = xr.Dataset() for name, objective in functions: obj = objective( @@ -410,7 +414,6 @@ def lifetime_levelized_cost_of_energy( prices=prices, capacity=capacity, production=production, - year=demand.year.item(), ) return results.where(np.isfinite(results)).fillna(0.0) diff --git a/src/muse/outputs/mca.py b/src/muse/outputs/mca.py index 10068afdf..2a689b1fc 100644 --- a/src/muse/outputs/mca.py +++ b/src/muse/outputs/mca.py @@ -933,7 +933,6 @@ def sector_lcoe(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Data technologies=techs, capacity=capacity, production=production, - year=agent.year, ) data_agent = result From e97084301d48dbdc3c569da075a1d8f7671ec5fc Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 6 Nov 2024 10:12:28 +0000 Subject: [PATCH 059/121] Fix merge error --- src/muse/agents/agent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/muse/agents/agent.py b/src/muse/agents/agent.py index 86a8b7022..d3eac0656 100644 --- a/src/muse/agents/agent.py +++ b/src/muse/agents/agent.py @@ -378,7 +378,7 @@ def compute_decision( prices = self.filter_input(market.prices) # Compute the objectives - decision = self._compute_objective( + objectives = self._compute_objective( technologies=techs, demand=reduced_demand, prices=prices.isel(year=1) ) From 6021f2b19dcc7ff473f5cef81b76a99bbcfd5598 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 6 Nov 2024 10:21:51 +0000 Subject: [PATCH 060/121] Properly fix merge error --- src/muse/agents/agent.py | 2 +- src/muse/costs.py | 27 ++++++++++++++++----------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/muse/agents/agent.py b/src/muse/agents/agent.py index d3eac0656..d5cbb1ea5 100644 --- a/src/muse/agents/agent.py +++ b/src/muse/agents/agent.py @@ -378,7 +378,7 @@ def compute_decision( prices = self.filter_input(market.prices) # Compute the objectives - objectives = self._compute_objective( + objectives = self.objectives( technologies=techs, demand=reduced_demand, prices=prices.isel(year=1) ) diff --git a/src/muse/costs.py b/src/muse/costs.py index 63c65508f..c345c6227 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -71,12 +71,10 @@ def net_present_value( ] ] - # Years + # Evolution of rates with time life = techs.technical_life.astype(int) iyears = range(life.values.max()) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") - - # Evolution of rates with time rates = discount_factor( years + 1, interest_rate=techs.interest_rate, @@ -127,15 +125,15 @@ def net_present_value( assert set(fixed_costs.dims) == set(variable_costs.dims) fixed_and_variable_costs = ((fixed_costs + variable_costs) * rates).sum("year") - results = raw_revenues - ( + # Net present value + result = raw_revenues - ( installed_capacity_costs + fuel_costs + environmental_costs + material_costs + fixed_and_variable_costs ) - - return results + return result def net_present_cost( @@ -247,12 +245,10 @@ def lifetime_levelized_cost_of_energy( ] ] - # Years + # Evolution of rates with time life = techs.technical_life.astype(int) iyears = range(life.values.max()) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") - - # Evolution of rates with time rates = discount_factor( years=years + 1, interest_rate=techs.interest_rate, @@ -297,14 +293,23 @@ def lifetime_levelized_cost_of_energy( techs.var_par * production.sel(commodity=products) ** techs.var_exp ).sum("commodity") fixed_and_variable_costs = ((fixed_costs + variable_costs) * rates).sum("year") - denominator = production.where(production > 0.0, 1e-6) + + # Production + prod = ( + production.where(production > 0.0, 1e-6) + .sel(commodity=products) + .sum("commodity") + ) + total_prod = (prod * rates).sum("year") + + # LCOE result = ( installed_capacity_costs + fuel_costs + environmental_costs + material_costs + fixed_and_variable_costs - ) / (denominator.sel(commodity=products).sum("commodity") * rates).sum("year") + ) / total_prod return result From 128416d14a3852ba6194994bdb336ea69c50ff17 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 6 Nov 2024 12:51:51 +0000 Subject: [PATCH 061/121] Pass consumption to costs, improve aLCOE --- src/muse/costs.py | 259 +++++++++++++++++++++---------------- src/muse/objectives.py | 26 +++- src/muse/outputs/mca.py | 4 + src/muse/sectors/sector.py | 16 ++- 4 files changed, 184 insertions(+), 121 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index c345c6227..2aae5c497 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -6,13 +6,12 @@ data for the technologies, where appropriate. """ -from typing import Optional, Union +from typing import Optional import numpy as np import xarray as xr from muse.commodities import is_enduse, is_fuel, is_material, is_pollutant -from muse.quantities import consumption from muse.timeslices import QuantityType, convert_timeslice from muse.utilities import filter_input @@ -22,6 +21,7 @@ def net_present_value( prices: xr.DataArray, capacity: xr.DataArray, production: xr.DataArray, + consumption: xr.DataArray, ) -> xr.DataArray: """Net present value (NPV) of the relevant technologies. @@ -48,11 +48,19 @@ def net_present_value( technologies: xr.Dataset of technology parameters prices: xr.DataArray with commodity prices capacity: xr.DataArray with the capacity of the relevant technologies - production: xr.DataArray with the production of the relevant technologies + production: xr.DataArray with commodity production by the relevant technologies + consumption: xr.DataArray with commodity consumption by the relevant + technologies Return: xr.DataArray with the NPV calculated for the relevant technologies """ + assert "year" not in technologies.dims + assert "year" not in prices.dims + assert "year" not in capacity.dims + assert "year" not in production.dims + assert "year" not in consumption.dims + # Filtering of the inputs techs = technologies[ [ @@ -106,24 +114,32 @@ def net_present_value( # Fuel/energy costs prices_fuel = filter_input(prices, commodity=fuels) - fuel = consumption(technologies=techs, production=production, prices=prices) - fuel_costs = (fuel * prices_fuel * rates).sum(("commodity", "year")) + fuel_costs = (consumption * prices_fuel * rates).sum(("commodity", "year")) # Cost related to material other than fuel/energy and environmentals prices_material = filter_input(prices, commodity=material) - material_costs = (production * prices_material * rates).sum(("commodity", "year")) + material_costs = (consumption * prices_material * rates).sum(("commodity", "year")) - # Fixed and Variable costs - fixed_costs = convert_timeslice( - techs.fix_par * (capacity**techs.fix_exp), - prices.timeslice, - QuantityType.EXTENSIVE, - ) - variable_costs = techs.var_par * ( - (production.sel(commodity=products).sum("commodity")) ** techs.var_exp + # Fixed costs + fixed_costs = ( + convert_timeslice( + techs.fix_par * (capacity**techs.fix_exp), + prices.timeslice, + QuantityType.EXTENSIVE, + ) + * rates + ).sum("year") + + # Variable costs + prod_amplitude = ( + production + / convert_timeslice( + techs.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE + ) + ).max("commodity") + variable_costs = ((techs.var_par * prod_amplitude**techs.var_exp) * rates).sum( + "year" ) - assert set(fixed_costs.dims) == set(variable_costs.dims) - fixed_and_variable_costs = ((fixed_costs + variable_costs) * rates).sum("year") # Net present value result = raw_revenues - ( @@ -131,7 +147,8 @@ def net_present_value( + fuel_costs + environmental_costs + material_costs - + fixed_and_variable_costs + + fixed_costs + + variable_costs ) return result @@ -141,6 +158,7 @@ def net_present_cost( prices: xr.DataArray, capacity: xr.DataArray, production: xr.DataArray, + consumption: xr.DataArray, ) -> xr.DataArray: """Net present cost (NPC) of the relevant technologies. @@ -155,7 +173,9 @@ def net_present_cost( technologies: xr.Dataset of technology parameters prices: xr.DataArray with commodity prices capacity: xr.DataArray with the capacity of the relevant technologies - production: xr.DataArray with the production of the relevant technologies + production: xr.DataArray with commodity production by the relevant technologies + consumption: xr.DataArray with commodity consumption by the relevant + technologies Return: xr.DataArray with the NPC calculated for the relevant technologies @@ -164,8 +184,9 @@ def net_present_cost( assert "year" not in prices.dims assert "year" not in capacity.dims assert "year" not in production.dims + assert "year" not in consumption.dims - return -net_present_value(technologies, prices, capacity, production) + return -net_present_value(technologies, prices, capacity, production, consumption) def equivalent_annual_cost( @@ -173,6 +194,7 @@ def equivalent_annual_cost( prices: xr.DataArray, capacity: xr.DataArray, production: xr.DataArray, + consumption: xr.DataArray, ) -> xr.DataArray: """Equivalent annual costs (or annualized cost) of a technology. @@ -188,7 +210,9 @@ def equivalent_annual_cost( technologies: xr.Dataset of technology parameters prices: xr.DataArray with commodity prices capacity: xr.DataArray with the capacity of the relevant technologies - production: xr.DataArray with the production of the relevant technologies + production: xr.DataArray with commodity production by the relevant technologies + consumption: xr.DataArray with commodity consumption by the relevant + technologies Return: xr.DataArray with the EAC calculated for the relevant technologies @@ -197,8 +221,9 @@ def equivalent_annual_cost( assert "year" not in prices.dims assert "year" not in capacity.dims assert "year" not in production.dims + assert "year" not in consumption.dims - npc = net_present_cost(technologies, prices, capacity, production) + npc = net_present_cost(technologies, prices, capacity, production, consumption) crf = capital_recovery_factor(technologies) return npc * crf @@ -208,6 +233,7 @@ def lifetime_levelized_cost_of_energy( prices: xr.DataArray, capacity: xr.DataArray, production: xr.DataArray, + consumption: xr.DataArray, ) -> xr.DataArray: """Levelized cost of energy (LCOE) of technologies over their lifetime. @@ -217,8 +243,9 @@ def lifetime_levelized_cost_of_energy( technologies: xr.Dataset of technology parameters prices: xr.DataArray with commodity prices capacity: xr.DataArray with the capacity of the relevant technologies - production: xr.DataArray with the production of the relevant technologies - year: int, the year of the forecast + production: xr.DataArray with commodity production by the relevant technologies + consumption: xr.DataArray with commodity consumption by the relevant + technologies Return: xr.DataArray with the LCOE calculated for the relevant technologies @@ -227,6 +254,7 @@ def lifetime_levelized_cost_of_energy( assert "year" not in prices.dims assert "year" not in capacity.dims assert "year" not in production.dims + assert "year" not in consumption.dims techs = technologies[ [ @@ -276,23 +304,32 @@ def lifetime_levelized_cost_of_energy( # Fuel/energy costs prices_fuel = filter_input(prices, commodity=fuels) - fuel = consumption(technologies=techs, production=production, prices=prices) - fuel_costs = (fuel * prices_fuel * rates).sum(("commodity", "year")) + fuel_costs = (consumption * prices_fuel * rates).sum(("commodity", "year")) # Cost related to material other than fuel/energy and environmentals prices_material = filter_input(prices, commodity=material) - material_costs = (production * prices_material * rates).sum(("commodity", "year")) + material_costs = (consumption * prices_material * rates).sum(("commodity", "year")) - # Fixed and Variable costs - fixed_costs = convert_timeslice( - techs.fix_par * (capacity**techs.fix_exp), - prices.timeslice, - QuantityType.EXTENSIVE, + # Fixed costs + fixed_costs = ( + convert_timeslice( + techs.fix_par * (capacity**techs.fix_exp), + prices.timeslice, + QuantityType.EXTENSIVE, + ) + * rates + ).sum("year") + + # Variable costs + prod_amplitude = ( + production + / convert_timeslice( + techs.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE + ) + ).max("commodity") + variable_costs = ((techs.var_par * prod_amplitude**techs.var_exp) * rates).sum( + "year" ) - variable_costs = ( - techs.var_par * production.sel(commodity=products) ** techs.var_exp - ).sum("commodity") - fixed_and_variable_costs = ((fixed_costs + variable_costs) * rates).sum("year") # Production prod = ( @@ -308,7 +345,8 @@ def lifetime_levelized_cost_of_energy( + fuel_costs + environmental_costs + material_costs - + fixed_and_variable_costs + + fixed_costs + + variable_costs ) / total_prod return result @@ -317,9 +355,9 @@ def lifetime_levelized_cost_of_energy( def annual_levelized_cost_of_energy( technologies: xr.Dataset, prices: xr.DataArray, - interpolation: str = "linear", - fill_value: Union[int, str] = "extrapolate", - **filters, + capacity: xr.DataArray, + production: xr.DataArray, + consumption: xr.DataArray, ) -> xr.DataArray: """Undiscounted levelized cost of energy (LCOE) of technologies on each given year. @@ -333,110 +371,103 @@ def annual_levelized_cost_of_energy( * [1]: dimensionless Arguments: - technologies: Describe the technologies, with at least the following parameters: - * cap_par: [$/E] overnight capital cost - * interest_rate: [1] - * fix_par: [$/(Eh)] fixed costs of operation and maintenance costs - * var_par: [$/(Eh)] variable costs of operation and maintenance costs - * fixed_inputs: [1] == [(Eh)/(Eh)] ratio indicating the amount of commodity - consumed per units of energy created. - * fixed_outputs: [1] == [(Eh)/(Eh)] ration indicating the amount of - environmental pollutants produced per units of energy created. - prices: [$/(Eh)] the price of all commodities, including consumables and fuels. - This dataarray contains at least timeslice and commodity dimensions. - interpolation: interpolation method. - fill_value: Fill value for values outside the extrapolation range. - **filters: Anything by which prices can be filtered. + technologies: xr.Dataset of technology parameters + prices: xr.DataArray with commodity prices + capacity: xr.DataArray with the capacity of the relevant technologies + production: xr.DataArray with commodity production by the relevant technologies + consumption: xr.DataArray with commodity consumption by the relevant + technologies Return: The lifetime LCOE in [$/(Eh)] for each technology at each timeslice. .. _simplified LCOE: https://www.nrel.gov/analysis/tech-lcoe-documentation.html """ + assert "year" not in technologies.dims + assert "year" not in prices.dims + assert "year" not in capacity.dims + assert "year" not in production.dims + assert "year" not in consumption.dims + techs = technologies[ [ "technical_life", "interest_rate", "cap_par", + "cap_exp", "var_par", + "var_exp", "fix_par", + "fix_exp", + "fixed_outputs", "fixed_inputs", "flexible_inputs", - "fixed_outputs", "utilization_factor", ] ] - if "year" in techs.dims: - techs = techs.interp( - year=prices.year, method=interpolation, kwargs={"fill_value": fill_value} - ) - if filters is not None: - prices = prices.sel({k: v for k, v in filters.items() if k in prices.dims}) - techs = techs.sel({k: v for k, v in filters.items() if k in techs.dims}) - - assert {"timeslice", "commodity"}.issubset(prices.dims) - - life = techs.technical_life.astype(int) - rates = techs.interest_rate / (1 - (1 + techs.interest_rate) ** (-life)) + # Filters + environmentals = is_pollutant(technologies.comm_usage) + material = is_material(technologies.comm_usage) + products = is_enduse(technologies.comm_usage) + fuels = is_fuel(technologies.comm_usage) - # Capital costs - annualized_capital_costs = ( + # Cost of installed capacity (annualized) + installed_capacity_costs = ( convert_timeslice( - techs.cap_par * rates, + techs.cap_par * (capacity**techs.cap_exp), prices.timeslice, QuantityType.EXTENSIVE, ) - / techs.utilization_factor + / techs.technical_life ) - # Fixed and variable running costs - o_and_e_costs = ( - convert_timeslice( - (techs.fix_par + techs.var_par), - prices.timeslice, - QuantityType.EXTENSIVE, - ) - / techs.utilization_factor + # Cost related to environmental products + prices_environmental = filter_input(prices, commodity=environmentals) + environmental_costs = (production * prices_environmental).sum("commodity") + + # Fuel/energy costs + prices_fuel = filter_input(prices, commodity=fuels) + fuel_costs = (consumption * prices_fuel).sum("commodity") + + # Cost related to material other than fuel/energy and environmentals + prices_material = filter_input(prices, commodity=material) + material_costs = (consumption * prices_material).sum("commodity") + + # Fixed costs + fixed_costs = convert_timeslice( + techs.fix_par * (capacity**techs.fix_exp), + prices.timeslice, + QuantityType.EXTENSIVE, ) - # Fuel costs from fixed and flexible inputs - fuel_costs = ( - convert_timeslice(techs.fixed_inputs, prices.timeslice, QuantityType.EXTENSIVE) - * prices - ).sum("commodity") - fuel_costs += ( - convert_timeslice( - techs.flexible_inputs, prices.timeslice, QuantityType.EXTENSIVE + # Variable costs + prod_amplitude = ( + production + / convert_timeslice( + techs.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE ) - * prices - ).sum("commodity") - - # Environmental costs - if "region" in techs.dims: - env_costs = ( - ( - convert_timeslice( - techs.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE - ) - * prices - ) - .sel(region=techs.region) - .sel(commodity=is_pollutant(techs.comm_usage)) - .sum("commodity") - ) - else: - env_costs = ( - ( - convert_timeslice( - techs.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE - ) - * prices - ) - .sel(commodity=is_pollutant(techs.comm_usage)) - .sum("commodity") - ) - return annualized_capital_costs + o_and_e_costs + env_costs + fuel_costs + ).max("commodity") + variable_costs = techs.var_par * prod_amplitude**techs.var_exp + + # Production + prod = ( + production.where(production > 0.0, 1e-6) + .sel(commodity=products) + .sum("commodity") + ) + + # LCOE + result = ( + installed_capacity_costs + + fuel_costs + + environmental_costs + + material_costs + + fixed_costs + + variable_costs + ) / prod + + return result def supply_cost( diff --git a/src/muse/objectives.py b/src/muse/objectives.py index c9dc0e2e4..ac5f11c3f 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -375,11 +375,28 @@ def annual_levelized_cost_of_energy( """ from muse.costs import annual_levelized_cost_of_energy as aLCOE + from muse.quantities import consumption + from muse.timeslices import QuantityType, convert_timeslice - return filter_input( - aLCOE(technologies=technologies, prices=prices).max("timeslice"), - year=demand.year.item(), + capacity = capacity_to_service_demand(technologies, demand) + production = ( + capacity + * convert_timeslice( + technologies.fixed_outputs, demand.timeslice, QuantityType.EXTENSIVE + ) + * technologies.utilization_factor ) + consump = consumption(technologies=technologies, prices=prices, production=demand) + + results = aLCOE( + technologies=technologies, + prices=prices, + capacity=capacity, + production=production, + consumption=consump, + ) + + return results.where(np.isfinite(results)).fillna(0.0) @register_objective(name=["LCOE", "LLCOE"]) @@ -398,6 +415,7 @@ def lifetime_levelized_cost_of_energy( due to a zero utilisation factor. """ from muse.costs import lifetime_levelized_cost_of_energy as LCOE + from muse.quantities import consumption from muse.timeslices import QuantityType, convert_timeslice capacity = capacity_to_service_demand(technologies, demand) @@ -408,12 +426,14 @@ def lifetime_levelized_cost_of_energy( ) * technologies.utilization_factor ) + consump = consumption(technologies=technologies, prices=prices, production=demand) results = LCOE( technologies=technologies, prices=prices, capacity=capacity, production=production, + consumption=consump, ) return results.where(np.isfinite(results)).fillna(0.0) diff --git a/src/muse/outputs/mca.py b/src/muse/outputs/mca.py index c8106baca..a42ceb7b1 100644 --- a/src/muse/outputs/mca.py +++ b/src/muse/outputs/mca.py @@ -470,12 +470,16 @@ def sector_lcoe(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Data ) * techs.utilization_factor ) + consump = consumption( + technologies=technologies, prices=prices, production=demand + ) result = LCOE( prices=prices, technologies=techs, capacity=capacity, production=production, + consumption=consump, ) data_agent = result diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index 8d0f082ff..8593d8549 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -299,13 +299,21 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: # Calculate consumption consume = consumption(technologies, supply, market.prices) - # Calculate commodity prices + # Calculate LCOE + # We select data for the second year, which corresponds to the investment year technodata = cast(xr.Dataset, broadcast_techs(technologies, supply)) + lcoe = annual_levelized_cost_of_energy( + prices=market.prices.sel(region=supply.region).isel(year=1), + technologies=technodata, + capacity=capacity.isel(year=1), + production=supply.isel(year=1), + consumption=consume.isel(year=1), + ) + + # Calculate new commodity prices costs = supply_cost( supply.where(~is_pollutant(supply.comm_usage), 0), - annual_levelized_cost_of_energy( - prices=market.prices.sel(region=supply.region), technologies=technodata - ), + lcoe, asset_dim="asset", ) From baae2e8f7ddbff15aec730e4713701f03fd29751 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 6 Nov 2024 14:34:53 +0000 Subject: [PATCH 062/121] Restore old ALCOE as legacy function --- src/muse/costs.py | 129 ++++++++++++++++++++++++++++++++++++++- src/muse/production.py | 6 +- src/muse/quantities.py | 2 +- tests/test_quantities.py | 20 +++--- 4 files changed, 142 insertions(+), 15 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 479dd9f6a..8ccfd1e62 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -6,7 +6,7 @@ data for the technologies, where appropriate. """ -from typing import Optional +from typing import Optional, Union import numpy as np import xarray as xr @@ -449,6 +449,133 @@ def annual_levelized_cost_of_energy( return result +def annual_levelized_cost_of_energy_legacy( + technologies: xr.Dataset, + prices: xr.DataArray, + interpolation: str = "linear", + fill_value: Union[int, str] = "extrapolate", + **filters, +) -> xr.DataArray: + """LEGACY: Used in the "match" and "costed" production methods (to be deleted). + + Undiscounted levelized cost of energy (LCOE) of technologies on each given year. + + It mostly follows the `simplified LCOE`_ given by NREL. In the argument description, + we use the following: + + * [h]: hour + * [y]: year + * [$]: unit of currency + * [E]: unit of energy + * [1]: dimensionless + + Arguments: + technologies: Describe the technologies, with at least the following parameters: + * cap_par: [$/E] overnight capital cost + * interest_rate: [1] + * fix_par: [$/(Eh)] fixed costs of operation and maintenance costs + * var_par: [$/(Eh)] variable costs of operation and maintenance costs + * fixed_inputs: [1] == [(Eh)/(Eh)] ratio indicating the amount of commodity + consumed per units of energy created. + * fixed_outputs: [1] == [(Eh)/(Eh)] ration indicating the amount of + environmental pollutants produced per units of energy created. + prices: [$/(Eh)] the price of all commodities, including consumables and fuels. + This dataarray contains at least timeslice and commodity dimensions. + interpolation: interpolation method. + fill_value: Fill value for values outside the extrapolation range. + **filters: Anything by which prices can be filtered. + + Return: + The lifetime LCOE in [$/(Eh)] for each technology at each timeslice. + + .. _simplified LCOE: https://www.nrel.gov/analysis/tech-lcoe-documentation.html + """ + techs = technologies[ + [ + "technical_life", + "interest_rate", + "cap_par", + "var_par", + "fix_par", + "fixed_inputs", + "flexible_inputs", + "fixed_outputs", + "utilization_factor", + ] + ] + if "year" in techs.dims: + techs = techs.interp( + year=prices.year, method=interpolation, kwargs={"fill_value": fill_value} + ) + if filters is not None: + prices = prices.sel({k: v for k, v in filters.items() if k in prices.dims}) + techs = techs.sel({k: v for k, v in filters.items() if k in techs.dims}) + + assert {"timeslice", "commodity"}.issubset(prices.dims) + + life = techs.technical_life.astype(int) + + rates = techs.interest_rate / (1 - (1 + techs.interest_rate) ** (-life)) + + # Capital costs + annualized_capital_costs = ( + convert_timeslice( + techs.cap_par * rates, + prices.timeslice, + QuantityType.EXTENSIVE, + ) + / techs.utilization_factor + ) + + # Fixed and variable running costs + o_and_e_costs = ( + convert_timeslice( + (techs.fix_par + techs.var_par), + prices.timeslice, + QuantityType.EXTENSIVE, + ) + / techs.utilization_factor + ) + + # Fuel costs from fixed and flexible inputs + fuel_costs = ( + convert_timeslice(techs.fixed_inputs, prices.timeslice, QuantityType.EXTENSIVE) + * prices + ).sum("commodity") + fuel_costs += ( + convert_timeslice( + techs.flexible_inputs, prices.timeslice, QuantityType.EXTENSIVE + ) + * prices + ).sum("commodity") + + # Environmental costs + if "region" in techs.dims: + env_costs = ( + ( + convert_timeslice( + techs.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE + ) + * prices + ) + .sel(region=techs.region) + .sel(commodity=is_pollutant(techs.comm_usage)) + .sum("commodity") + ) + else: + env_costs = ( + ( + convert_timeslice( + techs.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE + ) + * prices + ) + .sel(commodity=is_pollutant(techs.comm_usage)) + .sum("commodity") + ) + return annualized_capital_costs + o_and_e_costs + env_costs + fuel_costs + + def supply_cost( production: xr.DataArray, lcoe: xr.DataArray, asset_dim: Optional[str] = "asset" ) -> xr.DataArray: diff --git a/src/muse/production.py b/src/muse/production.py index b23d4666d..5036e4e73 100644 --- a/src/muse/production.py +++ b/src/muse/production.py @@ -133,7 +133,7 @@ def demand_matched_production( costs: str = "prices", ) -> xr.DataArray: """Production from matching demand via annual lcoe.""" - from muse.costs import annual_levelized_cost_of_energy as lcoe + from muse.costs import annual_levelized_cost_of_energy_legacy as lcoe from muse.quantities import demand_matched_production, gross_margin from muse.utilities import broadcast_techs @@ -173,7 +173,7 @@ def costed_production( minimum service is applied first. """ from muse.commodities import CommodityUsage, check_usage, is_pollutant - from muse.costs import annual_levelized_cost_of_energy + from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE from muse.quantities import ( costed_production, emission, @@ -181,7 +181,7 @@ def costed_production( from muse.utilities import broadcast_techs if isinstance(costs, str) and costs.lower() == "alcoe": - costs = annual_levelized_cost_of_energy + costs = ALCOE elif isinstance(costs, str): raise ValueError(f"Unknown cost {costs}") if callable(costs): diff --git a/src/muse/quantities.py b/src/muse/quantities.py index e172099cf..90560656d 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -395,7 +395,7 @@ def demand_matched_production( **filters: keyword arguments with which to filter the input datasets and data arrays., e.g. region, or year. """ - from muse.costs import annual_levelized_cost_of_energy as ALCOE + from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE from muse.demand_matching import demand_matching from muse.utilities import broadcast_techs diff --git a/tests/test_quantities.py b/tests/test_quantities.py index f5db481d1..4bb0db69d 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -422,7 +422,7 @@ def test_demand_matched_production( def test_costed_production_exact_match(market, capacity, technologies): - from muse.costs import annual_levelized_cost_of_energy + from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE from muse.quantities import ( costed_production, maximum_production, @@ -434,7 +434,7 @@ def test_costed_production_exact_match(market, capacity, technologies): set(market.region.values) ) technodata = broadcast_techs(technologies, capacity) - costs = annual_levelized_cost_of_energy( + costs = ALCOE( prices=market.prices.sel(region=technodata.region), technologies=technodata ) maxdemand = ( @@ -454,7 +454,7 @@ def test_costed_production_exact_match(market, capacity, technologies): def test_costed_production_single_region(market, capacity, technologies): - from muse.costs import annual_levelized_cost_of_energy + from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE from muse.quantities import ( costed_production, maximum_production, @@ -467,7 +467,7 @@ def test_costed_production_single_region(market, capacity, technologies): maxdemand = maximum_production(technologies, capacity).sum("asset") market["consumption"] = drop_timeslice(0.9 * maxdemand) technodata = broadcast_techs(technologies, capacity) - costs = annual_levelized_cost_of_energy( + costs = ALCOE( prices=market.prices.sel(region=technodata.region), technologies=technodata ) result = costed_production(market.consumption, costs, capacity, technologies) @@ -480,7 +480,7 @@ def test_costed_production_single_region(market, capacity, technologies): def test_costed_production_single_year(market, capacity, technologies): - from muse.costs import annual_levelized_cost_of_energy + from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE from muse.quantities import ( costed_production, maximum_production, @@ -497,7 +497,7 @@ def test_costed_production_single_year(market, capacity, technologies): ) market["consumption"] = drop_timeslice(0.9 * maxdemand) technodata = broadcast_techs(technologies, capacity) - costs = annual_levelized_cost_of_energy( + costs = ALCOE( prices=market.prices.sel(region=technodata.region), technologies=technodata ) result = costed_production(market.consumption, costs, capacity, technologies) @@ -510,7 +510,7 @@ def test_costed_production_single_year(market, capacity, technologies): def test_costed_production_over_capacity(market, capacity, technologies): - from muse.costs import annual_levelized_cost_of_energy + from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE from muse.quantities import ( costed_production, maximum_production, @@ -530,7 +530,7 @@ def test_costed_production_over_capacity(market, capacity, technologies): ) market["consumption"] = drop_timeslice(maxdemand * 0.9) technodata = broadcast_techs(technologies, capacity) - costs = annual_levelized_cost_of_energy( + costs = ALCOE( prices=market.prices.sel(region=technodata.region), technologies=technodata ) result = costed_production(market.consumption, costs, capacity, technologies) @@ -543,7 +543,7 @@ def test_costed_production_over_capacity(market, capacity, technologies): def test_costed_production_with_minimum_service(market, capacity, technologies, rng): - from muse.costs import annual_levelized_cost_of_energy + from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE from muse.quantities import ( costed_production, maximum_production, @@ -566,7 +566,7 @@ def test_costed_production_with_minimum_service(market, capacity, technologies, maxdemand = xr.Dataset(dict(mp=minprod)).groupby("region").sum("asset").mp market["consumption"] = drop_timeslice(maxdemand * 0.9) technodata = broadcast_techs(technologies, capacity) - costs = annual_levelized_cost_of_energy( + costs = ALCOE( prices=market.prices.sel(region=technodata.region), technologies=technodata ) result = costed_production(market.consumption, costs, capacity, technologies) From 798cc96fa69990f5a09508af1b354e065899005b Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 6 Nov 2024 14:42:45 +0000 Subject: [PATCH 063/121] Fix for timeslice models --- src/muse/objectives.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 2d02acfec..af0cf77b5 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -71,7 +71,7 @@ def comfort( from muse.outputs.cache import cache_quantity from muse.registration import registrator -from muse.timeslices import drop_timeslice +from muse.timeslices import broadcast_timeslice, drop_timeslice from muse.utilities import filter_input OBJECTIVE_SIGNATURE = Callable[ @@ -133,9 +133,9 @@ def objectives( *args, **kwargs, ) -> xr.Dataset: - from muse.timeslices import broadcast_timeslice - - assert set(technologies.dims) == {"replacement", "commodity"} + assert set(technologies.dims).issubset( + {"replacement", "commodity", "timeslice"} + ) assert set(demand.dims) == {"asset", "timeslice", "commodity"} assert set(prices.dims) == {"commodity", "timeslice"} From e650f0b2600ac9f5e6c27e87cbf8f1e48e20d746 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 6 Nov 2024 14:52:16 +0000 Subject: [PATCH 064/121] Remove assert statements --- src/muse/objectives.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/muse/objectives.py b/src/muse/objectives.py index af0cf77b5..86f03cc54 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -133,12 +133,6 @@ def objectives( *args, **kwargs, ) -> xr.Dataset: - assert set(technologies.dims).issubset( - {"replacement", "commodity", "timeslice"} - ) - assert set(demand.dims) == {"asset", "timeslice", "commodity"} - assert set(prices.dims) == {"commodity", "timeslice"} - result = xr.Dataset() for name, objective in functions: obj = objective( From 0c10f56428a690793656406c59ed72df0bdab921 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 7 Nov 2024 09:19:29 +0000 Subject: [PATCH 065/121] Restore old ALCOE --- src/muse/costs.py | 54 ++++++++++++----------------------------------- 1 file changed, 13 insertions(+), 41 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 8ccfd1e62..d16677de3 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -456,9 +456,7 @@ def annual_levelized_cost_of_energy_legacy( fill_value: Union[int, str] = "extrapolate", **filters, ) -> xr.DataArray: - """LEGACY: Used in the "match" and "costed" production methods (to be deleted). - - Undiscounted levelized cost of energy (LCOE) of technologies on each given year. + """Undiscounted levelized cost of energy (LCOE) of technologies on each given year. It mostly follows the `simplified LCOE`_ given by NREL. In the argument description, we use the following: @@ -518,58 +516,32 @@ def annual_levelized_cost_of_energy_legacy( rates = techs.interest_rate / (1 - (1 + techs.interest_rate) ** (-life)) # Capital costs - annualized_capital_costs = ( - convert_timeslice( - techs.cap_par * rates, - prices.timeslice, - QuantityType.EXTENSIVE, - ) - / techs.utilization_factor - ) + annualized_capital_costs = distribute_timeslice( + techs.cap_par * rates + ) / broadcast_timeslice(techs.utilization_factor) # Fixed and variable running costs - o_and_e_costs = ( - convert_timeslice( - (techs.fix_par + techs.var_par), - prices.timeslice, - QuantityType.EXTENSIVE, - ) - / techs.utilization_factor - ) + o_and_e_costs = distribute_timeslice( + techs.fix_par + techs.var_par + ) / broadcast_timeslice(techs.utilization_factor) # Fuel costs from fixed and flexible inputs - fuel_costs = ( - convert_timeslice(techs.fixed_inputs, prices.timeslice, QuantityType.EXTENSIVE) - * prices - ).sum("commodity") - fuel_costs += ( - convert_timeslice( - techs.flexible_inputs, prices.timeslice, QuantityType.EXTENSIVE - ) - * prices - ).sum("commodity") + fuel_costs = (distribute_timeslice(techs.fixed_inputs) * prices).sum("commodity") + fuel_costs += (distribute_timeslice(techs.flexible_inputs) * prices).sum( + "commodity" + ) # Environmental costs if "region" in techs.dims: env_costs = ( - ( - convert_timeslice( - techs.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE - ) - * prices - ) + (distribute_timeslice(techs.fixed_outputs) * prices) .sel(region=techs.region) .sel(commodity=is_pollutant(techs.comm_usage)) .sum("commodity") ) else: env_costs = ( - ( - convert_timeslice( - techs.fixed_outputs, prices.timeslice, QuantityType.EXTENSIVE - ) - * prices - ) + (distribute_timeslice(techs.fixed_outputs) * prices) .sel(commodity=is_pollutant(techs.comm_usage)) .sum("commodity") ) From 0a8a097626ff15e02a2147e581b55c9ef9240d65 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 6 Nov 2024 13:56:40 +0000 Subject: [PATCH 066/121] Fix some tests --- src/muse/objectives.py | 15 +++--- tests/test_costs.py | 109 ++++++++++++++++++++++++++------------- tests/test_objectives.py | 11 ++-- 3 files changed, 88 insertions(+), 47 deletions(-) diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 86f03cc54..6143e0e3f 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -442,7 +442,7 @@ def net_present_value( See :py:func:`muse.costs.net_present_value` for more details. """ from muse.costs import net_present_value as NPV - from muse.quantities import capacity_to_service_demand + from muse.quantities import capacity_to_service_demand, consumption from muse.timeslices import broadcast_timeslice, distribute_timeslice capacity = capacity_to_service_demand(technologies=technologies, demand=demand) @@ -451,13 +451,14 @@ def net_present_value( * distribute_timeslice(technologies.fixed_outputs) * broadcast_timeslice(technologies.utilization_factor) ) + consump = consumption(technologies=technologies, prices=prices, production=demand) results = NPV( technologies=technologies, prices=prices, capacity=capacity, production=production, - year=demand.year.item(), + consumption=consump, ) return results @@ -475,7 +476,7 @@ def net_present_cost( See :py:func:`muse.costs.net_present_cost` for more details. """ from muse.costs import net_present_cost as NPC - from muse.quantities import capacity_to_service_demand + from muse.quantities import capacity_to_service_demand, consumption from muse.timeslices import broadcast_timeslice, distribute_timeslice capacity = capacity_to_service_demand(technologies=technologies, demand=demand) @@ -484,13 +485,14 @@ def net_present_cost( * distribute_timeslice(technologies.fixed_outputs) * broadcast_timeslice(technologies.utilization_factor) ) + consump = consumption(technologies=technologies, prices=prices, production=demand) results = NPC( technologies=technologies, prices=prices, capacity=capacity, production=production, - year=demand.year.item(), + consumption=consump, ) return results @@ -508,7 +510,7 @@ def equivalent_annual_cost( See :py:func:`muse.costs.equivalent_annual_cost` for more details. """ from muse.costs import equivalent_annual_cost as EAC - from muse.quantities import capacity_to_service_demand + from muse.quantities import capacity_to_service_demand, consumption from muse.timeslices import broadcast_timeslice, distribute_timeslice capacity = capacity_to_service_demand(technologies=technologies, demand=demand) @@ -517,12 +519,13 @@ def equivalent_annual_cost( * distribute_timeslice(technologies.fixed_outputs) * broadcast_timeslice(technologies.utilization_factor) ) + consump = consumption(technologies=technologies, prices=prices, production=demand) results = EAC( technologies=technologies, prices=prices, capacity=capacity, production=production, - year=demand.year.item(), + consumption=consump, ) return results diff --git a/tests/test_costs.py b/tests/test_costs.py index 1099e2312..846eaf411 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -1,101 +1,138 @@ from pytest import fixture +YEAR = 2030 + @fixture def _prices(market): prices = market.prices - return prices + return prices.sel(year=YEAR) + + +@fixture +def _technologies(technologies): + return technologies.sel(year=YEAR) @fixture -def _capacity(technologies, demand_share): +def _capacity(_technologies, demand_share): from muse.quantities import capacity_to_service_demand capacity = capacity_to_service_demand( - technologies=technologies, demand=demand_share + technologies=_technologies, demand=demand_share ) return capacity @fixture -def _production(technologies, _capacity): +def _production(_technologies, _capacity): from muse.timeslices import broadcast_timeslice, distribute_timeslice production = ( broadcast_timeslice(_capacity) - * distribute_timeslice(technologies.fixed_outputs) - * broadcast_timeslice(technologies.utilization_factor) + * distribute_timeslice(_technologies.fixed_outputs) + * broadcast_timeslice(_technologies.utilization_factor) ) return production -def test_fixtures(technologies, _prices, _capacity, _production): +@fixture +def _consumption(_technologies, _capacity, demand_share): + from muse.timeslices import QuantityType, convert_timeslice + + consumption = ( + _capacity + * convert_timeslice( + _technologies.fixed_inputs, demand_share.timeslice, QuantityType.EXTENSIVE + ) + * _technologies.utilization_factor + ) + return consumption + + +def test_fixtures(_technologies, _prices, _capacity, _production, _consumption): """Validating that the fixtures have appropriate dimensions.""" - assert set(technologies.dims) == {"commodity", "region", "technology", "year"} - assert set(_prices.dims) == {"commodity", "region", "timeslice", "year"} - assert set(_capacity.dims) == {"asset", "region", "technology", "year"} - assert set(_production.dims) == { - "asset", - "commodity", - "region", - "technology", - "timeslice", - "year", - } + assert set(_technologies.dims) == {"commodity", "region", "technology"} + assert set(_prices.dims) == {"commodity", "region", "timeslice"} + assert set(_capacity.dims) == {"asset", "region", "technology"} + assert ( + set(_production.dims) + == set(_consumption.dims) + == { + "asset", + "commodity", + "region", + "technology", + "timeslice", + } + ) -def test_net_present_value(technologies, _prices, _capacity, _production, year=2030): +def test_net_present_value( + _technologies, _prices, _capacity, _production, _consumption +): from muse.costs import net_present_value - result = net_present_value(technologies, _prices, _capacity, _production, year) - assert set(result.dims) == {"asset", "region", "technology", "timeslice", "year"} + result = net_present_value( + _technologies, _prices, _capacity, _production, _consumption + ) + assert set(result.dims) == {"asset", "region", "technology", "timeslice"} -def test_net_present_cost(technologies, _prices, _capacity, _production, year=2030): +def test_net_present_cost(_technologies, _prices, _capacity, _production, _consumption): from muse.costs import net_present_cost - result = net_present_cost(technologies, _prices, _capacity, _production, year) - assert set(result.dims) == {"asset", "region", "technology", "timeslice", "year"} + result = net_present_cost( + _technologies, _prices, _capacity, _production, _consumption + ) + assert set(result.dims) == {"asset", "region", "technology", "timeslice"} def test_equivalent_annual_cost( - technologies, _prices, _capacity, _production, year=2030 + _technologies, _prices, _capacity, _production, _consumption ): from muse.costs import equivalent_annual_cost - result = equivalent_annual_cost(technologies, _prices, _capacity, _production, year) - assert set(result.dims) == {"asset", "region", "technology", "timeslice", "year"} + result = equivalent_annual_cost( + _technologies, _prices, _capacity, _production, _consumption + ) + assert set(result.dims) == {"asset", "region", "technology", "timeslice"} def test_lifetime_levelized_cost_of_energy( - technologies, _prices, _capacity, _production, year=2030 + _technologies, _prices, _capacity, _production, _consumption ): from muse.costs import lifetime_levelized_cost_of_energy result = lifetime_levelized_cost_of_energy( - technologies, _prices, _capacity, _production, year + _technologies, _prices, _capacity, _production, _consumption ) - assert set(result.dims) == {"asset", "region", "technology", "timeslice", "year"} + assert set(result.dims) == {"asset", "region", "technology", "timeslice"} -def test_annual_levelized_cost_of_energy(technologies, _prices): +def test_annual_levelized_cost_of_energy( + _technologies, _prices, _capacity, _production, _consumption +): from muse.costs import annual_levelized_cost_of_energy - result = annual_levelized_cost_of_energy(technologies, _prices) - assert set(result.dims) == {"region", "technology", "timeslice", "year"} + result = annual_levelized_cost_of_energy( + _technologies, _prices, _capacity, _production, _consumption + ) + assert set(result.dims) == {"asset", "region", "technology", "timeslice"} -def test_supply_cost(_production, _prices, technologies): +def test_supply_cost(_technologies, _prices, _capacity, _production, _consumption): from muse.costs import annual_levelized_cost_of_energy, supply_cost - lcoe = annual_levelized_cost_of_energy(technologies, _prices) + lcoe = annual_levelized_cost_of_energy( + _technologies, _prices, _capacity, _production, _consumption + ) result = supply_cost(_production, lcoe) assert set(result.dims) == { "commodity", "region", "technology", "timeslice", - "year", } diff --git a/tests/test_objectives.py b/tests/test_objectives.py index a8030634d..4ff69abe1 100644 --- a/tests/test_objectives.py +++ b/tests/test_objectives.py @@ -1,14 +1,15 @@ from pytest import fixture, mark +YEAR = 2030 + @fixture def _technologies(technologies, retro_agent, search_space): techs = retro_agent.filter_input( technologies, technology=search_space.replacement, - year=retro_agent.forecast_year, ).drop_vars("technology") - return techs + return techs.sel(year=YEAR) @fixture @@ -26,14 +27,14 @@ def _demand(demand_share, search_space): @fixture def _prices(retro_agent, agent_market): prices = retro_agent.filter_input(agent_market.prices) - return prices + return prices.sel(year=YEAR) def test_fixtures(_technologies, _demand, _prices): """Validating that the fixtures have appropriate dimensions.""" assert set(_technologies.dims) == {"commodity", "replacement"} assert set(_demand.dims) == {"asset", "commodity", "timeslice"} - assert set(_prices.dims) == {"commodity", "timeslice", "year"} + assert set(_prices.dims) == {"commodity", "timeslice"} @mark.usefixtures("save_registries") @@ -174,7 +175,7 @@ def test_annual_levelized_cost_of_energy(_technologies, _demand, _prices): from muse.objectives import annual_levelized_cost_of_energy result = annual_levelized_cost_of_energy(_technologies, _demand, _prices) - assert set(result.dims) == {"replacement"} + assert set(result.dims) == {"replacement", "asset", "timeslice"} def test_lifetime_levelized_cost_of_energy(_technologies, _demand, _prices): From d44d31e6bfdc50575f89638ea4bc701aafb2afa2 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 7 Nov 2024 09:36:08 +0000 Subject: [PATCH 067/121] Fix merge errors --- src/muse/objectives.py | 10 ++++------ tests/test_costs.py | 12 +++++------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 6143e0e3f..f4caae81b 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -368,15 +368,13 @@ def annual_levelized_cost_of_energy( """ from muse.costs import annual_levelized_cost_of_energy as aLCOE from muse.quantities import consumption - from muse.timeslices import QuantityType, convert_timeslice + from muse.timeslices import broadcast_timeslice, distribute_timeslice capacity = capacity_to_service_demand(technologies, demand) production = ( - capacity - * convert_timeslice( - technologies.fixed_outputs, demand.timeslice, QuantityType.EXTENSIVE - ) - * technologies.utilization_factor + broadcast_timeslice(capacity) + * distribute_timeslice(technologies.fixed_outputs) + * broadcast_timeslice(technologies.utilization_factor) ) consump = consumption(technologies=technologies, prices=prices, production=demand) diff --git a/tests/test_costs.py b/tests/test_costs.py index 846eaf411..c12c743d0 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -37,15 +37,13 @@ def _production(_technologies, _capacity): @fixture -def _consumption(_technologies, _capacity, demand_share): - from muse.timeslices import QuantityType, convert_timeslice +def _consumption(_technologies, _capacity): + from muse.timeslices import broadcast_timeslice, distribute_timeslice consumption = ( - _capacity - * convert_timeslice( - _technologies.fixed_inputs, demand_share.timeslice, QuantityType.EXTENSIVE - ) - * _technologies.utilization_factor + broadcast_timeslice(_capacity) + * distribute_timeslice(_technologies.fixed_inputs) + * broadcast_timeslice(_technologies.utilization_factor) ) return consumption From 59cceb8bdd3b3596275384a1c6043988754b10e8 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 7 Nov 2024 09:54:47 +0000 Subject: [PATCH 068/121] Delete sections from documentation --- docs/inputs/toml.rst | 103 ------------------------------------------- 1 file changed, 103 deletions(-) diff --git a/docs/inputs/toml.rst b/docs/inputs/toml.rst index 6ebaf6dad..f84379b75 100644 --- a/docs/inputs/toml.rst +++ b/docs/inputs/toml.rst @@ -236,30 +236,6 @@ levels. For instance, there no ``peak`` periods during weekends. All that matter that the relative weights (i.e. the number of hours) are consistent and sum up to a year. -The input above defines the finest times slice in the code. In order to define rougher -timeslices we can introduce items in each levels that represent aggregates at that -level. By default, we have the following: - -.. code-block:: TOML - - [timeslices.aggregates] - all-day = ["night", "morning", "afternoon", "early-peak", "late-peak", "evening"] - all-week = ["weekday", "weekend"] - all-year = ["winter", "summer", "spring-autumn"] - -Here, ``all-day`` aggregates the full day. However, one could potentially create -aggregates such as: - -.. code-block:: TOML - - [timeslices.aggregates] - daylight = ["morning", "afternoon", "early-peak", "late-peak"] - nightlife = ["evening", "night"] - - It is possible to specify a timeslice level for the mca by adding an -`mca.timeslice_levels` section, using an inline table format. -See section on `Timeslices_`. - *outputs_cache* This option behaves exactly like `outputs` for sectors and accepts the same options but controls the output of cached quantities instead. This option is NOT available for @@ -443,30 +419,6 @@ Sectors contain a number of subsections: Path to a csv file describing the outputs of each technology involved in the sector. See :ref:`inputs-iocomms`. - Once the finest timeslice and its aggregates are given, it is possible for each sector -to define the timeslice simply by referring to the slices it will use at each level. - -.. _sector-timeslices: - -*timeslice_levels* - Optional. These define the timeslices of a sector. If not specified, the finest timeslice levels will be used - (See `Timeslices`_). - It can be implemented with the following rows: - -.. code-block:: TOML - - [sectors.some_sector.timeslice_levels] - day = ["daylight", "nightlife"] - month = ["all-year"] - - Above, ``sectors.some_sector.timeslice_levels.week`` defaults its value in the finest - timeslice. Indeed, if the subsection ``sectors.some_sector.timeslice_levels`` is not - given, then the sector will default to using the finest timeslices. - - If the MCA uses a rougher - timeslice framework, the market will be expressed within it. Hence information from - sectors with a finer timeslice framework will be lost. - *subsectors* Subsectors group together agents into separate groups servicing the demand for @@ -731,58 +683,3 @@ The following attributes are accepted: filters.region = ["USA", "ASEA"] filters.commodity = ["algae", "fluorescent light"] - - --------------- -Legacy Sectors --------------- - -Legacy sectors wrap sectors developed for a previous version of MUSE to the open-source -version. - -Preset sectors are defined in :py:class:`~muse.sectors.PresetSector`. - -The can be defined in the TOML file as follows: - -.. code-block:: TOML - - [global_input_files] - macrodrivers = '{path}/input/Macrodrivers.csv' - regions = '{path}/input/Regions.csv' - global_commodities = '{path}/input/MUSEGlobalCommodities.csv' - - [sectors.Industry] - type = 'legacy' - priority = 'demand' - agregation_level = 'month' - excess = 0 - - userdata_path = '{muse_sectors}/Industry' - technodata_path = '{muse_sectors}/Industry' - timeslices_path = '{muse_sectors}/Industry/TimeslicesIndustry.csv' - output_path = '{path}/output' - -For historical reasons, the three `global_input_files` above are required. The sector -itself can use the following attributes. - -*type* - See the attribute in the standard mode, :ref:`type`. *Legacy* sectors - are those with type "legacy". - -*priority* - See the attribute in the standard mode, :ref:`priority`. - -*agregation_level* - Information relevant to the sector's timeslice. - -*excess* - Excess factor used to model early obsolescence. - -*userdata_path* - Path to a directory with sector-specific data files. - -*technodata_path* - Path to a technodata CSV file. See. :ref:`inputs-technodata`. - -*output_path* - Path to a directory where the sector will write output files. From 59ba25c43a701a024c7166b7eed614cda00ae32b Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 7 Nov 2024 11:26:57 +0000 Subject: [PATCH 069/121] Rename timeslice_op, add docstring --- src/muse/investments.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/muse/investments.py b/src/muse/investments.py index 3fa01f00d..50b3cb23d 100644 --- a/src/muse/investments.py +++ b/src/muse/investments.py @@ -256,7 +256,7 @@ def adhoc_match_demand( production, technologies, year=year, technology=production.replacement ).drop_vars("technology") if "timeslice" in capacity.dims: - capacity = timeslice_op(capacity) + capacity = timeslice_max(capacity) result = xr.Dataset({"capacity": capacity, "production": production}) return result @@ -278,7 +278,7 @@ def scipy_match_demand( from muse.constraints import ScipyAdapter if "timeslice" in costs.dims: - costs = timeslice_op(costs) + costs = timeslice_max(costs) # Select technodata for the current year if "year" in technologies.dims and year is None: @@ -355,7 +355,7 @@ def default_to_scipy(): return default_to_scipy() if "timeslice" in costs.dims: - costs = timeslice_op(costs) + costs = timeslice_max(costs) timeslice = next(cs.timeslice for cs in constraints if "timeslice" in cs.dims) adapter = ScipyAdapter.factory( techs, -cast(np.ndarray, costs), timeslice, *constraints @@ -383,7 +383,12 @@ def default_to_scipy(): return solution -def timeslice_op(x: xr.DataArray) -> xr.DataArray: +def timeslice_max(x: xr.DataArray) -> xr.DataArray: + """Find the max value over the timeslice dimension, normlaized for timeslice length. + + This first annualizes the value in each timeslice by dividing by the fraction of the + year that the timeslice occupies, then takes the maximum value + """ from muse.timeslices import TIMESLICE, broadcast_timeslice return (x / (TIMESLICE / broadcast_timeslice(TIMESLICE.sum()))).max("timeslice") From caacd9b30672df3a63603e658520deea0120f9b7 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 7 Nov 2024 15:34:17 +0000 Subject: [PATCH 070/121] Fix consumption function --- src/muse/costs.py | 26 +++++++++++-------- src/muse/examples.py | 4 +-- src/muse/objectives.py | 20 ++++++++++---- src/muse/outputs/mca.py | 2 +- src/muse/quantities.py | 53 ++++++++++++++++++-------------------- src/muse/sectors/sector.py | 2 +- 6 files changed, 59 insertions(+), 48 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index d16677de3..1547aabca 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -83,10 +83,12 @@ def net_present_value( life = techs.technical_life.astype(int) iyears = range(life.values.max()) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") - rates = discount_factor( - years + 1, - interest_rate=techs.interest_rate, - mask=years <= life, + rates = broadcast_timeslice( + discount_factor( + years + 1, + interest_rate=techs.interest_rate, + mask=years <= life, + ) ) # Filters @@ -124,7 +126,7 @@ def net_present_value( ).sum("year") # Variable costs - prod_amplitude = (production / distribute_timeslice(techs.fixed_outputs)).max( + prod_amplitude = (production / broadcast_timeslice(techs.fixed_outputs)).max( "commodity" ) variable_costs = ( @@ -271,10 +273,12 @@ def lifetime_levelized_cost_of_energy( life = techs.technical_life.astype(int) iyears = range(life.values.max()) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") - rates = discount_factor( - years=years + 1, - interest_rate=techs.interest_rate, - mask=years <= life, + rates = broadcast_timeslice( + discount_factor( + years=years + 1, + interest_rate=techs.interest_rate, + mask=years <= life, + ) ) # Filters @@ -308,7 +312,7 @@ def lifetime_levelized_cost_of_energy( ).sum("year") # Variable costs - prod_amplitude = (production / distribute_timeslice(techs.fixed_outputs)).max( + prod_amplitude = (production / broadcast_timeslice(techs.fixed_outputs)).max( "commodity" ) variable_costs = ( @@ -422,7 +426,7 @@ def annual_levelized_cost_of_energy( fixed_costs = distribute_timeslice(techs.fix_par * (capacity**techs.fix_exp)) # Variable costs - prod_amplitude = (production / distribute_timeslice(techs.fixed_outputs)).max( + prod_amplitude = (production / broadcast_timeslice(techs.fixed_outputs)).max( "commodity" ) variable_costs = broadcast_timeslice( diff --git a/src/muse/examples.py b/src/muse/examples.py index 9f85c4b3d..91975cfd3 100644 --- a/src/muse/examples.py +++ b/src/muse/examples.py @@ -255,7 +255,7 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: if "dst_region" in market.dims: market = market.rename(dst_region="region") if market.region.dims: - consump = consumption(loaded_sector.technologies, production) + consump = consumption(loaded_sector.technologies, production, market.prices) market["consumption"] = drop_timeslice( consump.groupby("region").sum( {"asset", "dst_region"}.intersection(consump.dims) @@ -264,7 +264,7 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: ) else: market["consumption"] = ( - consumption(loaded_sector.technologies, production).sum( + consumption(loaded_sector.technologies, production, market.prices).sum( {"asset", "dst_region"}.intersection(market.dims) ) + market.supply diff --git a/src/muse/objectives.py b/src/muse/objectives.py index f4caae81b..d8e193e1d 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -376,7 +376,9 @@ def annual_levelized_cost_of_energy( * distribute_timeslice(technologies.fixed_outputs) * broadcast_timeslice(technologies.utilization_factor) ) - consump = consumption(technologies=technologies, prices=prices, production=demand) + consump = consumption( + technologies=technologies, prices=prices, production=production + ) results = aLCOE( technologies=technologies, @@ -414,7 +416,9 @@ def lifetime_levelized_cost_of_energy( * distribute_timeslice(technologies.fixed_outputs) * broadcast_timeslice(technologies.utilization_factor) ) - consump = consumption(technologies=technologies, prices=prices, production=demand) + consump = consumption( + technologies=technologies, prices=prices, production=production + ) results = LCOE( technologies=technologies, @@ -449,7 +453,9 @@ def net_present_value( * distribute_timeslice(technologies.fixed_outputs) * broadcast_timeslice(technologies.utilization_factor) ) - consump = consumption(technologies=technologies, prices=prices, production=demand) + consump = consumption( + technologies=technologies, prices=prices, production=production + ) results = NPV( technologies=technologies, @@ -483,7 +489,9 @@ def net_present_cost( * distribute_timeslice(technologies.fixed_outputs) * broadcast_timeslice(technologies.utilization_factor) ) - consump = consumption(technologies=technologies, prices=prices, production=demand) + consump = consumption( + technologies=technologies, prices=prices, production=production + ) results = NPC( technologies=technologies, @@ -517,7 +525,9 @@ def equivalent_annual_cost( * distribute_timeslice(technologies.fixed_outputs) * broadcast_timeslice(technologies.utilization_factor) ) - consump = consumption(technologies=technologies, prices=prices, production=demand) + consump = consumption( + technologies=technologies, prices=prices, production=production + ) results = EAC( technologies=technologies, diff --git a/src/muse/outputs/mca.py b/src/muse/outputs/mca.py index be8066ae6..9769a0d21 100644 --- a/src/muse/outputs/mca.py +++ b/src/muse/outputs/mca.py @@ -454,7 +454,7 @@ def sector_lcoe(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Data * techs.utilization_factor ) consump = consumption( - technologies=technologies, prices=prices, production=demand + technologies=technologies, prices=prices, production=production ) result = LCOE( diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 90560656d..5db8ce3d3 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -270,54 +270,51 @@ def decommissioning_demand( def consumption( technologies: xr.Dataset, production: xr.DataArray, - prices: Optional[xr.DataArray] = None, + prices: xr.DataArray, **kwargs, ) -> xr.DataArray: """Commodity consumption when fulfilling the whole production. - Currently, the consumption is implemented for commodity_max == +infinity. If prices - are not given, then flexible consumption is *not* considered. + Currently, the consumption is implemented for commodity_max == +infinity. """ - from muse.commodities import is_enduse, is_fuel + from muse.commodities import is_fuel from muse.timeslices import broadcast_timeslice from muse.utilities import filter_with_template params = filter_with_template( - technologies[["fixed_inputs", "flexible_inputs"]], production, **kwargs + technologies[["fixed_inputs", "flexible_inputs", "fixed_outputs"]], + production, + **kwargs, ) - - # sum over end-use products, if the dimension exists in the input - - comm_usage = technologies.comm_usage.sel(commodity=production.commodity) - - production = production.sel(commodity=is_enduse(comm_usage)).sum("commodity") params_fuels = is_fuel(params.comm_usage) - consumption = production * broadcast_timeslice( - params.fixed_inputs.where(params_fuels, 0) + + # Calculate degree of technology activity + # We do this by dividing the production by the output flow per unit of activity + prod_amplitude = (production / broadcast_timeslice(params.fixed_outputs)).max( + "commodity" ) - if prices is None: - return consumption + # Calculate consumption of fixed commodities + consumption_fixed = prod_amplitude * broadcast_timeslice(params.fixed_inputs) + # If there are no flexible inputs, then we are done if not (params.flexible_inputs.sel(commodity=params_fuels) > 0).any(): - return consumption + return consumption_fixed - prices = filter_with_template(prices, production, installed_as_year=False, **kwargs) - # technology with flexible inputs + # Flexible inputs flexs = params.flexible_inputs.where(params_fuels, 0) - # cheapest fuel for each flexible technology - assert prices is not None - flexprice = [i for i in flexs.commodity.values if i in prices.commodity.values] - assert all(flexprice) - priceflex = prices.loc[dict(commodity=flexs.commodity)] + + # Calculate the cheapest fuel for each flexible technology + priceflex = prices.loc[dict(commodity=flexs.commodity)] * flexs minprices = flexs.commodity[ priceflex.where(flexs > 0, priceflex.max() + 1).argmin("commodity") ] - # add consumption from cheapest fuel - assert all(flexs.commodity.values == consumption.commodity.values) - flex = flexs.where(minprices == broadcast_timeslice(flexs.commodity), 0) - flex = flex / (flex > 0).sum("commodity").clip(min=1) - return consumption + flex * production + + # Consumption of flexible commodities + assert all(flexs.commodity.values == consumption_fixed.commodity.values) + flex = flexs.where(broadcast_timeslice(flexs.commodity) == minprices, 0) + consumption_flex = flex * prod_amplitude + return consumption_fixed + consumption_flex def maximum_production( diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index bb4635a1a..53843d315 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -280,7 +280,7 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: ) # Calculate consumption - consume = consumption(technologies, supply, market.prices) + consume = consumption(technologies, production=supply, prices=market.prices) # Calculate LCOE # We select data for the second year, which corresponds to the investment year From 8737b60284eceef735dda29a7c93496aedc32400 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 7 Nov 2024 15:54:13 +0000 Subject: [PATCH 071/121] Properly calculate consumption in objectives --- src/muse/costs.py | 10 +++------- src/muse/objectives.py | 29 ++++++++++++++++++++++++----- src/muse/production.py | 4 ++-- src/muse/quantities.py | 4 ++-- tests/test_quantities.py | 20 ++++++++++---------- 5 files changed, 41 insertions(+), 26 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 1547aabca..73fba7935 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -72,9 +72,6 @@ def net_present_value( "var_exp", "fix_par", "fix_exp", - "fixed_outputs", - "fixed_inputs", - "flexible_inputs", "utilization_factor", ] ] @@ -85,7 +82,7 @@ def net_present_value( years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") rates = broadcast_timeslice( discount_factor( - years + 1, + years=years, interest_rate=techs.interest_rate, mask=years <= life, ) @@ -263,8 +260,6 @@ def lifetime_levelized_cost_of_energy( "fix_par", "fix_exp", "fixed_outputs", - "fixed_inputs", - "flexible_inputs", "utilization_factor", ] ] @@ -275,7 +270,7 @@ def lifetime_levelized_cost_of_energy( years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") rates = broadcast_timeslice( discount_factor( - years=years + 1, + years=years, interest_rate=techs.interest_rate, mask=years <= life, ) @@ -566,6 +561,7 @@ def supply_cost( `muse.quantities.production`. lcoe: Levelized cost of energy for each good produced. In practice, it can be obtained from market prices via + `muse.costs.annual_levelized_cost_of_energy` or `muse.costs.lifetime_levelized_cost_of_energy`. asset_dim: Name of the dimension(s) holding assets, processes or technologies. """ diff --git a/src/muse/objectives.py b/src/muse/objectives.py index d8e193e1d..98cda8d97 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -251,9 +251,18 @@ def consumption( Currently, the consumption is implemented for commodity_max == +infinity. """ from muse.quantities import consumption + from muse.timeslices import broadcast_timeslice, distribute_timeslice - result = consumption(technologies=technologies, prices=prices, production=demand) - return result.sum("commodity") + capacity = capacity_to_service_demand(technologies, demand) + production = ( + broadcast_timeslice(capacity) + * distribute_timeslice(technologies.fixed_outputs) + * broadcast_timeslice(technologies.utilization_factor) + ) + consump = consumption( + technologies=technologies, prices=prices, production=production + ) + return consump.sum("commodity") @register_objective @@ -343,11 +352,21 @@ def fuel_consumption_cost( """Cost of fuels when fulfilling whole demand.""" from muse.commodities import is_fuel from muse.quantities import consumption + from muse.timeslices import broadcast_timeslice, distribute_timeslice + + capacity = capacity_to_service_demand(technologies, demand) + production = ( + broadcast_timeslice(capacity) + * distribute_timeslice(technologies.fixed_outputs) + * broadcast_timeslice(technologies.utilization_factor) + ) + consump = consumption( + technologies=technologies, prices=prices, production=production + ) commodity = is_fuel(technologies.comm_usage.sel(commodity=demand.commodity)) - fcons = consumption(technologies=technologies, prices=prices, production=demand) - prices = filter_input(prices, year=demand.year.item(), commodity=commodity) - return (fcons * prices).sum("commodity") + prices = filter_input(prices, commodity=commodity) + return (consump * prices).sum("commodity") @register_objective(name=["ALCOE"]) diff --git a/src/muse/production.py b/src/muse/production.py index 5036e4e73..880a7b2bf 100644 --- a/src/muse/production.py +++ b/src/muse/production.py @@ -173,7 +173,7 @@ def costed_production( minimum service is applied first. """ from muse.commodities import CommodityUsage, check_usage, is_pollutant - from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE + from muse.costs import annual_levelized_cost_of_energy_legacy as aLCOE from muse.quantities import ( costed_production, emission, @@ -181,7 +181,7 @@ def costed_production( from muse.utilities import broadcast_techs if isinstance(costs, str) and costs.lower() == "alcoe": - costs = ALCOE + costs = aLCOE elif isinstance(costs, str): raise ValueError(f"Unknown cost {costs}") if callable(costs): diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 5db8ce3d3..546db68e9 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -392,12 +392,12 @@ def demand_matched_production( **filters: keyword arguments with which to filter the input datasets and data arrays., e.g. region, or year. """ - from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE + from muse.costs import annual_levelized_cost_of_energy_legacy as aLCOE from muse.demand_matching import demand_matching from muse.utilities import broadcast_techs technodata = cast(xr.Dataset, broadcast_techs(technologies, capacity)) - cost = ALCOE(prices=prices, technologies=technodata, **filters) + cost = aLCOE(prices=prices, technologies=technodata, **filters) max_production = maximum_production(technodata, capacity, **filters) assert ("timeslice" in demand.dims) == ("timeslice" in cost.dims) return demand_matching(demand, cost, max_production) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index 4bb0db69d..ee35c06cf 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -422,7 +422,7 @@ def test_demand_matched_production( def test_costed_production_exact_match(market, capacity, technologies): - from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE + from muse.costs import annual_levelized_cost_of_energy_legacy as aLCOE from muse.quantities import ( costed_production, maximum_production, @@ -434,7 +434,7 @@ def test_costed_production_exact_match(market, capacity, technologies): set(market.region.values) ) technodata = broadcast_techs(technologies, capacity) - costs = ALCOE( + costs = aLCOE( prices=market.prices.sel(region=technodata.region), technologies=technodata ) maxdemand = ( @@ -454,7 +454,7 @@ def test_costed_production_exact_match(market, capacity, technologies): def test_costed_production_single_region(market, capacity, technologies): - from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE + from muse.costs import annual_levelized_cost_of_energy_legacy as aLCOE from muse.quantities import ( costed_production, maximum_production, @@ -467,7 +467,7 @@ def test_costed_production_single_region(market, capacity, technologies): maxdemand = maximum_production(technologies, capacity).sum("asset") market["consumption"] = drop_timeslice(0.9 * maxdemand) technodata = broadcast_techs(technologies, capacity) - costs = ALCOE( + costs = aLCOE( prices=market.prices.sel(region=technodata.region), technologies=technodata ) result = costed_production(market.consumption, costs, capacity, technologies) @@ -480,7 +480,7 @@ def test_costed_production_single_region(market, capacity, technologies): def test_costed_production_single_year(market, capacity, technologies): - from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE + from muse.costs import annual_levelized_cost_of_energy_legacy as aLCOE from muse.quantities import ( costed_production, maximum_production, @@ -497,7 +497,7 @@ def test_costed_production_single_year(market, capacity, technologies): ) market["consumption"] = drop_timeslice(0.9 * maxdemand) technodata = broadcast_techs(technologies, capacity) - costs = ALCOE( + costs = aLCOE( prices=market.prices.sel(region=technodata.region), technologies=technodata ) result = costed_production(market.consumption, costs, capacity, technologies) @@ -510,7 +510,7 @@ def test_costed_production_single_year(market, capacity, technologies): def test_costed_production_over_capacity(market, capacity, technologies): - from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE + from muse.costs import annual_levelized_cost_of_energy_legacy as aLCOE from muse.quantities import ( costed_production, maximum_production, @@ -530,7 +530,7 @@ def test_costed_production_over_capacity(market, capacity, technologies): ) market["consumption"] = drop_timeslice(maxdemand * 0.9) technodata = broadcast_techs(technologies, capacity) - costs = ALCOE( + costs = aLCOE( prices=market.prices.sel(region=technodata.region), technologies=technodata ) result = costed_production(market.consumption, costs, capacity, technologies) @@ -543,7 +543,7 @@ def test_costed_production_over_capacity(market, capacity, technologies): def test_costed_production_with_minimum_service(market, capacity, technologies, rng): - from muse.costs import annual_levelized_cost_of_energy_legacy as ALCOE + from muse.costs import annual_levelized_cost_of_energy_legacy as aLCOE from muse.quantities import ( costed_production, maximum_production, @@ -566,7 +566,7 @@ def test_costed_production_with_minimum_service(market, capacity, technologies, maxdemand = xr.Dataset(dict(mp=minprod)).groupby("region").sum("asset").mp market["consumption"] = drop_timeslice(maxdemand * 0.9) technodata = broadcast_techs(technologies, capacity) - costs = ALCOE( + costs = aLCOE( prices=market.prices.sel(region=technodata.region), technologies=technodata ) result = costed_production(market.consumption, costs, capacity, technologies) From fec7123ce7b749ed2550e57801d2525bc4df3d10 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 8 Nov 2024 10:54:08 +0000 Subject: [PATCH 072/121] Revert a change to the consumption function --- src/muse/costs.py | 1 + src/muse/quantities.py | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 73fba7935..00eeecc04 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -72,6 +72,7 @@ def net_present_value( "var_exp", "fix_par", "fix_exp", + "fixed_outputs", "utilization_factor", ] ] diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 546db68e9..cdc440468 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -270,12 +270,13 @@ def decommissioning_demand( def consumption( technologies: xr.Dataset, production: xr.DataArray, - prices: xr.DataArray, + prices: Optional[xr.DataArray] = None, **kwargs, ) -> xr.DataArray: """Commodity consumption when fulfilling the whole production. - Currently, the consumption is implemented for commodity_max == +infinity. + Currently, the consumption is implemented for commodity_max == +infinity. If prices + are not given, then flexible consumption is *not* considered. """ from muse.commodities import is_fuel from muse.timeslices import broadcast_timeslice @@ -301,6 +302,11 @@ def consumption( if not (params.flexible_inputs.sel(commodity=params_fuels) > 0).any(): return consumption_fixed + # If prices are not given, then we can't consider flexible inputs, so just return + # the fixed consumption + if prices is None: + return consumption_fixed + # Flexible inputs flexs = params.flexible_inputs.where(params_fuels, 0) @@ -343,8 +349,6 @@ def maximum_production( technologies: xr.Dataset describing the features of the technologies of interests. It should contain `fixed_outputs` and `utilization_factor`. It's shape is matched to `capacity` using `muse.utilities.broadcast_techs`. - timeslices: xr.DataArray of the timeslicing scheme. Production data will be - returned in this format. filters: keyword arguments are used to filter down the capacity and technologies. Filters not relevant to the quantities of interest, i.e. filters that are not a dimension of `capacity` or `technologies`, are From a767c54d825ecb2f2badb2e1df8e028fb6a0a75a Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 8 Nov 2024 12:08:14 +0000 Subject: [PATCH 073/121] Simplify consumption tests (for now) --- src/muse/examples.py | 4 +- tests/test_quantities.py | 112 ++++----------------------------------- 2 files changed, 13 insertions(+), 103 deletions(-) diff --git a/src/muse/examples.py b/src/muse/examples.py index 91975cfd3..9f85c4b3d 100644 --- a/src/muse/examples.py +++ b/src/muse/examples.py @@ -255,7 +255,7 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: if "dst_region" in market.dims: market = market.rename(dst_region="region") if market.region.dims: - consump = consumption(loaded_sector.technologies, production, market.prices) + consump = consumption(loaded_sector.technologies, production) market["consumption"] = drop_timeslice( consump.groupby("region").sum( {"asset", "dst_region"}.intersection(consump.dims) @@ -264,7 +264,7 @@ def matching_market(sector: str, model: str = "default") -> xr.Dataset: ) else: market["consumption"] = ( - consumption(loaded_sector.technologies, production, market.prices).sum( + consumption(loaded_sector.technologies, production).sum( {"asset", "dst_region"}.intersection(market.dims) ) + market.supply diff --git a/tests/test_quantities.py b/tests/test_quantities.py index ee35c06cf..cb6f91b66 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -29,16 +29,13 @@ def demand( def production( technologies: xr.Dataset, capacity: xr.DataArray, timeslice ) -> xr.DataArray: - from numpy.random import random - from muse.timeslices import broadcast_timeslice, distribute_timeslice - comms = xr.DataArray( - random(len(technologies.commodity)), - coords={"commodity": technologies.commodity}, - dims="commodity", + return ( + broadcast_timeslice(capacity) + * distribute_timeslice(technologies.fixed_outputs) + * broadcast_timeslice(technologies.utilization_factor) ) - return broadcast_timeslice(capacity) * distribute_timeslice(comms) def make_array(array): @@ -142,108 +139,21 @@ def test_decommissioning_demand(technologies, capacity, timeslice): def test_consumption_no_flex(technologies, production, market): - from muse.commodities import is_enduse, is_fuel from muse.quantities import consumption - from muse.timeslices import broadcast_timeslice - - fins = ( - technologies.fixed_inputs.where(is_fuel(technologies.comm_usage), 0) - .interp(year=sorted(set(production.installed.values)), method="slinear") - .sel( - technology=production.technology, - region=production.region, - year=production.installed, - ) - ) - services = technologies.commodity.sel(commodity=is_enduse(technologies.comm_usage)) - expected = ( - (production.rename(commodity="comm_in") * broadcast_timeslice(fins)) - .sel(comm_in=production.commodity.isin(services).rename(commodity="comm_in")) - .sum("comm_in") - ) - actual = consumption(technologies, production) - assert set(actual.dims) == set(expected.dims) - assert actual.values == approx(expected.values) + consump = consumption(technologies, production) + assert set(production.dims) == set(consump.dims) technologies.flexible_inputs[:] = 0 - actual = consumption(technologies, production, market.prices) - assert actual.values == approx(expected.values) + consump2 = consumption(technologies, production, market.prices) + assert consump2.values == approx(consump.values) -def test_consumption_with_flex(technologies, production, market, timeslice): - from itertools import product - - from muse.commodities import is_enduse, is_fuel +def test_consumption_with_flex(technologies, production, market): from muse.quantities import consumption - from muse.timeslices import broadcast_timeslice, distribute_timeslice - techs = technologies.copy() - techs.fixed_inputs[:] = 0 - techs.flexible_inputs[:] = 0 - consumables = is_fuel(techs.comm_usage) - while (techs.flexible_inputs.sel(commodity=consumables) == 0).all(): - techs.flexible_inputs[:] = ( - np.random.randint(0, 2, techs.flexible_inputs.shape) != 0 - ) - techs.flexible_inputs[{"commodity": ~consumables}] = 0 - - def one_dim(dimension): - from numpy import arange - from numpy.random import shuffle - - data = arange(len(dimension), dtype="int") - shuffle(data) - return xr.DataArray(data, coords=dimension.coords, dims=dimension.dims) - - year = one_dim(production.year) - asset = one_dim(production.asset) - region = one_dim(market.region) - timeslice = one_dim(market.timeslice) - commodity = one_dim(market.commodity) - - prices = ( - timeslice - + broadcast_timeslice(commodity) - + broadcast_timeslice(year) * broadcast_timeslice(region) - ) - assert set(prices.dims) == set(market.prices.dims) - noenduse = ~is_enduse(techs.comm_usage) - production = distribute_timeslice(asset * year + commodity) - production.loc[{"commodity": noenduse}] = 0 - - actual = consumption(technologies, production, prices) - assert set(actual.dims) == {"year", "timeslice", "asset", "commodity"} - assert (year.year == actual.year).all() - assert (timeslice.timeslice == actual.timeslice).all() - assert (asset.asset == actual.asset).all() - assert (commodity.commodity == actual.commodity).all() - - fuels = techs.commodity.loc[{"commodity": consumables}].values - dims = ("timeslice", "asset", "year") - allprods = list(product(*(actual[u] for u in dims))) - allprods = [ - allprods[i] for i in np.random.choice(range(len(allprods)), 50, replace=False) - ] - for ts, asset, year in allprods: - flexs = techs.flexible_inputs.sel( - region=asset.region, technology=asset.technology - ).interp(year=asset.installed, method="slinear") - comm_prices = prices.sel(region=asset.region, year=year, timeslice=ts) - comm_prices = [int(p) for p, f in zip(comm_prices, flexs) if f > 0] - min_price = min(comm_prices) if comm_prices else None - ncomms = max(len([u for u in comm_prices if u == min_price]), 1) - for comm in fuels: - current_price = prices.sel( - region=asset.region, year=year, timeslice=ts, commodity=comm - ) - coords = dict(timeslice=ts, year=year, asset=asset, commodity=comm) - if current_price != min_price: - assert actual.sel(coords).values == approx(0) - continue - prod = production.sel(asset=asset, year=year).sum("commodity") - expected = prod.sel(timeslice=ts) / ncomms * flexs.sel(commodity=comm) - assert expected.values == approx(actual.sel(coords).values) + consump = consumption(technologies, production, market.prices) + assert set(production.dims) == set(consump.dims) def test_production_aggregate_asset_view( From 5cef7fdded6e181042c918945777c1c047444465 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 8 Nov 2024 16:21:39 +0000 Subject: [PATCH 074/121] Delete legacy lcoe function --- src/muse/costs.py | 101 +--------------------------------------------- 1 file changed, 1 insertion(+), 100 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 00eeecc04..44885630b 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -6,7 +6,7 @@ data for the technologies, where appropriate. """ -from typing import Optional, Union +from typing import Optional import numpy as np import xarray as xr @@ -449,105 +449,6 @@ def annual_levelized_cost_of_energy( return result -def annual_levelized_cost_of_energy_legacy( - technologies: xr.Dataset, - prices: xr.DataArray, - interpolation: str = "linear", - fill_value: Union[int, str] = "extrapolate", - **filters, -) -> xr.DataArray: - """Undiscounted levelized cost of energy (LCOE) of technologies on each given year. - - It mostly follows the `simplified LCOE`_ given by NREL. In the argument description, - we use the following: - - * [h]: hour - * [y]: year - * [$]: unit of currency - * [E]: unit of energy - * [1]: dimensionless - - Arguments: - technologies: Describe the technologies, with at least the following parameters: - * cap_par: [$/E] overnight capital cost - * interest_rate: [1] - * fix_par: [$/(Eh)] fixed costs of operation and maintenance costs - * var_par: [$/(Eh)] variable costs of operation and maintenance costs - * fixed_inputs: [1] == [(Eh)/(Eh)] ratio indicating the amount of commodity - consumed per units of energy created. - * fixed_outputs: [1] == [(Eh)/(Eh)] ration indicating the amount of - environmental pollutants produced per units of energy created. - prices: [$/(Eh)] the price of all commodities, including consumables and fuels. - This dataarray contains at least timeslice and commodity dimensions. - interpolation: interpolation method. - fill_value: Fill value for values outside the extrapolation range. - **filters: Anything by which prices can be filtered. - - Return: - The lifetime LCOE in [$/(Eh)] for each technology at each timeslice. - - .. _simplified LCOE: https://www.nrel.gov/analysis/tech-lcoe-documentation.html - """ - techs = technologies[ - [ - "technical_life", - "interest_rate", - "cap_par", - "var_par", - "fix_par", - "fixed_inputs", - "flexible_inputs", - "fixed_outputs", - "utilization_factor", - ] - ] - if "year" in techs.dims: - techs = techs.interp( - year=prices.year, method=interpolation, kwargs={"fill_value": fill_value} - ) - if filters is not None: - prices = prices.sel({k: v for k, v in filters.items() if k in prices.dims}) - techs = techs.sel({k: v for k, v in filters.items() if k in techs.dims}) - - assert {"timeslice", "commodity"}.issubset(prices.dims) - - life = techs.technical_life.astype(int) - - rates = techs.interest_rate / (1 - (1 + techs.interest_rate) ** (-life)) - - # Capital costs - annualized_capital_costs = distribute_timeslice( - techs.cap_par * rates - ) / broadcast_timeslice(techs.utilization_factor) - - # Fixed and variable running costs - o_and_e_costs = distribute_timeslice( - techs.fix_par + techs.var_par - ) / broadcast_timeslice(techs.utilization_factor) - - # Fuel costs from fixed and flexible inputs - fuel_costs = (distribute_timeslice(techs.fixed_inputs) * prices).sum("commodity") - fuel_costs += (distribute_timeslice(techs.flexible_inputs) * prices).sum( - "commodity" - ) - - # Environmental costs - if "region" in techs.dims: - env_costs = ( - (distribute_timeslice(techs.fixed_outputs) * prices) - .sel(region=techs.region) - .sel(commodity=is_pollutant(techs.comm_usage)) - .sum("commodity") - ) - else: - env_costs = ( - (distribute_timeslice(techs.fixed_outputs) * prices) - .sel(commodity=is_pollutant(techs.comm_usage)) - .sum("commodity") - ) - return annualized_capital_costs + o_and_e_costs + env_costs + fuel_costs - - def supply_cost( production: xr.DataArray, lcoe: xr.DataArray, asset_dim: Optional[str] = "asset" ) -> xr.DataArray: From 2b6117607d27e8c71366e7835fd4c710fe3175c9 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 8 Nov 2024 16:27:54 +0000 Subject: [PATCH 075/121] Delete supply_cost tests --- tests/test_quantities.py | 46 ---------------------------------------- 1 file changed, 46 deletions(-) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index efc8ef3c0..351a3a470 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -240,52 +240,6 @@ def test_capacity_in_use(production: xr.DataArray, technologies: xr.Dataset): assert capa.values == approx(prod / fout / ufac) -def test_supply_cost(production: xr.DataArray, timeslice: xr.Dataset): - from numpy import average - from numpy.random import random - - from muse.costs import supply_cost - - timeslice = timeslice.timeslice - production = production.sel(year=production.year.min(), drop=True) - # no zero production, because it does not sit well with np.average - production[:] = random(production.shape) - lcoe = xr.DataArray( - random((len(production.asset), len(timeslice))), - coords={"timeslice": timeslice, "asset": production.asset}, - dims=("asset", "timeslice"), - ) - - production, lcoe = xr.broadcast(production, lcoe) - actual = supply_cost(production, lcoe, asset_dim="asset") - for region in set(production.region.values): - expected = average( - lcoe.sel(asset=production.region == region), - weights=production.sel(asset=production.region == region), - axis=production.get_axis_num("asset"), - ) - - assert actual.sel(region=region).values == approx(expected) - - -def test_supply_cost_zero_prod(production: xr.DataArray, timeslice: xr.Dataset): - from numpy.random import randn - - from muse.costs import supply_cost - - timeslice = timeslice.timeslice - production = production.sel(year=production.year.min(), drop=True) - production[:] = 0 - lcoe = xr.DataArray( - randn(len(production.asset), len(timeslice)), - coords={"timeslice": timeslice, "asset": production.asset}, - dims=("asset", "timeslice"), - ) - production, lcoe = xr.broadcast(production, lcoe) - actual = supply_cost(production, lcoe, asset_dim="asset") - assert actual.values == approx(0e0) - - def test_emission(production: xr.DataArray, technologies: xr.Dataset): from muse.commodities import is_enduse, is_pollutant from muse.quantities import emission From b78c843f7da07f57f273be6e74f9f351b8c6acde Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 11 Nov 2024 17:00:43 +0000 Subject: [PATCH 076/121] Docstring and better error message for patch --- src/muse/__main__.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/muse/__main__.py b/src/muse/__main__.py index d0b1ffc8c..f9547592f 100644 --- a/src/muse/__main__.py +++ b/src/muse/__main__.py @@ -62,15 +62,32 @@ def run(): def patched_broadcast_compat_data(self, other): + """Patch for xarray.core.variable._broadcast_compat_data. + + This has been introduced to disallow automatic broadcasting along the 'timeslice' + dimension. + + If `self` and `other` differ in whether they have a 'timeslice' dimension (in which + case automatic broadcasting would normally be performed), an error is raised. + + In this case, developers must explicitly handle broadcasting by calling either + `broadcast_timeslice` or `distribute_timeslice` (see `muse.timeslices`). The + appropriate choice of operation will depend on the context and the quantity in + question. + """ from xarray.core.variable import Variable, _broadcast_compat_variables if (isinstance(other, Variable)) and ("timeslice" in self.dims) != ( "timeslice" in getattr(other, "dims", []) ): raise ValueError( - "Broadcasting is necessary but automatic broadcasting is disabled globally." + "Broadcasting along the 'timeslice' dimension is required, but automatic " + "broadcasting is disabled. Please handle it explicitly using " + "`broadcast_timeslice` or `distribute_timeslice` (see `muse.timeslices`)." ) + # The rest of the function is copied directly from + # xarray.core.variable._broadcast_compat_data if all(hasattr(other, attr) for attr in ["dims", "data", "shape", "encoding"]): # `other` satisfies the necessary Variable API for broadcast_variables new_self, new_other = _broadcast_compat_variables(self, other) From 98d59559747e7fb821f96beb5fab56aef979ca99 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 12 Nov 2024 10:53:33 +0000 Subject: [PATCH 077/121] Update tutorial results --- .../Results/MCACapacity.csv | 58 +-- .../1-single-objective/Results/MCAPrices.csv | 216 ++++---- .../Results/MCACapacity.csv | 64 +-- .../Results/MCAPrices.csv | 216 ++++---- .../1-correlation/Results/MCACapacity.csv | 31 +- .../1-correlation/Results/MCAPrices.csv | 216 ++++---- .../1-introduction/Results/MCACapacity.csv | 56 +- .../1-introduction/Results/MCAPrices.csv | 216 ++++---- .../2-scenario/Results/MCACapacity.csv | 23 +- .../2-scenario/Results/MCAPrices.csv | 216 ++++---- .../1-new-region/Results/MCACapacity.csv | 76 +-- .../1-new-region/Results/MCAPrices.csv | 432 ++++++++-------- .../Results/MCACapacity.csv | 23 +- .../1-exogenous-demand/Results/MCAPrices.csv | 288 +++++------ .../1-carbon-budget/Results/MCAPrices.csv | 144 +++--- .../1-min-constraint/Results/MCAPrices.csv | 216 ++++---- .../2-max-constraint/Results/MCAPrices.csv | 216 ++++---- .../Results/MCACapacity.csv | 23 +- .../1-modify-timeslices/Results/MCAPrices.csv | 288 +++++------ .../Results/MCACapacity.csv | 62 +-- .../Results/MCAPrices.csv | 480 +++++++++--------- .../Results/MCACapacity.csv | 48 +- .../new-decision-metric/Results/MCAPrices.csv | 216 ++++---- 23 files changed, 1888 insertions(+), 1936 deletions(-) diff --git a/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv b/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv index a299a2d97..0ed971b73 100644 --- a/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv @@ -18,47 +18,47 @@ A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A2,9.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2030 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2030 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2030 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A2,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2035 A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2035 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2035 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2035 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2035 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2035 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2040 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2040 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2040 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2040 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2040 +A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2040 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 @@ -66,22 +66,22 @@ A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2045 A2,15.50000000000,R1,2040,R1,residential,gasboiler,newcapa,2045 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2045 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2045 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2045 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2045 -A2,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A2,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 A1,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2045 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 A2,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2045 @@ -90,24 +90,24 @@ A1,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A2,15.50000000000,R1,2040,R1,residential,gasboiler,newcapa,2050 A2,11.50000000000,R1,2045,R1,residential,gasboiler,newcapa,2050 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,1.50000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,0.90630000000,R1,2045,R1,power,windturbine,newcapa,2050 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2050 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2050 -A2,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A2,3.15630000000,R1,2045,R1,power,windturbine,newcapa,2050 +A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A2,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A2,2.40630000000,R1,2045,R1,power,windturbine,newcapa,2050 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2050 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 A1,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2050 A1,1.45000000000,R1,2045,R1,gas,gassupply1,newcapa,2050 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2050 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 A2,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv b/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv index c0b4ae36f..0c4f90eb8 100644 --- a/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,2.18940000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,1.05280000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,13.60250000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,10.37670000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,2.18940000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,1.05280000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,12.58690000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,9.63540000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,2.18940000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,1.05280000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,13.60250000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,10.37670000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,2.18940000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,1.05280000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,12.58690000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,9.63540000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,2.18940000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,1.05280000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.19800000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,8.99320000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,2.18940000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,1.05280000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,12.19800000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,9.28350000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,2.32670000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,1.14160000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,12.10350000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,10.87940000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.32670000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,1.14160000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,8.82020000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,9.58940000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,2.32670000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,1.14160000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,12.10350000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,10.87940000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.32670000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,1.14160000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,8.82020000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,9.58940000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.32670000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,1.14160000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,5.53690000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,8.29940000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.32670000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,1.14160000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,7.17850000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,8.94440000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,2.69200000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,1.46590000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,11.74750000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,12.68090000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,2.69200000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,1.46590000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,8.70880000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,11.43980000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,2.69200000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,1.46590000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,11.74750000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,12.68090000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,2.69200000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,1.46590000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,8.70880000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,11.43980000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,2.69200000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,1.46590000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,5.94640000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,10.25400000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,2.69200000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,1.46590000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,7.18950000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,10.81930000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,2.85460000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,1.78340000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,12.08950000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,14.62200000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,2.85460000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,1.78340000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,8.96630000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,13.36400000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,2.85460000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,1.78340000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,12.08950000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,14.62200000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,2.85460000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,1.78340000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,8.96630000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,13.36400000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,2.85460000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,1.78340000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,6.08330000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,12.15400000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,2.85460000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,1.78340000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,7.40470000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,12.73500000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,3.10970000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,2.22980000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,13.01280000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,17.43350000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,3.10970000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,2.22980000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,9.59920000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,16.11750000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,3.10970000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,2.22980000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,13.01280000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,17.43350000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,3.10970000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,2.22980000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,9.59920000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,16.11750000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,3.10970000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,2.22980000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,6.18560000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,14.80140000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,3.10970000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,2.22980000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,7.89240000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,15.45950000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,3.31490000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,2.67440000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,12.84600000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,20.02710000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,3.31490000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,2.67440000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,9.61000000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,18.74660000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,3.31490000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,2.67440000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,12.84600000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,20.02710000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,3.31490000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,2.67440000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,9.61000000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,18.74660000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,3.31490000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,2.67440000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,6.56430000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,17.50410000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,3.31490000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,2.67440000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,7.99200000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,18.10630000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv index 4dd9eb605..90d952cd1 100644 --- a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv @@ -19,77 +19,67 @@ A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A2,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,4.80560000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2030 A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2030 A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,3.75000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,1.81670000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A2,3.75000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A2,1.81670000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,4.80560000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2035 A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2035 A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2035 A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,1.81670000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,3.75000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 -A2,1.81670000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A2,3.75000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,4.80560000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,3.37500000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2040 A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2040 A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A2,3.37500000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,1.81670000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,3.75000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 -A2,1.81670000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A2,3.75000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,4.80560000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,3.37500000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2045 A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2045 A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A2,3.37500000000,R1,2035,R1,power,windturbine,newcapa,2045 -A2,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,1.81670000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,3.75000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 -A2,1.81670000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A2,3.75000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A2,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A2,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,4.80560000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,3.37500000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,3.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,2.09380000000,R1,2045,R1,power,windturbine,newcapa,2050 A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2050 A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A2,3.37500000000,R1,2035,R1,power,windturbine,newcapa,2050 -A2,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A2,6.59380000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,1.81670000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,3.75000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 -A2,1.81670000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A2,3.75000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A2,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A2,5.09380000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv index d436df88e..9e608babb 100644 --- a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,2.12460000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.61280000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,12.41700000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,8.51030000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,2.12460000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.61280000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,11.36100000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,7.39480000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,2.12460000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.61280000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,12.41700000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,8.51030000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,2.12460000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.61280000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,11.36100000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,7.39480000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,2.12460000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.61280000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,11.13740000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,6.54290000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,2.12460000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.61280000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,11.13740000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,6.93340000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,2.32670000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.39560000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,12.29140000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,7.57660000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.32670000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.39560000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,9.06200000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,5.39810000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,2.32670000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.39560000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,12.29140000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,7.57660000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.32670000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.39560000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,9.06200000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,5.39810000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.32670000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.39560000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,5.83270000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,3.21970000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.32670000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.39560000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,7.44730000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,4.30890000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,2.69200000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.42000000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,12.02100000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,7.46840000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,2.69200000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.42000000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,9.02730000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,5.38430000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,2.69200000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.42000000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,12.02100000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,7.46840000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,2.69200000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.42000000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,9.02730000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,5.38430000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,2.69200000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.42000000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,6.30580000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,3.40900000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,2.69200000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.42000000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,7.53050000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,4.34220000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,2.85460000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.43080000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,12.39610000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,7.61840000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,2.85460000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.43080000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,9.31130000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,5.49790000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,2.85460000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.43080000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,12.39610000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,7.61840000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,2.85460000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.43080000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,9.31130000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,5.49790000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,2.85460000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.43080000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,6.46390000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,3.47220000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,2.85460000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.43080000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,7.76900000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,4.43760000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,3.10970000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.44780000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,13.34180000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,7.99670000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,3.10970000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.44780000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,9.96190000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,5.75810000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,3.10970000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.44780000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,13.34180000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,7.99670000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,3.10970000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.44780000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,9.96190000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,5.75810000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,3.10970000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.44780000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,6.58200000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,3.51950000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,3.10970000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.44780000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,8.27200000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,4.63880000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,3.32410000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.46210000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,13.24300000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,7.95720000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,3.32410000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.46210000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,10.03700000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,5.78810000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,3.32410000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.46210000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,13.24300000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,7.95720000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,3.32410000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.46210000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,10.03700000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,5.78810000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,3.32410000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.46210000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,7.01950000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,3.69450000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,3.32410000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.46210000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,8.43400000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,4.70360000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv index 637d5a297..81c8cb97e 100644 --- a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv @@ -9,35 +9,30 @@ A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,6.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,4.19000000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,6.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,4.19000000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,12.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,6.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,4.19000000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,6.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,12.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,4.19000000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,12.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,7.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 A1,1.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,4.19000000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv index 2b564aa75..9b88e79b8 100644 --- a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,2.42260000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.74180000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,17.03190000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,10.11910000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,2.42260000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.74180000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,16.43750000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,9.25480000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,2.42260000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.74180000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,17.03190000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,10.11910000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,2.42260000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.74180000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,16.43750000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,9.25480000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,2.42260000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.74180000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,16.02030000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,8.48630000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,2.42260000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.74180000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.14240000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,8.82570000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,2.98680000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.43960000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,14.63730000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.44750000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.98680000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.43960000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,12.24130000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,6.61690000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,2.98680000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.43960000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,14.63730000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.44750000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.98680000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.43960000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,12.24130000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,6.61690000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.98680000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.43960000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.98780000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,4.88180000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.98680000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.43960000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,11.05170000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,5.70790000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,3.62270000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.48200000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,16.64380000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,9.32740000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,3.62270000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.48200000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,14.10910000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,7.41530000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,3.62270000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.48200000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,16.64380000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,9.32740000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,3.62270000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.48200000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,14.10910000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,7.41530000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,3.62270000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.48200000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,11.64730000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.54560000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,3.62270000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.48200000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,12.85060000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,6.46590000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,4.40730000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.53430000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,18.46130000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,9.98340000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,4.40730000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.53430000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,15.99400000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,8.12210000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,4.40730000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.53430000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,18.46130000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,9.98340000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,4.40730000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.53430000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,15.99400000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,8.12210000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,4.40730000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.53430000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,13.66500000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,6.35270000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,4.40730000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.53430000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.76890000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,7.19790000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,5.50800000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.60770000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,21.16820000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,11.02240000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,5.50800000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.60770000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,18.74240000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,9.19240000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,5.50800000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.60770000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,21.16820000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,11.02240000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,5.50800000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.60770000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,18.74240000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,9.19240000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,5.50800000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.60770000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,16.49540000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,7.48480000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,5.50800000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.60770000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,17.53800000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,8.28380000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,6.34520000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.66350000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,23.55590000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,12.07500000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,6.34520000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.66350000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,20.97780000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,10.15120000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,6.34520000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.66350000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,23.55590000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,12.07500000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,6.34520000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.66350000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,20.97780000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,10.15120000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,6.34520000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.66350000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,18.48870000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,8.28210000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,6.34520000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.66350000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,19.69770000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,9.19610000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv index 7dff3bd21..a8aaa10bb 100644 --- a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv @@ -4,54 +4,36 @@ A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,5.00000000000,R1,2020,R1,power,solarPV,newcapa,2025 -A1,16.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2025 +A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,5.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 -A1,5.00000000000,R1,2020,R1,power,solarPV,newcapa,2030 -A1,8.96440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2030 +A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2030 +A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,5.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,5.00000000000,R1,2020,R1,power,solarPV,newcapa,2035 +A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2035 +A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2035 A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 -A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,5.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,5.00000000000,R1,2020,R1,power,solarPV,newcapa,2040 +A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2040 +A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2040 A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 -A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 -A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,5.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,5.00000000000,R1,2020,R1,power,solarPV,newcapa,2045 +A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2045 +A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2045 A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 -A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 -A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 -A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 +A1,7.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,5.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2050 A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 -A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 -A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 -A1,11.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 -A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 +A1,7.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 +A1,22.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 diff --git a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv index d33502c94..eeb018368 100644 --- a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,2.14000000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.61360000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,9.72920000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,8.02150000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,2.14000000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.61360000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,7.11350000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,6.41200000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,2.14000000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.61360000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,9.72920000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,8.02150000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,2.14000000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.61360000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,7.11350000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,6.41200000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,2.14000000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.61360000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,4.60520000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,4.83670000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,2.14000000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.61360000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,5.80560000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,5.60730000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,2.69410000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.42010000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,8.40000000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,5.93130000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.69410000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.42010000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,5.60000000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,3.95420000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,2.69410000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.42010000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,8.40000000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,5.93130000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.69410000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.42010000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,5.60000000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,3.95420000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.69410000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.42010000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.69410000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.42010000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,4.20000000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,2.96570000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,2.95780000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.43770000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,6.02000000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,2.95780000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.43770000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,4.01330000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,2.95780000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.43770000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,6.02000000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,2.95780000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.43770000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,4.01330000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,2.95780000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.43770000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,2.95780000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.43770000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,3.01000000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,3.20870000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.45440000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,8.78570000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,6.26000000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,3.20870000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.45440000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,5.85710000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,4.17330000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,3.20870000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.45440000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,8.78570000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,6.26000000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,3.20870000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.45440000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,5.85710000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,4.17330000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,3.20870000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.45440000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,3.20870000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.45440000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,4.39290000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,3.13000000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,3.56490000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.47820000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,6.17430000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,3.56490000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.47820000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,4.11620000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,3.56490000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.47820000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,6.17430000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,3.56490000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.47820000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,4.11620000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,3.56490000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.47820000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,3.56490000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.47820000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,3.08710000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,3.84130000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.49660000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,6.26000000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,3.84130000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.49660000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,4.17330000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,3.84130000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.49660000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,6.26000000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,3.84130000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.49660000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,4.17330000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,3.84130000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.49660000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,3.84130000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.49660000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,3.13000000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv index f70714dd2..a2095d5d8 100644 --- a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv @@ -10,48 +10,43 @@ A1,16.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,5.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2030 A1,5.50000000000,R1,2020,R1,power,windturbine,newcapa,2030 A1,8.96440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,5.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2035 +A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2035 A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 A1,5.50000000000,R1,2020,R1,power,windturbine,newcapa,2035 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,5.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2040 +A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2040 A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 A1,5.50000000000,R1,2020,R1,power,windturbine,newcapa,2040 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,5.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2045 +A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2045 A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 A1,5.50000000000,R1,2020,R1,power,windturbine,newcapa,2045 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,5.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2050 A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 A1,11.50000000000,R1,2045,R1,power,solarPV,newcapa,2050 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv index d3fbe303d..61d412ec6 100644 --- a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,2.20370000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.61700000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,15.60880000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,9.52110000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,2.20370000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.61700000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,14.02130000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,8.23720000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,2.20370000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.61700000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,15.60880000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,9.52110000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,2.20370000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.61700000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,14.02130000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,8.23720000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,2.20370000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.61700000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.43390000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,6.95340000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,2.20370000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.61700000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,13.22760000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,7.59530000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,2.73640000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.42290000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,14.67520000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.44140000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.73640000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.42290000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,12.19520000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,6.59230000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,2.73640000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.42290000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,14.67520000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.44140000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.73640000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.42290000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,12.19520000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,6.59230000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.73640000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.42290000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.80070000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,4.80690000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.73640000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.42290000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,10.95510000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,5.66770000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,3.09400000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.44680000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,15.72810000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.95120000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,3.09400000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.44680000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,12.98080000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,6.96570000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,3.09400000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.44680000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,15.72810000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,8.95120000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,3.09400000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.44680000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,12.98080000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,6.96570000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,3.09400000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.44680000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,10.23360000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,4.98010000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,3.09400000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.44680000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,11.60720000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,5.97290000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,3.35990000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.46450000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,16.29520000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,9.17810000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,3.35990000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.46450000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,13.47620000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,7.16380000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,3.35990000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.46450000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,16.29520000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,9.17810000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,3.35990000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.46450000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,13.47620000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,7.16380000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,3.35990000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.46450000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,10.65710000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.14950000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,3.35990000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.46450000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,12.06670000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,6.15670000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,3.71930000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.48850000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,17.12770000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,9.51110000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,3.71930000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.48850000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,14.28610000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,7.48780000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,3.71930000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.48850000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,17.12770000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,9.51110000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,3.71930000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.48850000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,14.28610000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,7.48780000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,3.71930000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.48850000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,11.44440000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.46440000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,3.71930000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.48850000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,12.86520000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,6.47610000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,3.96940000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.50510000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,17.58250000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,9.69300000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,3.96940000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.50510000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,14.78750000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,7.68830000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,3.96940000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.50510000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,17.58250000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,9.69300000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,3.96940000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.50510000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,14.78750000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,7.68830000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,3.96940000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.50510000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,11.99250000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.68370000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,3.96940000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.50510000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,13.39000000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,6.68600000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv b/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv index 2cab9137a..165bc52a9 100644 --- a/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv @@ -21,15 +21,15 @@ A1,9.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2030 A1,19.00000000000,R2,2020,R2,residential,heatpump,newcapa,2030 A1,1.00000000000,R2,2025,R2,residential,heatpump,newcapa,2030 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,8.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,5.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2030 -A1,3.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2030 A1,5.00000000000,R2,2020,R2,power,windturbine,newcapa,2030 +A1,8.00000000000,R2,2025,R2,power,windturbine,newcapa,2030 A1,8.96440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,10.19560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,5.18560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,8.96440000000,R2,2020,R2,gas,gassupply1,newcapa,2030 -A1,10.19560000000,R2,2025,R2,gas,gassupply1,newcapa,2030 +A1,5.18560000000,R2,2025,R2,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A1,9.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2035 @@ -37,18 +37,18 @@ A1,6.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2035 A1,1.00000000000,R2,2025,R2,residential,heatpump,newcapa,2035 A1,19.00000000000,R2,2030,R2,residential,heatpump,newcapa,2035 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,8.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 A1,5.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2035 -A1,3.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2035 A1,5.00000000000,R2,2020,R2,power,windturbine,newcapa,2035 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2035 +A1,8.00000000000,R2,2025,R2,power,windturbine,newcapa,2035 +A1,3.00000000000,R2,2030,R2,power,windturbine,newcapa,2035 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,10.19560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,5.18560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,1.46440000000,R2,2020,R2,gas,gassupply1,newcapa,2035 -A1,10.19560000000,R2,2025,R2,gas,gassupply1,newcapa,2035 +A1,5.18560000000,R2,2025,R2,gas,gassupply1,newcapa,2035 A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 @@ -57,21 +57,21 @@ A1,16.00000000000,R2,2035,R2,residential,gasboiler,newcapa,2040 A1,19.00000000000,R2,2030,R2,residential,heatpump,newcapa,2040 A1,1.00000000000,R2,2035,R2,residential,heatpump,newcapa,2040 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,2.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,8.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 A1,5.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2040 -A1,3.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2040 A1,5.00000000000,R2,2020,R2,power,windturbine,newcapa,2040 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2040 -A1,2.00000000000,R2,2035,R2,power,windturbine,newcapa,2040 +A1,8.00000000000,R2,2025,R2,power,windturbine,newcapa,2040 +A1,3.00000000000,R2,2030,R2,power,windturbine,newcapa,2040 +A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2040 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,10.19560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,5.18560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,9.02220000000,R1,2035,R1,gas,gassupply1,newcapa,2040 A1,1.46440000000,R2,2020,R2,gas,gassupply1,newcapa,2040 -A1,10.19560000000,R2,2025,R2,gas,gassupply1,newcapa,2040 +A1,5.18560000000,R2,2025,R2,gas,gassupply1,newcapa,2040 A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2040 A1,9.02220000000,R2,2035,R2,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 @@ -81,23 +81,23 @@ A1,12.00000000000,R2,2040,R2,residential,gasboiler,newcapa,2045 A1,1.00000000000,R2,2035,R2,residential,heatpump,newcapa,2045 A1,19.00000000000,R2,2040,R2,residential,heatpump,newcapa,2045 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,2.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A1,4.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,8.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 A1,5.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2045 -A1,3.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2045 A1,5.00000000000,R2,2020,R2,power,windturbine,newcapa,2045 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2045 -A1,2.00000000000,R2,2035,R2,power,windturbine,newcapa,2045 -A1,4.00000000000,R2,2040,R2,power,windturbine,newcapa,2045 +A1,8.00000000000,R2,2025,R2,power,windturbine,newcapa,2045 +A1,3.00000000000,R2,2030,R2,power,windturbine,newcapa,2045 +A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2045 +A1,3.00000000000,R2,2040,R2,power,windturbine,newcapa,2045 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,10.19560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,5.18560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,9.02220000000,R1,2035,R1,gas,gassupply1,newcapa,2045 A1,1.46440000000,R2,2020,R2,gas,gassupply1,newcapa,2045 -A1,10.19560000000,R2,2025,R2,gas,gassupply1,newcapa,2045 +A1,5.18560000000,R2,2025,R2,gas,gassupply1,newcapa,2045 A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2045 A1,9.02220000000,R2,2035,R2,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 @@ -107,24 +107,24 @@ A1,22.00000000000,R2,2045,R2,residential,gasboiler,newcapa,2050 A1,19.00000000000,R2,2040,R2,residential,heatpump,newcapa,2050 A1,1.00000000000,R2,2045,R2,residential,heatpump,newcapa,2050 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,2.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A1,4.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A1,8.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 A1,8.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 A1,5.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2050 -A1,3.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2050 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2050 -A1,2.00000000000,R2,2035,R2,power,windturbine,newcapa,2050 -A1,4.00000000000,R2,2040,R2,power,windturbine,newcapa,2050 +A1,8.00000000000,R2,2025,R2,power,windturbine,newcapa,2050 +A1,3.00000000000,R2,2030,R2,power,windturbine,newcapa,2050 +A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2050 +A1,3.00000000000,R2,2040,R2,power,windturbine,newcapa,2050 A1,8.00000000000,R2,2045,R2,power,windturbine,newcapa,2050 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,10.19560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,5.18560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2050 A1,9.02220000000,R1,2035,R1,gas,gassupply1,newcapa,2050 A1,3.22220000000,R1,2045,R1,gas,gassupply1,newcapa,2050 A1,1.46440000000,R2,2020,R2,gas,gassupply1,newcapa,2050 -A1,10.19560000000,R2,2025,R2,gas,gassupply1,newcapa,2050 +A1,5.18560000000,R2,2025,R2,gas,gassupply1,newcapa,2050 A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2050 A1,9.02220000000,R2,2035,R2,gas,gassupply1,newcapa,2050 A1,3.22220000000,R2,2045,R2,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv b/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv index d1b7a3125..ce5603b0e 100644 --- a/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv @@ -47,291 +47,291 @@ heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R2,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 CO2f,all-week,evening,all-year,0.08310000000,R2,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,2.21830000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,2.21830000000,R2,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R2,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.61770000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.61770000000,R2,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,20.09100000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,20.09100000000,R2,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,13.28380000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,13.28380000000,R2,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 CO2f,all-week,night,all-year,0.12010000000,R2,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,2.21830000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,2.21830000000,R2,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R2,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.61770000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.61770000000,R2,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,17.10720000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,17.10720000000,R2,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,10.77670000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,10.77670000000,R2,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 CO2f,all-week,morning,all-year,0.12010000000,R2,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,2.21830000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,2.21830000000,R2,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R2,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.61770000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.61770000000,R2,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,20.09100000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,20.09100000000,R2,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,13.28380000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,13.28380000000,R2,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R2,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,2.21830000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,2.21830000000,R2,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R2,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.61770000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.61770000000,R2,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,17.10720000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,17.10720000000,R2,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,10.77670000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,10.77670000000,R2,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R2,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,2.21830000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,2.21830000000,R2,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R2,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.61770000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.61770000000,R2,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,14.20400000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,14.20400000000,R2,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,8.29510000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,8.29510000000,R2,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R2,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,2.21830000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,2.21830000000,R2,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R2,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.61770000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.61770000000,R2,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,15.61530000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,15.61530000000,R2,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,9.52310000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,9.52310000000,R2,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 CO2f,all-week,evening,all-year,0.12010000000,R2,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,2.69980000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,2.69980000000,R2,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R2,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.64810000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.64810000000,R2,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,21.83690000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,21.83690000000,R2,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.10150000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.10150000000,R2,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 CO2f,all-week,night,all-year,0.15700000000,R2,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.69980000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,2.69980000000,R2,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R2,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.64810000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.64810000000,R2,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,17.44210000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,17.44210000000,R2,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,11.05410000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,11.05410000000,R2,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 CO2f,all-week,morning,all-year,0.15700000000,R2,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,2.69980000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,2.69980000000,R2,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R2,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.64810000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.64810000000,R2,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,21.83690000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,21.83690000000,R2,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,14.10150000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,14.10150000000,R2,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R2,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.69980000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,2.69980000000,R2,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R2,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.64810000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.64810000000,R2,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,17.44210000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,17.44210000000,R2,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,11.05410000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,11.05410000000,R2,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R2,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.69980000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,2.69980000000,R2,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R2,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.64810000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.64810000000,R2,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,13.24560000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,13.24560000000,R2,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,8.12760000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,8.12760000000,R2,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R2,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.69980000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,2.69980000000,R2,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R2,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.64810000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.64810000000,R2,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,15.24460000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,15.24460000000,R2,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,9.53040000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,9.53040000000,R2,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 CO2f,all-week,evening,all-year,0.15700000000,R2,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,3.08380000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,3.08380000000,R2,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R2,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.88250000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.88250000000,R2,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,23.96050000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,23.96050000000,R2,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,15.73470000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,15.73470000000,R2,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 CO2f,all-week,night,all-year,0.21490000000,R2,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,3.08380000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,3.08380000000,R2,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R2,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.88250000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.88250000000,R2,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,19.27040000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,19.27040000000,R2,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,12.71740000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,12.71740000000,R2,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 CO2f,all-week,morning,all-year,0.21490000000,R2,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,3.08380000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,3.08380000000,R2,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R2,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.88250000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.88250000000,R2,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,23.96050000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,23.96050000000,R2,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,15.73470000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,15.73470000000,R2,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R2,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,3.08380000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,3.08380000000,R2,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R2,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.88250000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.88250000000,R2,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,19.27040000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,19.27040000000,R2,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,12.71740000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,12.71740000000,R2,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R2,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,3.08380000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,3.08380000000,R2,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R2,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.88250000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.88250000000,R2,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,14.77730000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,14.77730000000,R2,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,9.78390000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,9.78390000000,R2,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R2,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,3.08380000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,3.08380000000,R2,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R2,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.88250000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.88250000000,R2,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,16.92540000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,16.92540000000,R2,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,11.20880000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,11.20880000000,R2,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 CO2f,all-week,evening,all-year,0.21490000000,R2,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,3.51990000000,R1,0,MUS$2010/PJ,2040 -electricity,all-week,night,all-year,3.51990000000,R2,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R2,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,1.17210000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,1.17210000000,R2,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,25.87840000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,25.87840000000,R2,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,17.56150000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,17.56150000000,R2,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 CO2f,all-week,night,all-year,0.27280000000,R2,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,3.51990000000,R1,1,MUS$2010/PJ,2040 -electricity,all-week,morning,all-year,3.51990000000,R2,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R2,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,1.17210000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,1.17210000000,R2,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,20.87980000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,20.87980000000,R2,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,14.57770000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,14.57770000000,R2,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 CO2f,all-week,morning,all-year,0.27280000000,R2,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,3.51990000000,R1,2,MUS$2010/PJ,2040 -electricity,all-week,afternoon,all-year,3.51990000000,R2,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R2,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,1.17210000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,1.17210000000,R2,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,25.87840000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,25.87840000000,R2,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,17.56150000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,17.56150000000,R2,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R2,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,3.51990000000,R1,3,MUS$2010/PJ,2040 -electricity,all-week,early-peak,all-year,3.51990000000,R2,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R2,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,1.17210000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,1.17210000000,R2,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,20.87980000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,20.87980000000,R2,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,14.57770000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,14.57770000000,R2,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R2,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,3.51990000000,R1,4,MUS$2010/PJ,2040 -electricity,all-week,late-peak,all-year,3.51990000000,R2,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R2,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,1.17210000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,1.17210000000,R2,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,16.00510000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,16.00510000000,R2,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,11.63060000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,11.63060000000,R2,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R2,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,3.51990000000,R1,5,MUS$2010/PJ,2040 -electricity,all-week,evening,all-year,3.51990000000,R2,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R2,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,1.17210000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,1.17210000000,R2,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,18.38050000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,18.38050000000,R2,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,13.08590000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,13.08590000000,R2,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 CO2f,all-week,evening,all-year,0.27280000000,R2,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,3.95860000000,R1,0,MUS$2010/PJ,2045 -electricity,all-week,night,all-year,3.95860000000,R2,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R2,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,1.52740000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,1.52740000000,R2,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,28.01380000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,28.01380000000,R2,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,19.91360000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,19.91360000000,R2,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 CO2f,all-week,night,all-year,0.35390000000,R2,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,3.95860000000,R1,1,MUS$2010/PJ,2045 -electricity,all-week,morning,all-year,3.95860000000,R2,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R2,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,1.52740000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,1.52740000000,R2,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,22.81550000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,22.81550000000,R2,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,16.96300000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,16.96300000000,R2,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 CO2f,all-week,morning,all-year,0.35390000000,R2,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,3.95860000000,R1,2,MUS$2010/PJ,2045 -electricity,all-week,afternoon,all-year,3.95860000000,R2,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R2,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,1.52740000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,1.52740000000,R2,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,28.01380000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,28.01380000000,R2,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,19.91360000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,19.91360000000,R2,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R2,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,3.95860000000,R1,3,MUS$2010/PJ,2045 -electricity,all-week,early-peak,all-year,3.95860000000,R2,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R2,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,1.52740000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,1.52740000000,R2,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,22.81550000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,22.81550000000,R2,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,16.96300000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,16.96300000000,R2,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R2,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,3.95860000000,R1,4,MUS$2010/PJ,2045 -electricity,all-week,late-peak,all-year,3.95860000000,R2,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R2,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,1.52740000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,1.52740000000,R2,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,17.73450000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,17.73450000000,R2,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,14.04560000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,14.04560000000,R2,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R2,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,3.95860000000,R1,5,MUS$2010/PJ,2045 -electricity,all-week,evening,all-year,3.95860000000,R2,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R2,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,1.52740000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,1.52740000000,R2,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,20.21640000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,20.21640000000,R2,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,15.48770000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,15.48770000000,R2,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 CO2f,all-week,evening,all-year,0.35390000000,R2,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,4.37620000000,R1,0,MUS$2010/PJ,2050 -electricity,all-week,night,all-year,4.37620000000,R2,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R2,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,1.90330000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,1.90330000000,R2,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,29.79770000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,29.79770000000,R2,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,22.32550000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,22.32550000000,R2,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 CO2f,all-week,night,all-year,0.43510000000,R2,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,4.37620000000,R1,1,MUS$2010/PJ,2050 -electricity,all-week,morning,all-year,4.37620000000,R2,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R2,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,1.90330000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,1.90330000000,R2,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,24.43210000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,24.43210000000,R2,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,19.40060000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,19.40060000000,R2,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 CO2f,all-week,morning,all-year,0.43510000000,R2,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,4.37620000000,R1,2,MUS$2010/PJ,2050 -electricity,all-week,afternoon,all-year,4.37620000000,R2,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R2,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,1.90330000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,1.90330000000,R2,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,29.79770000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,29.79770000000,R2,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,22.32550000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,22.32550000000,R2,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R2,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,4.37620000000,R1,3,MUS$2010/PJ,2050 -electricity,all-week,early-peak,all-year,4.37620000000,R2,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R2,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,1.90330000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,1.90330000000,R2,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,24.43210000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,24.43210000000,R2,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,19.40060000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,19.40060000000,R2,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R2,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,4.37620000000,R1,4,MUS$2010/PJ,2050 -electricity,all-week,late-peak,all-year,4.37620000000,R2,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R2,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,1.90330000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,1.90330000000,R2,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,19.17760000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,19.17760000000,R2,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,16.50610000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,16.50610000000,R2,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R2,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,4.37620000000,R1,5,MUS$2010/PJ,2050 -electricity,all-week,evening,all-year,4.37620000000,R2,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R2,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,1.90330000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,1.90330000000,R2,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,21.74940000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,21.74940000000,R2,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,17.93820000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,17.93820000000,R2,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 CO2f,all-week,evening,all-year,0.43510000000,R2,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv index 9720e4033..f77057b27 100644 --- a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv @@ -15,56 +15,51 @@ A1,10.00000000000,R1,2025,R1,residential,electric_stove,newcapa,2030 A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,10.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 A1,24.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,22.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,15.40890000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,9.64110000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,electric_stove,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,electric_stove,newcapa,2035 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,10.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 A1,24.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 +A1,22.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 A1,7.90890000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,9.64110000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,electric_stove,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,electric_stove,newcapa,2040 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,10.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 A1,24.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 +A1,22.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 A1,7.90890000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,9.64110000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,electric_stove,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,electric_stove,newcapa,2045 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,10.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 A1,24.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 +A1,22.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,12.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 A1,7.90890000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,9.64110000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,electric_stove,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,electric_stove,newcapa,2050 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,10.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,22.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,12.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 A1,36.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 A1,7.90890000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,9.64110000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv index 46825c2a8..f921fb54b 100644 --- a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv @@ -29,183 +29,183 @@ gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 cook,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 -electricity,all-week,night,all-year,1.93880000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.60300000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,13.17950000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,8.75180000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -cook,all-week,night,all-year,0.54170000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,1.93880000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.60300000000,R1,1,MUS$2010/PJ,2025 +cook,all-week,night,all-year,8.38380000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,10.61820000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,7.15960000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -cook,all-week,morning,all-year,0.54170000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,1.93880000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.60300000000,R1,2,MUS$2010/PJ,2025 +cook,all-week,morning,all-year,6.79160000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,13.17950000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,8.75180000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -cook,all-week,afternoon,all-year,0.54170000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,1.93880000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.60300000000,R1,3,MUS$2010/PJ,2025 +cook,all-week,afternoon,all-year,8.38380000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,10.61820000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,7.15960000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -cook,all-week,early-peak,all-year,0.54170000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,1.93880000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.60300000000,R1,4,MUS$2010/PJ,2025 +cook,all-week,early-peak,all-year,6.79160000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,8.09100000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,5.57820000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -cook,all-week,late-peak,all-year,0.54170000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,1.93880000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.60300000000,R1,5,MUS$2010/PJ,2025 +cook,all-week,late-peak,all-year,5.21020000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,9.33750000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,6.36350000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -cook,all-week,evening,all-year,0.54170000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,2.43810000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.40300000000,R1,0,MUS$2010/PJ,2030 +cook,all-week,evening,all-year,5.99550000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,12.44040000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,7.54750000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -cook,all-week,night,all-year,0.40300000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,2.43810000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.40300000000,R1,1,MUS$2010/PJ,2030 +cook,all-week,night,all-year,7.54750000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,9.51530000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,5.52030000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -cook,all-week,morning,all-year,0.40300000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,2.43810000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.40300000000,R1,2,MUS$2010/PJ,2030 +cook,all-week,morning,all-year,5.52030000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,12.44040000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,7.54750000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -cook,all-week,afternoon,all-year,0.40300000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,2.43810000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.40300000000,R1,3,MUS$2010/PJ,2030 +cook,all-week,afternoon,all-year,7.54750000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,9.51530000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,5.52030000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -cook,all-week,early-peak,all-year,0.40300000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,2.43810000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.40300000000,R1,4,MUS$2010/PJ,2030 +cook,all-week,early-peak,all-year,5.52030000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,6.73060000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,3.57890000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -cook,all-week,late-peak,all-year,0.40300000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,2.43810000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.40300000000,R1,5,MUS$2010/PJ,2030 +cook,all-week,late-peak,all-year,3.57890000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,8.05270000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,4.50670000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -cook,all-week,evening,all-year,0.40300000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,2.70360000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.42070000000,R1,0,MUS$2010/PJ,2035 +cook,all-week,evening,all-year,4.50670000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,13.21340000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,7.94540000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -cook,all-week,night,all-year,0.42070000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,2.70360000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.42070000000,R1,1,MUS$2010/PJ,2035 +cook,all-week,night,all-year,7.94540000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,10.06980000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,5.80120000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -cook,all-week,morning,all-year,0.42070000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,2.70360000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.42070000000,R1,2,MUS$2010/PJ,2035 +cook,all-week,morning,all-year,5.80120000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,13.21340000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,7.94540000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -cook,all-week,afternoon,all-year,0.42070000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,2.70360000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.42070000000,R1,3,MUS$2010/PJ,2035 +cook,all-week,afternoon,all-year,7.94540000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,10.06980000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,5.80120000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -cook,all-week,early-peak,all-year,0.42070000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,2.70360000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.42070000000,R1,4,MUS$2010/PJ,2035 +cook,all-week,early-peak,all-year,5.80120000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,6.95930000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,3.67040000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -cook,all-week,late-peak,all-year,0.42070000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,2.70360000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.42070000000,R1,5,MUS$2010/PJ,2035 +cook,all-week,late-peak,all-year,3.67040000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,8.49800000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,4.72920000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -cook,all-week,evening,all-year,0.42070000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,2.91140000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.43460000000,R1,0,MUS$2010/PJ,2040 +cook,all-week,evening,all-year,4.72920000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,13.59400000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,8.09760000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -cook,all-week,night,all-year,0.43460000000,R1,0,MUS$2010/PJ,2040 -electricity,all-week,morning,all-year,2.91140000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.43460000000,R1,1,MUS$2010/PJ,2040 +cook,all-week,night,all-year,8.09760000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,10.38070000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,5.92560000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -cook,all-week,morning,all-year,0.43460000000,R1,1,MUS$2010/PJ,2040 -electricity,all-week,afternoon,all-year,2.91140000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.43460000000,R1,2,MUS$2010/PJ,2040 +cook,all-week,morning,all-year,5.92560000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,13.59400000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,8.09760000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -cook,all-week,afternoon,all-year,0.43460000000,R1,2,MUS$2010/PJ,2040 -electricity,all-week,early-peak,all-year,2.91140000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.43460000000,R1,3,MUS$2010/PJ,2040 +cook,all-week,afternoon,all-year,8.09760000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,10.38070000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,5.92560000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -cook,all-week,early-peak,all-year,0.43460000000,R1,3,MUS$2010/PJ,2040 -electricity,all-week,late-peak,all-year,2.91140000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.43460000000,R1,4,MUS$2010/PJ,2040 +cook,all-week,early-peak,all-year,5.92560000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,7.19650000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,3.76530000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -cook,all-week,late-peak,all-year,0.43460000000,R1,4,MUS$2010/PJ,2040 -electricity,all-week,evening,all-year,2.91140000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.43460000000,R1,5,MUS$2010/PJ,2040 +cook,all-week,late-peak,all-year,3.76530000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,8.77410000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,4.83970000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -cook,all-week,evening,all-year,0.43460000000,R1,5,MUS$2010/PJ,2040 -electricity,all-week,night,all-year,3.19260000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.45330000000,R1,0,MUS$2010/PJ,2045 +cook,all-week,evening,all-year,4.83970000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,14.13140000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,8.31260000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -cook,all-week,night,all-year,0.45330000000,R1,0,MUS$2010/PJ,2045 -electricity,all-week,morning,all-year,3.19260000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.45330000000,R1,1,MUS$2010/PJ,2045 +cook,all-week,night,all-year,8.31260000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,10.86600000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,6.11970000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -cook,all-week,morning,all-year,0.45330000000,R1,1,MUS$2010/PJ,2045 -electricity,all-week,afternoon,all-year,3.19260000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.45330000000,R1,2,MUS$2010/PJ,2045 +cook,all-week,morning,all-year,6.11970000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,14.13140000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,8.31260000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -cook,all-week,afternoon,all-year,0.45330000000,R1,2,MUS$2010/PJ,2045 -electricity,all-week,early-peak,all-year,3.19260000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.45330000000,R1,3,MUS$2010/PJ,2045 +cook,all-week,afternoon,all-year,8.31260000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,10.86600000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,6.11970000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -cook,all-week,early-peak,all-year,0.45330000000,R1,3,MUS$2010/PJ,2045 -electricity,all-week,late-peak,all-year,3.19260000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.45330000000,R1,4,MUS$2010/PJ,2045 +cook,all-week,early-peak,all-year,6.11970000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,7.62630000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,3.93720000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -cook,all-week,late-peak,all-year,0.45330000000,R1,4,MUS$2010/PJ,2045 -electricity,all-week,evening,all-year,3.19260000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.45330000000,R1,5,MUS$2010/PJ,2045 +cook,all-week,late-peak,all-year,3.93720000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,9.23330000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,5.02330000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -cook,all-week,evening,all-year,0.45330000000,R1,5,MUS$2010/PJ,2045 -electricity,all-week,night,all-year,3.41120000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.46790000000,R1,0,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,5.02330000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,14.54890000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,8.47950000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -cook,all-week,night,all-year,0.46790000000,R1,0,MUS$2010/PJ,2050 -electricity,all-week,morning,all-year,3.41120000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.46790000000,R1,1,MUS$2010/PJ,2050 +cook,all-week,night,all-year,8.47950000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,11.24290000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,6.27050000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -cook,all-week,morning,all-year,0.46790000000,R1,1,MUS$2010/PJ,2050 -electricity,all-week,afternoon,all-year,3.41120000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.46790000000,R1,2,MUS$2010/PJ,2050 +cook,all-week,morning,all-year,6.27050000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,14.54890000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,8.47950000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -cook,all-week,afternoon,all-year,0.46790000000,R1,2,MUS$2010/PJ,2050 -electricity,all-week,early-peak,all-year,3.41120000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.46790000000,R1,3,MUS$2010/PJ,2050 +cook,all-week,afternoon,all-year,8.47950000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,11.24290000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,6.27050000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -cook,all-week,early-peak,all-year,0.46790000000,R1,3,MUS$2010/PJ,2050 -electricity,all-week,late-peak,all-year,3.41120000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.46790000000,R1,4,MUS$2010/PJ,2050 +cook,all-week,early-peak,all-year,6.27050000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,7.96000000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,4.07070000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -cook,all-week,late-peak,all-year,0.46790000000,R1,4,MUS$2010/PJ,2050 -electricity,all-week,evening,all-year,3.41120000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.46790000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,late-peak,all-year,4.07070000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,9.58990000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,5.16590000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 -cook,all-week,evening,all-year,0.46790000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,5.16590000000,R1,5,MUS$2010/PJ,2050 diff --git a/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv b/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv index 4d4c083f1..9557b1c23 100644 --- a/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv +++ b/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv @@ -23,75 +23,75 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,1.92920000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.81840000000,R1,0,MUS$2010/PJ,2025 -CO2f,all-week,night,all-year,0.21000000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,1.92920000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.81840000000,R1,1,MUS$2010/PJ,2025 -CO2f,all-week,morning,all-year,0.21000000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,1.92920000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.81840000000,R1,2,MUS$2010/PJ,2025 -CO2f,all-week,afternoon,all-year,0.21000000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,1.92920000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.81840000000,R1,3,MUS$2010/PJ,2025 -CO2f,all-week,early-peak,all-year,0.21000000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,1.92920000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.81840000000,R1,4,MUS$2010/PJ,2025 -CO2f,all-week,late-peak,all-year,0.21000000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,1.92920000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.81840000000,R1,5,MUS$2010/PJ,2025 -CO2f,all-week,evening,all-year,0.21000000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,2.29370000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.39340000000,R1,0,MUS$2010/PJ,2030 -CO2f,all-week,night,all-year,0.17000000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.29370000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.39340000000,R1,1,MUS$2010/PJ,2030 -CO2f,all-week,morning,all-year,0.17000000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,2.29370000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.39340000000,R1,2,MUS$2010/PJ,2030 -CO2f,all-week,afternoon,all-year,0.17000000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.29370000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.39340000000,R1,3,MUS$2010/PJ,2030 -CO2f,all-week,early-peak,all-year,0.17000000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.29370000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.39340000000,R1,4,MUS$2010/PJ,2030 -CO2f,all-week,late-peak,all-year,0.17000000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.29370000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.39340000000,R1,5,MUS$2010/PJ,2030 -CO2f,all-week,evening,all-year,0.17000000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,2.34640000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.39690000000,R1,0,MUS$2010/PJ,2035 -CO2f,all-week,night,all-year,0.21000000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,2.34640000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.39690000000,R1,1,MUS$2010/PJ,2035 -CO2f,all-week,morning,all-year,0.21000000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,2.34640000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.39690000000,R1,2,MUS$2010/PJ,2035 -CO2f,all-week,afternoon,all-year,0.21000000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,2.34640000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.39690000000,R1,3,MUS$2010/PJ,2035 -CO2f,all-week,early-peak,all-year,0.21000000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,2.34640000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.39690000000,R1,4,MUS$2010/PJ,2035 -CO2f,all-week,late-peak,all-year,0.21000000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,2.34640000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.39690000000,R1,5,MUS$2010/PJ,2035 -CO2f,all-week,evening,all-year,0.21000000000,R1,5,MUS$2010/kt,2035 +electricity,all-week,night,all-year,11.66100000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,9.03670000000,R1,0,MUS$2010/PJ,2025 +CO2f,all-week,night,all-year,0.15000000000,R1,0,MUS$2010/kt,2025 +electricity,all-week,morning,all-year,8.51410000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,7.25910000000,R1,1,MUS$2010/PJ,2025 +CO2f,all-week,morning,all-year,0.15000000000,R1,1,MUS$2010/kt,2025 +electricity,all-week,afternoon,all-year,11.66100000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,9.03670000000,R1,2,MUS$2010/PJ,2025 +CO2f,all-week,afternoon,all-year,0.15000000000,R1,2,MUS$2010/kt,2025 +electricity,all-week,early-peak,all-year,8.51410000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,7.25910000000,R1,3,MUS$2010/PJ,2025 +CO2f,all-week,early-peak,all-year,0.15000000000,R1,3,MUS$2010/kt,2025 +electricity,all-week,late-peak,all-year,5.49650000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,5.52240000000,R1,4,MUS$2010/PJ,2025 +CO2f,all-week,late-peak,all-year,0.15000000000,R1,4,MUS$2010/kt,2025 +electricity,all-week,evening,all-year,6.94060000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,6.37020000000,R1,5,MUS$2010/PJ,2025 +CO2f,all-week,evening,all-year,0.15000000000,R1,5,MUS$2010/kt,2025 +electricity,all-week,night,all-year,12.95810000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,7.75460000000,R1,0,MUS$2010/PJ,2030 +CO2f,all-week,night,all-year,0.12000000000,R1,0,MUS$2010/kt,2030 +electricity,all-week,morning,all-year,10.73860000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,6.00970000000,R1,1,MUS$2010/PJ,2030 +CO2f,all-week,morning,all-year,0.12000000000,R1,1,MUS$2010/kt,2030 +electricity,all-week,afternoon,all-year,12.95810000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,7.75460000000,R1,2,MUS$2010/PJ,2030 +CO2f,all-week,afternoon,all-year,0.12000000000,R1,2,MUS$2010/kt,2030 +electricity,all-week,early-peak,all-year,10.73860000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,6.00970000000,R1,3,MUS$2010/PJ,2030 +CO2f,all-week,early-peak,all-year,0.12000000000,R1,3,MUS$2010/kt,2030 +electricity,all-week,late-peak,all-year,8.74310000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,4.38390000000,R1,4,MUS$2010/PJ,2030 +CO2f,all-week,late-peak,all-year,0.12000000000,R1,4,MUS$2010/kt,2030 +electricity,all-week,evening,all-year,9.62880000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,5.13720000000,R1,5,MUS$2010/PJ,2030 +CO2f,all-week,evening,all-year,0.12000000000,R1,5,MUS$2010/kt,2030 +electricity,all-week,night,all-year,13.71690000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.14680000000,R1,0,MUS$2010/PJ,2035 +CO2f,all-week,night,all-year,0.15000000000,R1,0,MUS$2010/kt,2035 +electricity,all-week,morning,all-year,11.06050000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,6.19750000000,R1,1,MUS$2010/PJ,2035 +CO2f,all-week,morning,all-year,0.15000000000,R1,1,MUS$2010/kt,2035 +electricity,all-week,afternoon,all-year,13.71690000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,8.14680000000,R1,2,MUS$2010/PJ,2035 +CO2f,all-week,afternoon,all-year,0.15000000000,R1,2,MUS$2010/kt,2035 +electricity,all-week,early-peak,all-year,11.06050000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,6.19750000000,R1,3,MUS$2010/PJ,2035 +CO2f,all-week,early-peak,all-year,0.15000000000,R1,3,MUS$2010/kt,2035 +electricity,all-week,late-peak,all-year,8.46050000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,4.27090000000,R1,4,MUS$2010/PJ,2035 +CO2f,all-week,late-peak,all-year,0.15000000000,R1,4,MUS$2010/kt,2035 +electricity,all-week,evening,all-year,9.73220000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,5.22290000000,R1,5,MUS$2010/PJ,2035 +CO2f,all-week,evening,all-year,0.15000000000,R1,5,MUS$2010/kt,2035 diff --git a/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv b/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv index dd19fb1ea..a515ac494 100644 --- a/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv +++ b/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,0.91100000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.56480000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,5.88870000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,6.86280000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,0.91100000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.56480000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,4.65270000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,5.69030000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,1.03690000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.57970000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,6.69420000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,7.33430000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,0.91100000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.56480000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,4.65270000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,5.69030000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,0.91100000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.56480000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,3.52270000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,4.55130000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,0.98680000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.57370000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,4.61530000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,5.41810000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,3.99380000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,4.16890000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,2.66260000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,2.77920000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,3.99380000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,4.16890000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,2.66260000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,2.77920000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,1.99690000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,2.08440000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,4.25750000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,2.83840000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,4.25750000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,2.83840000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,2.12880000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,4.14950000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,2.76630000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,4.14950000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,2.76630000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,2.07470000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,4.31150000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,2.87440000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,4.31150000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,2.87440000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,2.15580000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,4.35440000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,2.90290000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,4.35440000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,2.90290000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,2.17720000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv b/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv index 307cd8986..11713d0db 100644 --- a/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv +++ b/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,0.88040000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.56120000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,6.18930000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,6.90550000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,0.88040000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.56120000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,4.76230000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,5.67250000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,1.03100000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.57900000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,7.10230000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,7.45330000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,0.88040000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.56120000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,4.76230000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,5.67250000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,0.80810000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.55080000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,2.46380000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,3.99210000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,0.80810000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.55080000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,3.15830000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,4.60260000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,3.99380000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,4.16890000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,2.66260000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,2.77920000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,3.99380000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,4.16890000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,2.66260000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,2.77920000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,1.99690000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,2.08440000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,4.25750000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,2.83840000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,4.25750000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,2.83840000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,2.12880000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,4.14950000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,2.76630000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,4.14950000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,2.76630000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,2.07470000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,4.31150000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,2.87440000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,4.31150000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,2.87440000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,2.15580000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,4.35440000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,2.90290000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,4.35440000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,2.90290000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,2.17720000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv index 22e129c33..9776b55fc 100644 --- a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv +++ b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv @@ -10,48 +10,43 @@ A1,16.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 A1,17.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,6.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,13.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,8.96440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,9.40560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,22.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,6.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 +A1,13.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,9.40560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,22.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,6.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 +A1,13.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,9.40560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,27.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,6.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 +A1,13.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,5.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,9.40560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,27.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,23.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,6.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,13.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,5.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 A1,9.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,9.40560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv index 05f1180f0..20d634b2d 100644 --- a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv +++ b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv @@ -31,195 +31,195 @@ electricity,all-week,late-afternoon,all-year,19.50000000000,R1,7,MUS$2010/PJ,202 gas,all-week,late-afternoon,all-year,7.15280000000,R1,7,MUS$2010/PJ,2020 heat,all-week,late-afternoon,all-year,100.00000000000,R1,7,MUS$2010/PJ,2020 CO2f,all-week,late-afternoon,all-year,0.08310000000,R1,7,MUS$2010/kt,2020 -electricity,all-week,night,all-year,1.69370000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.45480000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,16.14420000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,9.70140000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,1.69370000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.45480000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,15.04790000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,8.68050000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,mid-afternoon,all-year,1.69370000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,mid-afternoon,all-year,0.45480000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,mid-afternoon,all-year,16.14420000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,mid-afternoon,all-year,9.70140000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,mid-afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,1.69370000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.45480000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,15.04790000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,8.68050000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,1.69370000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.45480000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,13.76770000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,7.46510000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,1.69370000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.45480000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,14.31700000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,8.00000000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,early-morning,all-year,1.69370000000,R1,6,MUS$2010/PJ,2025 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2025 -heat,all-week,early-morning,all-year,0.45480000000,R1,6,MUS$2010/PJ,2025 +electricity,all-week,early-morning,all-year,14.31700000000,R1,6,MUS$2010/PJ,2025 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2025 +heat,all-week,early-morning,all-year,8.00000000000,R1,6,MUS$2010/PJ,2025 CO2f,all-week,early-morning,all-year,0.12010000000,R1,6,MUS$2010/kt,2025 -electricity,all-week,late-afternoon,all-year,1.69370000000,R1,7,MUS$2010/PJ,2025 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2025 -heat,all-week,late-afternoon,all-year,0.45480000000,R1,7,MUS$2010/PJ,2025 +electricity,all-week,late-afternoon,all-year,14.31700000000,R1,7,MUS$2010/PJ,2025 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2025 +heat,all-week,late-afternoon,all-year,8.00000000000,R1,7,MUS$2010/PJ,2025 CO2f,all-week,late-afternoon,all-year,0.12010000000,R1,7,MUS$2010/kt,2025 -electricity,all-week,night,all-year,2.11110000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.28590000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,14.83400000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.59360000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.11110000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.28590000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,12.69370000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,6.93950000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,mid-afternoon,all-year,2.11110000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,mid-afternoon,all-year,0.28590000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,mid-afternoon,all-year,14.83400000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,mid-afternoon,all-year,8.59360000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,mid-afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.11110000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.28590000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,12.69370000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,6.93950000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.11110000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.28590000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,10.14330000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,4.94400000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.11110000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.28590000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,11.26690000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,5.83670000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,early-morning,all-year,2.11110000000,R1,6,MUS$2010/PJ,2030 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2030 -heat,all-week,early-morning,all-year,0.28590000000,R1,6,MUS$2010/PJ,2030 +electricity,all-week,early-morning,all-year,11.26690000000,R1,6,MUS$2010/PJ,2030 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2030 +heat,all-week,early-morning,all-year,5.83670000000,R1,6,MUS$2010/PJ,2030 CO2f,all-week,early-morning,all-year,0.15700000000,R1,6,MUS$2010/kt,2030 -electricity,all-week,late-afternoon,all-year,2.11110000000,R1,7,MUS$2010/PJ,2030 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2030 -heat,all-week,late-afternoon,all-year,0.28590000000,R1,7,MUS$2010/PJ,2030 +electricity,all-week,late-afternoon,all-year,11.26690000000,R1,7,MUS$2010/PJ,2030 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2030 +heat,all-week,late-afternoon,all-year,5.83670000000,R1,7,MUS$2010/PJ,2030 CO2f,all-week,late-afternoon,all-year,0.15700000000,R1,7,MUS$2010/kt,2030 -electricity,all-week,night,all-year,2.48080000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.30440000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,15.92290000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.98170000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,2.48080000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.30440000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,13.65310000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,7.29000000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,mid-afternoon,all-year,2.48080000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,mid-afternoon,all-year,0.30440000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,mid-afternoon,all-year,15.92290000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,mid-afternoon,all-year,8.98170000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,mid-afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,2.48080000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.30440000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,13.65310000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,7.29000000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,2.48080000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.30440000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,10.98450000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.28040000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,2.48080000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.30440000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,12.13990000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,6.16220000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,early-morning,all-year,2.48080000000,R1,6,MUS$2010/PJ,2035 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2035 -heat,all-week,early-morning,all-year,0.30440000000,R1,6,MUS$2010/PJ,2035 +electricity,all-week,early-morning,all-year,12.13990000000,R1,6,MUS$2010/PJ,2035 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2035 +heat,all-week,early-morning,all-year,6.16220000000,R1,6,MUS$2010/PJ,2035 CO2f,all-week,early-morning,all-year,0.21490000000,R1,6,MUS$2010/kt,2035 -electricity,all-week,late-afternoon,all-year,2.48080000000,R1,7,MUS$2010/PJ,2035 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2035 -heat,all-week,late-afternoon,all-year,0.30440000000,R1,7,MUS$2010/PJ,2035 +electricity,all-week,late-afternoon,all-year,12.13990000000,R1,7,MUS$2010/PJ,2035 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2035 +heat,all-week,late-afternoon,all-year,6.16220000000,R1,7,MUS$2010/PJ,2035 CO2f,all-week,late-afternoon,all-year,0.21490000000,R1,7,MUS$2010/kt,2035 -electricity,all-week,night,all-year,2.71380000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.31610000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,16.75890000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,9.35000000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,2.71380000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.31610000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,14.31320000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,7.57780000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,mid-afternoon,all-year,2.71380000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,mid-afternoon,all-year,0.31610000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,mid-afternoon,all-year,16.75890000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,mid-afternoon,all-year,9.35000000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,mid-afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,2.71380000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.31610000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,14.31320000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,7.57780000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,2.71380000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.31610000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,11.39150000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.44320000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,2.71380000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.31610000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,12.68270000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,6.39630000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,early-morning,all-year,2.71380000000,R1,6,MUS$2010/PJ,2040 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2040 -heat,all-week,early-morning,all-year,0.31610000000,R1,6,MUS$2010/PJ,2040 +electricity,all-week,early-morning,all-year,12.68270000000,R1,6,MUS$2010/PJ,2040 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2040 +heat,all-week,early-morning,all-year,6.39630000000,R1,6,MUS$2010/PJ,2040 CO2f,all-week,early-morning,all-year,0.27280000000,R1,6,MUS$2010/kt,2040 -electricity,all-week,late-afternoon,all-year,2.71380000000,R1,7,MUS$2010/PJ,2040 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2040 -heat,all-week,late-afternoon,all-year,0.31610000000,R1,7,MUS$2010/PJ,2040 +electricity,all-week,late-afternoon,all-year,12.68270000000,R1,7,MUS$2010/PJ,2040 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2040 +heat,all-week,late-afternoon,all-year,6.39630000000,R1,7,MUS$2010/PJ,2040 CO2f,all-week,late-afternoon,all-year,0.27280000000,R1,7,MUS$2010/kt,2040 -electricity,all-week,night,all-year,3.07290000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.33400000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,17.89650000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,9.77110000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,3.07290000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.33400000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,15.39180000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,7.98550000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,mid-afternoon,all-year,3.07290000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,mid-afternoon,all-year,0.33400000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,mid-afternoon,all-year,17.89650000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,mid-afternoon,all-year,9.77110000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,mid-afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,3.07290000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.33400000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,15.39180000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,7.98550000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,3.07290000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.33400000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,12.43030000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.85880000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,3.07290000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.33400000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,13.72200000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,6.79510000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,early-morning,all-year,3.07290000000,R1,6,MUS$2010/PJ,2045 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2045 -heat,all-week,early-morning,all-year,0.33400000000,R1,6,MUS$2010/PJ,2045 +electricity,all-week,early-morning,all-year,13.72200000000,R1,6,MUS$2010/PJ,2045 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2045 +heat,all-week,early-morning,all-year,6.79510000000,R1,6,MUS$2010/PJ,2045 CO2f,all-week,early-morning,all-year,0.35390000000,R1,6,MUS$2010/kt,2045 -electricity,all-week,late-afternoon,all-year,3.07290000000,R1,7,MUS$2010/PJ,2045 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2045 -heat,all-week,late-afternoon,all-year,0.33400000000,R1,7,MUS$2010/PJ,2045 +electricity,all-week,late-afternoon,all-year,13.72200000000,R1,7,MUS$2010/PJ,2045 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2045 +heat,all-week,late-afternoon,all-year,6.79510000000,R1,7,MUS$2010/PJ,2045 CO2f,all-week,late-afternoon,all-year,0.35390000000,R1,7,MUS$2010/kt,2045 -electricity,all-week,night,all-year,3.31580000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.34620000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,18.80250000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,10.15990000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,3.31580000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.34620000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,16.18710000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,8.32210000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,mid-afternoon,all-year,3.31580000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,mid-afternoon,all-year,0.34620000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,mid-afternoon,all-year,18.80250000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,mid-afternoon,all-year,10.15990000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,mid-afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,3.31580000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.34620000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,16.18710000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,8.32210000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,3.31580000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.34620000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,13.05840000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,6.11000000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,3.31580000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.34620000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,14.44350000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,7.09690000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 -electricity,all-week,early-morning,all-year,3.31580000000,R1,6,MUS$2010/PJ,2050 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2050 -heat,all-week,early-morning,all-year,0.34620000000,R1,6,MUS$2010/PJ,2050 +electricity,all-week,early-morning,all-year,14.44350000000,R1,6,MUS$2010/PJ,2050 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2050 +heat,all-week,early-morning,all-year,7.09690000000,R1,6,MUS$2010/PJ,2050 CO2f,all-week,early-morning,all-year,0.43510000000,R1,6,MUS$2010/kt,2050 -electricity,all-week,late-afternoon,all-year,3.31580000000,R1,7,MUS$2010/PJ,2050 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2050 -heat,all-week,late-afternoon,all-year,0.34620000000,R1,7,MUS$2010/PJ,2050 +electricity,all-week,late-afternoon,all-year,14.44350000000,R1,7,MUS$2010/PJ,2050 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2050 +heat,all-week,late-afternoon,all-year,7.09690000000,R1,7,MUS$2010/PJ,2050 CO2f,all-week,late-afternoon,all-year,0.43510000000,R1,7,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv index 3592cafdb..0ae5ccca6 100644 --- a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv +++ b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv @@ -42,11 +42,11 @@ A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 A1,1.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2030 A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2030 A1,3.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2030 -A1,2.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2030 A1,4.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,5.00000000000,R1,2028,R1,power,windturbine,newcapa,2030 A1,7.82110000000,R1,2020,R1,gas,gassupply1,newcapa,2030 A1,5.11670000000,R1,2026,R1,gas,gassupply1,newcapa,2030 -A1,3.76220000000,R1,2028,R1,gas,gassupply1,newcapa,2030 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2030 A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2032 A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2032 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2032 @@ -56,13 +56,13 @@ A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2032 A1,1.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2032 A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2032 A1,3.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2032 -A1,2.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2032 -A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2032 A1,4.00000000000,R1,2020,R1,power,windturbine,newcapa,2032 +A1,5.00000000000,R1,2028,R1,power,windturbine,newcapa,2032 +A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2032 A1,4.82110000000,R1,2020,R1,gas,gassupply1,newcapa,2032 A1,5.11670000000,R1,2026,R1,gas,gassupply1,newcapa,2032 -A1,3.76220000000,R1,2028,R1,gas,gassupply1,newcapa,2032 -A1,4.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2032 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2032 +A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2032 A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2034 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2034 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2034 @@ -72,15 +72,15 @@ A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2034 A1,1.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2034 A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2034 A1,3.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2034 -A1,2.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2034 -A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2034 -A1,1.00000000000,R1,2032,R1,power,gasCCGT,newcapa,2034 A1,4.00000000000,R1,2020,R1,power,windturbine,newcapa,2034 +A1,5.00000000000,R1,2028,R1,power,windturbine,newcapa,2034 +A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2034 +A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2034 A1,1.82110000000,R1,2020,R1,gas,gassupply1,newcapa,2034 A1,5.11670000000,R1,2026,R1,gas,gassupply1,newcapa,2034 -A1,3.76220000000,R1,2028,R1,gas,gassupply1,newcapa,2034 -A1,4.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2034 -A1,4.67000000000,R1,2032,R1,gas,gassupply1,newcapa,2034 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2034 +A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2034 +A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2034 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2036 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2036 A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2036 @@ -90,16 +90,16 @@ A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2036 A1,1.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2036 A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2036 A1,3.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2036 -A1,2.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2036 -A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2036 -A1,1.00000000000,R1,2032,R1,power,gasCCGT,newcapa,2036 A1,4.00000000000,R1,2020,R1,power,windturbine,newcapa,2036 -A1,3.00000000000,R1,2034,R1,power,windturbine,newcapa,2036 +A1,5.00000000000,R1,2028,R1,power,windturbine,newcapa,2036 +A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2036 +A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2036 +A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2036 A1,0.32110000000,R1,2020,R1,gas,gassupply1,newcapa,2036 A1,5.11670000000,R1,2026,R1,gas,gassupply1,newcapa,2036 -A1,3.76220000000,R1,2028,R1,gas,gassupply1,newcapa,2036 -A1,4.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2036 -A1,4.67000000000,R1,2032,R1,gas,gassupply1,newcapa,2036 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2036 +A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2036 +A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2036 A1,1.50000000000,R1,2034,R1,gas,gassupply1,newcapa,2036 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2038 A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2038 @@ -110,11 +110,11 @@ A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2038 A1,1.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2038 A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2038 A1,3.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2038 -A1,2.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2038 -A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2038 -A1,1.00000000000,R1,2032,R1,power,gasCCGT,newcapa,2038 A1,4.00000000000,R1,2020,R1,power,windturbine,newcapa,2038 -A1,3.00000000000,R1,2034,R1,power,windturbine,newcapa,2038 +A1,5.00000000000,R1,2028,R1,power,windturbine,newcapa,2038 +A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2038 +A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2038 +A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2038 A1,2.00000000000,R1,2036,R1,power,windturbine,newcapa,2038 A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2040 @@ -125,16 +125,16 @@ A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 A1,1.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2040 A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2040 A1,3.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2040 -A1,2.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R1,2032,R1,power,gasCCGT,newcapa,2040 A1,4.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,3.00000000000,R1,2034,R1,power,windturbine,newcapa,2040 +A1,5.00000000000,R1,2028,R1,power,windturbine,newcapa,2040 +A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2040 +A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2040 A1,2.00000000000,R1,2036,R1,power,windturbine,newcapa,2040 -A1,2.00000000000,R1,2038,R1,power,windturbine,newcapa,2040 +A1,3.00000000000,R1,2038,R1,power,windturbine,newcapa,2040 A1,0.32110000000,R1,2020,R1,gas,gassupply1,newcapa,2040 A1,5.11670000000,R1,2026,R1,gas,gassupply1,newcapa,2040 -A1,3.76220000000,R1,2028,R1,gas,gassupply1,newcapa,2040 -A1,4.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 -A1,4.67000000000,R1,2032,R1,gas,gassupply1,newcapa,2040 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2040 +A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2040 A1,1.50000000000,R1,2034,R1,gas,gassupply1,newcapa,2040 diff --git a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv index 1d2db95d3..ca428f180 100644 --- a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv +++ b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv @@ -31,323 +31,323 @@ electricity,all-week,late-afternoon,all-year,19.50000000000,R1,7,MUS$2010/PJ,202 gas,all-week,late-afternoon,all-year,7.15280000000,R1,7,MUS$2010/PJ,2020 heat,all-week,late-afternoon,all-year,100.00000000000,R1,7,MUS$2010/PJ,2020 CO2f,all-week,late-afternoon,all-year,0.08310000000,R1,7,MUS$2010/kt,2020 -electricity,all-week,night,all-year,1.43110000000,R1,0,MUS$2010/PJ,2022 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2022 -heat,all-week,night,all-year,0.53350000000,R1,0,MUS$2010/PJ,2022 +electricity,all-week,night,all-year,13.64930000000,R1,0,MUS$2010/PJ,2022 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2022 +heat,all-week,night,all-year,9.08990000000,R1,0,MUS$2010/PJ,2022 CO2f,all-week,night,all-year,0.09790000000,R1,0,MUS$2010/kt,2022 -electricity,all-week,morning,all-year,1.43110000000,R1,1,MUS$2010/PJ,2022 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2022 -heat,all-week,morning,all-year,0.53350000000,R1,1,MUS$2010/PJ,2022 +electricity,all-week,morning,all-year,12.04740000000,R1,1,MUS$2010/PJ,2022 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2022 +heat,all-week,morning,all-year,8.11420000000,R1,1,MUS$2010/PJ,2022 CO2f,all-week,morning,all-year,0.09790000000,R1,1,MUS$2010/kt,2022 -electricity,all-week,mid-afternoon,all-year,1.43110000000,R1,2,MUS$2010/PJ,2022 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2022 -heat,all-week,mid-afternoon,all-year,0.53350000000,R1,2,MUS$2010/PJ,2022 +electricity,all-week,mid-afternoon,all-year,13.64930000000,R1,2,MUS$2010/PJ,2022 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2022 +heat,all-week,mid-afternoon,all-year,9.08990000000,R1,2,MUS$2010/PJ,2022 CO2f,all-week,mid-afternoon,all-year,0.09790000000,R1,2,MUS$2010/kt,2022 -electricity,all-week,early-peak,all-year,1.43110000000,R1,3,MUS$2010/PJ,2022 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2022 -heat,all-week,early-peak,all-year,0.53350000000,R1,3,MUS$2010/PJ,2022 +electricity,all-week,early-peak,all-year,12.04740000000,R1,3,MUS$2010/PJ,2022 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2022 +heat,all-week,early-peak,all-year,8.11420000000,R1,3,MUS$2010/PJ,2022 CO2f,all-week,early-peak,all-year,0.09790000000,R1,3,MUS$2010/kt,2022 -electricity,all-week,late-peak,all-year,1.43110000000,R1,4,MUS$2010/PJ,2022 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2022 -heat,all-week,late-peak,all-year,0.53350000000,R1,4,MUS$2010/PJ,2022 +electricity,all-week,late-peak,all-year,10.13490000000,R1,4,MUS$2010/PJ,2022 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2022 +heat,all-week,late-peak,all-year,6.93360000000,R1,4,MUS$2010/PJ,2022 CO2f,all-week,late-peak,all-year,0.09790000000,R1,4,MUS$2010/kt,2022 -electricity,all-week,evening,all-year,1.43110000000,R1,5,MUS$2010/PJ,2022 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2022 -heat,all-week,evening,all-year,0.53350000000,R1,5,MUS$2010/PJ,2022 +electricity,all-week,evening,all-year,10.97960000000,R1,5,MUS$2010/PJ,2022 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2022 +heat,all-week,evening,all-year,7.46370000000,R1,5,MUS$2010/PJ,2022 CO2f,all-week,evening,all-year,0.09790000000,R1,5,MUS$2010/kt,2022 -electricity,all-week,early-morning,all-year,1.43110000000,R1,6,MUS$2010/PJ,2022 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2022 -heat,all-week,early-morning,all-year,0.53350000000,R1,6,MUS$2010/PJ,2022 +electricity,all-week,early-morning,all-year,10.97960000000,R1,6,MUS$2010/PJ,2022 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2022 +heat,all-week,early-morning,all-year,7.46370000000,R1,6,MUS$2010/PJ,2022 CO2f,all-week,early-morning,all-year,0.09790000000,R1,6,MUS$2010/kt,2022 -electricity,all-week,late-afternoon,all-year,1.43110000000,R1,7,MUS$2010/PJ,2022 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2022 -heat,all-week,late-afternoon,all-year,0.53350000000,R1,7,MUS$2010/PJ,2022 +electricity,all-week,late-afternoon,all-year,10.97960000000,R1,7,MUS$2010/PJ,2022 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2022 +heat,all-week,late-afternoon,all-year,7.46370000000,R1,7,MUS$2010/PJ,2022 CO2f,all-week,late-afternoon,all-year,0.09790000000,R1,7,MUS$2010/kt,2022 -electricity,all-week,night,all-year,1.56680000000,R1,0,MUS$2010/PJ,2024 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2024 -heat,all-week,night,all-year,0.48200000000,R1,0,MUS$2010/PJ,2024 +electricity,all-week,night,all-year,14.30710000000,R1,0,MUS$2010/PJ,2024 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2024 +heat,all-week,night,all-year,9.21270000000,R1,0,MUS$2010/PJ,2024 CO2f,all-week,night,all-year,0.11270000000,R1,0,MUS$2010/kt,2024 -electricity,all-week,morning,all-year,1.56680000000,R1,1,MUS$2010/PJ,2024 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2024 -heat,all-week,morning,all-year,0.48200000000,R1,1,MUS$2010/PJ,2024 +electricity,all-week,morning,all-year,13.04480000000,R1,1,MUS$2010/PJ,2024 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2024 +heat,all-week,morning,all-year,8.19310000000,R1,1,MUS$2010/PJ,2024 CO2f,all-week,morning,all-year,0.11270000000,R1,1,MUS$2010/kt,2024 -electricity,all-week,mid-afternoon,all-year,1.56680000000,R1,2,MUS$2010/PJ,2024 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2024 -heat,all-week,mid-afternoon,all-year,0.48200000000,R1,2,MUS$2010/PJ,2024 +electricity,all-week,mid-afternoon,all-year,14.30710000000,R1,2,MUS$2010/PJ,2024 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2024 +heat,all-week,mid-afternoon,all-year,9.21270000000,R1,2,MUS$2010/PJ,2024 CO2f,all-week,mid-afternoon,all-year,0.11270000000,R1,2,MUS$2010/kt,2024 -electricity,all-week,early-peak,all-year,1.56680000000,R1,3,MUS$2010/PJ,2024 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2024 -heat,all-week,early-peak,all-year,0.48200000000,R1,3,MUS$2010/PJ,2024 +electricity,all-week,early-peak,all-year,13.04480000000,R1,3,MUS$2010/PJ,2024 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2024 +heat,all-week,early-peak,all-year,8.19310000000,R1,3,MUS$2010/PJ,2024 CO2f,all-week,early-peak,all-year,0.11270000000,R1,3,MUS$2010/kt,2024 -electricity,all-week,late-peak,all-year,1.56680000000,R1,4,MUS$2010/PJ,2024 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2024 -heat,all-week,late-peak,all-year,0.48200000000,R1,4,MUS$2010/PJ,2024 +electricity,all-week,late-peak,all-year,11.73940000000,R1,4,MUS$2010/PJ,2024 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2024 +heat,all-week,late-peak,all-year,7.02450000000,R1,4,MUS$2010/PJ,2024 CO2f,all-week,late-peak,all-year,0.11270000000,R1,4,MUS$2010/kt,2024 -electricity,all-week,evening,all-year,1.56680000000,R1,5,MUS$2010/PJ,2024 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2024 -heat,all-week,evening,all-year,0.48200000000,R1,5,MUS$2010/PJ,2024 +electricity,all-week,evening,all-year,12.20330000000,R1,5,MUS$2010/PJ,2024 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2024 +heat,all-week,evening,all-year,7.51340000000,R1,5,MUS$2010/PJ,2024 CO2f,all-week,evening,all-year,0.11270000000,R1,5,MUS$2010/kt,2024 -electricity,all-week,early-morning,all-year,1.56680000000,R1,6,MUS$2010/PJ,2024 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2024 -heat,all-week,early-morning,all-year,0.48200000000,R1,6,MUS$2010/PJ,2024 +electricity,all-week,early-morning,all-year,12.20330000000,R1,6,MUS$2010/PJ,2024 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2024 +heat,all-week,early-morning,all-year,7.51340000000,R1,6,MUS$2010/PJ,2024 CO2f,all-week,early-morning,all-year,0.11270000000,R1,6,MUS$2010/kt,2024 -electricity,all-week,late-afternoon,all-year,1.56680000000,R1,7,MUS$2010/PJ,2024 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2024 -heat,all-week,late-afternoon,all-year,0.48200000000,R1,7,MUS$2010/PJ,2024 +electricity,all-week,late-afternoon,all-year,12.20330000000,R1,7,MUS$2010/PJ,2024 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2024 +heat,all-week,late-afternoon,all-year,7.51340000000,R1,7,MUS$2010/PJ,2024 CO2f,all-week,late-afternoon,all-year,0.11270000000,R1,7,MUS$2010/kt,2024 -electricity,all-week,night,all-year,1.71250000000,R1,0,MUS$2010/PJ,2026 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2026 -heat,all-week,night,all-year,0.42140000000,R1,0,MUS$2010/PJ,2026 +electricity,all-week,night,all-year,15.31460000000,R1,0,MUS$2010/PJ,2026 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2026 +heat,all-week,night,all-year,9.35200000000,R1,0,MUS$2010/PJ,2026 CO2f,all-week,night,all-year,0.12750000000,R1,0,MUS$2010/kt,2026 -electricity,all-week,morning,all-year,1.71250000000,R1,1,MUS$2010/PJ,2026 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2026 -heat,all-week,morning,all-year,0.42140000000,R1,1,MUS$2010/PJ,2026 +electricity,all-week,morning,all-year,14.24850000000,R1,1,MUS$2010/PJ,2026 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2026 +heat,all-week,morning,all-year,8.29690000000,R1,1,MUS$2010/PJ,2026 CO2f,all-week,morning,all-year,0.12750000000,R1,1,MUS$2010/kt,2026 -electricity,all-week,mid-afternoon,all-year,1.71250000000,R1,2,MUS$2010/PJ,2026 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2026 -heat,all-week,mid-afternoon,all-year,0.42140000000,R1,2,MUS$2010/PJ,2026 +electricity,all-week,mid-afternoon,all-year,15.31460000000,R1,2,MUS$2010/PJ,2026 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2026 +heat,all-week,mid-afternoon,all-year,9.35200000000,R1,2,MUS$2010/PJ,2026 CO2f,all-week,mid-afternoon,all-year,0.12750000000,R1,2,MUS$2010/kt,2026 -electricity,all-week,early-peak,all-year,1.71250000000,R1,3,MUS$2010/PJ,2026 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2026 -heat,all-week,early-peak,all-year,0.42140000000,R1,3,MUS$2010/PJ,2026 +electricity,all-week,early-peak,all-year,14.24850000000,R1,3,MUS$2010/PJ,2026 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2026 +heat,all-week,early-peak,all-year,8.29690000000,R1,3,MUS$2010/PJ,2026 CO2f,all-week,early-peak,all-year,0.12750000000,R1,3,MUS$2010/kt,2026 -electricity,all-week,late-peak,all-year,1.71250000000,R1,4,MUS$2010/PJ,2026 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2026 -heat,all-week,late-peak,all-year,0.42140000000,R1,4,MUS$2010/PJ,2026 +electricity,all-week,late-peak,all-year,13.27000000000,R1,4,MUS$2010/PJ,2026 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2026 +heat,all-week,late-peak,all-year,7.13220000000,R1,4,MUS$2010/PJ,2026 CO2f,all-week,late-peak,all-year,0.12750000000,R1,4,MUS$2010/kt,2026 -electricity,all-week,evening,all-year,1.71250000000,R1,5,MUS$2010/PJ,2026 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2026 -heat,all-week,evening,all-year,0.42140000000,R1,5,MUS$2010/PJ,2026 +electricity,all-week,evening,all-year,13.53770000000,R1,5,MUS$2010/PJ,2026 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2026 +heat,all-week,evening,all-year,7.59350000000,R1,5,MUS$2010/PJ,2026 CO2f,all-week,evening,all-year,0.12750000000,R1,5,MUS$2010/kt,2026 -electricity,all-week,early-morning,all-year,1.71250000000,R1,6,MUS$2010/PJ,2026 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2026 -heat,all-week,early-morning,all-year,0.42140000000,R1,6,MUS$2010/PJ,2026 +electricity,all-week,early-morning,all-year,13.53770000000,R1,6,MUS$2010/PJ,2026 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2026 +heat,all-week,early-morning,all-year,7.59350000000,R1,6,MUS$2010/PJ,2026 CO2f,all-week,early-morning,all-year,0.12750000000,R1,6,MUS$2010/kt,2026 -electricity,all-week,late-afternoon,all-year,1.71250000000,R1,7,MUS$2010/PJ,2026 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2026 -heat,all-week,late-afternoon,all-year,0.42140000000,R1,7,MUS$2010/PJ,2026 +electricity,all-week,late-afternoon,all-year,13.53770000000,R1,7,MUS$2010/PJ,2026 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2026 +heat,all-week,late-afternoon,all-year,7.59350000000,R1,7,MUS$2010/PJ,2026 CO2f,all-week,late-afternoon,all-year,0.12750000000,R1,7,MUS$2010/kt,2026 -electricity,all-week,night,all-year,1.90140000000,R1,0,MUS$2010/PJ,2028 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2028 -heat,all-week,night,all-year,0.35570000000,R1,0,MUS$2010/PJ,2028 +electricity,all-week,night,all-year,17.71040000000,R1,0,MUS$2010/PJ,2028 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2028 +heat,all-week,night,all-year,9.95380000000,R1,0,MUS$2010/PJ,2028 CO2f,all-week,night,all-year,0.14220000000,R1,0,MUS$2010/kt,2028 -electricity,all-week,morning,all-year,1.90140000000,R1,1,MUS$2010/PJ,2028 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2028 -heat,all-week,morning,all-year,0.35570000000,R1,1,MUS$2010/PJ,2028 +electricity,all-week,morning,all-year,16.64270000000,R1,1,MUS$2010/PJ,2028 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2028 +heat,all-week,morning,all-year,8.82190000000,R1,1,MUS$2010/PJ,2028 CO2f,all-week,morning,all-year,0.14220000000,R1,1,MUS$2010/kt,2028 -electricity,all-week,mid-afternoon,all-year,1.90140000000,R1,2,MUS$2010/PJ,2028 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2028 -heat,all-week,mid-afternoon,all-year,0.35570000000,R1,2,MUS$2010/PJ,2028 +electricity,all-week,mid-afternoon,all-year,17.71040000000,R1,2,MUS$2010/PJ,2028 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2028 +heat,all-week,mid-afternoon,all-year,9.95380000000,R1,2,MUS$2010/PJ,2028 CO2f,all-week,mid-afternoon,all-year,0.14220000000,R1,2,MUS$2010/kt,2028 -electricity,all-week,early-peak,all-year,1.90140000000,R1,3,MUS$2010/PJ,2028 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2028 -heat,all-week,early-peak,all-year,0.35570000000,R1,3,MUS$2010/PJ,2028 +electricity,all-week,early-peak,all-year,16.64270000000,R1,3,MUS$2010/PJ,2028 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2028 +heat,all-week,early-peak,all-year,8.82190000000,R1,3,MUS$2010/PJ,2028 CO2f,all-week,early-peak,all-year,0.14220000000,R1,3,MUS$2010/kt,2028 -electricity,all-week,late-peak,all-year,1.90140000000,R1,4,MUS$2010/PJ,2028 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2028 -heat,all-week,late-peak,all-year,0.35570000000,R1,4,MUS$2010/PJ,2028 +electricity,all-week,late-peak,all-year,15.42950000000,R1,4,MUS$2010/PJ,2028 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2028 +heat,all-week,late-peak,all-year,7.49710000000,R1,4,MUS$2010/PJ,2028 CO2f,all-week,late-peak,all-year,0.14220000000,R1,4,MUS$2010/kt,2028 -electricity,all-week,evening,all-year,1.90140000000,R1,5,MUS$2010/PJ,2028 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2028 -heat,all-week,evening,all-year,0.35570000000,R1,5,MUS$2010/PJ,2028 +electricity,all-week,evening,all-year,15.93100000000,R1,5,MUS$2010/PJ,2028 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2028 +heat,all-week,evening,all-year,8.06730000000,R1,5,MUS$2010/PJ,2028 CO2f,all-week,evening,all-year,0.14220000000,R1,5,MUS$2010/kt,2028 -electricity,all-week,early-morning,all-year,1.90140000000,R1,6,MUS$2010/PJ,2028 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2028 -heat,all-week,early-morning,all-year,0.35570000000,R1,6,MUS$2010/PJ,2028 +electricity,all-week,early-morning,all-year,15.93100000000,R1,6,MUS$2010/PJ,2028 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2028 +heat,all-week,early-morning,all-year,8.06730000000,R1,6,MUS$2010/PJ,2028 CO2f,all-week,early-morning,all-year,0.14220000000,R1,6,MUS$2010/kt,2028 -electricity,all-week,late-afternoon,all-year,1.90140000000,R1,7,MUS$2010/PJ,2028 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2028 -heat,all-week,late-afternoon,all-year,0.35570000000,R1,7,MUS$2010/PJ,2028 +electricity,all-week,late-afternoon,all-year,15.93100000000,R1,7,MUS$2010/PJ,2028 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2028 +heat,all-week,late-afternoon,all-year,8.06730000000,R1,7,MUS$2010/PJ,2028 CO2f,all-week,late-afternoon,all-year,0.14220000000,R1,7,MUS$2010/kt,2028 -electricity,all-week,night,all-year,2.06970000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.28390000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,17.39090000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,9.61630000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.06970000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.28390000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,15.90370000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,8.22350000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,mid-afternoon,all-year,2.06970000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,mid-afternoon,all-year,0.28390000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,mid-afternoon,all-year,17.39090000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,mid-afternoon,all-year,9.61630000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,mid-afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.06970000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.28390000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,15.90370000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,8.22350000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.06970000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.28390000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,14.14730000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,6.54560000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.06970000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.28390000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,14.91230000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,7.29490000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,early-morning,all-year,2.06970000000,R1,6,MUS$2010/PJ,2030 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2030 -heat,all-week,early-morning,all-year,0.28390000000,R1,6,MUS$2010/PJ,2030 +electricity,all-week,early-morning,all-year,14.91230000000,R1,6,MUS$2010/PJ,2030 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2030 +heat,all-week,early-morning,all-year,7.29490000000,R1,6,MUS$2010/PJ,2030 CO2f,all-week,early-morning,all-year,0.15700000000,R1,6,MUS$2010/kt,2030 -electricity,all-week,late-afternoon,all-year,2.06970000000,R1,7,MUS$2010/PJ,2030 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2030 -heat,all-week,late-afternoon,all-year,0.28390000000,R1,7,MUS$2010/PJ,2030 +electricity,all-week,late-afternoon,all-year,14.91230000000,R1,7,MUS$2010/PJ,2030 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2030 +heat,all-week,late-afternoon,all-year,7.29490000000,R1,7,MUS$2010/PJ,2030 CO2f,all-week,late-afternoon,all-year,0.15700000000,R1,7,MUS$2010/kt,2030 -electricity,all-week,night,all-year,2.30950000000,R1,0,MUS$2010/PJ,2032 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2032 -heat,all-week,night,all-year,0.29590000000,R1,0,MUS$2010/PJ,2032 +electricity,all-week,night,all-year,18.20390000000,R1,0,MUS$2010/PJ,2032 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2032 +heat,all-week,night,all-year,9.92040000000,R1,0,MUS$2010/PJ,2032 CO2f,all-week,night,all-year,0.18020000000,R1,0,MUS$2010/kt,2032 -electricity,all-week,morning,all-year,2.30950000000,R1,1,MUS$2010/PJ,2032 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2032 -heat,all-week,morning,all-year,0.29590000000,R1,1,MUS$2010/PJ,2032 +electricity,all-week,morning,all-year,16.61070000000,R1,1,MUS$2010/PJ,2032 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2032 +heat,all-week,morning,all-year,8.49150000000,R1,1,MUS$2010/PJ,2032 CO2f,all-week,morning,all-year,0.18020000000,R1,1,MUS$2010/kt,2032 -electricity,all-week,mid-afternoon,all-year,2.30950000000,R1,2,MUS$2010/PJ,2032 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2032 -heat,all-week,mid-afternoon,all-year,0.29590000000,R1,2,MUS$2010/PJ,2032 +electricity,all-week,mid-afternoon,all-year,18.20390000000,R1,2,MUS$2010/PJ,2032 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2032 +heat,all-week,mid-afternoon,all-year,9.92040000000,R1,2,MUS$2010/PJ,2032 CO2f,all-week,mid-afternoon,all-year,0.18020000000,R1,2,MUS$2010/kt,2032 -electricity,all-week,early-peak,all-year,2.30950000000,R1,3,MUS$2010/PJ,2032 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2032 -heat,all-week,early-peak,all-year,0.29590000000,R1,3,MUS$2010/PJ,2032 +electricity,all-week,early-peak,all-year,16.61070000000,R1,3,MUS$2010/PJ,2032 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2032 +heat,all-week,early-peak,all-year,8.49150000000,R1,3,MUS$2010/PJ,2032 CO2f,all-week,early-peak,all-year,0.18020000000,R1,3,MUS$2010/kt,2032 -electricity,all-week,late-peak,all-year,2.30950000000,R1,4,MUS$2010/PJ,2032 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2032 -heat,all-week,late-peak,all-year,0.29590000000,R1,4,MUS$2010/PJ,2032 +electricity,all-week,late-peak,all-year,14.73930000000,R1,4,MUS$2010/PJ,2032 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2032 +heat,all-week,late-peak,all-year,6.78240000000,R1,4,MUS$2010/PJ,2032 CO2f,all-week,late-peak,all-year,0.18020000000,R1,4,MUS$2010/kt,2032 -electricity,all-week,evening,all-year,2.30950000000,R1,5,MUS$2010/PJ,2032 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2032 -heat,all-week,evening,all-year,0.29590000000,R1,5,MUS$2010/PJ,2032 +electricity,all-week,evening,all-year,15.54870000000,R1,5,MUS$2010/PJ,2032 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2032 +heat,all-week,evening,all-year,7.53890000000,R1,5,MUS$2010/PJ,2032 CO2f,all-week,evening,all-year,0.18020000000,R1,5,MUS$2010/kt,2032 -electricity,all-week,early-morning,all-year,2.30950000000,R1,6,MUS$2010/PJ,2032 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2032 -heat,all-week,early-morning,all-year,0.29590000000,R1,6,MUS$2010/PJ,2032 +electricity,all-week,early-morning,all-year,15.54870000000,R1,6,MUS$2010/PJ,2032 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2032 +heat,all-week,early-morning,all-year,7.53890000000,R1,6,MUS$2010/PJ,2032 CO2f,all-week,early-morning,all-year,0.18020000000,R1,6,MUS$2010/kt,2032 -electricity,all-week,late-afternoon,all-year,2.30950000000,R1,7,MUS$2010/PJ,2032 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2032 -heat,all-week,late-afternoon,all-year,0.29590000000,R1,7,MUS$2010/PJ,2032 +electricity,all-week,late-afternoon,all-year,15.54870000000,R1,7,MUS$2010/PJ,2032 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2032 +heat,all-week,late-afternoon,all-year,7.53890000000,R1,7,MUS$2010/PJ,2032 CO2f,all-week,late-afternoon,all-year,0.18020000000,R1,7,MUS$2010/kt,2032 -electricity,all-week,night,all-year,2.55300000000,R1,0,MUS$2010/PJ,2034 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2034 -heat,all-week,night,all-year,0.30800000000,R1,0,MUS$2010/PJ,2034 +electricity,all-week,night,all-year,18.90880000000,R1,0,MUS$2010/PJ,2034 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2034 +heat,all-week,night,all-year,10.18420000000,R1,0,MUS$2010/PJ,2034 CO2f,all-week,night,all-year,0.20330000000,R1,0,MUS$2010/kt,2034 -electricity,all-week,morning,all-year,2.55300000000,R1,1,MUS$2010/PJ,2034 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2034 -heat,all-week,morning,all-year,0.30800000000,R1,1,MUS$2010/PJ,2034 +electricity,all-week,morning,all-year,17.22440000000,R1,1,MUS$2010/PJ,2034 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2034 +heat,all-week,morning,all-year,8.72420000000,R1,1,MUS$2010/PJ,2034 CO2f,all-week,morning,all-year,0.20330000000,R1,1,MUS$2010/kt,2034 -electricity,all-week,mid-afternoon,all-year,2.55300000000,R1,2,MUS$2010/PJ,2034 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2034 -heat,all-week,mid-afternoon,all-year,0.30800000000,R1,2,MUS$2010/PJ,2034 +electricity,all-week,mid-afternoon,all-year,18.90880000000,R1,2,MUS$2010/PJ,2034 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2034 +heat,all-week,mid-afternoon,all-year,10.18420000000,R1,2,MUS$2010/PJ,2034 CO2f,all-week,mid-afternoon,all-year,0.20330000000,R1,2,MUS$2010/kt,2034 -electricity,all-week,early-peak,all-year,2.55300000000,R1,3,MUS$2010/PJ,2034 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2034 -heat,all-week,early-peak,all-year,0.30800000000,R1,3,MUS$2010/PJ,2034 +electricity,all-week,early-peak,all-year,17.22440000000,R1,3,MUS$2010/PJ,2034 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2034 +heat,all-week,early-peak,all-year,8.72420000000,R1,3,MUS$2010/PJ,2034 CO2f,all-week,early-peak,all-year,0.20330000000,R1,3,MUS$2010/kt,2034 -electricity,all-week,late-peak,all-year,2.55300000000,R1,4,MUS$2010/PJ,2034 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2034 -heat,all-week,late-peak,all-year,0.30800000000,R1,4,MUS$2010/PJ,2034 +electricity,all-week,late-peak,all-year,15.25490000000,R1,4,MUS$2010/PJ,2034 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2034 +heat,all-week,late-peak,all-year,6.98860000000,R1,4,MUS$2010/PJ,2034 CO2f,all-week,late-peak,all-year,0.20330000000,R1,4,MUS$2010/kt,2034 -electricity,all-week,evening,all-year,2.55300000000,R1,5,MUS$2010/PJ,2034 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2034 -heat,all-week,evening,all-year,0.30800000000,R1,5,MUS$2010/PJ,2034 +electricity,all-week,evening,all-year,16.10140000000,R1,5,MUS$2010/PJ,2034 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2034 +heat,all-week,evening,all-year,7.75090000000,R1,5,MUS$2010/PJ,2034 CO2f,all-week,evening,all-year,0.20330000000,R1,5,MUS$2010/kt,2034 -electricity,all-week,early-morning,all-year,2.55300000000,R1,6,MUS$2010/PJ,2034 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2034 -heat,all-week,early-morning,all-year,0.30800000000,R1,6,MUS$2010/PJ,2034 +electricity,all-week,early-morning,all-year,16.10140000000,R1,6,MUS$2010/PJ,2034 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2034 +heat,all-week,early-morning,all-year,7.75090000000,R1,6,MUS$2010/PJ,2034 CO2f,all-week,early-morning,all-year,0.20330000000,R1,6,MUS$2010/kt,2034 -electricity,all-week,late-afternoon,all-year,2.55300000000,R1,7,MUS$2010/PJ,2034 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2034 -heat,all-week,late-afternoon,all-year,0.30800000000,R1,7,MUS$2010/PJ,2034 +electricity,all-week,late-afternoon,all-year,16.10140000000,R1,7,MUS$2010/PJ,2034 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2034 +heat,all-week,late-afternoon,all-year,7.75090000000,R1,7,MUS$2010/PJ,2034 CO2f,all-week,late-afternoon,all-year,0.20330000000,R1,7,MUS$2010/kt,2034 -electricity,all-week,night,all-year,2.64870000000,R1,0,MUS$2010/PJ,2036 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2036 -heat,all-week,night,all-year,0.31280000000,R1,0,MUS$2010/PJ,2036 +electricity,all-week,night,all-year,19.52590000000,R1,0,MUS$2010/PJ,2036 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2036 +heat,all-week,night,all-year,10.41520000000,R1,0,MUS$2010/PJ,2036 CO2f,all-week,night,all-year,0.22650000000,R1,0,MUS$2010/kt,2036 -electricity,all-week,morning,all-year,2.64870000000,R1,1,MUS$2010/PJ,2036 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2036 -heat,all-week,morning,all-year,0.31280000000,R1,1,MUS$2010/PJ,2036 +electricity,all-week,morning,all-year,17.76190000000,R1,1,MUS$2010/PJ,2036 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2036 +heat,all-week,morning,all-year,8.92820000000,R1,1,MUS$2010/PJ,2036 CO2f,all-week,morning,all-year,0.22650000000,R1,1,MUS$2010/kt,2036 -electricity,all-week,mid-afternoon,all-year,2.64870000000,R1,2,MUS$2010/PJ,2036 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2036 -heat,all-week,mid-afternoon,all-year,0.31280000000,R1,2,MUS$2010/PJ,2036 +electricity,all-week,mid-afternoon,all-year,19.52590000000,R1,2,MUS$2010/PJ,2036 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2036 +heat,all-week,mid-afternoon,all-year,10.41520000000,R1,2,MUS$2010/PJ,2036 CO2f,all-week,mid-afternoon,all-year,0.22650000000,R1,2,MUS$2010/kt,2036 -electricity,all-week,early-peak,all-year,2.64870000000,R1,3,MUS$2010/PJ,2036 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2036 -heat,all-week,early-peak,all-year,0.31280000000,R1,3,MUS$2010/PJ,2036 +electricity,all-week,early-peak,all-year,17.76190000000,R1,3,MUS$2010/PJ,2036 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2036 +heat,all-week,early-peak,all-year,8.92820000000,R1,3,MUS$2010/PJ,2036 CO2f,all-week,early-peak,all-year,0.22650000000,R1,3,MUS$2010/kt,2036 -electricity,all-week,late-peak,all-year,2.64870000000,R1,4,MUS$2010/PJ,2036 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2036 -heat,all-week,late-peak,all-year,0.31280000000,R1,4,MUS$2010/PJ,2036 +electricity,all-week,late-peak,all-year,15.70810000000,R1,4,MUS$2010/PJ,2036 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2036 +heat,all-week,late-peak,all-year,7.16990000000,R1,4,MUS$2010/PJ,2036 CO2f,all-week,late-peak,all-year,0.22650000000,R1,4,MUS$2010/kt,2036 -electricity,all-week,evening,all-year,2.64870000000,R1,5,MUS$2010/PJ,2036 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2036 -heat,all-week,evening,all-year,0.31280000000,R1,5,MUS$2010/PJ,2036 +electricity,all-week,evening,all-year,16.58590000000,R1,5,MUS$2010/PJ,2036 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2036 +heat,all-week,evening,all-year,7.93680000000,R1,5,MUS$2010/PJ,2036 CO2f,all-week,evening,all-year,0.22650000000,R1,5,MUS$2010/kt,2036 -electricity,all-week,early-morning,all-year,2.64870000000,R1,6,MUS$2010/PJ,2036 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2036 -heat,all-week,early-morning,all-year,0.31280000000,R1,6,MUS$2010/PJ,2036 +electricity,all-week,early-morning,all-year,16.58590000000,R1,6,MUS$2010/PJ,2036 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2036 +heat,all-week,early-morning,all-year,7.93680000000,R1,6,MUS$2010/PJ,2036 CO2f,all-week,early-morning,all-year,0.22650000000,R1,6,MUS$2010/kt,2036 -electricity,all-week,late-afternoon,all-year,2.64870000000,R1,7,MUS$2010/PJ,2036 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2036 -heat,all-week,late-afternoon,all-year,0.31280000000,R1,7,MUS$2010/PJ,2036 +electricity,all-week,late-afternoon,all-year,16.58590000000,R1,7,MUS$2010/PJ,2036 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2036 +heat,all-week,late-afternoon,all-year,7.93680000000,R1,7,MUS$2010/PJ,2036 CO2f,all-week,late-afternoon,all-year,0.22650000000,R1,7,MUS$2010/kt,2036 -electricity,all-week,night,all-year,2.76990000000,R1,0,MUS$2010/PJ,2038 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2038 -heat,all-week,night,all-year,0.31890000000,R1,0,MUS$2010/PJ,2038 +electricity,all-week,night,all-year,20.07070000000,R1,0,MUS$2010/PJ,2038 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2038 +heat,all-week,night,all-year,10.61920000000,R1,0,MUS$2010/PJ,2038 CO2f,all-week,night,all-year,0.24960000000,R1,0,MUS$2010/kt,2038 -electricity,all-week,morning,all-year,2.76990000000,R1,1,MUS$2010/PJ,2038 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2038 -heat,all-week,morning,all-year,0.31890000000,R1,1,MUS$2010/PJ,2038 +electricity,all-week,morning,all-year,18.23680000000,R1,1,MUS$2010/PJ,2038 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2038 +heat,all-week,morning,all-year,9.10830000000,R1,1,MUS$2010/PJ,2038 CO2f,all-week,morning,all-year,0.24960000000,R1,1,MUS$2010/kt,2038 -electricity,all-week,mid-afternoon,all-year,2.76990000000,R1,2,MUS$2010/PJ,2038 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2038 -heat,all-week,mid-afternoon,all-year,0.31890000000,R1,2,MUS$2010/PJ,2038 +electricity,all-week,mid-afternoon,all-year,20.07070000000,R1,2,MUS$2010/PJ,2038 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2038 +heat,all-week,mid-afternoon,all-year,10.61920000000,R1,2,MUS$2010/PJ,2038 CO2f,all-week,mid-afternoon,all-year,0.24960000000,R1,2,MUS$2010/kt,2038 -electricity,all-week,early-peak,all-year,2.76990000000,R1,3,MUS$2010/PJ,2038 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2038 -heat,all-week,early-peak,all-year,0.31890000000,R1,3,MUS$2010/PJ,2038 +electricity,all-week,early-peak,all-year,18.23680000000,R1,3,MUS$2010/PJ,2038 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2038 +heat,all-week,early-peak,all-year,9.10830000000,R1,3,MUS$2010/PJ,2038 CO2f,all-week,early-peak,all-year,0.24960000000,R1,3,MUS$2010/kt,2038 -electricity,all-week,late-peak,all-year,2.76990000000,R1,4,MUS$2010/PJ,2038 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2038 -heat,all-week,late-peak,all-year,0.31890000000,R1,4,MUS$2010/PJ,2038 +electricity,all-week,late-peak,all-year,16.10940000000,R1,4,MUS$2010/PJ,2038 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2038 +heat,all-week,late-peak,all-year,7.33040000000,R1,4,MUS$2010/PJ,2038 CO2f,all-week,late-peak,all-year,0.24960000000,R1,4,MUS$2010/kt,2038 -electricity,all-week,evening,all-year,2.76990000000,R1,5,MUS$2010/PJ,2038 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2038 -heat,all-week,evening,all-year,0.31890000000,R1,5,MUS$2010/PJ,2038 +electricity,all-week,evening,all-year,17.01410000000,R1,5,MUS$2010/PJ,2038 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2038 +heat,all-week,evening,all-year,8.10110000000,R1,5,MUS$2010/PJ,2038 CO2f,all-week,evening,all-year,0.24960000000,R1,5,MUS$2010/kt,2038 -electricity,all-week,early-morning,all-year,2.76990000000,R1,6,MUS$2010/PJ,2038 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2038 -heat,all-week,early-morning,all-year,0.31890000000,R1,6,MUS$2010/PJ,2038 +electricity,all-week,early-morning,all-year,17.01410000000,R1,6,MUS$2010/PJ,2038 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2038 +heat,all-week,early-morning,all-year,8.10110000000,R1,6,MUS$2010/PJ,2038 CO2f,all-week,early-morning,all-year,0.24960000000,R1,6,MUS$2010/kt,2038 -electricity,all-week,late-afternoon,all-year,2.76990000000,R1,7,MUS$2010/PJ,2038 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2038 -heat,all-week,late-afternoon,all-year,0.31890000000,R1,7,MUS$2010/PJ,2038 +electricity,all-week,late-afternoon,all-year,17.01410000000,R1,7,MUS$2010/PJ,2038 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2038 +heat,all-week,late-afternoon,all-year,8.10110000000,R1,7,MUS$2010/PJ,2038 CO2f,all-week,late-afternoon,all-year,0.24960000000,R1,7,MUS$2010/kt,2038 -electricity,all-week,night,all-year,2.87840000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.35420000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.32430000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,20.45830000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,10.82980000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,2.87840000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.35420000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.32430000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,18.47910000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,9.24420000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,mid-afternoon,all-year,2.87840000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,mid-afternoon,all-year,0.35420000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,mid-afternoon,all-year,0.32430000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,mid-afternoon,all-year,20.45830000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,mid-afternoon,all-year,10.82980000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,mid-afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,2.87840000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.35420000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.32430000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,18.47910000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,9.24420000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,2.87840000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.35420000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.32430000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,16.12960000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,7.33850000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,2.87840000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.35420000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.32430000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,17.15970000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,8.18710000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,early-morning,all-year,2.87840000000,R1,6,MUS$2010/PJ,2040 -gas,all-week,early-morning,all-year,0.35420000000,R1,6,MUS$2010/PJ,2040 -heat,all-week,early-morning,all-year,0.32430000000,R1,6,MUS$2010/PJ,2040 +electricity,all-week,early-morning,all-year,17.15970000000,R1,6,MUS$2010/PJ,2040 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2040 +heat,all-week,early-morning,all-year,8.18710000000,R1,6,MUS$2010/PJ,2040 CO2f,all-week,early-morning,all-year,0.27280000000,R1,6,MUS$2010/kt,2040 -electricity,all-week,late-afternoon,all-year,2.87840000000,R1,7,MUS$2010/PJ,2040 -gas,all-week,late-afternoon,all-year,0.35420000000,R1,7,MUS$2010/PJ,2040 -heat,all-week,late-afternoon,all-year,0.32430000000,R1,7,MUS$2010/PJ,2040 +electricity,all-week,late-afternoon,all-year,17.15970000000,R1,7,MUS$2010/PJ,2040 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2040 +heat,all-week,late-afternoon,all-year,8.18710000000,R1,7,MUS$2010/PJ,2040 CO2f,all-week,late-afternoon,all-year,0.27280000000,R1,7,MUS$2010/kt,2040 diff --git a/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv b/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv index 8688d5698..bcb71e2e8 100644 --- a/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv +++ b/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv @@ -11,49 +11,49 @@ A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2030 -A1,5.00000000000,R1,2025,R1,power,solarPV,newcapa,2030 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2030 A1,4.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,2.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2035 -A1,5.00000000000,R1,2025,R1,power,solarPV,newcapa,2035 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2035 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 A1,4.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,6.68000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,2.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2040 -A1,5.00000000000,R1,2025,R1,power,solarPV,newcapa,2040 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 -A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2040 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 +A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 A1,4.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,6.68000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,2.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2045 -A1,5.00000000000,R1,2025,R1,power,solarPV,newcapa,2045 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 -A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 -A1,7.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2045 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 +A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 +A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 A1,4.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,6.68000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,2.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,5.00000000000,R1,2025,R1,power,solarPV,newcapa,2050 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 -A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 -A1,7.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2050 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 +A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 +A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 A1,10.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 -A1,8.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,6.68000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,2.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,10.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv b/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv index c81d6f990..f7410365f 100644 --- a/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv +++ b/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,1.69400000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.59010000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,11.27960000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,8.15010000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,1.69400000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.59010000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,8.75750000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,6.57040000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,1.69400000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.59010000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,11.27960000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,8.15010000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,1.69400000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.59010000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,8.75750000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,6.57040000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,1.69400000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.59010000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,6.30350000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,5.01220000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,1.69400000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.59010000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,7.49640000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,5.78050000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,1.93590000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.36960000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,9.83380000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,6.50480000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,1.93590000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.36960000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,7.05100000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,4.53460000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,1.93590000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.36960000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,9.83380000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,6.50480000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,1.93590000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.36960000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,7.05100000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,4.53460000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,1.93590000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.36960000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,4.44060000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,2.66290000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,1.93590000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.36960000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,5.65960000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,3.54950000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,2.03280000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.37600000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,10.23610000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,6.75440000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,2.03280000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.37600000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,7.33380000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,4.70680000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,2.03280000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.37600000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,10.23610000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,6.75440000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,2.03280000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.37600000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,7.33380000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,4.70680000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,2.03280000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.37600000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,4.49320000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,2.68390000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,2.03280000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.37600000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,5.88260000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,3.68300000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,2.14690000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.38360000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,10.34490000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,6.79800000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,2.14690000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.38360000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,7.42870000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,4.74480000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,2.14690000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.38360000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,10.34490000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,6.79800000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,2.14690000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.38360000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,7.42870000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,4.74480000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,2.14690000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.38360000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,4.56540000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,2.71280000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,2.14690000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.38360000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,5.97050000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,3.71820000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,2.26720000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.39170000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,10.52810000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,6.87120000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,2.26720000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.39170000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,7.60130000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,4.81390000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,2.26720000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.39170000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,10.52810000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,6.87120000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,2.26720000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.39170000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,7.60130000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,4.81390000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,2.26720000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.39170000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,4.72100000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,2.77510000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,2.26720000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.39170000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,6.13800000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,3.78520000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,2.43570000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.40290000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,10.88030000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,7.01210000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,2.43570000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.40290000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,7.87530000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,4.92350000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,2.43570000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.40290000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,10.88030000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,7.01210000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,2.43570000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.40290000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,7.87530000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,4.92350000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,2.43570000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.40290000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,4.91270000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,2.85170000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,2.43570000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.40290000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,6.37280000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,3.87910000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 From 4310b5f2a574c402d718b4fd0bcaa79fbc674202 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 12 Nov 2024 11:50:10 +0000 Subject: [PATCH 078/121] Update example model results --- .../default/Results/MCACapacity.csv | 31 +- .../default/Results/MCAPrices.csv | 216 ++++++------- .../default_retro/Results/MCACapacity.csv | 37 +-- .../default_retro/Results/MCAPrices.csv | 216 ++++++------- .../default_timeslice/Results/MCAPrices.csv | 216 ++++++------- .../medium/Results/MCACapacity.csv | 38 +-- .../medium/Results/MCAPrices.csv | 288 +++++++++--------- .../minimum_service/Results/MCAPrices.csv | 48 +-- .../multiple_agents/Results/MCACapacity.csv | 23 +- .../multiple_agents/Results/MCAPrices.csv | 216 ++++++------- .../trade/Results/MCACapacity.csv | 12 +- .../trade/Results/MCAPrices.csv | 216 ++++++------- 12 files changed, 771 insertions(+), 786 deletions(-) diff --git a/tests/example_outputs/default/Results/MCACapacity.csv b/tests/example_outputs/default/Results/MCACapacity.csv index e10aa3a43..8e83a0607 100644 --- a/tests/example_outputs/default/Results/MCACapacity.csv +++ b/tests/example_outputs/default/Results/MCACapacity.csv @@ -10,48 +10,43 @@ A1,16.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,5.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,12.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,8.96440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,5.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,12.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,7.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,5.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,12.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,7.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,5.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,12.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,7.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,5.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,12.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,7.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 A1,11.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/tests/example_outputs/default/Results/MCAPrices.csv b/tests/example_outputs/default/Results/MCAPrices.csv index c1ea29d40..bdd1fccea 100644 --- a/tests/example_outputs/default/Results/MCAPrices.csv +++ b/tests/example_outputs/default/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,2.21830000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.61770000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,15.61530000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,9.52310000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,2.21830000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.61770000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,14.12340000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,8.26960000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,2.21830000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.61770000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,15.61530000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,9.52310000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,2.21830000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.61770000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,14.12340000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,8.26960000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,2.21830000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.61770000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.67180000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,7.02880000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,2.21830000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.61770000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,13.37740000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,7.64280000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,2.74670000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.42360000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,14.44890000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.35090000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.74670000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.42360000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,12.10830000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,6.55760000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,2.74670000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.42360000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,14.44890000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.35090000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.74670000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.42360000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,12.10830000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,6.55760000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.74670000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.42360000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.91280000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,4.85180000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.74670000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.42360000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,10.93800000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,5.66090000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,3.06380000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.44480000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,15.61500000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.90600000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,3.06380000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.44480000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,12.95850000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,6.95670000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,3.06380000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.44480000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,15.61500000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,8.90600000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,3.06380000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.44480000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,12.95850000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,6.95670000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,3.06380000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.44480000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,10.35860000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.03010000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,3.06380000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.44480000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,11.63030000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,5.98210000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,3.34130000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.46330000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,16.36750000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,9.20700000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,3.34130000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.46330000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,13.57190000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,7.20210000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,3.34130000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.46330000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,16.36750000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,9.20700000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,3.34130000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.46330000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,13.57190000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,7.20210000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,3.34130000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.46330000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,10.82700000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.21750000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,3.34130000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.46330000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,12.17400000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,6.19960000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,3.71730000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.48830000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,17.43940000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,9.63570000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,3.71730000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.48830000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,14.53930000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,7.58910000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,3.71730000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.48830000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,17.43940000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,9.63570000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,3.71730000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.48830000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,14.53930000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,7.58910000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,3.71730000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.48830000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,11.68530000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.56080000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,3.71730000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.48830000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,13.08930000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,6.56570000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,4.00900000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.50780000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,18.27070000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,9.96830000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,4.00900000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.50780000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,15.28940000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,7.88910000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,4.00900000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.50780000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,18.27070000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,9.96830000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,4.00900000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.50780000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,15.28940000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,7.88910000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,4.00900000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.50780000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,12.35020000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.82670000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,4.00900000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.50780000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,13.79880000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,6.84950000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/tests/example_outputs/default_retro/Results/MCACapacity.csv b/tests/example_outputs/default_retro/Results/MCACapacity.csv index 203bf7cf8..2838afdc1 100644 --- a/tests/example_outputs/default_retro/Results/MCACapacity.csv +++ b/tests/example_outputs/default_retro/Results/MCACapacity.csv @@ -10,48 +10,43 @@ A1,16.46440000000,R1,2020,R1,gas,gassupply1,retrofit,2025 A1,19.00000000000,R1,2020,R1,residential,heatpump,retrofit,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,retrofit,2030 A1,5.00000000000,R1,2020,R1,power,gasCCGT,retrofit,2030 -A1,5.88890000000,R1,2025,R1,power,gasCCGT,retrofit,2030 A1,5.50000000000,R1,2020,R1,power,windturbine,retrofit,2030 +A1,13.25000000000,R1,2025,R1,power,windturbine,retrofit,2030 A1,8.96440000000,R1,2020,R1,gas,gassupply1,retrofit,2030 -A1,9.22000000000,R1,2025,R1,gas,gassupply1,retrofit,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,retrofit,2035 A1,25.00000000000,R1,2030,R1,residential,heatpump,retrofit,2035 A1,5.00000000000,R1,2020,R1,power,gasCCGT,retrofit,2035 -A1,5.88890000000,R1,2025,R1,power,gasCCGT,retrofit,2035 A1,5.50000000000,R1,2020,R1,power,windturbine,retrofit,2035 -A1,6.00000000000,R1,2030,R1,power,windturbine,retrofit,2035 +A1,13.25000000000,R1,2025,R1,power,windturbine,retrofit,2035 +A1,12.00000000000,R1,2030,R1,power,windturbine,retrofit,2035 A1,1.46440000000,R1,2020,R1,gas,gassupply1,retrofit,2035 -A1,9.22000000000,R1,2025,R1,gas,gassupply1,retrofit,2035 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,retrofit,2035 +A1,5.69270000000,R1,2030,R1,gas,gassupply1,retrofit,2035 A1,25.00000000000,R1,2030,R1,residential,heatpump,retrofit,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,retrofit,2040 A1,5.00000000000,R1,2020,R1,power,gasCCGT,retrofit,2040 -A1,5.88890000000,R1,2025,R1,power,gasCCGT,retrofit,2040 A1,5.50000000000,R1,2020,R1,power,windturbine,retrofit,2040 -A1,6.00000000000,R1,2030,R1,power,windturbine,retrofit,2040 -A1,6.00000000000,R1,2035,R1,power,windturbine,retrofit,2040 +A1,13.25000000000,R1,2025,R1,power,windturbine,retrofit,2040 +A1,12.00000000000,R1,2030,R1,power,windturbine,retrofit,2040 A1,1.46440000000,R1,2020,R1,gas,gassupply1,retrofit,2040 -A1,9.22000000000,R1,2025,R1,gas,gassupply1,retrofit,2040 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,retrofit,2040 +A1,5.69270000000,R1,2030,R1,gas,gassupply1,retrofit,2040 +A1,2.38570000000,R1,2035,R1,gas,gassupply1,retrofit,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,retrofit,2045 A1,31.00000000000,R1,2040,R1,residential,heatpump,retrofit,2045 A1,5.00000000000,R1,2020,R1,power,gasCCGT,retrofit,2045 -A1,5.88890000000,R1,2025,R1,power,gasCCGT,retrofit,2045 A1,5.50000000000,R1,2020,R1,power,windturbine,retrofit,2045 -A1,6.00000000000,R1,2030,R1,power,windturbine,retrofit,2045 -A1,6.00000000000,R1,2035,R1,power,windturbine,retrofit,2045 +A1,13.25000000000,R1,2025,R1,power,windturbine,retrofit,2045 +A1,12.00000000000,R1,2030,R1,power,windturbine,retrofit,2045 A1,6.00000000000,R1,2040,R1,power,windturbine,retrofit,2045 A1,1.46440000000,R1,2020,R1,gas,gassupply1,retrofit,2045 -A1,9.22000000000,R1,2025,R1,gas,gassupply1,retrofit,2045 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,retrofit,2045 +A1,5.69270000000,R1,2030,R1,gas,gassupply1,retrofit,2045 +A1,2.38570000000,R1,2035,R1,gas,gassupply1,retrofit,2045 A1,31.00000000000,R1,2040,R1,residential,heatpump,retrofit,2050 A1,23.00000000000,R1,2045,R1,residential,heatpump,retrofit,2050 A1,5.00000000000,R1,2020,R1,power,gasCCGT,retrofit,2050 -A1,5.88890000000,R1,2025,R1,power,gasCCGT,retrofit,2050 -A1,6.00000000000,R1,2030,R1,power,windturbine,retrofit,2050 -A1,6.00000000000,R1,2035,R1,power,windturbine,retrofit,2050 +A1,13.25000000000,R1,2025,R1,power,windturbine,retrofit,2050 +A1,12.00000000000,R1,2030,R1,power,windturbine,retrofit,2050 A1,6.00000000000,R1,2040,R1,power,windturbine,retrofit,2050 A1,11.50000000000,R1,2045,R1,power,windturbine,retrofit,2050 A1,1.46440000000,R1,2020,R1,gas,gassupply1,retrofit,2050 -A1,9.22000000000,R1,2025,R1,gas,gassupply1,retrofit,2050 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,retrofit,2050 +A1,5.69270000000,R1,2030,R1,gas,gassupply1,retrofit,2050 +A1,2.38570000000,R1,2035,R1,gas,gassupply1,retrofit,2050 diff --git a/tests/example_outputs/default_retro/Results/MCAPrices.csv b/tests/example_outputs/default_retro/Results/MCAPrices.csv index a88c27229..4de0e11b2 100644 --- a/tests/example_outputs/default_retro/Results/MCAPrices.csv +++ b/tests/example_outputs/default_retro/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,2.20370000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.61700000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,15.60880000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,9.52110000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,2.20370000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.61700000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,14.02130000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,8.23720000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,2.20370000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.61700000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,15.60880000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,9.52110000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,2.20370000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.61700000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,14.02130000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,8.23720000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,2.20370000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.61700000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.43390000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,6.95340000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,2.20370000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.61700000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,13.22760000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,7.59530000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,2.74470000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.42350000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,14.65100000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.52040000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.74470000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.42350000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,12.09870000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,6.61280000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,2.74470000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.42350000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,14.65100000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.52040000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.74470000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.42350000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,12.09870000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,6.61280000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.74470000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.42350000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.54630000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,4.70520000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.74470000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.42350000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,10.82250000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,5.65900000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,3.16690000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.45160000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,16.42850000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,9.23140000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,3.16690000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.45160000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,13.09130000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,7.00990000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,3.16690000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.45160000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,16.42850000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,9.23140000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,3.16690000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.45160000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,13.09130000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,7.00990000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,3.16690000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.45160000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,9.75410000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,4.78830000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,3.16690000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.45160000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,11.42270000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,5.89910000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,3.46840000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.47170000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,16.41950000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,9.22780000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,3.46840000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.47170000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,13.55900000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,7.19690000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,3.46840000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.47170000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,16.41950000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,9.22780000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,3.46840000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.47170000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,13.55900000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,7.19690000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,3.46840000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.47170000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,10.69850000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.16610000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,3.46840000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.47170000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,12.12880000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,6.18150000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,3.87630000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.49890000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,17.47300000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,9.64920000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,3.87630000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.49890000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,14.51620000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,7.57980000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,3.87630000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.49890000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,17.47300000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,9.64920000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,3.87630000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.49890000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,14.51620000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,7.57980000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,3.87630000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.49890000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,11.55950000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.51050000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,3.87630000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.49890000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,13.03790000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,6.54510000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,4.19360000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.52010000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,18.29240000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,9.97700000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,4.19360000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.52010000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,15.26070000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,7.87760000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,4.19360000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.52010000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,18.29240000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,9.97700000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,4.19360000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.52010000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,15.26070000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,7.87760000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,4.19360000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.52010000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,12.22910000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.77830000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,4.19360000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.52010000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,13.74490000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,6.82800000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/tests/example_outputs/default_timeslice/Results/MCAPrices.csv b/tests/example_outputs/default_timeslice/Results/MCAPrices.csv index 96be5b043..b357862fd 100644 --- a/tests/example_outputs/default_timeslice/Results/MCAPrices.csv +++ b/tests/example_outputs/default_timeslice/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,0.91100000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.56480000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,5.88870000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,6.86280000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,0.91100000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.56480000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,4.65270000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,5.69030000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,0.91100000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.56480000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,5.88870000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,6.86280000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,0.91100000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.56480000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,4.65270000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,5.69030000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,0.91100000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.56480000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,3.52270000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,4.55130000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,0.91100000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.56480000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,4.03470000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,5.10400000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,3.99380000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,4.16890000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,2.66260000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,2.77920000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,3.99380000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,4.16890000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,2.66260000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,2.77920000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,1.99690000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,2.08440000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,4.25750000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,2.83840000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,4.25750000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,2.83840000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,2.12880000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,4.14950000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,2.76630000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,4.14950000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,2.76630000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,2.07470000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,4.31150000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,2.87440000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,4.31150000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,2.87440000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,2.15580000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,0.66670000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.28490000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,4.35440000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,0.66670000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.28490000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,2.90290000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,0.66670000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.28490000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,4.35440000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,0.66670000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.28490000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,2.90290000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,0.66670000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.28490000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,0.66670000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.28490000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,2.17720000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/tests/example_outputs/medium/Results/MCACapacity.csv b/tests/example_outputs/medium/Results/MCACapacity.csv index eb32a99d0..fe88b022e 100644 --- a/tests/example_outputs/medium/Results/MCACapacity.csv +++ b/tests/example_outputs/medium/Results/MCACapacity.csv @@ -13,50 +13,50 @@ A1,4.00000000000,R1,2020,R1,residential,gasstove,newcapa,2030 A1,11.00000000000,R1,2025,R1,residential,gasstove,newcapa,2030 A1,4.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,4.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A1,8.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,17.83930000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,12.88130000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,7.87130000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,7.00000000000,R1,2025,R1,residential,gasboiler,newcapa,2035 A1,11.00000000000,R1,2025,R1,residential,gasstove,newcapa,2035 A1,7.00000000000,R1,2030,R1,residential,gasstove,newcapa,2035 A1,4.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,7.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,4.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,8.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 A1,10.33930000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,12.88130000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,7.87130000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,10.83330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,7.00000000000,R1,2030,R1,residential,gasstove,newcapa,2040 A1,14.00000000000,R1,2035,R1,residential,gasstove,newcapa,2040 A1,7.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,14.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,4.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,10.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,8.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,11.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 A1,10.33930000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,12.88130000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,7.87130000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,10.83330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,14.00000000000,R1,2035,R1,residential,gasstove,newcapa,2045 A1,10.00000000000,R1,2040,R1,residential,gasstove,newcapa,2045 A1,14.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,10.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,4.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,10.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,8.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,11.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,2.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 A1,10.33930000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,12.88130000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,7.87130000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,10.83330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,10.00000000000,R1,2040,R1,residential,gasstove,newcapa,2050 A1,17.00000000000,R1,2045,R1,residential,gasstove,newcapa,2050 A1,10.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,17.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,4.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,10.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A1,8.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,2.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,11.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,2.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 A1,3.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 A1,10.33930000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,12.88130000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,7.87130000000,R1,2025,R1,gas,gassupply1,newcapa,2050 A1,10.83330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 A1,0.95610000000,R1,2045,R1,gas,gassupply1,newcapa,2050 diff --git a/tests/example_outputs/medium/Results/MCAPrices.csv b/tests/example_outputs/medium/Results/MCAPrices.csv index 962d57bbb..d84d83df3 100644 --- a/tests/example_outputs/medium/Results/MCAPrices.csv +++ b/tests/example_outputs/medium/Results/MCAPrices.csv @@ -29,183 +29,183 @@ gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 cook,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 -electricity,all-week,night,all-year,2.42260000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,1.12700000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,16.53940000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,11.00810000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -cook,all-week,night,all-year,0.31920000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,2.42260000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,1.12700000000,R1,1,MUS$2010/PJ,2025 +cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,16.11470000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,10.40260000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -cook,all-week,morning,all-year,0.31920000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,2.42260000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,1.12700000000,R1,2,MUS$2010/PJ,2025 +cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,16.53940000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,11.00810000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -cook,all-week,afternoon,all-year,0.31920000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,2.42260000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,1.12700000000,R1,3,MUS$2010/PJ,2025 +cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,16.11470000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,10.40260000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -cook,all-week,early-peak,all-year,0.31920000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,2.42260000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,1.12700000000,R1,4,MUS$2010/PJ,2025 +cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,16.02030000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,9.84110000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -cook,all-week,late-peak,all-year,0.31920000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,2.42260000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,1.12700000000,R1,5,MUS$2010/PJ,2025 +cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.02030000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,10.11560000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -cook,all-week,evening,all-year,0.31920000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,2.98680000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,1.11540000000,R1,0,MUS$2010/PJ,2030 +cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,10.89230000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,10.39880000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -cook,all-week,night,all-year,0.31920000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,2.98680000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,1.11540000000,R1,1,MUS$2010/PJ,2030 +cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,7.26150000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,8.97400000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -cook,all-week,morning,all-year,0.31920000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,2.98680000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,1.11540000000,R1,2,MUS$2010/PJ,2030 +cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,10.89230000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,10.39880000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -cook,all-week,afternoon,all-year,0.31920000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,2.98680000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,1.11540000000,R1,3,MUS$2010/PJ,2030 +cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,7.26150000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,8.97400000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -cook,all-week,early-peak,all-year,0.31920000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,2.98680000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,1.11540000000,R1,4,MUS$2010/PJ,2030 +cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,3.63080000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,7.54920000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -cook,all-week,late-peak,all-year,0.31920000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,2.98680000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,1.11540000000,R1,5,MUS$2010/PJ,2030 +cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,5.44620000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,8.26160000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -cook,all-week,evening,all-year,0.31920000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,3.05080000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,1.24810000000,R1,0,MUS$2010/PJ,2035 +cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,9.90210000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,11.04950000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -cook,all-week,night,all-year,0.31920000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,3.05080000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,1.24810000000,R1,1,MUS$2010/PJ,2035 +cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,6.60140000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,9.55310000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -cook,all-week,morning,all-year,0.31920000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,3.05080000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,1.24810000000,R1,2,MUS$2010/PJ,2035 +cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,9.90210000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,11.04950000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -cook,all-week,afternoon,all-year,0.31920000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,3.05080000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,1.24810000000,R1,3,MUS$2010/PJ,2035 +cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,6.60140000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,9.55310000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -cook,all-week,early-peak,all-year,0.31920000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,3.05080000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,1.24810000000,R1,4,MUS$2010/PJ,2035 +cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,3.63080000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,8.13730000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -cook,all-week,late-peak,all-year,0.31920000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,3.05080000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,1.24810000000,R1,5,MUS$2010/PJ,2035 +cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,4.95110000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,8.80480000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -cook,all-week,evening,all-year,0.31920000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,2.67140000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.41860000000,R1,0,MUS$2010/PJ,2040 +cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,10.89230000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,6.62080000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -cook,all-week,night,all-year,0.31920000000,R1,0,MUS$2010/PJ,2040 -electricity,all-week,morning,all-year,2.67140000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.41860000000,R1,1,MUS$2010/PJ,2040 +cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,7.26150000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,4.41390000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -cook,all-week,morning,all-year,0.31920000000,R1,1,MUS$2010/PJ,2040 -electricity,all-week,afternoon,all-year,2.67140000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.41860000000,R1,2,MUS$2010/PJ,2040 +cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,10.89230000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,6.62080000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -cook,all-week,afternoon,all-year,0.31920000000,R1,2,MUS$2010/PJ,2040 -electricity,all-week,early-peak,all-year,2.67140000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.41860000000,R1,3,MUS$2010/PJ,2040 +cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,7.26150000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,4.41390000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -cook,all-week,early-peak,all-year,0.31920000000,R1,3,MUS$2010/PJ,2040 -electricity,all-week,late-peak,all-year,2.67140000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.41860000000,R1,4,MUS$2010/PJ,2040 +cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,3.63080000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,2.33900000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -cook,all-week,late-peak,all-year,0.31920000000,R1,4,MUS$2010/PJ,2040 -electricity,all-week,evening,all-year,2.67140000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.41860000000,R1,5,MUS$2010/PJ,2040 +cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,5.44620000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,3.31040000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -cook,all-week,evening,all-year,0.31920000000,R1,5,MUS$2010/PJ,2040 -electricity,all-week,night,all-year,2.89700000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.43360000000,R1,0,MUS$2010/PJ,2045 +cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,10.43850000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,7.01690000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -cook,all-week,night,all-year,0.31920000000,R1,0,MUS$2010/PJ,2045 -electricity,all-week,morning,all-year,2.89700000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.43360000000,R1,1,MUS$2010/PJ,2045 +cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,6.95900000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,4.67790000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -cook,all-week,morning,all-year,0.31920000000,R1,1,MUS$2010/PJ,2045 -electricity,all-week,afternoon,all-year,2.89700000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.43360000000,R1,2,MUS$2010/PJ,2045 +cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,10.43850000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,7.01690000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -cook,all-week,afternoon,all-year,0.31920000000,R1,2,MUS$2010/PJ,2045 -electricity,all-week,early-peak,all-year,2.89700000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.43360000000,R1,3,MUS$2010/PJ,2045 +cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,6.95900000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,4.67790000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -cook,all-week,early-peak,all-year,0.31920000000,R1,3,MUS$2010/PJ,2045 -electricity,all-week,late-peak,all-year,2.89700000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.43360000000,R1,4,MUS$2010/PJ,2045 +cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,3.63080000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,2.33900000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -cook,all-week,late-peak,all-year,0.31920000000,R1,4,MUS$2010/PJ,2045 -electricity,all-week,evening,all-year,2.89700000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.43360000000,R1,5,MUS$2010/PJ,2045 +cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,5.21920000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,3.50850000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -cook,all-week,evening,all-year,0.31920000000,R1,5,MUS$2010/PJ,2045 -electricity,all-week,night,all-year,3.07210000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.44530000000,R1,0,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,10.48890000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,6.83540000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -cook,all-week,night,all-year,0.31920000000,R1,0,MUS$2010/PJ,2050 -electricity,all-week,morning,all-year,3.07210000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.44530000000,R1,1,MUS$2010/PJ,2050 +cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,6.99260000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,4.55690000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -cook,all-week,morning,all-year,0.31920000000,R1,1,MUS$2010/PJ,2050 -electricity,all-week,afternoon,all-year,3.07210000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.44530000000,R1,2,MUS$2010/PJ,2050 +cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,10.48890000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,6.83540000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -cook,all-week,afternoon,all-year,0.31920000000,R1,2,MUS$2010/PJ,2050 -electricity,all-week,early-peak,all-year,3.07210000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.44530000000,R1,3,MUS$2010/PJ,2050 +cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,6.99260000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,4.55690000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -cook,all-week,early-peak,all-year,0.31920000000,R1,3,MUS$2010/PJ,2050 -electricity,all-week,late-peak,all-year,3.07210000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.44530000000,R1,4,MUS$2010/PJ,2050 +cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,3.63080000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,2.33900000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -cook,all-week,late-peak,all-year,0.31920000000,R1,4,MUS$2010/PJ,2050 -electricity,all-week,evening,all-year,3.07210000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.44530000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,5.24440000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,3.41770000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 -cook,all-week,evening,all-year,0.31920000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2050 diff --git a/tests/example_outputs/minimum_service/Results/MCAPrices.csv b/tests/example_outputs/minimum_service/Results/MCAPrices.csv index 8479d9199..50ddd65ea 100644 --- a/tests/example_outputs/minimum_service/Results/MCAPrices.csv +++ b/tests/example_outputs/minimum_service/Results/MCAPrices.csv @@ -14,96 +14,96 @@ ammonia,all-week,all-day,spring-autumn,321.15000000000,R1,2,MUS$2010/Mt,2010 fuel3,all-week,all-day,winter,0.06170000000,R1,0,MUS$2010/PJ,2015 fuel1,all-week,all-day,winter,1.08770000000,R1,0,MUS$2010/PJ,2015 fuel2,all-week,all-day,winter,9.51690000000,R1,0,MUS$2010/PJ,2015 -ammonia,all-week,all-day,winter,131.19350000000,R1,0,MUS$2010/Mt,2015 +ammonia,all-week,all-day,winter,385.92690000000,R1,0,MUS$2010/Mt,2015 fuel3,all-week,all-day,summer,0.06170000000,R1,1,MUS$2010/PJ,2015 fuel1,all-week,all-day,summer,1.08770000000,R1,1,MUS$2010/PJ,2015 fuel2,all-week,all-day,summer,9.51690000000,R1,1,MUS$2010/PJ,2015 -ammonia,all-week,all-day,summer,131.19350000000,R1,1,MUS$2010/Mt,2015 +ammonia,all-week,all-day,summer,385.73300000000,R1,1,MUS$2010/Mt,2015 fuel3,all-week,all-day,spring-autumn,0.06170000000,R1,2,MUS$2010/PJ,2015 fuel1,all-week,all-day,spring-autumn,1.08770000000,R1,2,MUS$2010/PJ,2015 fuel2,all-week,all-day,spring-autumn,9.51690000000,R1,2,MUS$2010/PJ,2015 -ammonia,all-week,all-day,spring-autumn,131.19350000000,R1,2,MUS$2010/Mt,2015 +ammonia,all-week,all-day,spring-autumn,385.92690000000,R1,2,MUS$2010/Mt,2015 fuel3,all-week,all-day,winter,0.07020000000,R1,0,MUS$2010/PJ,2020 fuel1,all-week,all-day,winter,1.17540000000,R1,0,MUS$2010/PJ,2020 fuel2,all-week,all-day,winter,9.48260000000,R1,0,MUS$2010/PJ,2020 -ammonia,all-week,all-day,winter,138.80370000000,R1,0,MUS$2010/Mt,2020 +ammonia,all-week,all-day,winter,408.74210000000,R1,0,MUS$2010/Mt,2020 fuel3,all-week,all-day,summer,0.07020000000,R1,1,MUS$2010/PJ,2020 fuel1,all-week,all-day,summer,1.17540000000,R1,1,MUS$2010/PJ,2020 fuel2,all-week,all-day,summer,9.48260000000,R1,1,MUS$2010/PJ,2020 -ammonia,all-week,all-day,summer,138.80370000000,R1,1,MUS$2010/Mt,2020 +ammonia,all-week,all-day,summer,408.54780000000,R1,1,MUS$2010/Mt,2020 fuel3,all-week,all-day,spring-autumn,0.07020000000,R1,2,MUS$2010/PJ,2020 fuel1,all-week,all-day,spring-autumn,1.17540000000,R1,2,MUS$2010/PJ,2020 fuel2,all-week,all-day,spring-autumn,9.48260000000,R1,2,MUS$2010/PJ,2020 -ammonia,all-week,all-day,spring-autumn,138.80370000000,R1,2,MUS$2010/Mt,2020 +ammonia,all-week,all-day,spring-autumn,408.74210000000,R1,2,MUS$2010/Mt,2020 fuel3,all-week,all-day,winter,0.08280000000,R1,0,MUS$2010/PJ,2025 fuel1,all-week,all-day,winter,1.16670000000,R1,0,MUS$2010/PJ,2025 fuel2,all-week,all-day,winter,10.71080000000,R1,0,MUS$2010/PJ,2025 -ammonia,all-week,all-day,winter,157.17330000000,R1,0,MUS$2010/Mt,2025 +ammonia,all-week,all-day,winter,463.83550000000,R1,0,MUS$2010/Mt,2025 fuel3,all-week,all-day,summer,0.08280000000,R1,1,MUS$2010/PJ,2025 fuel1,all-week,all-day,summer,1.16670000000,R1,1,MUS$2010/PJ,2025 fuel2,all-week,all-day,summer,10.71080000000,R1,1,MUS$2010/PJ,2025 -ammonia,all-week,all-day,summer,157.17330000000,R1,1,MUS$2010/Mt,2025 +ammonia,all-week,all-day,summer,463.64080000000,R1,1,MUS$2010/Mt,2025 fuel3,all-week,all-day,spring-autumn,0.08280000000,R1,2,MUS$2010/PJ,2025 fuel1,all-week,all-day,spring-autumn,1.16670000000,R1,2,MUS$2010/PJ,2025 fuel2,all-week,all-day,spring-autumn,10.71080000000,R1,2,MUS$2010/PJ,2025 -ammonia,all-week,all-day,spring-autumn,157.17330000000,R1,2,MUS$2010/Mt,2025 +ammonia,all-week,all-day,spring-autumn,463.83550000000,R1,2,MUS$2010/Mt,2025 fuel3,all-week,all-day,winter,0.09540000000,R1,0,MUS$2010/PJ,2030 fuel1,all-week,all-day,winter,1.15790000000,R1,0,MUS$2010/PJ,2030 fuel2,all-week,all-day,winter,11.93900000000,R1,0,MUS$2010/PJ,2030 -ammonia,all-week,all-day,winter,175.36980000000,R1,0,MUS$2010/Mt,2030 +ammonia,all-week,all-day,winter,518.40950000000,R1,0,MUS$2010/Mt,2030 fuel3,all-week,all-day,summer,0.09540000000,R1,1,MUS$2010/PJ,2030 fuel1,all-week,all-day,summer,1.15790000000,R1,1,MUS$2010/PJ,2030 fuel2,all-week,all-day,summer,11.93900000000,R1,1,MUS$2010/PJ,2030 -ammonia,all-week,all-day,summer,175.36980000000,R1,1,MUS$2010/Mt,2030 +ammonia,all-week,all-day,summer,518.21440000000,R1,1,MUS$2010/Mt,2030 fuel3,all-week,all-day,spring-autumn,0.09540000000,R1,2,MUS$2010/PJ,2030 fuel1,all-week,all-day,spring-autumn,1.15790000000,R1,2,MUS$2010/PJ,2030 fuel2,all-week,all-day,spring-autumn,11.93900000000,R1,2,MUS$2010/PJ,2030 -ammonia,all-week,all-day,spring-autumn,175.36980000000,R1,2,MUS$2010/Mt,2030 +ammonia,all-week,all-day,spring-autumn,518.40950000000,R1,2,MUS$2010/Mt,2030 fuel3,all-week,all-day,winter,0.09070000000,R1,0,MUS$2010/PJ,2035 fuel1,all-week,all-day,winter,1.14910000000,R1,0,MUS$2010/PJ,2035 fuel2,all-week,all-day,winter,11.81550000000,R1,0,MUS$2010/PJ,2035 -ammonia,all-week,all-day,winter,165.03960000000,R1,0,MUS$2010/Mt,2035 +ammonia,all-week,all-day,winter,487.39420000000,R1,0,MUS$2010/Mt,2035 fuel3,all-week,all-day,summer,0.09070000000,R1,1,MUS$2010/PJ,2035 fuel1,all-week,all-day,summer,1.14910000000,R1,1,MUS$2010/PJ,2035 fuel2,all-week,all-day,summer,11.81550000000,R1,1,MUS$2010/PJ,2035 -ammonia,all-week,all-day,summer,165.03960000000,R1,1,MUS$2010/Mt,2035 +ammonia,all-week,all-day,summer,487.19850000000,R1,1,MUS$2010/Mt,2035 fuel3,all-week,all-day,spring-autumn,0.09070000000,R1,2,MUS$2010/PJ,2035 fuel1,all-week,all-day,spring-autumn,1.14910000000,R1,2,MUS$2010/PJ,2035 fuel2,all-week,all-day,spring-autumn,11.81550000000,R1,2,MUS$2010/PJ,2035 -ammonia,all-week,all-day,spring-autumn,165.03960000000,R1,2,MUS$2010/Mt,2035 +ammonia,all-week,all-day,spring-autumn,487.39420000000,R1,2,MUS$2010/Mt,2035 fuel3,all-week,all-day,winter,0.08600000000,R1,0,MUS$2010/PJ,2040 fuel1,all-week,all-day,winter,1.14040000000,R1,0,MUS$2010/PJ,2040 fuel2,all-week,all-day,winter,11.69200000000,R1,0,MUS$2010/PJ,2040 -ammonia,all-week,all-day,winter,154.56700000000,R1,0,MUS$2010/Mt,2040 +ammonia,all-week,all-day,winter,455.96080000000,R1,0,MUS$2010/Mt,2040 fuel3,all-week,all-day,summer,0.08600000000,R1,1,MUS$2010/PJ,2040 fuel1,all-week,all-day,summer,1.14040000000,R1,1,MUS$2010/PJ,2040 fuel2,all-week,all-day,summer,11.69200000000,R1,1,MUS$2010/PJ,2040 -ammonia,all-week,all-day,summer,154.56700000000,R1,1,MUS$2010/Mt,2040 +ammonia,all-week,all-day,summer,455.76470000000,R1,1,MUS$2010/Mt,2040 fuel3,all-week,all-day,spring-autumn,0.08600000000,R1,2,MUS$2010/PJ,2040 fuel1,all-week,all-day,spring-autumn,1.14040000000,R1,2,MUS$2010/PJ,2040 fuel2,all-week,all-day,spring-autumn,11.69200000000,R1,2,MUS$2010/PJ,2040 -ammonia,all-week,all-day,spring-autumn,154.56700000000,R1,2,MUS$2010/Mt,2040 +ammonia,all-week,all-day,spring-autumn,455.96080000000,R1,2,MUS$2010/Mt,2040 fuel3,all-week,all-day,winter,0.08600000000,R1,0,MUS$2010/PJ,2045 fuel1,all-week,all-day,winter,1.14040000000,R1,0,MUS$2010/PJ,2045 fuel2,all-week,all-day,winter,11.69200000000,R1,0,MUS$2010/PJ,2045 -ammonia,all-week,all-day,winter,153.83350000000,R1,0,MUS$2010/Mt,2045 +ammonia,all-week,all-day,winter,453.76020000000,R1,0,MUS$2010/Mt,2045 fuel3,all-week,all-day,summer,0.08600000000,R1,1,MUS$2010/PJ,2045 fuel1,all-week,all-day,summer,1.14040000000,R1,1,MUS$2010/PJ,2045 fuel2,all-week,all-day,summer,11.69200000000,R1,1,MUS$2010/PJ,2045 -ammonia,all-week,all-day,summer,153.83350000000,R1,1,MUS$2010/Mt,2045 +ammonia,all-week,all-day,summer,453.56410000000,R1,1,MUS$2010/Mt,2045 fuel3,all-week,all-day,spring-autumn,0.08600000000,R1,2,MUS$2010/PJ,2045 fuel1,all-week,all-day,spring-autumn,1.14040000000,R1,2,MUS$2010/PJ,2045 fuel2,all-week,all-day,spring-autumn,11.69200000000,R1,2,MUS$2010/PJ,2045 -ammonia,all-week,all-day,spring-autumn,153.83350000000,R1,2,MUS$2010/Mt,2045 +ammonia,all-week,all-day,spring-autumn,453.76020000000,R1,2,MUS$2010/Mt,2045 fuel3,all-week,all-day,winter,0.08600000000,R1,0,MUS$2010/PJ,2050 fuel1,all-week,all-day,winter,1.14040000000,R1,0,MUS$2010/PJ,2050 fuel2,all-week,all-day,winter,11.69200000000,R1,0,MUS$2010/PJ,2050 -ammonia,all-week,all-day,winter,153.09170000000,R1,0,MUS$2010/Mt,2050 +ammonia,all-week,all-day,winter,451.53470000000,R1,0,MUS$2010/Mt,2050 fuel3,all-week,all-day,summer,0.08600000000,R1,1,MUS$2010/PJ,2050 fuel1,all-week,all-day,summer,1.14040000000,R1,1,MUS$2010/PJ,2050 fuel2,all-week,all-day,summer,11.69200000000,R1,1,MUS$2010/PJ,2050 -ammonia,all-week,all-day,summer,153.09170000000,R1,1,MUS$2010/Mt,2050 +ammonia,all-week,all-day,summer,451.33870000000,R1,1,MUS$2010/Mt,2050 fuel3,all-week,all-day,spring-autumn,0.08600000000,R1,2,MUS$2010/PJ,2050 fuel1,all-week,all-day,spring-autumn,1.14040000000,R1,2,MUS$2010/PJ,2050 fuel2,all-week,all-day,spring-autumn,11.69200000000,R1,2,MUS$2010/PJ,2050 -ammonia,all-week,all-day,spring-autumn,153.09170000000,R1,2,MUS$2010/Mt,2050 +ammonia,all-week,all-day,spring-autumn,451.53470000000,R1,2,MUS$2010/Mt,2050 diff --git a/tests/example_outputs/multiple_agents/Results/MCACapacity.csv b/tests/example_outputs/multiple_agents/Results/MCACapacity.csv index 196ce9360..8691159d3 100644 --- a/tests/example_outputs/multiple_agents/Results/MCACapacity.csv +++ b/tests/example_outputs/multiple_agents/Results/MCACapacity.csv @@ -15,56 +15,51 @@ A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A2,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,6.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,13.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,8.96440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,9.40560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,6.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 +A1,13.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 A1,6.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,9.40560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,6.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 +A1,13.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 A1,6.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,9.40560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,6.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 +A1,13.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 A1,6.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,9.40560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A2,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,5.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,6.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,13.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 A1,6.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 A1,11.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 A1,1.46440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,9.40560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/tests/example_outputs/multiple_agents/Results/MCAPrices.csv b/tests/example_outputs/multiple_agents/Results/MCAPrices.csv index c1f4c150e..1d87325ca 100644 --- a/tests/example_outputs/multiple_agents/Results/MCAPrices.csv +++ b/tests/example_outputs/multiple_agents/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,2.21830000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.61770000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,15.61530000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,9.52310000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,2.21830000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.61770000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,14.12340000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,8.26960000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,2.21830000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.61770000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,15.61530000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,9.52310000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,2.21830000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.61770000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,14.12340000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,8.26960000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,2.21830000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.61770000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.67180000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,7.02880000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,2.21830000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.61770000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,13.37740000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,7.64280000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,2.76490000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.42480000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,14.55800000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.48320000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.76490000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.42480000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,12.09650000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,6.61190000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,2.76490000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.42480000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,14.55800000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.48320000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.76490000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.42480000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,12.09650000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,6.61190000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,2.76490000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.42480000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.69800000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,4.76590000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,2.76490000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.42480000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,10.86570000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,5.67630000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,3.19280000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.45340000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,15.61500000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.90600000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,3.19280000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.45340000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,12.95850000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,6.95670000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,3.19280000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.45340000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,15.61500000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,8.90600000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,3.19280000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.45340000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,12.95850000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,6.95670000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,3.19280000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.45340000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,10.35860000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.03010000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,3.19280000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.45340000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,11.63030000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,5.98210000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,3.49770000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,0.47370000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,16.36750000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,9.20700000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,3.49770000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,0.47370000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,13.57190000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,7.20210000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,3.49770000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,0.47370000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,16.36750000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,9.20700000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,3.49770000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,0.47370000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,13.57190000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,7.20210000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,3.49770000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,0.47370000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,10.82700000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.21750000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,3.49770000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,0.47370000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,12.17400000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,6.19960000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,3.91060000000,R1,0,MUS$2010/PJ,2045 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,0.50120000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,17.43940000000,R1,0,MUS$2010/PJ,2045 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,9.63570000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,3.91060000000,R1,1,MUS$2010/PJ,2045 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,0.50120000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,14.53930000000,R1,1,MUS$2010/PJ,2045 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,7.58910000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,3.91060000000,R1,2,MUS$2010/PJ,2045 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,0.50120000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,17.43940000000,R1,2,MUS$2010/PJ,2045 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,9.63570000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,3.91060000000,R1,3,MUS$2010/PJ,2045 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,0.50120000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,14.53930000000,R1,3,MUS$2010/PJ,2045 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,7.58910000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,3.91060000000,R1,4,MUS$2010/PJ,2045 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,0.50120000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,11.68530000000,R1,4,MUS$2010/PJ,2045 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.56080000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,3.91060000000,R1,5,MUS$2010/PJ,2045 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,0.50120000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,13.08930000000,R1,5,MUS$2010/PJ,2045 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,6.56570000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,4.23130000000,R1,0,MUS$2010/PJ,2050 -gas,all-week,night,all-year,0.47220000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,0.52260000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,18.27070000000,R1,0,MUS$2010/PJ,2050 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,9.96830000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,4.23130000000,R1,1,MUS$2010/PJ,2050 -gas,all-week,morning,all-year,0.47220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,0.52260000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,15.28940000000,R1,1,MUS$2010/PJ,2050 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,7.88910000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,4.23130000000,R1,2,MUS$2010/PJ,2050 -gas,all-week,afternoon,all-year,0.47220000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,0.52260000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,18.27070000000,R1,2,MUS$2010/PJ,2050 +gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,9.96830000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,4.23130000000,R1,3,MUS$2010/PJ,2050 -gas,all-week,early-peak,all-year,0.47220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,0.52260000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,15.28940000000,R1,3,MUS$2010/PJ,2050 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,7.88910000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,4.23130000000,R1,4,MUS$2010/PJ,2050 -gas,all-week,late-peak,all-year,0.47220000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,0.52260000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,12.35020000000,R1,4,MUS$2010/PJ,2050 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.82670000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,4.23130000000,R1,5,MUS$2010/PJ,2050 -gas,all-week,evening,all-year,0.47220000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,0.52260000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,13.79880000000,R1,5,MUS$2010/PJ,2050 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,6.84950000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/tests/example_outputs/trade/Results/MCACapacity.csv b/tests/example_outputs/trade/Results/MCACapacity.csv index e02186ec3..c830610db 100644 --- a/tests/example_outputs/trade/Results/MCACapacity.csv +++ b/tests/example_outputs/trade/Results/MCACapacity.csv @@ -6,25 +6,25 @@ A1,200.00000000000,R2,2010,R2,power,gasCCGT,agent,2020 A1,3000.00000000000,R1,2010,R1,gas,gassupply1,agent,2020 A1,1200.00000000000,R2,2010,R2,gas,gassupply1,agent,2020 A1,463.93200000000,R1,2010,R1,residential,gasboiler,retrofit,2025 -A1,355.93470000000,R1,2020,R1,residential,gasboiler,retrofit,2025 +A1,355.93470000000,R1,2020,R1,residential,heatpump,retrofit,2025 A1,24.50000000000,R2,2010,R2,residential,gasboiler,retrofit,2025 A1,192.00000000000,R1,2010,R1,power,gasCCGT,agent,2025 A1,140.00000000000,R2,2010,R2,power,gasCCGT,agent,2025 A1,2100.00000000000,R1,2010,R1,gas,gassupply1,agent,2025 A1,700.00000000000,R2,2010,R2,gas,gassupply1,agent,2025 A1,463.93200000000,R1,2010,R1,residential,gasboiler,retrofit,2030 -A1,355.93470000000,R1,2020,R1,residential,gasboiler,retrofit,2030 -A1,74.53330000000,R1,2025,R1,residential,gasboiler,retrofit,2030 +A1,355.93470000000,R1,2020,R1,residential,heatpump,retrofit,2030 +A1,74.53330000000,R1,2025,R1,residential,heatpump,retrofit,2030 A1,24.50000000000,R2,2010,R2,residential,gasboiler,retrofit,2030 A1,153.60000000000,R1,2010,R1,power,gasCCGT,agent,2030 A1,98.00000000000,R2,2010,R2,power,gasCCGT,agent,2030 A1,2100.00000000000,R1,2010,R1,gas,gassupply1,agent,2030 A1,700.00000000000,R2,2010,R2,gas,gassupply1,agent,2030 A1,394.34220000000,R1,2010,R1,residential,gasboiler,retrofit,2035 -A1,74.53330000000,R1,2025,R1,residential,gasboiler,retrofit,2035 -A1,444.15780000000,R1,2030,R1,residential,gasboiler,retrofit,2035 +A1,74.53330000000,R1,2025,R1,residential,heatpump,retrofit,2035 +A1,444.15780000000,R1,2030,R1,residential,heatpump,retrofit,2035 A1,17.15000000000,R2,2010,R2,residential,gasboiler,retrofit,2035 -A1,1.63330000000,R2,2030,R2,residential,gasboiler,retrofit,2035 +A1,1.63330000000,R2,2030,R2,residential,heatpump,retrofit,2035 A1,122.88000000000,R1,2010,R1,power,gasCCGT,agent,2035 A1,68.60000000000,R2,2010,R2,power,gasCCGT,agent,2035 A1,1470.00000000000,R1,2010,R1,gas,gassupply1,agent,2035 diff --git a/tests/example_outputs/trade/Results/MCAPrices.csv b/tests/example_outputs/trade/Results/MCAPrices.csv index a9ef8e426..603de3b8d 100644 --- a/tests/example_outputs/trade/Results/MCAPrices.csv +++ b/tests/example_outputs/trade/Results/MCAPrices.csv @@ -23,111 +23,111 @@ electricity,all-week,evening,all-year,13.98150000000,R1,5,MUS$2010/PJ,2020 electricity,all-week,evening,all-year,19.13890000000,R2,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,4.71680000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,4.71680000000,R2,5,MUS$2010/PJ,2020 -electricity,all-week,night,all-year,19.56940000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,19.56940000000,R2,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,2.29980000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,2.37690000000,R2,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.78380000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,0.93720000000,R2,0,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,19.56940000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,19.56940000000,R2,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,2.29980000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,2.37690000000,R2,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.78380000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,0.93720000000,R2,1,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,19.56940000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,19.56940000000,R2,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,2.29980000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,2.37690000000,R2,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.78380000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,0.93720000000,R2,2,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,19.56940000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,19.56940000000,R2,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,2.29980000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,2.37690000000,R2,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.78380000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,0.93720000000,R2,3,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,19.56940000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,19.56940000000,R2,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,2.29980000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,2.37690000000,R2,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.78380000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,0.93720000000,R2,4,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,19.56940000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,19.56940000000,R2,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,2.29980000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,2.37690000000,R2,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.78380000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,0.93720000000,R2,5,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,19.56940000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,19.56940000000,R2,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,1.33800000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,1.44120000000,R2,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.46420000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,0.56420000000,R2,0,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,19.56940000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,19.56940000000,R2,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,1.33800000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,1.44120000000,R2,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.46420000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,0.56420000000,R2,1,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,19.56940000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,19.56940000000,R2,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,1.33800000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,1.44120000000,R2,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.46420000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,0.56420000000,R2,2,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,19.56940000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,19.56940000000,R2,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,1.33800000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,1.44120000000,R2,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.46420000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,0.56420000000,R2,3,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,19.56940000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,19.56940000000,R2,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,1.33800000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,1.44120000000,R2,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.46420000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,0.56420000000,R2,4,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,19.56940000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,19.56940000000,R2,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,1.33800000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,1.44120000000,R2,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.46420000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,0.56420000000,R2,5,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,19.56940000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,19.56940000000,R2,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,1.01070000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,1.12280000000,R2,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.35550000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,0.43730000000,R2,0,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,19.56940000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,19.56940000000,R2,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,1.01070000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,1.12280000000,R2,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.35550000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,0.43730000000,R2,1,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,19.56940000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,19.56940000000,R2,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,1.01070000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,1.12280000000,R2,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.35550000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,0.43730000000,R2,2,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,19.56940000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,19.56940000000,R2,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,1.01070000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,1.12280000000,R2,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.35550000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,0.43730000000,R2,3,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,19.56940000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,19.56940000000,R2,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,1.01070000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,1.12280000000,R2,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.35550000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,0.43730000000,R2,4,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,19.56940000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,19.56940000000,R2,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,1.01070000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,1.12280000000,R2,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.35550000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,0.43730000000,R2,5,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,40.99250000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,210.97210000000,R2,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,16.74990000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,72.38960000000,R2,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,15.24220000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,115.55230000000,R2,0,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,33.22370000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,193.27760000000,R2,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,14.66540000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,66.68390000000,R2,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,13.13720000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,105.94570000000,R2,1,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,39.48330000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,232.59870000000,R2,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,16.34490000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,79.36320000000,R2,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,14.83330000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,127.29370000000,R2,2,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,39.48330000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,232.59870000000,R2,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,16.34490000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,79.36320000000,R2,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,14.83330000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,127.29370000000,R2,3,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,31.77910000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,185.58430000000,R2,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,14.27780000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,64.20310000000,R2,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,12.74580000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,101.76900000000,R2,4,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,39.54820000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,232.59870000000,R2,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,16.36240000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,79.36320000000,R2,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,14.85090000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,127.29370000000,R2,5,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,56.05370000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,266.52130000000,R2,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,24.49870000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,116.19110000000,R2,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,23.19000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,173.64040000000,R2,0,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,44.60210000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,244.11240000000,R2,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,21.02450000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,106.77610000000,R2,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,19.25310000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,158.96880000000,R2,1,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,53.82910000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,293.91000000000,R2,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,23.82380000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,127.69820000000,R2,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,22.42520000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,191.57230000000,R2,2,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,53.82910000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,293.91000000000,R2,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,23.82380000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,127.69820000000,R2,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,22.42520000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,191.57230000000,R2,3,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,42.47280000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,234.36940000000,R2,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,20.37850000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,102.68270000000,R2,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,18.52100000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,152.58990000000,R2,4,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,53.92470000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,293.91000000000,R2,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,23.85290000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,127.69820000000,R2,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,22.45810000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,191.57230000000,R2,5,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,69.52440000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,304.79750000000,R2,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,32.24760000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,148.12000000000,R2,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,29.98340000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,211.49580000000,R2,0,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,55.41150000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,279.40190000000,R2,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,27.38370000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,136.07510000000,R2,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,24.57400000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,193.61180000000,R2,1,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,66.78290000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,335.83660000000,R2,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,31.30270000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,162.84140000000,R2,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,28.93250000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,233.35390000000,R2,2,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,66.78290000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,335.83660000000,R2,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,31.30270000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,162.84140000000,R2,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,28.93250000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,233.35390000000,R2,3,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,52.78740000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,268.36030000000,R2,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,26.47930000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,130.83820000000,R2,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,23.56820000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,185.83620000000,R2,4,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,66.90070000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,335.83660000000,R2,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,31.34340000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,162.84140000000,R2,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,28.97770000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,233.35390000000,R2,5,MUS$2010/PJ,2035 From ef4112a75751504942ec85f6a148070e386fbddb Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 12 Nov 2024 17:53:59 +0000 Subject: [PATCH 079/121] Rename variable --- src/muse/costs.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 44885630b..800731008 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -124,13 +124,13 @@ def net_present_value( ).sum("year") # Variable costs - prod_amplitude = (production / broadcast_timeslice(techs.fixed_outputs)).max( + tech_activity = (production / broadcast_timeslice(techs.fixed_outputs)).max( "commodity" ) variable_costs = ( ( broadcast_timeslice(techs.var_par) - * prod_amplitude ** broadcast_timeslice(techs.var_exp) + * tech_activity ** broadcast_timeslice(techs.var_exp) ) * rates ).sum("year") @@ -308,13 +308,13 @@ def lifetime_levelized_cost_of_energy( ).sum("year") # Variable costs - prod_amplitude = (production / broadcast_timeslice(techs.fixed_outputs)).max( + tech_activity = (production / broadcast_timeslice(techs.fixed_outputs)).max( "commodity" ) variable_costs = ( ( broadcast_timeslice(techs.var_par) - * prod_amplitude ** broadcast_timeslice(techs.var_exp) + * tech_activity ** broadcast_timeslice(techs.var_exp) ) * rates ).sum("year") @@ -422,12 +422,12 @@ def annual_levelized_cost_of_energy( fixed_costs = distribute_timeslice(techs.fix_par * (capacity**techs.fix_exp)) # Variable costs - prod_amplitude = (production / broadcast_timeslice(techs.fixed_outputs)).max( + tech_activity = (production / broadcast_timeslice(techs.fixed_outputs)).max( "commodity" ) variable_costs = broadcast_timeslice( techs.var_par - ) * prod_amplitude ** broadcast_timeslice(techs.var_exp) + ) * tech_activity ** broadcast_timeslice(techs.var_exp) # Production prod = ( From cda7af2380a129de6d7f73ec49a839a840469f85 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 28 Nov 2024 18:43:05 +0000 Subject: [PATCH 080/121] Fix merge error --- src/muse/costs.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 5744d15c6..686a144d7 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -419,12 +419,9 @@ def annual_levelized_cost_of_energy( fuels = is_fuel(technologies.comm_usage) # Cost of installed capacity (annualized) - installed_capacity_costs = ( - distribute_timeslice( - techs.cap_par * (capacity**techs.cap_exp), level=timeslice_level - ) - / techs.technical_life - ) + installed_capacity_costs = distribute_timeslice( + techs.cap_par * (capacity**techs.cap_exp), level=timeslice_level + ) / broadcast_timeslice(techs.technical_life, level=timeslice_level) # Cost related to environmental products prices_environmental = filter_input(prices, commodity=environmentals) From 28107f06693cc8e42c7db64d5c5f53b0ffba35fa Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 29 Nov 2024 13:33:50 +0000 Subject: [PATCH 081/121] Fix failing tests --- src/muse/quantities.py | 8 ++++++-- tests/test_objectives.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 444aa7d04..05f2ee9d7 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -313,7 +313,9 @@ def consumption( ).max("commodity") # Calculate consumption of fixed commodities - consumption_fixed = prod_amplitude * broadcast_timeslice(params.fixed_inputs) + consumption_fixed = prod_amplitude * broadcast_timeslice( + params.fixed_inputs, level=timeslice_level + ) # If there are no flexible inputs, then we are done if not (params.flexible_inputs.sel(commodity=params_fuels) > 0).any(): @@ -325,7 +327,9 @@ def consumption( return consumption_fixed # Flexible inputs - flexs = params.flexible_inputs.where(params_fuels, 0) + flexs = broadcast_timeslice( + params.flexible_inputs.where(params_fuels, 0), level=timeslice_level + ) # Calculate the cheapest fuel for each flexible technology priceflex = prices.loc[dict(commodity=flexs.commodity)] * flexs diff --git a/tests/test_objectives.py b/tests/test_objectives.py index 42e96f51b..31db80af9 100644 --- a/tests/test_objectives.py +++ b/tests/test_objectives.py @@ -168,7 +168,7 @@ def test_emission_cost(_technologies, _demand, _prices): assert set(result.dims) == {"replacement", "asset", "timeslice"} -def test_fuel_consumption(_technologies, _demand, _prices): +def test_fuel_consumption_cost(_technologies, _demand, _prices): from muse.objectives import fuel_consumption_cost result = fuel_consumption_cost(_technologies, _demand, _prices) From 0cfd1209272452e5469b5eecf631c1373d317c96 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 29 Nov 2024 15:05:39 +0000 Subject: [PATCH 082/121] Helper function for calculating production amplitude --- src/muse/costs.py | 20 +++++++++----------- src/muse/quantities.py | 33 +++++++++++++++++++++++++++++---- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 686a144d7..9acbe8df9 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -57,6 +57,8 @@ def net_present_value( Return: xr.DataArray with the NPV calculated for the relevant technologies """ + from muse.quantities import production_amplitude + assert "year" not in technologies.dims assert "year" not in prices.dims assert "year" not in capacity.dims @@ -130,10 +132,7 @@ def net_present_value( ).sum("year") # Variable costs - tech_activity = ( - production.sel(commodity=products) - / broadcast_timeslice(techs.fixed_outputs, level=timeslice_level) - ).max("commodity") + tech_activity = production_amplitude(production, techs, timeslice_level) variable_costs = ( ( broadcast_timeslice(techs.var_par, level=timeslice_level) @@ -255,6 +254,8 @@ def lifetime_levelized_cost_of_energy( Return: xr.DataArray with the LCOE calculated for the relevant technologies """ + from muse.quantities import production_amplitude + assert "year" not in technologies.dims assert "year" not in prices.dims assert "year" not in capacity.dims @@ -323,10 +324,7 @@ def lifetime_levelized_cost_of_energy( ).sum("year") # Variable costs - tech_activity = ( - production.sel(commodity=products) - / broadcast_timeslice(techs.fixed_outputs, level=timeslice_level) - ).max("commodity") + tech_activity = production_amplitude(production, techs, timeslice_level) variable_costs = ( ( broadcast_timeslice(techs.var_par, level=timeslice_level) @@ -389,6 +387,8 @@ def annual_levelized_cost_of_energy( .. _simplified LCOE: https://www.nrel.gov/analysis/tech-lcoe-documentation.html """ + from muse.quantities import production_amplitude + assert "year" not in technologies.dims assert "year" not in prices.dims assert "year" not in capacity.dims @@ -441,9 +441,7 @@ def annual_levelized_cost_of_energy( ) # Variable costs - tech_activity = ( - production / broadcast_timeslice(techs.fixed_outputs, level=timeslice_level) - ).max("commodity") + tech_activity = production_amplitude(production, techs, timeslice_level) variable_costs = broadcast_timeslice( techs.var_par, level=timeslice_level ) * tech_activity ** broadcast_timeslice(techs.var_exp, level=timeslice_level) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 05f2ee9d7..498c9b852 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -307,10 +307,9 @@ def consumption( params_fuels = is_fuel(params.comm_usage) # Calculate degree of technology activity - # We do this by dividing the production by the output flow per unit of activity - prod_amplitude = ( - production / broadcast_timeslice(params.fixed_outputs, level=timeslice_level) - ).max("commodity") + prod_amplitude = production_amplitude( + production, params, timeslice_level=timeslice_level + ) # Calculate consumption of fixed commodities consumption_fixed = prod_amplitude * broadcast_timeslice( @@ -537,3 +536,29 @@ def capacity_to_service_demand( ) * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) capa_to_service_demand = demand / timeslice_outputs return capa_to_service_demand.max(("commodity", "timeslice")) + + +def production_amplitude( + production: xr.DataArray, + technologies: xr.Dataset, + timeslice_level: Optional[str] = None, +) -> xr.DataArray: + """Calculates the degree of technology activity based on production data. + + We do this by dividing the production data by the output flow per unit of activity. + Taking the max of this across all commodities, we get the minimum units of + technology activity required to meet (at least) the specified production of all + commodities. + + Args: + production: DataArray with commodity-level production for a set of technologies + technologies: Dataset of technology parameters + timeslice_level: the desired timeslice level of the result (e.g. "hour", "day"). + Must match the timeslice level of `production` + """ + assert set(technologies.dims).issubset(set(production.dims)) + + return ( + production + / broadcast_timeslice(technologies.fixed_outputs, level=timeslice_level) + ).max("commodity") From 3cb4376f36e80dbe2d843076d0c2fbc941302dec Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 5 Dec 2024 12:39:06 +0000 Subject: [PATCH 083/121] Decorator to validate cost function inputs/outputs --- src/muse/costs.py | 69 ++++++++++++++++++++++++------------------- src/muse/utilities.py | 12 +++++--- 2 files changed, 47 insertions(+), 34 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 9acbe8df9..5291901e8 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -6,6 +6,7 @@ data for the technologies, where appropriate. """ +from functools import wraps from typing import Optional import numpy as np @@ -16,6 +17,40 @@ from muse.utilities import filter_input +def validate(func): + """Decorator to validate the input and output dimensions of the cost functions.""" + + @wraps(func) + def wrapper(technologies, prices, capacity, production, consumption, **kwargs): + from muse.utilities import check_dimensions + + # Check input dimensions + [tech_dim] = set(technologies.dims) - {"commodity", "timeslice", "region"} + assert tech_dim in ["technology", "asset", "replacement"] + region_dim = "region" if "region" in technologies.dims else None + check_dimensions( + technologies, [tech_dim, region_dim, "commodity"], optional=["timeslice"] + ) + check_dimensions(prices, [region_dim, "timeslice", "commodity"]) + check_dimensions(capacity, [tech_dim, region_dim, "asset"]) + check_dimensions( + production, [tech_dim, region_dim, "timeslice", "commodity", "asset"] + ) + check_dimensions( + consumption, [tech_dim, region_dim, "timeslice", "commodity", "asset"] + ) + + # Call the function + result = func(technologies, prices, capacity, production, consumption, **kwargs) + + # Check output dimensions + check_dimensions(result, [tech_dim, region_dim, "timeslice", "asset"]) + return result + + return wrapper + + +@validate def net_present_value( technologies: xr.Dataset, prices: xr.DataArray, @@ -59,12 +94,6 @@ def net_present_value( """ from muse.quantities import production_amplitude - assert "year" not in technologies.dims - assert "year" not in prices.dims - assert "year" not in capacity.dims - assert "year" not in production.dims - assert "year" not in consumption.dims - # Filtering of the inputs techs = technologies[ [ @@ -153,6 +182,7 @@ def net_present_value( return result +@validate def net_present_cost( technologies: xr.Dataset, prices: xr.DataArray, @@ -180,15 +210,10 @@ def net_present_cost( Return: xr.DataArray with the NPC calculated for the relevant technologies """ - assert "year" not in technologies.dims - assert "year" not in prices.dims - assert "year" not in capacity.dims - assert "year" not in production.dims - assert "year" not in consumption.dims - return -net_present_value(technologies, prices, capacity, production, consumption) +@validate def equivalent_annual_cost( technologies: xr.Dataset, prices: xr.DataArray, @@ -219,17 +244,12 @@ def equivalent_annual_cost( Return: xr.DataArray with the EAC calculated for the relevant technologies """ - assert "year" not in technologies.dims - assert "year" not in prices.dims - assert "year" not in capacity.dims - assert "year" not in production.dims - assert "year" not in consumption.dims - npc = net_present_cost(technologies, prices, capacity, production, consumption) crf = capital_recovery_factor(technologies) return npc * broadcast_timeslice(crf, level=timeslice_level) +@validate def lifetime_levelized_cost_of_energy( technologies: xr.Dataset, prices: xr.DataArray, @@ -256,12 +276,6 @@ def lifetime_levelized_cost_of_energy( """ from muse.quantities import production_amplitude - assert "year" not in technologies.dims - assert "year" not in prices.dims - assert "year" not in capacity.dims - assert "year" not in production.dims - assert "year" not in consumption.dims - techs = technologies[ [ "technical_life", @@ -354,6 +368,7 @@ def lifetime_levelized_cost_of_energy( return result +@validate def annual_levelized_cost_of_energy( technologies: xr.Dataset, prices: xr.DataArray, @@ -389,12 +404,6 @@ def annual_levelized_cost_of_energy( """ from muse.quantities import production_amplitude - assert "year" not in technologies.dims - assert "year" not in prices.dims - assert "year" not in capacity.dims - assert "year" not in production.dims - assert "year" not in consumption.dims - techs = technologies[ [ "technical_life", diff --git a/src/muse/utilities.py b/src/muse/utilities.py index 9459196f9..263301112 100644 --- a/src/muse/utilities.py +++ b/src/muse/utilities.py @@ -661,23 +661,27 @@ def aggregate_technology_model( def check_dimensions( data: xr.DataArray | xr.Dataset, - required: Iterable[str] = (), - optional: Iterable[str] = (), + required: Iterable[str | None] = (), + optional: Iterable[str | None] = (), ): """Ensure that an array has the required dimensions. This will check that all required dimensions are present, and that no other dimensions are present, apart from those listed as optional. + If None is present as a dimensions name, it is ignored. + Args: data: DataArray or Dataset to check dimensions of required: List of dimension names that must be present optional: List of dimension names that may be present """ present = set(data.dims) - missing = set(required) - present + _required = set(filter(None, required)) + missing = _required - present if missing: raise ValueError(f"Missing required dimensions: {missing}") - extra = present - set(required) - set(optional) + _optional = set(filter(None, optional)) + extra = present - _required - _optional if extra: raise ValueError(f"Extra dimensions: {extra}") From dc9f77bd5430f2a5c08ee5945cdaacf44dc07f65 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 5 Dec 2024 13:49:28 +0000 Subject: [PATCH 084/121] Simplify checks --- src/muse/costs.py | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 5291901e8..78c6145ea 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -22,29 +22,18 @@ def validate(func): @wraps(func) def wrapper(technologies, prices, capacity, production, consumption, **kwargs): - from muse.utilities import check_dimensions - - # Check input dimensions - [tech_dim] = set(technologies.dims) - {"commodity", "timeslice", "region"} - assert tech_dim in ["technology", "asset", "replacement"] - region_dim = "region" if "region" in technologies.dims else None - check_dimensions( - technologies, [tech_dim, region_dim, "commodity"], optional=["timeslice"] - ) - check_dimensions(prices, [region_dim, "timeslice", "commodity"]) - check_dimensions(capacity, [tech_dim, region_dim, "asset"]) - check_dimensions( - production, [tech_dim, region_dim, "timeslice", "commodity", "asset"] - ) - check_dimensions( - consumption, [tech_dim, region_dim, "timeslice", "commodity", "asset"] - ) + # Check input data + assert "year" not in technologies.dims + assert "year" not in prices.dims + assert "year" not in capacity.dims + assert "year" not in production.dims + assert "year" not in consumption.dims # Call the function result = func(technologies, prices, capacity, production, consumption, **kwargs) - # Check output dimensions - check_dimensions(result, [tech_dim, region_dim, "timeslice", "asset"]) + # Check output data + assert "year" not in result.dims return result return wrapper From c3d1fd6973e28b4b73664b9ac310cd671c047bea Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 5 Dec 2024 14:30:40 +0000 Subject: [PATCH 085/121] Combine lifetime and annual LCOE functions --- src/muse/costs.py | 179 ++++++++----------------------------- src/muse/objectives.py | 11 ++- src/muse/outputs/mca.py | 3 +- src/muse/sectors/sector.py | 5 +- tests/test_costs.py | 18 ++-- 5 files changed, 59 insertions(+), 157 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 78c6145ea..407375b09 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -239,12 +239,13 @@ def equivalent_annual_cost( @validate -def lifetime_levelized_cost_of_energy( +def levelized_cost_of_energy( technologies: xr.Dataset, prices: xr.DataArray, capacity: xr.DataArray, production: xr.DataArray, consumption: xr.DataArray, + method: str = "lifetime", timeslice_level: Optional[str] = None, ) -> xr.DataArray: """Levelized cost of energy (LCOE) of technologies over their lifetime. @@ -258,6 +259,7 @@ def lifetime_levelized_cost_of_energy( production: xr.DataArray with commodity production by the relevant technologies consumption: xr.DataArray with commodity consumption by the relevant technologies + method: "lifetime" or "annual" timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") Return: @@ -265,6 +267,9 @@ def lifetime_levelized_cost_of_energy( """ from muse.quantities import production_amplitude + if method not in ["lifetime", "annual"]: + raise ValueError("method must be either 'lifetime' or 'annual'.") + techs = technologies[ [ "technical_life", @@ -280,19 +285,6 @@ def lifetime_levelized_cost_of_energy( ] ] - # Evolution of rates with time - life = techs.technical_life.astype(int) - iyears = range(life.values.max()) - years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") - rates = broadcast_timeslice( - discount_factor( - years=years, - interest_rate=techs.interest_rate, - mask=years <= life, - ), - level=timeslice_level, - ) - # Filters environmentals = is_pollutant(technologies.comm_usage) material = is_material(technologies.comm_usage) @@ -303,123 +295,10 @@ def lifetime_levelized_cost_of_energy( installed_capacity_costs = distribute_timeslice( techs.cap_par * (capacity**techs.cap_exp), level=timeslice_level ) - - # Cost related to environmental products - prices_environmental = filter_input(prices, commodity=environmentals) - environmental_costs = (production * prices_environmental * rates).sum( - ("commodity", "year") - ) - - # Fuel/energy costs - prices_fuel = filter_input(prices, commodity=fuels) - fuel_costs = (consumption * prices_fuel * rates).sum(("commodity", "year")) - - # Cost related to material other than fuel/energy and environmentals - prices_material = filter_input(prices, commodity=material) - material_costs = (consumption * prices_material * rates).sum(("commodity", "year")) - - # Fixed costs - fixed_costs = ( - distribute_timeslice( - techs.fix_par * (capacity**techs.fix_exp), level=timeslice_level + if method == "annual": + installed_capacity_costs /= broadcast_timeslice( + techs.technical_life, level=timeslice_level ) - * rates - ).sum("year") - - # Variable costs - tech_activity = production_amplitude(production, techs, timeslice_level) - variable_costs = ( - ( - broadcast_timeslice(techs.var_par, level=timeslice_level) - * tech_activity ** broadcast_timeslice(techs.var_exp, level=timeslice_level) - ) - * rates - ).sum("year") - - # Production - prod = ( - production.where(production > 0.0, 1e-6) - .sel(commodity=products) - .sum("commodity") - ) - total_prod = (prod * rates).sum("year") - - # LCOE - result = ( - installed_capacity_costs - + fuel_costs - + environmental_costs - + material_costs - + fixed_costs - + variable_costs - ) / total_prod - - return result - - -@validate -def annual_levelized_cost_of_energy( - technologies: xr.Dataset, - prices: xr.DataArray, - capacity: xr.DataArray, - production: xr.DataArray, - consumption: xr.DataArray, - timeslice_level: Optional[str] = None, -) -> xr.DataArray: - """Undiscounted levelized cost of energy (LCOE) of technologies on each given year. - - It mostly follows the `simplified LCOE`_ given by NREL. In the argument description, - we use the following: - - * [h]: hour - * [y]: year - * [$]: unit of currency - * [E]: unit of energy - * [1]: dimensionless - - Arguments: - technologies: xr.Dataset of technology parameters - prices: xr.DataArray with commodity prices - capacity: xr.DataArray with the capacity of the relevant technologies - production: xr.DataArray with commodity production by the relevant technologies - consumption: xr.DataArray with commodity consumption by the relevant - technologies - timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") - - Return: - The lifetime LCOE in [$/(Eh)] for each technology at each timeslice. - - .. _simplified LCOE: https://www.nrel.gov/analysis/tech-lcoe-documentation.html - """ - from muse.quantities import production_amplitude - - techs = technologies[ - [ - "technical_life", - "interest_rate", - "cap_par", - "cap_exp", - "var_par", - "var_exp", - "fix_par", - "fix_exp", - "fixed_outputs", - "fixed_inputs", - "flexible_inputs", - "utilization_factor", - ] - ] - - # Filters - environmentals = is_pollutant(technologies.comm_usage) - material = is_material(technologies.comm_usage) - products = is_enduse(technologies.comm_usage) - fuels = is_fuel(technologies.comm_usage) - - # Cost of installed capacity (annualized) - installed_capacity_costs = distribute_timeslice( - techs.cap_par * (capacity**techs.cap_exp), level=timeslice_level - ) / broadcast_timeslice(techs.technical_life, level=timeslice_level) # Cost related to environmental products prices_environmental = filter_input(prices, commodity=environmentals) @@ -444,23 +323,42 @@ def annual_levelized_cost_of_energy( techs.var_par, level=timeslice_level ) * tech_activity ** broadcast_timeslice(techs.var_exp, level=timeslice_level) + # Rates for running costs + if method == "lifetime": + life = techs.technical_life.astype(int) + iyears = range(life.values.max()) + years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") + rates = discount_factor( + years=years, + interest_rate=techs.interest_rate, + mask=years <= life, + ) + else: + rates = xr.DataArray([1], coords={"year": [0]}, dims="year") + rates = broadcast_timeslice(rates, level=timeslice_level) + + # Total costs + total_costs = installed_capacity_costs + ( + ( + environmental_costs + + fuel_costs + + material_costs + + fixed_costs + + variable_costs + ) + * rates + ).sum("year") + # Production prod = ( production.where(production > 0.0, 1e-6) .sel(commodity=products) .sum("commodity") ) + total_prod = (prod * rates).sum("year") # LCOE - result = ( - installed_capacity_costs - + fuel_costs - + environmental_costs - + material_costs - + fixed_costs - + variable_costs - ) / prod - + result = total_costs / total_prod return result @@ -478,8 +376,7 @@ def supply_cost( `muse.quantities.production`. lcoe: Levelized cost of energy for each good produced. In practice, it can be obtained from market prices via - `muse.costs.annual_levelized_cost_of_energy` or - `muse.costs.lifetime_levelized_cost_of_energy`. + `muse.costs.levelized_cost_of_energy`. asset_dim: Name of the dimension(s) holding assets, processes or technologies. """ data = xr.Dataset(dict(production=production, prices=production * lcoe)) diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 37c8087a0..a159f7b33 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -389,6 +389,7 @@ def annual_levelized_cost_of_energy( technologies: xr.Dataset, demand: xr.DataArray, prices: xr.DataArray, + timeslice_level: Optional[str] = None, *args, **kwargs, ): @@ -400,9 +401,8 @@ def annual_levelized_cost_of_energy( See :py:func:`muse.costs.annual_levelized_cost_of_energy` for more details. """ - from muse.costs import annual_levelized_cost_of_energy as aLCOE + from muse.costs import levelized_cost_of_energy as LCOE from muse.quantities import consumption - from muse.timeslices import broadcast_timeslice, distribute_timeslice capacity = capacity_to_service_demand(technologies, demand) production = ( @@ -414,12 +414,14 @@ def annual_levelized_cost_of_energy( technologies=technologies, prices=prices, production=production ) - results = aLCOE( + results = LCOE( technologies=technologies, prices=prices, capacity=capacity, production=production, consumption=consump, + timeslice_level=timeslice_level, + method="annual", ) return results.where(np.isfinite(results)).fillna(0.0) @@ -441,7 +443,7 @@ def lifetime_levelized_cost_of_energy( The LCOE is set to zero for those timeslices where the production is zero, normally due to a zero utilisation factor. """ - from muse.costs import lifetime_levelized_cost_of_energy as LCOE + from muse.costs import levelized_cost_of_energy as LCOE from muse.quantities import capacity_to_service_demand, consumption capacity = capacity_to_service_demand( @@ -463,6 +465,7 @@ def lifetime_levelized_cost_of_energy( production=production, consumption=consump, timeslice_level=timeslice_level, + method="lifetime", ) return results.where(np.isfinite(results)).fillna(0.0) diff --git a/src/muse/outputs/mca.py b/src/muse/outputs/mca.py index 2b9d3ce08..cec60ffec 100644 --- a/src/muse/outputs/mca.py +++ b/src/muse/outputs/mca.py @@ -414,7 +414,7 @@ def metric_lcoe( def sector_lcoe(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.DataFrame: """Levelized cost of energy () of technologies over their lifetime.""" - from muse.costs import lifetime_levelized_cost_of_energy as LCOE + from muse.costs import levelized_cost_of_energy as LCOE from muse.quantities import capacity_to_service_demand # Filtering of the inputs @@ -463,6 +463,7 @@ def sector_lcoe(sector: AbstractSector, market: xr.Dataset, **kwargs) -> pd.Data capacity=capacity, production=production, consumption=consump, + method="lifetime", ) data_agent = result diff --git a/src/muse/sectors/sector.py b/src/muse/sectors/sector.py index 3deb30082..79f15b1ad 100644 --- a/src/muse/sectors/sector.py +++ b/src/muse/sectors/sector.py @@ -289,7 +289,7 @@ def save_outputs(self) -> None: def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: """Computes resulting market: production, consumption, and costs.""" from muse.commodities import is_pollutant - from muse.costs import annual_levelized_cost_of_energy, supply_cost + from muse.costs import levelized_cost_of_energy, supply_cost from muse.quantities import consumption from muse.utilities import broadcast_techs @@ -315,13 +315,14 @@ def market_variables(self, market: xr.Dataset, technologies: xr.Dataset) -> Any: # Calculate LCOE # We select data for the second year, which corresponds to the investment year technodata = cast(xr.Dataset, broadcast_techs(technologies, supply)) - lcoe = annual_levelized_cost_of_energy( + lcoe = levelized_cost_of_energy( prices=market.prices.sel(region=supply.region).isel(year=1), technologies=technodata, capacity=capacity.isel(year=1), production=supply.isel(year=1), consumption=consume.isel(year=1), timeslice_level=self.timeslice_level, + method="annual", ) # Calculate new commodity prices diff --git a/tests/test_costs.py b/tests/test_costs.py index c12c743d0..1d8f11b3c 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -100,10 +100,10 @@ def test_equivalent_annual_cost( def test_lifetime_levelized_cost_of_energy( _technologies, _prices, _capacity, _production, _consumption ): - from muse.costs import lifetime_levelized_cost_of_energy + from muse.costs import levelized_cost_of_energy - result = lifetime_levelized_cost_of_energy( - _technologies, _prices, _capacity, _production, _consumption + result = levelized_cost_of_energy( + _technologies, _prices, _capacity, _production, _consumption, method="lifetime" ) assert set(result.dims) == {"asset", "region", "technology", "timeslice"} @@ -111,19 +111,19 @@ def test_lifetime_levelized_cost_of_energy( def test_annual_levelized_cost_of_energy( _technologies, _prices, _capacity, _production, _consumption ): - from muse.costs import annual_levelized_cost_of_energy + from muse.costs import levelized_cost_of_energy - result = annual_levelized_cost_of_energy( - _technologies, _prices, _capacity, _production, _consumption + result = levelized_cost_of_energy( + _technologies, _prices, _capacity, _production, _consumption, method="annual" ) assert set(result.dims) == {"asset", "region", "technology", "timeslice"} def test_supply_cost(_technologies, _prices, _capacity, _production, _consumption): - from muse.costs import annual_levelized_cost_of_energy, supply_cost + from muse.costs import levelized_cost_of_energy, supply_cost - lcoe = annual_levelized_cost_of_energy( - _technologies, _prices, _capacity, _production, _consumption + lcoe = levelized_cost_of_energy( + _technologies, _prices, _capacity, _production, _consumption, method="annual" ) result = supply_cost(_production, lcoe) assert set(result.dims) == { From 88cbe33b3d9e3c191d694c3b49222db08390b139 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 5 Dec 2024 14:35:01 +0000 Subject: [PATCH 086/121] Modern annotations in costs module --- src/muse/costs.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 407375b09..ba913ed24 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -6,8 +6,9 @@ data for the technologies, where appropriate. """ +from __future__ import annotations + from functools import wraps -from typing import Optional import numpy as np import xarray as xr @@ -46,7 +47,7 @@ def net_present_value( capacity: xr.DataArray, production: xr.DataArray, consumption: xr.DataArray, - timeslice_level: Optional[str] = None, + timeslice_level: str | None = None, ) -> xr.DataArray: """Net present value (NPV) of the relevant technologies. @@ -209,7 +210,7 @@ def equivalent_annual_cost( capacity: xr.DataArray, production: xr.DataArray, consumption: xr.DataArray, - timeslice_level: Optional[str] = None, + timeslice_level: str | None = None, ) -> xr.DataArray: """Equivalent annual costs (or annualized cost) of a technology. @@ -246,7 +247,7 @@ def levelized_cost_of_energy( production: xr.DataArray, consumption: xr.DataArray, method: str = "lifetime", - timeslice_level: Optional[str] = None, + timeslice_level: str | None = None, ) -> xr.DataArray: """Levelized cost of energy (LCOE) of technologies over their lifetime. @@ -363,7 +364,7 @@ def levelized_cost_of_energy( def supply_cost( - production: xr.DataArray, lcoe: xr.DataArray, asset_dim: Optional[str] = "asset" + production: xr.DataArray, lcoe: xr.DataArray, asset_dim: str | None = "asset" ) -> xr.DataArray: """Supply cost given production and the levelized cost of energy. From eb4ddf526a2302a0f9cde68fd56a747a1168ec5e Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 5 Dec 2024 14:46:16 +0000 Subject: [PATCH 087/121] Tidy NPV function --- src/muse/costs.py | 95 +++++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 48 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index ba913ed24..42f67cba4 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -100,75 +100,74 @@ def net_present_value( ] ] - # Evolution of rates with time - life = techs.technical_life.astype(int) - iyears = range(life.values.max()) - years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") - rates = broadcast_timeslice( - discount_factor( - years=years, - interest_rate=techs.interest_rate, - mask=years <= life, - ), - level=timeslice_level, - ) - # Filters environmentals = is_pollutant(technologies.comm_usage) material = is_material(technologies.comm_usage) products = is_enduse(technologies.comm_usage) fuels = is_fuel(technologies.comm_usage) - # Revenue + # Revenue (annual) prices_non_env = filter_input(prices, commodity=products) - raw_revenues = (production * prices_non_env * rates).sum(("commodity", "year")) + revenues = (production * prices_non_env).sum("commodity") # Cost of installed capacity installed_capacity_costs = distribute_timeslice( techs.cap_par * (capacity**techs.cap_exp), level=timeslice_level ) - # Cost related to environmental products + # Cost related to environmental products (annual) prices_environmental = filter_input(prices, commodity=environmentals) - environmental_costs = (production * prices_environmental * rates).sum( - ("commodity", "year") - ) + environmental_costs = (production * prices_environmental).sum("commodity") - # Fuel/energy costs + # Fuel/energy costs (annual) prices_fuel = filter_input(prices, commodity=fuels) - fuel_costs = (consumption * prices_fuel * rates).sum(("commodity", "year")) + fuel_costs = (consumption * prices_fuel).sum("commodity") - # Cost related to material other than fuel/energy and environmentals + # Cost related to material other than fuel/energy and environmentals (annual) prices_material = filter_input(prices, commodity=material) - material_costs = (consumption * prices_material * rates).sum(("commodity", "year")) + material_costs = (consumption * prices_material).sum("commodity") - # Fixed costs - fixed_costs = ( - distribute_timeslice( - techs.fix_par * (capacity**techs.fix_exp), level=timeslice_level - ) - * rates - ).sum("year") + # Fixed costs (annual) + fixed_costs = distribute_timeslice( + techs.fix_par * (capacity**techs.fix_exp), level=timeslice_level + ) - # Variable costs + # Variable costs (annual) tech_activity = production_amplitude(production, techs, timeslice_level) - variable_costs = ( + variable_costs = broadcast_timeslice( + techs.var_par, level=timeslice_level + ) * tech_activity ** broadcast_timeslice(techs.var_exp, level=timeslice_level) + + # Evolution of rates with time + life = techs.technical_life.astype(int) + iyears = range(life.values.max()) + years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") + rates = broadcast_timeslice( + discount_factor( + years=years, + interest_rate=techs.interest_rate, + mask=years <= life, + ), + level=timeslice_level, + ) + + # Total costs + total_costs = installed_capacity_costs + ( ( - broadcast_timeslice(techs.var_par, level=timeslice_level) - * tech_activity ** broadcast_timeslice(techs.var_exp, level=timeslice_level) + environmental_costs + + fuel_costs + + material_costs + + fixed_costs + + variable_costs ) * rates ).sum("year") + # Total revenues + total_revenues = (revenues * rates).sum("year") + # Net present value - result = raw_revenues - ( - installed_capacity_costs - + fuel_costs - + environmental_costs - + material_costs - + fixed_costs - + variable_costs - ) + result = total_revenues - total_costs return result @@ -301,30 +300,30 @@ def levelized_cost_of_energy( techs.technical_life, level=timeslice_level ) - # Cost related to environmental products + # Cost related to environmental products (annual) prices_environmental = filter_input(prices, commodity=environmentals) environmental_costs = (production * prices_environmental).sum("commodity") - # Fuel/energy costs + # Fuel/energy costs (annual) prices_fuel = filter_input(prices, commodity=fuels) fuel_costs = (consumption * prices_fuel).sum("commodity") - # Cost related to material other than fuel/energy and environmentals + # Cost related to material other than fuel/energy and environmentals (annual) prices_material = filter_input(prices, commodity=material) material_costs = (consumption * prices_material).sum("commodity") - # Fixed costs + # Fixed costs (annual) fixed_costs = distribute_timeslice( techs.fix_par * (capacity**techs.fix_exp), level=timeslice_level ) - # Variable costs + # Variable costs (annual) tech_activity = production_amplitude(production, techs, timeslice_level) variable_costs = broadcast_timeslice( techs.var_par, level=timeslice_level ) * tech_activity ** broadcast_timeslice(techs.var_exp, level=timeslice_level) - # Rates for running costs + # Evolution of rates with time if method == "lifetime": life = techs.technical_life.astype(int) iyears = range(life.values.max()) From 2d70544eb8f1de72d4a659d47e16c3a59c6ae96d Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 5 Dec 2024 14:56:00 +0000 Subject: [PATCH 088/121] Remove code, reorder --- src/muse/costs.py | 121 ++++++++++++++++++---------------------------- 1 file changed, 48 insertions(+), 73 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 42f67cba4..be3d771e6 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -84,35 +84,32 @@ def net_present_value( """ from muse.quantities import production_amplitude - # Filtering of the inputs - techs = technologies[ - [ - "technical_life", - "interest_rate", - "cap_par", - "cap_exp", - "var_par", - "var_exp", - "fix_par", - "fix_exp", - "fixed_outputs", - "utilization_factor", - ] - ] - # Filters environmentals = is_pollutant(technologies.comm_usage) material = is_material(technologies.comm_usage) products = is_enduse(technologies.comm_usage) fuels = is_fuel(technologies.comm_usage) + # Evolution of rates with time + life = technologies.technical_life.astype(int) + iyears = range(life.values.max()) + years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") + rates = broadcast_timeslice( + discount_factor( + years=years, + interest_rate=technologies.interest_rate, + mask=years <= life, + ), + level=timeslice_level, + ) + # Revenue (annual) prices_non_env = filter_input(prices, commodity=products) revenues = (production * prices_non_env).sum("commodity") # Cost of installed capacity installed_capacity_costs = distribute_timeslice( - techs.cap_par * (capacity**techs.cap_exp), level=timeslice_level + technologies.cap_par * (capacity**technologies.cap_exp), level=timeslice_level ) # Cost related to environmental products (annual) @@ -129,26 +126,15 @@ def net_present_value( # Fixed costs (annual) fixed_costs = distribute_timeslice( - techs.fix_par * (capacity**techs.fix_exp), level=timeslice_level + technologies.fix_par * (capacity**technologies.fix_exp), level=timeslice_level ) # Variable costs (annual) - tech_activity = production_amplitude(production, techs, timeslice_level) + tech_activity = production_amplitude(production, technologies, timeslice_level) variable_costs = broadcast_timeslice( - techs.var_par, level=timeslice_level - ) * tech_activity ** broadcast_timeslice(techs.var_exp, level=timeslice_level) - - # Evolution of rates with time - life = techs.technical_life.astype(int) - iyears = range(life.values.max()) - years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") - rates = broadcast_timeslice( - discount_factor( - years=years, - interest_rate=techs.interest_rate, - mask=years <= life, - ), - level=timeslice_level, + technologies.var_par, level=timeslice_level + ) * tech_activity ** broadcast_timeslice( + technologies.var_exp, level=timeslice_level ) # Total costs @@ -270,34 +256,33 @@ def levelized_cost_of_energy( if method not in ["lifetime", "annual"]: raise ValueError("method must be either 'lifetime' or 'annual'.") - techs = technologies[ - [ - "technical_life", - "interest_rate", - "cap_par", - "cap_exp", - "var_par", - "var_exp", - "fix_par", - "fix_exp", - "fixed_outputs", - "utilization_factor", - ] - ] - # Filters environmentals = is_pollutant(technologies.comm_usage) material = is_material(technologies.comm_usage) products = is_enduse(technologies.comm_usage) fuels = is_fuel(technologies.comm_usage) + # Evolution of rates with time + if method == "lifetime": + life = technologies.technical_life.astype(int) + iyears = range(life.values.max()) + years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") + rates = discount_factor( + years=years, + interest_rate=technologies.interest_rate, + mask=years <= life, + ) + else: + rates = xr.DataArray([1], coords={"year": [0]}, dims="year") + rates = broadcast_timeslice(rates, level=timeslice_level) + # Cost of installed capacity installed_capacity_costs = distribute_timeslice( - techs.cap_par * (capacity**techs.cap_exp), level=timeslice_level + technologies.cap_par * (capacity**technologies.cap_exp), level=timeslice_level ) if method == "annual": installed_capacity_costs /= broadcast_timeslice( - techs.technical_life, level=timeslice_level + technologies.technical_life, level=timeslice_level ) # Cost related to environmental products (annual) @@ -314,28 +299,23 @@ def levelized_cost_of_energy( # Fixed costs (annual) fixed_costs = distribute_timeslice( - techs.fix_par * (capacity**techs.fix_exp), level=timeslice_level + technologies.fix_par * (capacity**technologies.fix_exp), level=timeslice_level ) # Variable costs (annual) - tech_activity = production_amplitude(production, techs, timeslice_level) + tech_activity = production_amplitude(production, technologies, timeslice_level) variable_costs = broadcast_timeslice( - techs.var_par, level=timeslice_level - ) * tech_activity ** broadcast_timeslice(techs.var_exp, level=timeslice_level) + technologies.var_par, level=timeslice_level + ) * tech_activity ** broadcast_timeslice( + technologies.var_exp, level=timeslice_level + ) - # Evolution of rates with time - if method == "lifetime": - life = techs.technical_life.astype(int) - iyears = range(life.values.max()) - years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") - rates = discount_factor( - years=years, - interest_rate=techs.interest_rate, - mask=years <= life, - ) - else: - rates = xr.DataArray([1], coords={"year": [0]}, dims="year") - rates = broadcast_timeslice(rates, level=timeslice_level) + # Production (annual) + prod = ( + production.where(production > 0.0, 1e-6) + .sel(commodity=products) + .sum("commodity") + ) # Total costs total_costs = installed_capacity_costs + ( @@ -349,12 +329,7 @@ def levelized_cost_of_energy( * rates ).sum("year") - # Production - prod = ( - production.where(production > 0.0, 1e-6) - .sel(commodity=products) - .sum("commodity") - ) + # Total production total_prod = (prod * rates).sum("year") # LCOE From 58ffc1c3050dfbd4c974596fe7e9af6c4699b4ff Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 6 Dec 2024 14:21:31 +0000 Subject: [PATCH 089/121] Docstring description of lifetime vs annual --- src/muse/costs.py | 26 ++++++++++++++++++++++---- src/muse/utilities.py | 5 +++-- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index be3d771e6..5d388e97d 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -90,7 +90,7 @@ def net_present_value( products = is_enduse(technologies.comm_usage) fuels = is_fuel(technologies.comm_usage) - # Evolution of rates with time + # Calculate mask for weighted sum of costs across years life = technologies.technical_life.astype(int) iyears = range(life.values.max()) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") @@ -238,6 +238,19 @@ def levelized_cost_of_energy( It follows the `simplified LCOE` given by NREL. + Can calculate either a lifetime or annual LCOE. + - lifetime: the average cost per unit of production over the entire lifetime of the + technology. + Annual running costs and production are calculated for the full lifetime of the + technology, and adjusted to a present value using the discount rate. Total + costs (running costs over the lifetime + initial capital costs) are then divided + by total production to get the average cost per unit of production. + - annual: the average cost per unit of production in a single year. + Annual running costs and production are calculated for a single year. Capital + costs are divided by the lifetime of the technology to get an annualized cost. + Total costs (annualized capital costs + running costs) are then divided by + production to get the average cost per unit of production. + Arguments: technologies: xr.Dataset of technology parameters prices: xr.DataArray with commodity prices @@ -262,8 +275,9 @@ def levelized_cost_of_energy( products = is_enduse(technologies.comm_usage) fuels = is_fuel(technologies.comm_usage) - # Evolution of rates with time + # Calculate mask for weighted sum of costs/production across years if method == "lifetime": + # Weighting is the discount factor over the lifetime of each technology life = technologies.technical_life.astype(int) iyears = range(life.values.max()) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") @@ -272,7 +286,8 @@ def levelized_cost_of_energy( interest_rate=technologies.interest_rate, mask=years <= life, ) - else: + else: # method == "annual" + # Single year with weight 1 rates = xr.DataArray([1], coords={"year": [0]}, dims="year") rates = broadcast_timeslice(rates, level=timeslice_level) @@ -281,6 +296,7 @@ def levelized_cost_of_energy( technologies.cap_par * (capacity**technologies.cap_exp), level=timeslice_level ) if method == "annual": + # Divide by lifetime to get annualized cost installed_capacity_costs /= broadcast_timeslice( technologies.technical_life, level=timeslice_level ) @@ -314,7 +330,9 @@ def levelized_cost_of_energy( prod = ( production.where(production > 0.0, 1e-6) .sel(commodity=products) - .sum("commodity") + .sum( + "commodity" + ) # TODO: is this the correct way to deal with multiple products? ) # Total costs diff --git a/src/muse/utilities.py b/src/muse/utilities.py index 263301112..9923d753d 100644 --- a/src/muse/utilities.py +++ b/src/muse/utilities.py @@ -676,12 +676,13 @@ def check_dimensions( required: List of dimension names that must be present optional: List of dimension names that may be present """ - present = set(data.dims) _required = set(filter(None, required)) + _optional = set(filter(None, optional)) + + present = set(data.dims) missing = _required - present if missing: raise ValueError(f"Missing required dimensions: {missing}") - _optional = set(filter(None, optional)) extra = present - _required - _optional if extra: raise ValueError(f"Extra dimensions: {extra}") From ec730ed0204cc5fdd2886b61b3a92620d11faed5 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 6 Dec 2024 15:59:33 +0000 Subject: [PATCH 090/121] Functions for capital costs, running costs, annual_weights --- src/muse/costs.py | 334 +++++++++++++++++++++++++++------------------- 1 file changed, 193 insertions(+), 141 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 5d388e97d..7c51fcaf2 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -14,15 +14,33 @@ import xarray as xr from muse.commodities import is_enduse, is_fuel, is_material, is_pollutant +from muse.quantities import production_amplitude from muse.timeslices import broadcast_timeslice, distribute_timeslice from muse.utilities import filter_input -def validate(func): - """Decorator to validate the input and output dimensions of the cost functions.""" +def cost(func): + """Decorator to validate the input and output dimensions of the cost functions. + + Rules: + - Cost functions only support parameter sets for a single year (i.e. no "year" + dimension in any of the inputs). Costs are then calculated for a single year + with the parameters provided. In the case of lifetime costs (e.g. lifetime + LCOE), costs are calculated assuming fixed parameters over the lifetime of the + technology. + """ @wraps(func) - def wrapper(technologies, prices, capacity, production, consumption, **kwargs): + def wrapper( + technologies: xr.Dataset, + prices: xr.DataArray, + capacity: xr.DataArray, + production: xr.DataArray, + consumption: xr.DataArray, + timeslice_level: str | None = None, + *args, + **kwargs, + ): # Check input data assert "year" not in technologies.dims assert "year" not in prices.dims @@ -31,7 +49,16 @@ def wrapper(technologies, prices, capacity, production, consumption, **kwargs): assert "year" not in consumption.dims # Call the function - result = func(technologies, prices, capacity, production, consumption, **kwargs) + result = func( + technologies, + prices, + capacity, + production, + consumption, + timeslice_level, + *args, + **kwargs, + ) # Check output data assert "year" not in result.dims @@ -40,7 +67,75 @@ def wrapper(technologies, prices, capacity, production, consumption, **kwargs): return wrapper -@validate +@cost +def capital_costs( + technologies: xr.Dataset, + prices: xr.DataArray, + capacity: xr.DataArray, + production: xr.DataArray, + consumption: xr.DataArray, + timeslice_level: str | None = None, + method: str = "lifetime", +): + if method not in ["lifetime", "annual"]: + raise ValueError("method must be either 'lifetime' or 'annual'.") + + _capital_costs = distribute_timeslice( + technologies.cap_par * (capacity**technologies.cap_exp), level=timeslice_level + ) + if method == "annual": + # Divide by lifetime to get annualized cost + _capital_costs /= broadcast_timeslice( + technologies.technical_life, level=timeslice_level + ) + return _capital_costs + + +@cost +def running_costs( + technologies: xr.Dataset, + prices: xr.DataArray, + capacity: xr.DataArray, + production: xr.DataArray, + consumption: xr.DataArray, + timeslice_level: str | None = None, +) -> xr.DataArray: + # Cost related to environmental products + environmentals = is_pollutant(technologies.comm_usage) + prices_environmental = filter_input(prices, commodity=environmentals) + environmental_costs = (production * prices_environmental).sum("commodity") + + # Fuel/energy costs + fuels = is_fuel(technologies.comm_usage) + prices_fuel = filter_input(prices, commodity=fuels) + fuel_costs = (consumption * prices_fuel).sum("commodity") + + # Cost related to material other than fuel/energy and environmentals + material = is_material(technologies.comm_usage) + prices_material = filter_input(prices, commodity=material) + material_costs = (consumption * prices_material).sum("commodity") + + # Fixed costs + fixed_costs = distribute_timeslice( + technologies.fix_par * (capacity**technologies.fix_exp), level=timeslice_level + ) + + # Variable costs + tech_activity = production_amplitude(production, technologies, timeslice_level) + variable_costs = broadcast_timeslice( + technologies.var_par, level=timeslice_level + ) * tech_activity ** broadcast_timeslice( + technologies.var_exp, level=timeslice_level + ) + + # Total costs + total_costs = ( + environmental_costs + fuel_costs + material_costs + fixed_costs + variable_costs + ) + return total_costs + + +@cost def net_present_value( technologies: xr.Dataset, prices: xr.DataArray, @@ -48,10 +143,11 @@ def net_present_value( production: xr.DataArray, consumption: xr.DataArray, timeslice_level: str | None = None, + method: str = "lifetime", ) -> xr.DataArray: """Net present value (NPV) of the relevant technologies. - The net present value of a technology is the present value of all the revenues that + The net present value of a technology is the present value of all the revenues that a technology earns over its lifetime minus all the costs of installing and operating it. Follows the definition of the `net present cost`_ given by HOMER Energy. .. _net present cost: @@ -64,12 +160,6 @@ def net_present_value( installed capacity and production (non-environmental), respectively - capacity costs are given as technodata inputs and depend on the installed capacity - Note: - Here, the installation year is always agent.forecast_year, - since objectives compute the - NPV for technologies to be installed in the current year. A more general NPV - computation would have to refer to installation year of the technology. - Arguments: technologies: xr.Dataset of technology parameters prices: xr.DataArray with commodity prices @@ -78,76 +168,38 @@ def net_present_value( consumption: xr.DataArray with commodity consumption by the relevant technologies timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") + method: "lifetime" or "annual" Return: xr.DataArray with the NPV calculated for the relevant technologies """ - from muse.quantities import production_amplitude - - # Filters - environmentals = is_pollutant(technologies.comm_usage) - material = is_material(technologies.comm_usage) - products = is_enduse(technologies.comm_usage) - fuels = is_fuel(technologies.comm_usage) + # Mask for weighted sum of costs/production across years + rates = annual_weights(technologies, method) + rates = broadcast_timeslice(rates, level=timeslice_level) - # Calculate mask for weighted sum of costs across years - life = technologies.technical_life.astype(int) - iyears = range(life.values.max()) - years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") - rates = broadcast_timeslice( - discount_factor( - years=years, - interest_rate=technologies.interest_rate, - mask=years <= life, - ), - level=timeslice_level, + # Capital costs + _capital_costs = capital_costs( + technologies, + prices, + capacity, + production, + consumption, + timeslice_level, + method, ) # Revenue (annual) + products = is_enduse(technologies.comm_usage) prices_non_env = filter_input(prices, commodity=products) revenues = (production * prices_non_env).sum("commodity") - # Cost of installed capacity - installed_capacity_costs = distribute_timeslice( - technologies.cap_par * (capacity**technologies.cap_exp), level=timeslice_level - ) - - # Cost related to environmental products (annual) - prices_environmental = filter_input(prices, commodity=environmentals) - environmental_costs = (production * prices_environmental).sum("commodity") - - # Fuel/energy costs (annual) - prices_fuel = filter_input(prices, commodity=fuels) - fuel_costs = (consumption * prices_fuel).sum("commodity") - - # Cost related to material other than fuel/energy and environmentals (annual) - prices_material = filter_input(prices, commodity=material) - material_costs = (consumption * prices_material).sum("commodity") - - # Fixed costs (annual) - fixed_costs = distribute_timeslice( - technologies.fix_par * (capacity**technologies.fix_exp), level=timeslice_level - ) - - # Variable costs (annual) - tech_activity = production_amplitude(production, technologies, timeslice_level) - variable_costs = broadcast_timeslice( - technologies.var_par, level=timeslice_level - ) * tech_activity ** broadcast_timeslice( - technologies.var_exp, level=timeslice_level + # Running costs (annual) + _running_costs = running_costs( + technologies, prices, capacity, production, consumption, timeslice_level ) # Total costs - total_costs = installed_capacity_costs + ( - ( - environmental_costs - + fuel_costs - + material_costs - + fixed_costs - + variable_costs - ) - * rates - ).sum("year") + total_costs = _capital_costs + (_running_costs * rates).sum("year") # Total revenues total_revenues = (revenues * rates).sum("year") @@ -157,13 +209,15 @@ def net_present_value( return result -@validate +@cost def net_present_cost( technologies: xr.Dataset, prices: xr.DataArray, capacity: xr.DataArray, production: xr.DataArray, consumption: xr.DataArray, + timeslice_level: str | None = None, + method: str = "lifetime", ) -> xr.DataArray: """Net present cost (NPC) of the relevant technologies. @@ -181,14 +235,18 @@ def net_present_cost( production: xr.DataArray with commodity production by the relevant technologies consumption: xr.DataArray with commodity consumption by the relevant technologies + timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") + method: "lifetime" or "annual" Return: xr.DataArray with the NPC calculated for the relevant technologies """ - return -net_present_value(technologies, prices, capacity, production, consumption) + return -net_present_value( + technologies, prices, capacity, production, consumption, timeslice_level, method + ) -@validate +@cost def equivalent_annual_cost( technologies: xr.Dataset, prices: xr.DataArray, @@ -219,20 +277,28 @@ def equivalent_annual_cost( Return: xr.DataArray with the EAC calculated for the relevant technologies """ - npc = net_present_cost(technologies, prices, capacity, production, consumption) + npc = net_present_cost( + technologies, + prices, + capacity, + production, + consumption, + timeslice_level=timeslice_level, + method="lifetime", + ) crf = capital_recovery_factor(technologies) return npc * broadcast_timeslice(crf, level=timeslice_level) -@validate +@cost def levelized_cost_of_energy( technologies: xr.Dataset, prices: xr.DataArray, capacity: xr.DataArray, production: xr.DataArray, consumption: xr.DataArray, - method: str = "lifetime", timeslice_level: str | None = None, + method: str = "lifetime", ) -> xr.DataArray: """Levelized cost of energy (LCOE) of technologies over their lifetime. @@ -258,75 +324,34 @@ def levelized_cost_of_energy( production: xr.DataArray with commodity production by the relevant technologies consumption: xr.DataArray with commodity consumption by the relevant technologies - method: "lifetime" or "annual" timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") + method: "lifetime" or "annual" Return: xr.DataArray with the LCOE calculated for the relevant technologies """ - from muse.quantities import production_amplitude - - if method not in ["lifetime", "annual"]: - raise ValueError("method must be either 'lifetime' or 'annual'.") - - # Filters - environmentals = is_pollutant(technologies.comm_usage) - material = is_material(technologies.comm_usage) - products = is_enduse(technologies.comm_usage) - fuels = is_fuel(technologies.comm_usage) - - # Calculate mask for weighted sum of costs/production across years - if method == "lifetime": - # Weighting is the discount factor over the lifetime of each technology - life = technologies.technical_life.astype(int) - iyears = range(life.values.max()) - years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") - rates = discount_factor( - years=years, - interest_rate=technologies.interest_rate, - mask=years <= life, - ) - else: # method == "annual" - # Single year with weight 1 - rates = xr.DataArray([1], coords={"year": [0]}, dims="year") + # Mask for weighted sum of costs/production across years + rates = annual_weights(technologies, method) rates = broadcast_timeslice(rates, level=timeslice_level) - # Cost of installed capacity - installed_capacity_costs = distribute_timeslice( - technologies.cap_par * (capacity**technologies.cap_exp), level=timeslice_level - ) - if method == "annual": - # Divide by lifetime to get annualized cost - installed_capacity_costs /= broadcast_timeslice( - technologies.technical_life, level=timeslice_level - ) - - # Cost related to environmental products (annual) - prices_environmental = filter_input(prices, commodity=environmentals) - environmental_costs = (production * prices_environmental).sum("commodity") - - # Fuel/energy costs (annual) - prices_fuel = filter_input(prices, commodity=fuels) - fuel_costs = (consumption * prices_fuel).sum("commodity") - - # Cost related to material other than fuel/energy and environmentals (annual) - prices_material = filter_input(prices, commodity=material) - material_costs = (consumption * prices_material).sum("commodity") - - # Fixed costs (annual) - fixed_costs = distribute_timeslice( - technologies.fix_par * (capacity**technologies.fix_exp), level=timeslice_level + # Capital costs + _capital_costs = capital_costs( + technologies, + prices, + capacity, + production, + consumption, + timeslice_level, + method, ) - # Variable costs (annual) - tech_activity = production_amplitude(production, technologies, timeslice_level) - variable_costs = broadcast_timeslice( - technologies.var_par, level=timeslice_level - ) * tech_activity ** broadcast_timeslice( - technologies.var_exp, level=timeslice_level + # Running costs (annual) + _running_costs = running_costs( + technologies, prices, capacity, production, consumption, timeslice_level ) # Production (annual) + products = is_enduse(technologies.comm_usage) prod = ( production.where(production > 0.0, 1e-6) .sel(commodity=products) @@ -336,16 +361,7 @@ def levelized_cost_of_energy( ) # Total costs - total_costs = installed_capacity_costs + ( - ( - environmental_costs - + fuel_costs - + material_costs - + fixed_costs - + variable_costs - ) - * rates - ).sum("year") + total_costs = _capital_costs + (_running_costs * rates).sum("year") # Total production total_prod = (prod * rates).sum("year") @@ -404,6 +420,42 @@ def capital_recovery_factor(technologies: xr.Dataset) -> xr.DataArray: return crf +def annual_weights(technologies: xr.Dataset, method: str = "lifetime") -> xr.DataArray: + """Annual weights used to sum costs over the lifetime of the technologies. + + Methods: + - lifetime: weights are the discount factor over the lifetime of the technology, + and zero for any years beyond this. + - annual: costs are calculated for a single year, so the weight is 1 for this year. + + Args: + technologies: xr.Dataset of technology parameters + method: "lifetime" or "annual" + + Returns: + Dataarray with the weights for each year. In the case of lifetime weights, + data will cover all years up to the technology with the highest lifetime. + """ + if method not in ["lifetime", "annual"]: + raise ValueError("method must be either 'lifetime' or 'annual'.") + + if method == "lifetime": + # Weighting is the discount factor over the lifetime of each technology + life = technologies.technical_life.astype(int) + iyears = range(life.values.max()) + years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") + rates = discount_factor( + years=years, + interest_rate=technologies.interest_rate, + mask=years <= life, + ) + else: # method == "annual" + # Single year with weight 1 + rates = xr.DataArray([1], coords={"year": [0]}, dims="year") + assert "year" in rates.dims + return rates + + def discount_factor(years, interest_rate, mask=1.0): """Calculate an array with the rate (aka discount factor) values over the years.""" return mask / (1 + interest_rate) ** years From 0a54642d01e119decd9db4ae047a657d2f6d54f7 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 6 Dec 2024 16:19:36 +0000 Subject: [PATCH 091/121] annual_to_lifetime function --- src/muse/costs.py | 81 ++++++++++++++++------------------------------- 1 file changed, 27 insertions(+), 54 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 7c51fcaf2..a92ebd266 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -173,11 +173,10 @@ def net_present_value( Return: xr.DataArray with the NPV calculated for the relevant technologies """ - # Mask for weighted sum of costs/production across years - rates = annual_weights(technologies, method) - rates = broadcast_timeslice(rates, level=timeslice_level) + if method not in ["lifetime", "annual"]: + raise ValueError("method must be either 'lifetime' or 'annual'.") - # Capital costs + # Capital costs (lifetime or annual depending on method) _capital_costs = capital_costs( technologies, prices, @@ -198,14 +197,13 @@ def net_present_value( technologies, prices, capacity, production, consumption, timeslice_level ) - # Total costs - total_costs = _capital_costs + (_running_costs * rates).sum("year") - - # Total revenues - total_revenues = (revenues * rates).sum("year") + # If method is lifetime, have to adjust running costs and revenues + if method == "lifetime": + _running_costs = annual_to_lifetime(_running_costs, technologies) + revenues = annual_to_lifetime(revenues, technologies) # Net present value - result = total_revenues - total_costs + result = revenues - (_capital_costs + _running_costs) return result @@ -330,11 +328,10 @@ def levelized_cost_of_energy( Return: xr.DataArray with the LCOE calculated for the relevant technologies """ - # Mask for weighted sum of costs/production across years - rates = annual_weights(technologies, method) - rates = broadcast_timeslice(rates, level=timeslice_level) + if method not in ["lifetime", "annual"]: + raise ValueError("method must be either 'lifetime' or 'annual'.") - # Capital costs + # Capital costs (lifetime or annual depending on method) _capital_costs = capital_costs( technologies, prices, @@ -360,14 +357,13 @@ def levelized_cost_of_energy( ) # TODO: is this the correct way to deal with multiple products? ) - # Total costs - total_costs = _capital_costs + (_running_costs * rates).sum("year") - - # Total production - total_prod = (prod * rates).sum("year") + # If method is lifetime, have to adjust running costs and production + if method == "lifetime": + _running_costs = annual_to_lifetime(_running_costs, technologies) + prod = annual_to_lifetime(prod, technologies) # LCOE - result = total_costs / total_prod + result = (_capital_costs + _running_costs) / prod return result @@ -420,40 +416,17 @@ def capital_recovery_factor(technologies: xr.Dataset) -> xr.DataArray: return crf -def annual_weights(technologies: xr.Dataset, method: str = "lifetime") -> xr.DataArray: - """Annual weights used to sum costs over the lifetime of the technologies. - - Methods: - - lifetime: weights are the discount factor over the lifetime of the technology, - and zero for any years beyond this. - - annual: costs are calculated for a single year, so the weight is 1 for this year. - - Args: - technologies: xr.Dataset of technology parameters - method: "lifetime" or "annual" - - Returns: - Dataarray with the weights for each year. In the case of lifetime weights, - data will cover all years up to the technology with the highest lifetime. - """ - if method not in ["lifetime", "annual"]: - raise ValueError("method must be either 'lifetime' or 'annual'.") - - if method == "lifetime": - # Weighting is the discount factor over the lifetime of each technology - life = technologies.technical_life.astype(int) - iyears = range(life.values.max()) - years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") - rates = discount_factor( - years=years, - interest_rate=technologies.interest_rate, - mask=years <= life, - ) - else: # method == "annual" - # Single year with weight 1 - rates = xr.DataArray([1], coords={"year": [0]}, dims="year") - assert "year" in rates.dims - return rates +def annual_to_lifetime(costs, technologies, timeslice_level=None): + life = technologies.technical_life.astype(int) + iyears = range(life.values.max()) + years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") + rates = discount_factor( + years=years, + interest_rate=technologies.interest_rate, + mask=years <= life, + ) + rates = broadcast_timeslice(rates, level=timeslice_level) + return (costs * rates).sum("year") def discount_factor(years, interest_rate, mask=1.0): From cae24bfc2119c3155c4d8651265909af1b0de5a3 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 6 Dec 2024 16:42:20 +0000 Subject: [PATCH 092/121] Separate functions for running cost components --- src/muse/costs.py | 145 ++++++++++++++++++++++------------------------ 1 file changed, 69 insertions(+), 76 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index a92ebd266..75eb04b4b 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -20,47 +20,18 @@ def cost(func): - """Decorator to validate the input and output dimensions of the cost functions. + """Decorator to validate the output dimensions of the cost functions. - Rules: - - Cost functions only support parameter sets for a single year (i.e. no "year" - dimension in any of the inputs). Costs are then calculated for a single year - with the parameters provided. In the case of lifetime costs (e.g. lifetime - LCOE), costs are calculated assuming fixed parameters over the lifetime of the - technology. + Cost functions should only take parameters for a single year (i.e. no "year" + dimension in any of the inputs). Costs are then calculated for a single year + with the parameters provided. In the case of lifetime costs (e.g. lifetime + LCOE), costs are calculated assuming fixed parameters over the lifetime of the + technology. """ @wraps(func) - def wrapper( - technologies: xr.Dataset, - prices: xr.DataArray, - capacity: xr.DataArray, - production: xr.DataArray, - consumption: xr.DataArray, - timeslice_level: str | None = None, - *args, - **kwargs, - ): - # Check input data - assert "year" not in technologies.dims - assert "year" not in prices.dims - assert "year" not in capacity.dims - assert "year" not in production.dims - assert "year" not in consumption.dims - - # Call the function - result = func( - technologies, - prices, - capacity, - production, - consumption, - timeslice_level, - *args, - **kwargs, - ) - - # Check output data + def wrapper(*args, **kwargs): + result = func(*args, **kwargs) assert "year" not in result.dims return result @@ -70,10 +41,7 @@ def wrapper( @cost def capital_costs( technologies: xr.Dataset, - prices: xr.DataArray, capacity: xr.DataArray, - production: xr.DataArray, - consumption: xr.DataArray, timeslice_level: str | None = None, method: str = "lifetime", ): @@ -92,47 +60,84 @@ def capital_costs( @cost -def running_costs( - technologies: xr.Dataset, - prices: xr.DataArray, - capacity: xr.DataArray, - production: xr.DataArray, - consumption: xr.DataArray, - timeslice_level: str | None = None, +def environmental_costs( + technologies: xr.Dataset, prices: xr.DataArray, production: xr.DataArray ) -> xr.DataArray: - # Cost related to environmental products environmentals = is_pollutant(technologies.comm_usage) prices_environmental = filter_input(prices, commodity=environmentals) environmental_costs = (production * prices_environmental).sum("commodity") + return environmental_costs + - # Fuel/energy costs +@cost +def fuel_costs( + technologies: xr.Dataset, prices: xr.DataArray, consumption: xr.DataArray +) -> xr.DataArray: fuels = is_fuel(technologies.comm_usage) prices_fuel = filter_input(prices, commodity=fuels) fuel_costs = (consumption * prices_fuel).sum("commodity") + return fuel_costs - # Cost related to material other than fuel/energy and environmentals + +@cost +def material_costs( + technologies: xr.Dataset, prices: xr.DataArray, consumption: xr.DataArray +) -> xr.DataArray: material = is_material(technologies.comm_usage) prices_material = filter_input(prices, commodity=material) material_costs = (consumption * prices_material).sum("commodity") + return material_costs + - # Fixed costs +@cost +def fixed_costs( + technologies: xr.Dataset, capacity: xr.DataArray, timeslice_level: str | None = None +) -> xr.DataArray: fixed_costs = distribute_timeslice( technologies.fix_par * (capacity**technologies.fix_exp), level=timeslice_level ) + return fixed_costs + - # Variable costs +@cost +def variable_costs( + technologies: xr.Dataset, + production: xr.DataArray, + timeslice_level: str | None = None, +) -> xr.DataArray: tech_activity = production_amplitude(production, technologies, timeslice_level) variable_costs = broadcast_timeslice( technologies.var_par, level=timeslice_level ) * tech_activity ** broadcast_timeslice( technologies.var_exp, level=timeslice_level ) + return variable_costs + - # Total costs - total_costs = ( - environmental_costs + fuel_costs + material_costs + fixed_costs + variable_costs +@cost +def running_costs( + technologies: xr.Dataset, + prices: xr.DataArray, + capacity: xr.DataArray, + production: xr.DataArray, + consumption: xr.DataArray, + timeslice_level: str | None = None, +) -> xr.DataArray: + _environmental_costs = environmental_costs(technologies, prices, production) + _fuel_costs = fuel_costs(technologies, prices, consumption) + _material_costs = material_costs(technologies, prices, consumption) + _fixed_costs = fixed_costs(technologies, capacity, timeslice_level) + _variable_costs = variable_costs(technologies, production, timeslice_level) + + # Total running costs + result = ( + _environmental_costs + + _fuel_costs + + _material_costs + + _fixed_costs + + _variable_costs ) - return total_costs + return result @cost @@ -177,15 +182,7 @@ def net_present_value( raise ValueError("method must be either 'lifetime' or 'annual'.") # Capital costs (lifetime or annual depending on method) - _capital_costs = capital_costs( - technologies, - prices, - capacity, - production, - consumption, - timeslice_level, - method, - ) + _capital_costs = capital_costs(technologies, capacity, timeslice_level, method) # Revenue (annual) products = is_enduse(technologies.comm_usage) @@ -239,9 +236,10 @@ def net_present_cost( Return: xr.DataArray with the NPC calculated for the relevant technologies """ - return -net_present_value( + result = -net_present_value( technologies, prices, capacity, production, consumption, timeslice_level, method ) + return result @cost @@ -285,7 +283,8 @@ def equivalent_annual_cost( method="lifetime", ) crf = capital_recovery_factor(technologies) - return npc * broadcast_timeslice(crf, level=timeslice_level) + result = npc * broadcast_timeslice(crf, level=timeslice_level) + return result @cost @@ -332,15 +331,7 @@ def levelized_cost_of_energy( raise ValueError("method must be either 'lifetime' or 'annual'.") # Capital costs (lifetime or annual depending on method) - _capital_costs = capital_costs( - technologies, - prices, - capacity, - production, - consumption, - timeslice_level, - method, - ) + _capital_costs = capital_costs(technologies, capacity, timeslice_level, method) # Running costs (annual) _running_costs = running_costs( @@ -417,6 +408,8 @@ def capital_recovery_factor(technologies: xr.Dataset) -> xr.DataArray: def annual_to_lifetime(costs, technologies, timeslice_level=None): + assert "year" not in costs.dims + assert "year" not in technologies.dims life = technologies.technical_life.astype(int) iyears = range(life.values.max()) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") From 8e927b12b16138b55a053b5a07cfadf2c9aef3d1 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 6 Dec 2024 17:26:19 +0000 Subject: [PATCH 093/121] Modify objectives to use new cost functions --- src/muse/costs.py | 1 + src/muse/objectives.py | 57 +++++++++++++++++++++++------------------- 2 files changed, 32 insertions(+), 26 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 75eb04b4b..a9537b5c9 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -33,6 +33,7 @@ def cost(func): def wrapper(*args, **kwargs): result = func(*args, **kwargs) assert "year" not in result.dims + assert "timeslice" in result.dims return result return wrapper diff --git a/src/muse/objectives.py b/src/muse/objectives.py index a159f7b33..275cb3cda 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -71,7 +71,7 @@ def comfort( from muse.outputs.cache import cache_quantity from muse.registration import registrator from muse.timeslices import broadcast_timeslice, distribute_timeslice, drop_timeslice -from muse.utilities import check_dimensions, filter_input +from muse.utilities import check_dimensions OBJECTIVE_SIGNATURE = Callable[ [xr.Dataset, xr.DataArray, xr.DataArray, KwArg(Any)], xr.DataArray @@ -257,6 +257,7 @@ def consumption( technologies: xr.Dataset, demand: xr.DataArray, prices: xr.DataArray, + timeslice_level: Optional[str] = None, *args, **kwargs, ) -> xr.DataArray: @@ -269,9 +270,9 @@ def consumption( capacity = capacity_to_service_demand(technologies, demand) production = ( - broadcast_timeslice(capacity) - * distribute_timeslice(technologies.fixed_outputs) - * broadcast_timeslice(technologies.utilization_factor) + broadcast_timeslice(capacity, level=timeslice_level) + * distribute_timeslice(technologies.fixed_outputs, level=timeslice_level) + * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) ) consump = consumption( technologies=technologies, prices=prices, production=production @@ -299,10 +300,10 @@ def fixed_costs( :math:`\alpha` and :math:`\beta` are "fix_par" and "fix_exp" in :ref:`inputs-technodata`, respectively. """ - from muse.quantities import capacity_to_service_demand + from muse.costs import fixed_costs - capacity = capacity_to_service_demand(technologies=technologies, demand=demand) - result = technologies.fix_par * (capacity**technologies.fix_exp) + capacity = capacity_to_service_demand(technologies, demand) + result = fixed_costs(technologies, capacity).sum("timeslice") return result @@ -320,7 +321,10 @@ def capital_costs( :math:`\alpha` is "cap_exp". In other words, capital costs are constant across the simulation for each technology. """ - result = technologies.cap_par * (technologies.scaling_size**technologies.cap_exp) + from muse.costs import capital_costs + + capacity = capacity_to_service_demand(technologies, demand) + result = capital_costs(technologies, capacity, method="lifetime").sum("timeslice") result = xr.broadcast(result, demand.asset)[0] return result @@ -330,6 +334,7 @@ def emission_cost( technologies: xr.Dataset, demand: xr.DataArray, prices: xr.DataArray, + timeslice_level: Optional[str] = None, *args, **kwargs, ) -> xr.DataArray: @@ -345,15 +350,16 @@ def emission_cost( with :math:`s` the timeslices and :math:`c` the commodity. """ - from muse.commodities import is_enduse, is_pollutant + from muse.costs import environmental_costs - enduses = is_enduse(technologies.comm_usage.sel(commodity=demand.commodity)) - total = demand.sel(commodity=enduses).sum("commodity") - envs = is_pollutant(technologies.comm_usage) - prices = filter_input(prices, year=demand.year.item(), commodity=envs) - return total * (distribute_timeslice(technologies.fixed_outputs) * prices).sum( - "commodity" + capacity = capacity_to_service_demand(technologies, demand) + production = ( + broadcast_timeslice(capacity, level=timeslice_level) + * distribute_timeslice(technologies.fixed_outputs, level=timeslice_level) + * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) ) + result = environmental_costs(technologies, prices, production) + return result @register_objective @@ -361,27 +367,26 @@ def fuel_consumption_cost( technologies: xr.Dataset, demand: xr.DataArray, prices: xr.DataArray, + timeslice_level: Optional[str] = None, *args, **kwargs, ): """Cost of fuels when fulfilling whole demand.""" - from muse.commodities import is_fuel + from muse.costs import fuel_costs from muse.quantities import consumption from muse.timeslices import broadcast_timeslice, distribute_timeslice capacity = capacity_to_service_demand(technologies, demand) production = ( - broadcast_timeslice(capacity) - * distribute_timeslice(technologies.fixed_outputs) - * broadcast_timeslice(technologies.utilization_factor) + broadcast_timeslice(capacity, level=timeslice_level) + * distribute_timeslice(technologies.fixed_outputs, level=timeslice_level) + * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) ) consump = consumption( technologies=technologies, prices=prices, production=production ) - - commodity = is_fuel(technologies.comm_usage.sel(commodity=demand.commodity)) - prices = filter_input(prices, commodity=commodity) - return (consump * prices).sum("commodity") + result = fuel_costs(technologies, prices, consump) + return result @register_objective(name=["ALCOE"]) @@ -406,9 +411,9 @@ def annual_levelized_cost_of_energy( capacity = capacity_to_service_demand(technologies, demand) production = ( - broadcast_timeslice(capacity) - * distribute_timeslice(technologies.fixed_outputs) - * broadcast_timeslice(technologies.utilization_factor) + broadcast_timeslice(capacity, level=timeslice_level) + * distribute_timeslice(technologies.fixed_outputs, level=timeslice_level) + * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) ) consump = consumption( technologies=technologies, prices=prices, production=production From 5c24b13468e9a824149ffc5b9e04bf07b1d0c130 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 9 Dec 2024 11:46:46 +0000 Subject: [PATCH 094/121] Fix error in capacity_to_service_demand function --- src/muse/quantities.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 498c9b852..65058ff6a 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -535,7 +535,9 @@ def capacity_to_service_demand( level=timeslice_level, ) * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) capa_to_service_demand = demand / timeslice_outputs - return capa_to_service_demand.max(("commodity", "timeslice")) + return capa_to_service_demand.where(np.isfinite(capa_to_service_demand), 0).max( + ("commodity", "timeslice") + ) def production_amplitude( From c0395db96c3bfd0ba8cfbb719ffff75c93a91c83 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 9 Dec 2024 12:01:43 +0000 Subject: [PATCH 095/121] Tests for new costs functions --- tests/test_costs.py | 76 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 5 deletions(-) diff --git a/tests/test_costs.py b/tests/test_costs.py index 1d8f11b3c..3e973ef5c 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -2,6 +2,14 @@ YEAR = 2030 +"""Expected dimensions for the output data of the cost functions. + +This should be the same for all cost functions. In general, this is the sum of all +dimensions from the input data, minus "commodity", plus "timeslice" (if not already +present). +""" +EXPECTED_DIMS = {"asset", "region", "technology", "timeslice"} + @fixture def _prices(market): @@ -66,6 +74,55 @@ def test_fixtures(_technologies, _prices, _capacity, _production, _consumption): ) +def test_capital_costs(_technologies, _capacity): + from muse.costs import capital_costs + + result = capital_costs(_technologies, _capacity) + assert set(result.dims) == EXPECTED_DIMS + + +def test_environmental_costs(_technologies, _prices, _production): + from muse.costs import environmental_costs + + result = environmental_costs(_technologies, _prices, _production) + assert set(result.dims) == EXPECTED_DIMS + + +def test_fuel_costs(_technologies, _prices, _consumption): + from muse.costs import fuel_costs + + result = fuel_costs(_technologies, _prices, _consumption) + assert set(result.dims) == EXPECTED_DIMS + + +def test_material_costs(_technologies, _prices, _consumption): + from muse.costs import material_costs + + result = material_costs(_technologies, _prices, _consumption) + assert set(result.dims) == EXPECTED_DIMS + + +def test_fixed_costs(_technologies, _capacity): + from muse.costs import fixed_costs + + result = fixed_costs(_technologies, _capacity) + assert set(result.dims) == EXPECTED_DIMS + + +def test_variable_costs(_technologies, _production): + from muse.costs import variable_costs + + result = variable_costs(_technologies, _production) + assert set(result.dims) == EXPECTED_DIMS + + +def test_running_costs(_technologies, _prices, _capacity, _production, _consumption): + from muse.costs import running_costs + + result = running_costs(_technologies, _prices, _capacity, _production, _consumption) + assert set(result.dims) == EXPECTED_DIMS + + def test_net_present_value( _technologies, _prices, _capacity, _production, _consumption ): @@ -74,7 +131,7 @@ def test_net_present_value( result = net_present_value( _technologies, _prices, _capacity, _production, _consumption ) - assert set(result.dims) == {"asset", "region", "technology", "timeslice"} + assert set(result.dims) == EXPECTED_DIMS def test_net_present_cost(_technologies, _prices, _capacity, _production, _consumption): @@ -83,7 +140,7 @@ def test_net_present_cost(_technologies, _prices, _capacity, _production, _consu result = net_present_cost( _technologies, _prices, _capacity, _production, _consumption ) - assert set(result.dims) == {"asset", "region", "technology", "timeslice"} + assert set(result.dims) == EXPECTED_DIMS def test_equivalent_annual_cost( @@ -94,7 +151,7 @@ def test_equivalent_annual_cost( result = equivalent_annual_cost( _technologies, _prices, _capacity, _production, _consumption ) - assert set(result.dims) == {"asset", "region", "technology", "timeslice"} + assert set(result.dims) == EXPECTED_DIMS def test_lifetime_levelized_cost_of_energy( @@ -105,7 +162,7 @@ def test_lifetime_levelized_cost_of_energy( result = levelized_cost_of_energy( _technologies, _prices, _capacity, _production, _consumption, method="lifetime" ) - assert set(result.dims) == {"asset", "region", "technology", "timeslice"} + assert set(result.dims) == EXPECTED_DIMS def test_annual_levelized_cost_of_energy( @@ -116,7 +173,7 @@ def test_annual_levelized_cost_of_energy( result = levelized_cost_of_energy( _technologies, _prices, _capacity, _production, _consumption, method="annual" ) - assert set(result.dims) == {"asset", "region", "technology", "timeslice"} + assert set(result.dims) == EXPECTED_DIMS def test_supply_cost(_technologies, _prices, _capacity, _production, _consumption): @@ -139,3 +196,12 @@ def test_capital_recovery_factor(technologies): result = capital_recovery_factor(technologies) assert set(result.dims) == {"region", "technology", "year"} + + +def test_annual_to_lifetime(_technologies, _prices, _consumption): + from muse.costs import annual_to_lifetime, fuel_costs + + _fuel_costs = fuel_costs(_technologies, _prices, _consumption) + _fuel_costs_lifetime = annual_to_lifetime(_fuel_costs, _technologies) + assert set(_fuel_costs.dims) == set(_fuel_costs_lifetime.dims) + assert (_fuel_costs_lifetime > _fuel_costs).all() From fd77cf55dab34cf20a6dcc3d2c09926ee9462216 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 9 Dec 2024 16:20:04 +0000 Subject: [PATCH 096/121] Docstrings for costs module --- src/muse/costs.py | 180 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 141 insertions(+), 39 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index a9537b5c9..16b9d2226 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -1,9 +1,52 @@ """Collection of functions for calculating cost metrics (e.g. LCOE, EAC). -In general, these functions take a Dataset of technology parameters, and return a -DataArray of the calculated cost for each technology. Functions may also take additional -data such as commodity prices, capacity of the technologies, and commodity-production -data for the technologies, where appropriate. +All costs functions take a subset of the following arguments: +- technologies: xr.Dataset of technology parameters +- prices: xr.DataArray with commodity prices +- capacity: xr.DataArray with the capacity of the technologies +- production: xr.DataArray with commodity production by the technologies +- consumption: xr.DataArray with commodity consumption by the technologies +- timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") +- method: "lifetime" or "annual" + +Data should only be provided for a single year (i.e. no "year" dimension in any of the +inputs). Prices, production and consumption data should be split across timeslices +(i.e. have a "timeslice" dimension). Technology parameters may also be specified at +the timeslice level, but capacity should not be. + +`timeslice_level` is given as an argument to some functions, but in this case it must +match the timeslice level of any timesliced inputs, so is generally not configurable, +but only included to ensure consistency and provide explicitness. + +The `technologies` input will usually contain data for multiple technologies and have +a "technology" dimension (sometimes called "asset" or "replacement"). In this case, +it's important that the `capacity`, `production`, and `consumption` inputs have a +similar dimension to ensure that costs are calculated for all technologies and to +prevent unwanted broadcasting. + +Additional dimensions (such as "region") may be present in the inputs, but it's up to +the parent functions to ensure that these are consistent between inputs to prevent +unwanted broadcasting. + +The dimensions of the output will be the sum of all dimensions from the input data, +minus "commodity", plus "timeslice" (if not already present). + +Some functions have a `method` argument, which can be "annual" or "lifetime": + +Costs can either be annual or lifetime: +- annual: calculates the cost for each timeslice in a single year +- lifetime: calculates the total cost in each timeslice over the lifetime of the + technology, using the `technical_life` attribute from the `technologies` dataset. + - In this case, technology parameters, production, consumption, capacity and prices + are assumed to be constant over the lifetime of the technology. The cost in each + year is discounted according to the `interest_rate` attribute from the + `technologies` dataset, and summed across years. + - Capital costs are different, as these are a one time cost for the lifetime of the + technology. This can be annualized by dividing by the `technical_life`. +Some functions can calculate both lifetime and annual costs, with a `method` argument +to specify. Others can only calculate one or the other (see individual function +docstrings for more details). + """ from __future__ import annotations @@ -20,14 +63,7 @@ def cost(func): - """Decorator to validate the output dimensions of the cost functions. - - Cost functions should only take parameters for a single year (i.e. no "year" - dimension in any of the inputs). Costs are then calculated for a single year - with the parameters provided. In the case of lifetime costs (e.g. lifetime - LCOE), costs are calculated assuming fixed parameters over the lifetime of the - technology. - """ + """Decorator to validate the output dimensions of the cost functions.""" @wraps(func) def wrapper(*args, **kwargs): @@ -46,6 +82,17 @@ def capital_costs( timeslice_level: str | None = None, method: str = "lifetime", ): + """Calculate capital costs for the relevant technologies. + + This is the cost of installing each technology to the level specified by the + `capacity` input. + + Method can be "lifetime" of "annual": + - lifetime: returns the full capital costs + - annual: returns the capital costs divided by the lifetime of the technology + + Costs are distributed uniformly over timeslices, with the timeslice level specified + """ if method not in ["lifetime", "annual"]: raise ValueError("method must be either 'lifetime' or 'annual'.") @@ -53,7 +100,6 @@ def capital_costs( technologies.cap_par * (capacity**technologies.cap_exp), level=timeslice_level ) if method == "annual": - # Divide by lifetime to get annualized cost _capital_costs /= broadcast_timeslice( technologies.technical_life, level=timeslice_level ) @@ -64,40 +110,59 @@ def capital_costs( def environmental_costs( technologies: xr.Dataset, prices: xr.DataArray, production: xr.DataArray ) -> xr.DataArray: + """Calculate annual environmental costs for the relevant technologies. + + This is the total production of pollutants (commodities flagged by `is_pollutant`) + multiplied by their prices. + """ environmentals = is_pollutant(technologies.comm_usage) prices_environmental = filter_input(prices, commodity=environmentals) - environmental_costs = (production * prices_environmental).sum("commodity") - return environmental_costs + return (production * prices_environmental).sum("commodity") @cost def fuel_costs( technologies: xr.Dataset, prices: xr.DataArray, consumption: xr.DataArray ) -> xr.DataArray: + """Calculate annual fuel costs for the relevant technologies. + + This is the total consumption of fuels (commodities flagged by `is_fuel`) + multiplied by their prices. + """ fuels = is_fuel(technologies.comm_usage) prices_fuel = filter_input(prices, commodity=fuels) - fuel_costs = (consumption * prices_fuel).sum("commodity") - return fuel_costs + return (consumption * prices_fuel).sum("commodity") @cost def material_costs( technologies: xr.Dataset, prices: xr.DataArray, consumption: xr.DataArray ) -> xr.DataArray: + """Calculate annual material costs for the relevant technologies. + + This is the total consumption of materials (commodities flagged by `is_material`) + multiplied by their prices. + """ material = is_material(technologies.comm_usage) prices_material = filter_input(prices, commodity=material) - material_costs = (consumption * prices_material).sum("commodity") - return material_costs + return (consumption * prices_material).sum("commodity") @cost def fixed_costs( technologies: xr.Dataset, capacity: xr.DataArray, timeslice_level: str | None = None ) -> xr.DataArray: - fixed_costs = distribute_timeslice( + """Calculate annual fixed costs for the relevant technologies. + + This is the fixed running cost over the course of a year corresponding to the + `fix_par` and `fix_exp` technology parameters. + + This cost is scaled by the capacity of the technology and distributed uniformly + over the timeslices, with the timeslice level specified + """ + return distribute_timeslice( technologies.fix_par * (capacity**technologies.fix_exp), level=timeslice_level ) - return fixed_costs @cost @@ -106,13 +171,22 @@ def variable_costs( production: xr.DataArray, timeslice_level: str | None = None, ) -> xr.DataArray: + """Calculate annual variable costs for the relevant technologies. + + This is the cost associated with the `var_par` and `var_exp` technology + parameters. + + The `production_amplitude` function is first used to calculate technology activity + in each timeslice based on `production`. This is then used to scale the variable + costs. + """ tech_activity = production_amplitude(production, technologies, timeslice_level) - variable_costs = broadcast_timeslice( + result = broadcast_timeslice( technologies.var_par, level=timeslice_level ) * tech_activity ** broadcast_timeslice( technologies.var_exp, level=timeslice_level ) - return variable_costs + return result @cost @@ -124,6 +198,17 @@ def running_costs( consumption: xr.DataArray, timeslice_level: str | None = None, ) -> xr.DataArray: + """Total annual running costs (excluding capital costs). + + This is the sum of environmental, fuel, material, fixed and variable costs. + + .. seealso:: + :py:func:`environmental_costs` + :py:func:`fuel_costs` + :py:func:`material_costs` + :py:func:`fixed_costs` + :py:func:`variable_costs` + """ _environmental_costs = environmental_costs(technologies, prices, production) _fuel_costs = fuel_costs(technologies, prices, consumption) _material_costs = material_costs(technologies, prices, consumption) @@ -149,7 +234,6 @@ def net_present_value( production: xr.DataArray, consumption: xr.DataArray, timeslice_level: str | None = None, - method: str = "lifetime", ) -> xr.DataArray: """Net present value (NPV) of the relevant technologies. @@ -166,6 +250,10 @@ def net_present_value( installed capacity and production (non-environmental), respectively - capacity costs are given as technodata inputs and depend on the installed capacity + .. seealso:: + :py:func:`capital_costs` + :py:func:`running_costs` + Arguments: technologies: xr.Dataset of technology parameters prices: xr.DataArray with commodity prices @@ -174,16 +262,14 @@ def net_present_value( consumption: xr.DataArray with commodity consumption by the relevant technologies timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") - method: "lifetime" or "annual" Return: xr.DataArray with the NPV calculated for the relevant technologies """ - if method not in ["lifetime", "annual"]: - raise ValueError("method must be either 'lifetime' or 'annual'.") - - # Capital costs (lifetime or annual depending on method) - _capital_costs = capital_costs(technologies, capacity, timeslice_level, method) + # Capital costs (lifetime) + _capital_costs = capital_costs( + technologies, capacity, timeslice_level, method="lifetime" + ) # Revenue (annual) products = is_enduse(technologies.comm_usage) @@ -195,10 +281,9 @@ def net_present_value( technologies, prices, capacity, production, consumption, timeslice_level ) - # If method is lifetime, have to adjust running costs and revenues - if method == "lifetime": - _running_costs = annual_to_lifetime(_running_costs, technologies) - revenues = annual_to_lifetime(revenues, technologies) + # Calculate running costs and revenues over lifetime + _running_costs = annual_to_lifetime(_running_costs, technologies) + revenues = annual_to_lifetime(revenues, technologies) # Net present value result = revenues - (_capital_costs + _running_costs) @@ -213,7 +298,6 @@ def net_present_cost( production: xr.DataArray, consumption: xr.DataArray, timeslice_level: str | None = None, - method: str = "lifetime", ) -> xr.DataArray: """Net present cost (NPC) of the relevant technologies. @@ -232,13 +316,12 @@ def net_present_cost( consumption: xr.DataArray with commodity consumption by the relevant technologies timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") - method: "lifetime" or "annual" Return: xr.DataArray with the NPC calculated for the relevant technologies """ result = -net_present_value( - technologies, prices, capacity, production, consumption, timeslice_level, method + technologies, prices, capacity, production, consumption, timeslice_level ) return result @@ -262,6 +345,9 @@ def equivalent_annual_cost( .. _annualized cost: https://www.homerenergy.com/products/pro/docs/3.15/annualized_cost.html + .. seealso:: + :py:func:`net_present_cost` + Arguments: technologies: xr.Dataset of technology parameters prices: xr.DataArray with commodity prices @@ -281,7 +367,6 @@ def equivalent_annual_cost( production, consumption, timeslice_level=timeslice_level, - method="lifetime", ) crf = capital_recovery_factor(technologies) result = npc * broadcast_timeslice(crf, level=timeslice_level) @@ -302,6 +387,10 @@ def levelized_cost_of_energy( It follows the `simplified LCOE` given by NREL. + .. seealso:: + :py:func:`capital_costs` + :py:func:`running_costs` + Can calculate either a lifetime or annual LCOE. - lifetime: the average cost per unit of production over the entire lifetime of the technology. @@ -408,7 +497,20 @@ def capital_recovery_factor(technologies: xr.Dataset) -> xr.DataArray: return crf -def annual_to_lifetime(costs, technologies, timeslice_level=None): +def annual_to_lifetime( + costs: xr.DataArray, technologies: xr.Dataset, timeslice_level=None +): + """Convert annual costs to lifetime costs. + + Costs are provided for a single year. These same costs are assumed to apply for the + full lifetime of the technologies, subject to a discount factor. The costs are then + summed over the lifetime of the technologies. + + Args: + costs: xr.DataArray of costs for a single year. + technologies: xr.Dataset of technology parameters + timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") + """ assert "year" not in costs.dims assert "year" not in technologies.dims life = technologies.technical_life.astype(int) From e83193d0e126b54f7c86d146e2dc782bbd38b561 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 9 Dec 2024 17:07:16 +0000 Subject: [PATCH 097/121] Beef up discount rate function --- src/muse/costs.py | 26 +++++++++++++++++++++++--- tests/test_costs.py | 7 ++++--- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 16b9d2226..9ed1b9659 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -525,6 +525,26 @@ def annual_to_lifetime( return (costs * rates).sum("year") -def discount_factor(years, interest_rate, mask=1.0): - """Calculate an array with the rate (aka discount factor) values over the years.""" - return mask / (1 + interest_rate) ** years +def discount_factor( + years: xr.DataArray, interest_rate: xr.DataArray, mask: xr.DataArray | None = None +): + """Calculate an array with of discount factor values over the years. + + Args: + years: xr.DataArray with the years counting from the present year + (i.e. current year = 0) + interest_rate: xr.DataArray with the interest rate for different technologies + mask: Optional mask to apply to the result (e.g. cutting to zero after the + technology lifetime) + """ + assert set(years.dims) == {"year"} + assert "year" not in interest_rate.dims + + # Calculate discount factor over the years + df = 1 / (1 + interest_rate) ** years + + # Apply mask + if mask is not None: + assert set(mask.dims) == set(interest_rate.dims) | {"year"} + df = df * mask + return df diff --git a/tests/test_costs.py b/tests/test_costs.py index 3e973ef5c..a133787dc 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -191,11 +191,12 @@ def test_supply_cost(_technologies, _prices, _capacity, _production, _consumptio } -def test_capital_recovery_factor(technologies): +def test_capital_recovery_factor(_technologies): from muse.costs import capital_recovery_factor - result = capital_recovery_factor(technologies) - assert set(result.dims) == {"region", "technology", "year"} + result = capital_recovery_factor(_technologies) + assert set(result.dims) == set(_technologies.interest_rate.dims) + # {"region", "technology"} def test_annual_to_lifetime(_technologies, _prices, _consumption): From cd532ab0fe81c32ebbad55feee9709375dcfa242 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 9 Dec 2024 19:16:24 +0000 Subject: [PATCH 098/121] Add assertion --- src/muse/costs.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/muse/costs.py b/src/muse/costs.py index 9ed1b9659..d84c0ffa7 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -494,6 +494,7 @@ def capital_recovery_factor(technologies: xr.Dataset) -> xr.DataArray: crf = technologies.interest_rate / ( 1 - (1 / (1 + technologies.interest_rate) ** nyears) ) + assert "year" not in crf.dims return crf From 6bfe232bce691cc237d985a1b85d4bfb42d976dd Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 10 Dec 2024 09:55:37 +0000 Subject: [PATCH 099/121] Fix timeslice_level error --- src/muse/objectives.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/muse/objectives.py b/src/muse/objectives.py index 275cb3cda..ab3706818 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -460,7 +460,10 @@ def lifetime_levelized_cost_of_energy( * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) ) consump = consumption( - technologies=technologies, prices=prices, production=production + technologies=technologies, + prices=prices, + production=production, + timeslice_level=timeslice_level, ) results = LCOE( From 9359cf7fe12b359237176368f52f6f08c2a3796e Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 10 Dec 2024 09:57:37 +0000 Subject: [PATCH 100/121] Fix timeslice_level error (more) --- src/muse/objectives.py | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/muse/objectives.py b/src/muse/objectives.py index ab3706818..d395d75d4 100644 --- a/src/muse/objectives.py +++ b/src/muse/objectives.py @@ -275,7 +275,10 @@ def consumption( * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) ) consump = consumption( - technologies=technologies, prices=prices, production=production + technologies=technologies, + prices=prices, + production=production, + timeslice_level=timeslice_level, ) return consump.sum("commodity") @@ -383,7 +386,10 @@ def fuel_consumption_cost( * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) ) consump = consumption( - technologies=technologies, prices=prices, production=production + technologies=technologies, + prices=prices, + production=production, + timeslice_level=timeslice_level, ) result = fuel_costs(technologies, prices, consump) return result @@ -416,7 +422,10 @@ def annual_levelized_cost_of_energy( * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) ) consump = consumption( - technologies=technologies, prices=prices, production=production + technologies=technologies, + prices=prices, + production=production, + timeslice_level=timeslice_level, ) results = LCOE( @@ -502,7 +511,10 @@ def net_present_value( * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) ) consump = consumption( - technologies=technologies, prices=prices, production=production + technologies=technologies, + prices=prices, + production=production, + timeslice_level=timeslice_level, ) results = NPV( @@ -539,7 +551,10 @@ def net_present_cost( * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) ) consump = consumption( - technologies=technologies, prices=prices, production=production + technologies=technologies, + prices=prices, + production=production, + timeslice_level=timeslice_level, ) results = NPC( @@ -575,7 +590,10 @@ def equivalent_annual_cost( * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) ) consump = consumption( - technologies=technologies, prices=prices, production=production + technologies=technologies, + prices=prices, + production=production, + timeslice_level=timeslice_level, ) results = EAC( From 5abfe53c08bb2571bd41b3537ba3c175c65d20f4 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 11 Dec 2024 10:38:40 +0000 Subject: [PATCH 101/121] Test for production_amplitude --- src/muse/quantities.py | 8 +++++++- tests/test_quantities.py | 7 +++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 65058ff6a..8d604da12 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -553,10 +553,16 @@ def production_amplitude( commodities. Args: - production: DataArray with commodity-level production for a set of technologies + production: DataArray with commodity-level production for a set of technologies. + Must have `timeslice` and `commodity` dimensions. May also have other + dimensions e.g. `region`, `year`, etc. technologies: Dataset of technology parameters timeslice_level: the desired timeslice level of the result (e.g. "hour", "day"). Must match the timeslice level of `production` + + Returns: + DataArray with production amplitudes for each technology in each timeslice. + Will have the same dimensions as `production`, minus the `commodity` dimension. """ assert set(technologies.dims).issubset(set(production.dims)) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index f1d683356..34d5b4b18 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -287,3 +287,10 @@ def test_supply_capped_by_min_service(technologies, capacity, timeslice): ) assert (spl == approx(demand)).all() assert (spl <= minprod).all() + + +def test_production_amplitude(production, technologies): + from muse.quantities import production_amplitude + + result = production_amplitude(production, technologies) + assert set(result.dims) == set(production.dims) - {"commodity"} From 6205f4d5f28d6679c1ce437942f7f0f6cabd38d1 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 12 Dec 2024 14:28:50 +0000 Subject: [PATCH 102/121] Small improvements to consumption function --- src/muse/quantities.py | 37 ++++++++++++++++++++++++++----------- tests/test_quantities.py | 2 ++ 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 8d604da12..74e85e317 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -289,22 +289,38 @@ def consumption( production: xr.DataArray, prices: Optional[xr.DataArray] = None, timeslice_level: Optional[str] = None, - **kwargs, ) -> xr.DataArray: """Commodity consumption when fulfilling the whole production. - Currently, the consumption is implemented for commodity_max == +infinity. If prices - are not given, then flexible consumption is *not* considered. + Firstly, the degree of technology activity is calculated (i.e. the amount of + technology flow required to meet the production). Then, the consumption of fixed + commodities is calculated in proportion to this activity. + + In addition, if there are flexible inputs, then the single lowest-cost option is + selected (minimising price * quantity). If prices are not given, then flexible + consumption is *not* considered. + + Arguments: + technologies: Dataset of technology parameters. Must contain `fixed_inputs`, + `flexible_inputs`, and `fixed_outputs`. + production: DataArray of production data. Must have "timeslice" and "commodity" + dimensions. + prices: DataArray of prices for each commodity. Must have "timeslice" and + "commodity" dimensions. If not given, then flexible inputs are not + considered. + timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") + + Return: + A data array containing the consumption of each commodity. Will have the same + dimensions as `production`. + """ - from muse.commodities import is_fuel from muse.utilities import filter_with_template params = filter_with_template( technologies[["fixed_inputs", "flexible_inputs", "fixed_outputs"]], production, - **kwargs, ) - params_fuels = is_fuel(params.comm_usage) # Calculate degree of technology activity prod_amplitude = production_amplitude( @@ -315,9 +331,10 @@ def consumption( consumption_fixed = prod_amplitude * broadcast_timeslice( params.fixed_inputs, level=timeslice_level ) + assert all(consumption_fixed.commodity.values == production.commodity.values) # If there are no flexible inputs, then we are done - if not (params.flexible_inputs.sel(commodity=params_fuels) > 0).any(): + if not (params.flexible_inputs > 0).any(): return consumption_fixed # If prices are not given, then we can't consider flexible inputs, so just return @@ -326,12 +343,10 @@ def consumption( return consumption_fixed # Flexible inputs - flexs = broadcast_timeslice( - params.flexible_inputs.where(params_fuels, 0), level=timeslice_level - ) + flexs = broadcast_timeslice(params.flexible_inputs, level=timeslice_level) # Calculate the cheapest fuel for each flexible technology - priceflex = prices.loc[dict(commodity=flexs.commodity)] * flexs + priceflex = prices * flexs minprices = flexs.commodity[ priceflex.where(flexs > 0, priceflex.max() + 1).argmin("commodity") ] diff --git a/tests/test_quantities.py b/tests/test_quantities.py index 34d5b4b18..bbe0b737a 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -116,9 +116,11 @@ def test_decommissioning_demand(technologies, capacity, timeslice): def test_consumption_no_flex(technologies, production, market): from muse.quantities import consumption + # Prices not provided so flexible inputs are ignored consump = consumption(technologies, production) assert set(production.dims) == set(consump.dims) + # Prices provided, but no flexible inputs -> should be the same as above technologies.flexible_inputs[:] = 0 consump2 = consumption(technologies, production, market.prices) assert consump2.values == approx(consump.values) From b1754b4b0cafa0b66c8fdc0c026e25a99bcc785c Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 12 Dec 2024 14:30:07 +0000 Subject: [PATCH 103/121] Combine tests --- tests/test_quantities.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/tests/test_quantities.py b/tests/test_quantities.py index bbe0b737a..ed5e09525 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -113,10 +113,10 @@ def test_decommissioning_demand(technologies, capacity, timeslice): ).values == approx(ufac * fouts * (current - forecast)) -def test_consumption_no_flex(technologies, production, market): +def test_consumption(technologies, production, market): from muse.quantities import consumption - # Prices not provided so flexible inputs are ignored + # Prices not provided, so flexible inputs are ignored consump = consumption(technologies, production) assert set(production.dims) == set(consump.dims) @@ -125,12 +125,9 @@ def test_consumption_no_flex(technologies, production, market): consump2 = consumption(technologies, production, market.prices) assert consump2.values == approx(consump.values) - -def test_consumption_with_flex(technologies, production, market): - from muse.quantities import consumption - - consump = consumption(technologies, production, market.prices) - assert set(production.dims) == set(consump.dims) + # Flexible inputs considered + consump3 = consumption(technologies, production, market.prices) + assert set(production.dims) == set(consump3.dims) def test_production_aggregate_asset_view( From 4df625bcad031c2e4ecf61b95c4da4004b9ddcd5 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 13 Dec 2024 14:50:53 +0000 Subject: [PATCH 104/121] Add lifetime_to_annual --- src/muse/costs.py | 31 +++++++++++++++++++++++++++---- tests/test_costs.py | 9 +++++++++ 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index d84c0ffa7..6f715a44e 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -89,7 +89,8 @@ def capital_costs( Method can be "lifetime" of "annual": - lifetime: returns the full capital costs - - annual: returns the capital costs divided by the lifetime of the technology + - annual: a capital cost for the investment year is calculated based on the lifetime + and interest rate (see `lifetime_to_annual`) Costs are distributed uniformly over timeslices, with the timeslice level specified """ @@ -100,8 +101,8 @@ def capital_costs( technologies.cap_par * (capacity**technologies.cap_exp), level=timeslice_level ) if method == "annual": - _capital_costs /= broadcast_timeslice( - technologies.technical_life, level=timeslice_level + _capital_costs = lifetime_to_annual( + _capital_costs, technologies, timeslice_level ) return _capital_costs @@ -499,7 +500,7 @@ def capital_recovery_factor(technologies: xr.Dataset) -> xr.DataArray: def annual_to_lifetime( - costs: xr.DataArray, technologies: xr.Dataset, timeslice_level=None + costs: xr.DataArray, technologies: xr.Dataset, timeslice_level: str | None = None ): """Convert annual costs to lifetime costs. @@ -514,6 +515,7 @@ def annual_to_lifetime( """ assert "year" not in costs.dims assert "year" not in technologies.dims + assert "timeslice" in costs.dims life = technologies.technical_life.astype(int) iyears = range(life.values.max()) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") @@ -526,6 +528,27 @@ def annual_to_lifetime( return (costs * rates).sum("year") +def lifetime_to_annual( + costs: xr.DataArray, technologies: xr.Dataset, timeslice_level: str | None = None +): + """Convert lifetime costs to annual costs. + + Args: + costs: xr.DataArray of lifetime costs (e.g. capital costs). + technologies: xr.Dataset of technology parameters + timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") + """ + assert "year" not in costs.dims + assert "year" not in technologies.dims + assert "timeslice" in costs.dims + life = technologies.technical_life.astype(int) + # rate = technologies.interest_rate / ( + # 1 - (1 + technologies.interest_rate) ** -life + # ) + rate = 1 / life + return costs * broadcast_timeslice(rate, level=timeslice_level) + + def discount_factor( years: xr.DataArray, interest_rate: xr.DataArray, mask: xr.DataArray | None = None ): diff --git a/tests/test_costs.py b/tests/test_costs.py index a133787dc..98bc0845f 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -206,3 +206,12 @@ def test_annual_to_lifetime(_technologies, _prices, _consumption): _fuel_costs_lifetime = annual_to_lifetime(_fuel_costs, _technologies) assert set(_fuel_costs.dims) == set(_fuel_costs_lifetime.dims) assert (_fuel_costs_lifetime > _fuel_costs).all() + + +def test_lifetime_to_annual(_technologies, _capacity): + from muse.costs import capital_costs, lifetime_to_annual + + _capital_costs = capital_costs(_technologies, _capacity) + _capital_costs_annual = lifetime_to_annual(_capital_costs, _technologies) + assert set(_capital_costs.dims) == set(_capital_costs_annual.dims) + # assert (_capital_costs_annual < _capital_costs).all() From d36b248acf69bd280bfdc70d92e384ad88c45fe5 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 13 Dec 2024 15:42:56 +0000 Subject: [PATCH 105/121] Copy changes to quantities module from #556 --- src/muse/quantities.py | 119 +++++++++++++++++++-------- tests/test_quantities.py | 172 +++++---------------------------------- 2 files changed, 107 insertions(+), 184 deletions(-) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 27ccfba3c..74e85e317 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -289,54 +289,75 @@ def consumption( production: xr.DataArray, prices: Optional[xr.DataArray] = None, timeslice_level: Optional[str] = None, - **kwargs, ) -> xr.DataArray: """Commodity consumption when fulfilling the whole production. - Currently, the consumption is implemented for commodity_max == +infinity. If prices - are not given, then flexible consumption is *not* considered. + Firstly, the degree of technology activity is calculated (i.e. the amount of + technology flow required to meet the production). Then, the consumption of fixed + commodities is calculated in proportion to this activity. + + In addition, if there are flexible inputs, then the single lowest-cost option is + selected (minimising price * quantity). If prices are not given, then flexible + consumption is *not* considered. + + Arguments: + technologies: Dataset of technology parameters. Must contain `fixed_inputs`, + `flexible_inputs`, and `fixed_outputs`. + production: DataArray of production data. Must have "timeslice" and "commodity" + dimensions. + prices: DataArray of prices for each commodity. Must have "timeslice" and + "commodity" dimensions. If not given, then flexible inputs are not + considered. + timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") + + Return: + A data array containing the consumption of each commodity. Will have the same + dimensions as `production`. + """ - from muse.commodities import is_enduse, is_fuel from muse.utilities import filter_with_template params = filter_with_template( - technologies[["fixed_inputs", "flexible_inputs"]], production, **kwargs + technologies[["fixed_inputs", "flexible_inputs", "fixed_outputs"]], + production, ) - # sum over end-use products, if the dimension exists in the input - - comm_usage = technologies.comm_usage.sel(commodity=production.commodity) + # Calculate degree of technology activity + prod_amplitude = production_amplitude( + production, params, timeslice_level=timeslice_level + ) - production = production.sel(commodity=is_enduse(comm_usage)).sum("commodity") - params_fuels = is_fuel(params.comm_usage) - consumption = production * broadcast_timeslice( - params.fixed_inputs.where(params_fuels, 0), level=timeslice_level + # Calculate consumption of fixed commodities + consumption_fixed = prod_amplitude * broadcast_timeslice( + params.fixed_inputs, level=timeslice_level ) + assert all(consumption_fixed.commodity.values == production.commodity.values) + # If there are no flexible inputs, then we are done + if not (params.flexible_inputs > 0).any(): + return consumption_fixed + + # If prices are not given, then we can't consider flexible inputs, so just return + # the fixed consumption if prices is None: - return consumption - - if not (params.flexible_inputs.sel(commodity=params_fuels) > 0).any(): - return consumption - - prices = filter_with_template(prices, production, installed_as_year=False, **kwargs) - # technology with flexible inputs - flexs = params.flexible_inputs.where(params_fuels, 0) - # cheapest fuel for each flexible technology - assert prices is not None - flexprice = [i for i in flexs.commodity.values if i in prices.commodity.values] - assert all(flexprice) - priceflex = prices.loc[dict(commodity=flexs.commodity)] + return consumption_fixed + + # Flexible inputs + flexs = broadcast_timeslice(params.flexible_inputs, level=timeslice_level) + + # Calculate the cheapest fuel for each flexible technology + priceflex = prices * flexs minprices = flexs.commodity[ priceflex.where(flexs > 0, priceflex.max() + 1).argmin("commodity") ] - # add consumption from cheapest fuel - assert all(flexs.commodity.values == consumption.commodity.values) + + # Consumption of flexible commodities + assert all(flexs.commodity.values == consumption_fixed.commodity.values) flex = flexs.where( - minprices == broadcast_timeslice(flexs.commodity, level=timeslice_level), 0 + broadcast_timeslice(flexs.commodity, level=timeslice_level) == minprices, 0 ) - flex = flex / (flex > 0).sum("commodity").clip(min=1) - return consumption + flex * production + consumption_flex = flex * prod_amplitude + return consumption_fixed + consumption_flex def maximum_production( @@ -366,8 +387,6 @@ def maximum_production( technologies: xr.Dataset describing the features of the technologies of interests. It should contain `fixed_outputs` and `utilization_factor`. It's shape is matched to `capacity` using `muse.utilities.broadcast_techs`. - timeslices: xr.DataArray of the timeslicing scheme. Production data will be - returned in this format. filters: keyword arguments are used to filter down the capacity and technologies. Filters not relevant to the quantities of interest, i.e. filters that are not a dimension of `capacity` or `technologies`, are @@ -531,4 +550,38 @@ def capacity_to_service_demand( level=timeslice_level, ) * broadcast_timeslice(technologies.utilization_factor, level=timeslice_level) capa_to_service_demand = demand / timeslice_outputs - return capa_to_service_demand.max(("commodity", "timeslice")) + return capa_to_service_demand.where(np.isfinite(capa_to_service_demand), 0).max( + ("commodity", "timeslice") + ) + + +def production_amplitude( + production: xr.DataArray, + technologies: xr.Dataset, + timeslice_level: Optional[str] = None, +) -> xr.DataArray: + """Calculates the degree of technology activity based on production data. + + We do this by dividing the production data by the output flow per unit of activity. + Taking the max of this across all commodities, we get the minimum units of + technology activity required to meet (at least) the specified production of all + commodities. + + Args: + production: DataArray with commodity-level production for a set of technologies. + Must have `timeslice` and `commodity` dimensions. May also have other + dimensions e.g. `region`, `year`, etc. + technologies: Dataset of technology parameters + timeslice_level: the desired timeslice level of the result (e.g. "hour", "day"). + Must match the timeslice level of `production` + + Returns: + DataArray with production amplitudes for each technology in each timeslice. + Will have the same dimensions as `production`, minus the `commodity` dimension. + """ + assert set(technologies.dims).issubset(set(production.dims)) + + return ( + production + / broadcast_timeslice(technologies.fixed_outputs, level=timeslice_level) + ).max("commodity") diff --git a/tests/test_quantities.py b/tests/test_quantities.py index 9f89f16b4..ed5e09525 100644 --- a/tests/test_quantities.py +++ b/tests/test_quantities.py @@ -9,16 +9,13 @@ def production( technologies: xr.Dataset, capacity: xr.DataArray, timeslice ) -> xr.DataArray: - from numpy.random import random - from muse.timeslices import broadcast_timeslice, distribute_timeslice - comms = xr.DataArray( - random(len(technologies.commodity)), - coords={"commodity": technologies.commodity}, - dims="commodity", + return ( + broadcast_timeslice(capacity) + * distribute_timeslice(technologies.fixed_outputs) + * broadcast_timeslice(technologies.utilization_factor) ) - return broadcast_timeslice(capacity) * distribute_timeslice(comms) def test_supply_enduse(technologies, capacity, timeslice): @@ -116,109 +113,21 @@ def test_decommissioning_demand(technologies, capacity, timeslice): ).values == approx(ufac * fouts * (current - forecast)) -def test_consumption_no_flex(technologies, production, market): - from muse.commodities import is_enduse, is_fuel +def test_consumption(technologies, production, market): from muse.quantities import consumption - from muse.timeslices import broadcast_timeslice - - fins = ( - technologies.fixed_inputs.where(is_fuel(technologies.comm_usage), 0) - .interp(year=sorted(set(production.installed.values)), method="slinear") - .sel( - technology=production.technology, - region=production.region, - year=production.installed, - ) - ) - services = technologies.commodity.sel(commodity=is_enduse(technologies.comm_usage)) - expected = ( - (production.rename(commodity="comm_in") * broadcast_timeslice(fins)) - .sel(comm_in=production.commodity.isin(services).rename(commodity="comm_in")) - .sum("comm_in") - ) - actual = consumption(technologies, production) - assert set(actual.dims) == set(expected.dims) - assert actual.values == approx(expected.values) + # Prices not provided, so flexible inputs are ignored + consump = consumption(technologies, production) + assert set(production.dims) == set(consump.dims) + # Prices provided, but no flexible inputs -> should be the same as above technologies.flexible_inputs[:] = 0 - actual = consumption(technologies, production, market.prices) - assert actual.values == approx(expected.values) - - -def test_consumption_with_flex(technologies, production, market, timeslice): - from itertools import product + consump2 = consumption(technologies, production, market.prices) + assert consump2.values == approx(consump.values) - from muse.commodities import is_enduse, is_fuel - from muse.quantities import consumption - from muse.timeslices import broadcast_timeslice, distribute_timeslice - - techs = technologies.copy() - techs.fixed_inputs[:] = 0 - techs.flexible_inputs[:] = 0 - consumables = is_fuel(techs.comm_usage) - while (techs.flexible_inputs.sel(commodity=consumables) == 0).all(): - techs.flexible_inputs[:] = ( - np.random.randint(0, 2, techs.flexible_inputs.shape) != 0 - ) - techs.flexible_inputs[{"commodity": ~consumables}] = 0 - - def one_dim(dimension): - from numpy import arange - from numpy.random import shuffle - - data = arange(len(dimension), dtype="int") - shuffle(data) - return xr.DataArray(data, coords=dimension.coords, dims=dimension.dims) - - year = one_dim(production.year) - asset = one_dim(production.asset) - region = one_dim(market.region) - timeslice = one_dim(market.timeslice) - commodity = one_dim(market.commodity) - - prices = ( - timeslice - + broadcast_timeslice(commodity) - + broadcast_timeslice(year) * broadcast_timeslice(region) - ) - assert set(prices.dims) == set(market.prices.dims) - noenduse = ~is_enduse(techs.comm_usage) - production = distribute_timeslice(asset * year + commodity) - production.loc[{"commodity": noenduse}] = 0 - - actual = consumption(technologies, production, prices) - assert set(actual.dims) == {"year", "timeslice", "asset", "commodity"} - assert (year.year == actual.year).all() - assert (timeslice.timeslice == actual.timeslice).all() - assert (asset.asset == actual.asset).all() - assert (commodity.commodity == actual.commodity).all() - - fuels = techs.commodity.loc[{"commodity": consumables}].values - dims = ("timeslice", "asset", "year") - allprods = list(product(*(actual[u] for u in dims))) - allprods = [ - allprods[i] for i in np.random.choice(range(len(allprods)), 50, replace=False) - ] - for ts, asset, year in allprods: - flexs = techs.flexible_inputs.sel( - region=asset.region, technology=asset.technology - ).interp(year=asset.installed, method="slinear") - comm_prices = prices.sel(region=asset.region, year=year, timeslice=ts) - comm_prices = [int(p) for p, f in zip(comm_prices, flexs) if f > 0] - min_price = min(comm_prices) if comm_prices else None - ncomms = max(len([u for u in comm_prices if u == min_price]), 1) - for comm in fuels: - current_price = prices.sel( - region=asset.region, year=year, timeslice=ts, commodity=comm - ) - coords = dict(timeslice=ts, year=year, asset=asset, commodity=comm) - if current_price != min_price: - assert actual.sel(coords).values == approx(0) - continue - prod = production.sel(asset=asset, year=year).sum("commodity") - expected = prod.sel(timeslice=ts) / ncomms * flexs.sel(commodity=comm) - assert expected.values == approx(actual.sel(coords).values) + # Flexible inputs considered + consump3 = consumption(technologies, production, market.prices) + assert set(production.dims) == set(consump3.dims) def test_production_aggregate_asset_view( @@ -307,52 +216,6 @@ def test_capacity_in_use(production: xr.DataArray, technologies: xr.Dataset): assert capa.values == approx(prod / fout / ufac) -def test_supply_cost(production: xr.DataArray, timeslice: xr.Dataset): - from numpy import average - from numpy.random import random - - from muse.costs import supply_cost - - timeslice = timeslice.timeslice - production = production.sel(year=production.year.min(), drop=True) - # no zero production, because it does not sit well with np.average - production[:] = random(production.shape) - lcoe = xr.DataArray( - random((len(production.asset), len(timeslice))), - coords={"timeslice": timeslice, "asset": production.asset}, - dims=("asset", "timeslice"), - ) - - production, lcoe = xr.broadcast(production, lcoe) - actual = supply_cost(production, lcoe, asset_dim="asset") - for region in set(production.region.values): - expected = average( - lcoe.sel(asset=production.region == region), - weights=production.sel(asset=production.region == region), - axis=production.get_axis_num("asset"), - ) - - assert actual.sel(region=region).values == approx(expected) - - -def test_supply_cost_zero_prod(production: xr.DataArray, timeslice: xr.Dataset): - from numpy.random import randn - - from muse.costs import supply_cost - - timeslice = timeslice.timeslice - production = production.sel(year=production.year.min(), drop=True) - production[:] = 0 - lcoe = xr.DataArray( - randn(len(production.asset), len(timeslice)), - coords={"timeslice": timeslice, "asset": production.asset}, - dims=("asset", "timeslice"), - ) - production, lcoe = xr.broadcast(production, lcoe) - actual = supply_cost(production, lcoe, asset_dim="asset") - assert actual.values == approx(0e0) - - def test_emission(production: xr.DataArray, technologies: xr.Dataset): from muse.commodities import is_enduse, is_pollutant from muse.quantities import emission @@ -423,3 +286,10 @@ def test_supply_capped_by_min_service(technologies, capacity, timeslice): ) assert (spl == approx(demand)).all() assert (spl <= minprod).all() + + +def test_production_amplitude(production, technologies): + from muse.quantities import production_amplitude + + result = production_amplitude(production, technologies) + assert set(result.dims) == set(production.dims) - {"commodity"} From bfe81eea5eb127e675aac1c714ea22926d87fc50 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 13 Dec 2024 15:51:54 +0000 Subject: [PATCH 106/121] Fix tests --- src/muse/quantities.py | 2 +- tests/test_objectives.py | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 74e85e317..85fbfc21d 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -579,7 +579,7 @@ def production_amplitude( DataArray with production amplitudes for each technology in each timeslice. Will have the same dimensions as `production`, minus the `commodity` dimension. """ - assert set(technologies.dims).issubset(set(production.dims)) + # assert set(technologies.dims).issubset(set(production.dims)) return ( production diff --git a/tests/test_objectives.py b/tests/test_objectives.py index 593877f4d..5727df2d2 100644 --- a/tests/test_objectives.py +++ b/tests/test_objectives.py @@ -1,14 +1,15 @@ from pytest import fixture, mark +YEAR = 2030 + @fixture def _technologies(technologies, retro_agent, search_space): techs = retro_agent.filter_input( technologies, technology=search_space.replacement, - year=retro_agent.forecast_year, ).drop_vars("technology") - return techs + return techs.sel(year=YEAR) @fixture @@ -26,14 +27,14 @@ def _demand(demand_share, search_space): @fixture def _prices(retro_agent, agent_market): prices = retro_agent.filter_input(agent_market.prices) - return prices + return prices.sel(year=YEAR) def test_fixtures(_technologies, _demand, _prices): """Validating that the fixtures have appropriate dimensions.""" assert set(_technologies.dims) == {"commodity", "replacement"} assert set(_demand.dims) == {"asset", "commodity", "timeslice"} - assert set(_prices.dims) == {"commodity", "timeslice", "year"} + assert set(_prices.dims) == {"commodity", "timeslice"} @mark.usefixtures("save_registries") @@ -167,7 +168,7 @@ def test_emission_cost(_technologies, _demand, _prices): assert set(result.dims) == {"replacement", "asset", "timeslice"} -def test_fuel_consumption(_technologies, _demand, _prices): +def test_fuel_consumption_cost(_technologies, _demand, _prices): from muse.objectives import fuel_consumption_cost result = fuel_consumption_cost(_technologies, _demand, _prices) From fb2eba15b78aac464dc2e6f9104aaf30a8ef8a57 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 13 Dec 2024 15:57:31 +0000 Subject: [PATCH 107/121] Remove line --- src/muse/quantities.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/muse/quantities.py b/src/muse/quantities.py index 85fbfc21d..5d424b266 100644 --- a/src/muse/quantities.py +++ b/src/muse/quantities.py @@ -579,8 +579,6 @@ def production_amplitude( DataArray with production amplitudes for each technology in each timeslice. Will have the same dimensions as `production`, minus the `commodity` dimension. """ - # assert set(technologies.dims).issubset(set(production.dims)) - return ( production / broadcast_timeslice(technologies.fixed_outputs, level=timeslice_level) From a22b9d0c5404a73e92cd97f75a1e051e1e2b8050 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 13 Dec 2024 16:25:57 +0000 Subject: [PATCH 108/121] Pass objectives only prices from investment year --- src/muse/agents/agent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/muse/agents/agent.py b/src/muse/agents/agent.py index db0e8a539..cacdcaf3a 100644 --- a/src/muse/agents/agent.py +++ b/src/muse/agents/agent.py @@ -394,7 +394,7 @@ def compute_decision( objectives = self.objectives( technologies=techs, demand=reduced_demand, - prices=prices, + prices=prices.isel(year=1), timeslice_level=self.timeslice_level, ) From 384292542004fe70beb9dce93865d9d6ff101335 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 16 Dec 2024 11:26:50 +0000 Subject: [PATCH 109/121] Changes to annual/lifetime costs to match original code --- .../Results/MCACapacity.csv | 58 ++-- .../1-single-objective/Results/MCAPrices.csv | 144 ++++---- .../Results/MCACapacity.csv | 159 +++++---- .../Results/MCAPrices.csv | 144 ++++---- .../1-correlation/Results/MCACapacity.csv | 47 ++- .../1-correlation/Results/MCAPrices.csv | 144 ++++---- .../1-introduction/Results/MCACapacity.csv | 43 +-- .../1-introduction/Results/MCAPrices.csv | 144 ++++---- .../2-scenario/Results/MCACapacity.csv | 58 ++-- .../2-scenario/Results/MCAPrices.csv | 144 ++++---- .../1-new-region/Results/MCACapacity.csv | 189 ++++------- .../1-new-region/Results/MCAPrices.csv | 288 ++++++++-------- .../Results/MCACapacity.csv | 77 ++--- .../1-exogenous-demand/Results/MCAPrices.csv | 216 ++++++------ .../1-carbon-budget/Results/MCAPrices.csv | 108 +++--- .../1-min-constraint/Results/MCAPrices.csv | 144 ++++---- .../2-max-constraint/Results/MCAPrices.csv | 144 ++++---- .../Results/MCACapacity.csv | 53 ++- .../1-modify-timeslices/Results/MCAPrices.csv | 192 +++++------ .../Results/MCACapacity.csv | 196 ++++------- .../Results/MCAPrices.csv | 320 +++++++++--------- .../Results/MCACapacity.csv | 28 +- .../new-decision-metric/Results/MCAPrices.csv | 144 ++++---- src/muse/costs.py | 11 +- tests/test_costs.py | 23 +- 25 files changed, 1560 insertions(+), 1658 deletions(-) diff --git a/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv b/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv index 0ed971b73..a299a2d97 100644 --- a/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv @@ -18,47 +18,47 @@ A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A2,9.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2030 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2030 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2030 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A2,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2035 A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2035 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2035 +A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2035 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2035 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2035 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2035 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2040 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2040 +A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2040 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2040 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2040 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2040 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 @@ -66,22 +66,22 @@ A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2045 A2,15.50000000000,R1,2040,R1,residential,gasboiler,newcapa,2045 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2045 +A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2045 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2045 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2045 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A2,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2045 +A2,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2045 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 A1,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2045 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 A2,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2045 @@ -90,24 +90,24 @@ A1,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A2,15.50000000000,R1,2040,R1,residential,gasboiler,newcapa,2050 A2,11.50000000000,R1,2045,R1,residential,gasboiler,newcapa,2050 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,0.90630000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,1.50000000000,R1,2045,R1,power,windturbine,newcapa,2050 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2050 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A2,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A2,2.40630000000,R1,2045,R1,power,windturbine,newcapa,2050 +A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2050 +A2,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A2,3.15630000000,R1,2045,R1,power,windturbine,newcapa,2050 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2050 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 A1,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2050 A1,1.45000000000,R1,2045,R1,gas,gassupply1,newcapa,2050 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2050 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 A2,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv b/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv index 0c4f90eb8..5a574cbab 100644 --- a/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,13.60250000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,19.79450000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,10.37670000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.44990000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,12.58690000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,16.71490000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,9.63540000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.01750000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,13.60250000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,19.79450000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,10.37670000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.44990000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,12.58690000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,16.71490000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,9.63540000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.01750000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,12.19800000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,15.53550000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,8.99320000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,9.88590000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,12.19800000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,15.53550000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,9.28350000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,10.35840000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,12.10350000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,28.43510000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,10.87940000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.33790000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,8.82020000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,22.06510000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,9.58940000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.03320000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,12.10350000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,28.43510000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,10.87940000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,15.33790000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,8.82020000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,22.06510000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,9.58940000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.03320000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,5.53690000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,15.69520000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,8.29940000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,10.72840000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,7.17850000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,18.88020000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,8.94440000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.88080000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,11.74750000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,28.94230000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,12.68090000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,17.31200000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,8.70880000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,23.00900000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,11.43980000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,15.09460000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,11.74750000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,28.94230000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,12.68090000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,17.31200000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,8.70880000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,23.00900000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,11.43980000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,15.09460000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,5.94640000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,17.76570000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,10.25400000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,13.01520000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,7.18950000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,20.04240000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,10.81930000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,13.98590000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,12.08950000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,31.33300000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,14.62200000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,19.66280000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,8.96630000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,24.64020000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,13.36400000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,17.29350000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,12.08950000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,31.33300000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,14.62200000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,19.66280000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,8.96630000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,24.64020000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,13.36400000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,17.29350000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,6.08330000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,18.46230000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,12.15400000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,15.02720000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,7.40470000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,21.29380000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,12.73500000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,16.10890000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,13.01280000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,33.55350000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,17.43350000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,22.73380000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,9.59920000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,26.44730000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,16.11750000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,20.28190000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,13.01280000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,33.55350000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,17.43350000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,22.73380000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,9.59920000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,26.44730000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,16.11750000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,20.28190000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,6.18560000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,19.81490000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,14.80140000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,17.92470000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,7.89240000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,22.89420000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,15.45950000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,19.05590000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,12.84600000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,35.17410000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,20.02710000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,25.68490000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,9.61000000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,27.80430000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,18.74660000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,23.18020000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,12.84600000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,35.17410000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,20.02710000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,25.68490000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,9.61000000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,27.80430000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,18.74660000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,23.18020000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,6.56430000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,20.91610000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,17.50410000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,20.77190000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,7.99200000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,24.11940000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,18.10630000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,21.92790000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv index 90d952cd1..a299a2d97 100644 --- a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv @@ -7,79 +7,108 @@ A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 A2,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 A1,2.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 A1,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A2,2.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A2,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,2.36110000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A2,12.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.30560000000,R1,2020,R1,power,gasCCGT,newcapa,2025 A2,0.50000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2025 -A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A2,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2025 +A1,9.17600000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A2,9.17600000000,R1,2020,R1,gas,gassupply1,newcapa,2025 A1,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A2,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2030 -A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2030 -A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2030 -A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,3.75000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A2,3.75000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A2,9.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 +A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2030 +A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2030 +A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2030 +A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A2,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 -A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2035 -A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2035 -A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2035 -A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2035 +A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2035 +A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2035 +A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2035 +A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2035 +A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2035 +A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2035 +A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 -A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2040 -A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2040 -A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2040 -A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 +A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2040 +A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2040 +A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2040 +A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2040 +A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2040 +A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2040 +A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 +A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 -A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2045 -A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2045 -A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A2,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2045 -A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2045 +A2,15.50000000000,R1,2040,R1,residential,gasboiler,newcapa,2045 +A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2045 +A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2045 +A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2045 +A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2045 +A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2045 +A2,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 +A1,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2045 +A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 +A2,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 -A2,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,2.09380000000,R1,2045,R1,power,windturbine,newcapa,2050 -A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2050 -A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A2,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A2,5.09380000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2050 -A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A2,15.50000000000,R1,2040,R1,residential,gasboiler,newcapa,2050 +A2,11.50000000000,R1,2045,R1,residential,gasboiler,newcapa,2050 +A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2050 +A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A1,1.50000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2050 +A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2050 +A2,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A2,3.15630000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 +A1,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2050 +A1,1.45000000000,R1,2045,R1,gas,gassupply1,newcapa,2050 +A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 +A2,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2050 +A2,1.45000000000,R1,2045,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv index 9e608babb..5a574cbab 100644 --- a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,12.41700000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,19.79450000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,8.51030000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.44990000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,11.36100000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,16.71490000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,7.39480000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.01750000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,12.41700000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,19.79450000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,8.51030000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.44990000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,11.36100000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,16.71490000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,7.39480000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.01750000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,11.13740000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,15.53550000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,6.54290000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,9.88590000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,11.13740000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,15.53550000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,6.93340000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,10.35840000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,12.29140000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,28.43510000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,7.57660000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.33790000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,9.06200000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,22.06510000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,5.39810000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.03320000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,12.29140000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,28.43510000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,7.57660000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,15.33790000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,9.06200000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,22.06510000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,5.39810000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.03320000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,5.83270000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,15.69520000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,3.21970000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,10.72840000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,7.44730000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,18.88020000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,4.30890000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.88080000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,12.02100000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,28.94230000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,7.46840000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,17.31200000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,9.02730000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,23.00900000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,5.38430000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,15.09460000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,12.02100000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,28.94230000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,7.46840000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,17.31200000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,9.02730000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,23.00900000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,5.38430000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,15.09460000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,6.30580000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,17.76570000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,3.40900000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,13.01520000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,7.53050000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,20.04240000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,4.34220000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,13.98590000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,12.39610000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,31.33300000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,7.61840000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,19.66280000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,9.31130000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,24.64020000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,5.49790000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,17.29350000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,12.39610000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,31.33300000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,7.61840000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,19.66280000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,9.31130000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,24.64020000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,5.49790000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,17.29350000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,6.46390000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,18.46230000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,3.47220000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,15.02720000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,7.76900000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,21.29380000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,4.43760000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,16.10890000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,13.34180000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,33.55350000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,7.99670000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,22.73380000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,9.96190000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,26.44730000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,5.75810000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,20.28190000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,13.34180000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,33.55350000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,7.99670000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,22.73380000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,9.96190000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,26.44730000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,5.75810000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,20.28190000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,6.58200000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,19.81490000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,3.51950000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,17.92470000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,8.27200000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,22.89420000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,4.63880000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,19.05590000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,13.24300000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,35.17410000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,7.95720000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,25.68490000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,10.03700000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,27.80430000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,5.78810000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,23.18020000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,13.24300000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,35.17410000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,7.95720000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,25.68490000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,10.03700000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,27.80430000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,5.78810000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,23.18020000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,7.01950000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,20.91610000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,3.69450000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,20.77190000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,8.43400000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,24.11940000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,4.70360000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,21.92790000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv index 81c8cb97e..fe8adf0e0 100644 --- a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv @@ -2,37 +2,36 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,4.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,16.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,20.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,11.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,6.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,2.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A1,13.12220000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,6.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,2.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 +A1,13.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,12.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,6.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,2.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 +A1,13.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,6.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,12.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,2.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 +A1,13.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,12.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,7.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,2.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,13.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 A1,1.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv index 9b88e79b8..6c7fb704f 100644 --- a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,17.03190000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,27.78890000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,10.11910000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.49630000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,16.43750000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,20.25210000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,9.25480000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.90130000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,17.03190000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,27.78890000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,10.11910000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.49630000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,16.43750000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,20.25210000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,9.25480000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.90130000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,16.02030000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,13.79410000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,8.48630000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,16.14240000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.51000000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,8.82570000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.60580000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,14.63730000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,24.65930000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,8.44750000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.62830000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,12.24130000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,22.63770000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,6.61690000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.44820000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,14.63730000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,24.65930000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,8.44750000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,14.62830000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,12.24130000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,22.63770000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,6.61690000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.44820000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,9.98780000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,21.39050000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,4.88180000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,12.41700000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,11.05170000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,21.63390000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,5.70790000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,12.86220000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,16.64380000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,29.96970000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,9.32740000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.33300000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,14.10910000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,21.95910000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,7.41530000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,11.66680000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,16.64380000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,29.96970000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,9.32740000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,16.33300000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,14.10910000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,21.95910000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,7.41530000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,11.66680000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,11.64730000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,14.29320000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,5.54560000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,7.16030000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,12.85060000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,17.98170000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,6.46590000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,9.35010000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,18.46130000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,30.70130000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,9.98340000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,16.51010000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,15.99400000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,22.90350000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,8.12210000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,11.96800000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,18.46130000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,30.70130000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,9.98340000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,16.51010000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,15.99400000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,22.90350000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,8.12210000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,11.96800000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,13.66500000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,15.65760000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,6.35270000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,7.70600000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,14.76890000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,19.03190000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,7.19790000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,9.71280000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,21.16820000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,32.22480000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,11.02240000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,17.04830000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,18.74240000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,24.55840000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,9.19240000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,12.58270000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,21.16820000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,32.22480000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,11.02240000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,17.04830000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,18.74240000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,24.55840000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,9.19240000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,12.58270000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,16.49540000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,17.57150000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,7.48480000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,8.47160000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,17.53800000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,20.75200000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,8.28380000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,10.36540000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,23.55590000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,34.72360000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,12.07500000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,18.20650000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,20.97780000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,26.65390000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,10.15120000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,13.52610000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,23.55590000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,34.72360000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,12.07500000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,18.20650000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,20.97780000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,26.65390000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,10.15120000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,13.52610000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,18.48870000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,18.97260000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,8.28210000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,9.03200000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,19.69770000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,22.64730000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,9.19610000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,11.20230000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv index a8aaa10bb..be969ed3b 100644 --- a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv @@ -2,38 +2,41 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 +A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2025 -A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,30.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2030 -A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2030 -A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2030 +A1,23.43330000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2035 -A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2035 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2035 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2040 -A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2040 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2040 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2045 -A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2045 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2045 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 A1,7.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2050 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2050 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 A1,7.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 -A1,22.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 +A1,5.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv index eeb018368..dcfdfdd56 100644 --- a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,9.72920000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,24.87340000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,8.02150000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.58300000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,7.11350000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,17.59100000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,6.41200000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.96460000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,9.72920000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,24.87340000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,8.02150000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.58300000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,7.11350000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,17.59100000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,6.41200000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.96460000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,4.60520000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,10.60780000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,4.83670000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,5.80560000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,13.94970000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,5.60730000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.65540000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,8.40000000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,23.96160000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,5.93130000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.51720000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,5.60000000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,15.97440000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,3.95420000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,12.54290000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,8.40000000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,23.96160000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,5.93130000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,14.51720000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,5.60000000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,15.97440000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,3.95420000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,12.54290000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,10.63660000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,4.20000000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,11.98080000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,2.96570000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.55570000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,24.78780000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,6.02000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,13.91360000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,16.52520000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,4.01330000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,9.27580000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,24.78780000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,6.02000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,13.91360000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,16.52520000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,4.01330000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,9.27580000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,12.39390000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,3.01000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,6.95680000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,8.78570000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,24.19760000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,6.26000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,14.24420000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,5.85710000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,16.13180000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,4.17330000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,9.49610000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,8.78570000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,24.19760000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,6.26000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,14.24420000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,5.85710000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,16.13180000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,4.17330000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,9.49610000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,4.39290000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,12.09880000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,3.13000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,7.12210000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,24.78780000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,6.17430000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,14.00810000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,16.52520000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,4.11620000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,9.33870000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,24.78780000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,6.17430000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,14.00810000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,16.52520000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,4.11620000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,9.33870000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,12.39390000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,3.08710000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,7.00400000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,24.32880000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,6.26000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,14.24420000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,16.21920000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,4.17330000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,9.49610000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,24.32880000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,6.26000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,14.24420000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,16.21920000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,4.17330000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,9.49610000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,12.16440000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,3.13000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,7.12210000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv index f59c669d3..4031853a6 100644 --- a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv @@ -2,51 +2,41 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,7.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2025 -A1,19.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,30.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2030 -A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2030 -A1,11.62600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,4.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A1,23.43330000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2035 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 -A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,4.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2035 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2040 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 +A1,4.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2040 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 -A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2045 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 +A1,4.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2045 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 -A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2050 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 +A1,4.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 -A1,7.91410000000,R1,2045,R1,power,solarPV,newcapa,2050 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,6.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv index dba9d837e..e4683cc7a 100644 --- a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,16.86160000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,30.32710000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,9.91780000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.58300000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,15.81690000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,21.18690000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,8.80580000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.96460000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,16.86160000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,30.32710000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,9.91780000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.58300000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,15.81690000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,21.18690000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,8.80580000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.96460000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,14.77220000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.04670000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,7.69390000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,15.29450000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.61680000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,8.24990000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.65540000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,15.95010000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,26.59650000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,8.95140000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.88060000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,13.81390000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,23.94780000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,7.23980000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.64260000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,15.95010000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,26.59650000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,8.95140000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,14.88060000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,13.81390000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,23.94780000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,7.23980000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.64260000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,11.75130000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,21.39050000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,5.58720000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,12.44730000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,12.74570000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,22.62350000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,6.38400000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,13.02360000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,17.25500000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,29.82390000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,9.56200000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.25860000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,14.79420000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,22.10080000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,7.69100000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,11.72630000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,17.25500000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,29.82390000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,9.56200000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,16.25860000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,14.79420000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,22.10080000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,7.69100000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,11.72630000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,12.33340000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,14.37770000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,5.82000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,7.19410000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,13.56380000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,18.23920000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,6.75550000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,9.46020000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,18.05700000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,30.66280000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,9.88280000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,16.59420000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,15.48350000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,22.76430000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,7.96670000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,11.99170000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,18.05700000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,30.66280000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,9.88280000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,16.59420000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,15.48350000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,22.76430000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,7.96670000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,11.99170000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,12.91000000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,14.86570000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,6.05070000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,7.38930000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,14.19670000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,18.81500000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,7.00870000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,9.69050000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,19.22530000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,31.47900000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,10.35010000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,16.92060000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,16.59850000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,23.53500000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,8.41270000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,12.30000000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,19.22530000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,31.47900000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,10.35010000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,16.92060000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,16.59850000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,23.53500000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,8.41270000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,12.30000000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,13.97170000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,15.59090000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,6.47530000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,7.67940000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,15.28510000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,19.56290000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,7.44400000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,9.98970000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,20.06690000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,32.11390000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,10.68680000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,17.17460000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,17.42100000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,24.13440000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,8.74170000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,12.53980000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,20.06690000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,32.11390000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,10.68680000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,17.17460000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,17.42100000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,24.13440000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,8.74170000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,12.53980000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,14.77510000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,16.15500000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,6.79670000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,7.90500000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,16.09800000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,20.14470000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,7.76920000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,10.22240000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv b/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv index 13674265f..8372798e6 100644 --- a/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv @@ -5,140 +5,71 @@ A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,1.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 A1,15.00000000000,R2,2020,R2,gas,gassupply1,newcapa,2020 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,5.00000000000,R2,2020,R2,residential,gasboiler,newcapa,2025 -A1,19.00000000000,R2,2020,R2,residential,heatpump,newcapa,2025 -A1,7.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2025 -A1,7.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2025 -A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2025 -A1,18.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,18.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 -A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,9.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2030 -A1,19.00000000000,R2,2020,R2,residential,heatpump,newcapa,2030 -A1,1.00000000000,R2,2025,R2,residential,heatpump,newcapa,2030 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2030 -A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2030 -A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2030 -A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2030 -A1,10.63440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 -A1,10.63440000000,R2,2020,R2,gas,gassupply1,newcapa,2030 -A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2030 -A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 -A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,9.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2035 -A1,6.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2035 -A1,1.00000000000,R2,2025,R2,residential,heatpump,newcapa,2035 -A1,19.00000000000,R2,2030,R2,residential,heatpump,newcapa,2035 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2035 -A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2035 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2035 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2035 -A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2035 -A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2035 -A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2035 -A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 -A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2040 +A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,24.00000000000,R2,2020,R2,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,1.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2025 +A1,30.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,30.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 +A1,10.00000000000,R1,2025,R1,residential,gasboiler,newcapa,2030 +A1,19.00000000000,R2,2020,R2,residential,gasboiler,newcapa,2030 +A1,10.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2030 +A1,23.43330000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,23.43330000000,R2,2020,R2,gas,gassupply1,newcapa,2030 +A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2030 +A1,10.00000000000,R1,2025,R1,residential,gasboiler,newcapa,2035 +A1,26.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2035 +A1,10.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2035 +A1,26.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2035 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2035 +A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2035 +A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2035 +A1,26.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 +A1,16.00000000000,R1,2035,R1,residential,gasboiler,newcapa,2040 +A1,26.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2040 A1,16.00000000000,R2,2035,R2,residential,gasboiler,newcapa,2040 -A1,19.00000000000,R2,2030,R2,residential,heatpump,newcapa,2040 -A1,1.00000000000,R2,2035,R2,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2040 -A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2040 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2040 -A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2040 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2040 -A1,4.51110000000,R1,2035,R1,gas,gassupply1,newcapa,2040 -A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2040 -A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2040 -A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2040 -A1,4.51110000000,R2,2035,R2,gas,gassupply1,newcapa,2040 -A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,7.73330000000,R1,2035,R1,gas,gassupply1,newcapa,2040 +A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2040 +A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2040 +A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2040 +A1,7.73330000000,R2,2035,R2,gas,gassupply1,newcapa,2040 +A1,16.00000000000,R1,2035,R1,residential,gasboiler,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,16.00000000000,R2,2035,R2,residential,gasboiler,newcapa,2045 A1,12.00000000000,R2,2040,R2,residential,gasboiler,newcapa,2045 -A1,1.00000000000,R2,2035,R2,residential,heatpump,newcapa,2045 -A1,19.00000000000,R2,2040,R2,residential,heatpump,newcapa,2045 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2045 -A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2045 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2045 -A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2045 -A1,3.00000000000,R2,2040,R2,power,windturbine,newcapa,2045 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2045 -A1,4.51110000000,R1,2035,R1,gas,gassupply1,newcapa,2045 -A1,3.86670000000,R1,2040,R1,gas,gassupply1,newcapa,2045 -A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2045 -A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2045 -A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2045 -A1,4.51110000000,R2,2035,R2,gas,gassupply1,newcapa,2045 -A1,3.86670000000,R2,2040,R2,gas,gassupply1,newcapa,2045 +A1,20.00000000000,R2,2040,R2,residential,heatpump,newcapa,2045 +A1,26.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,26.00000000000,R2,2040,R2,power,windturbine,newcapa,2045 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,7.73330000000,R1,2035,R1,gas,gassupply1,newcapa,2045 +A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2045 +A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2045 +A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2045 +A1,7.73330000000,R2,2035,R2,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,12.00000000000,R2,2040,R2,residential,gasboiler,newcapa,2050 A1,22.00000000000,R2,2045,R2,residential,gasboiler,newcapa,2050 -A1,19.00000000000,R2,2040,R2,residential,heatpump,newcapa,2050 -A1,1.00000000000,R2,2045,R2,residential,heatpump,newcapa,2050 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,4.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2050 -A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2050 -A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2050 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2050 -A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2050 -A1,3.00000000000,R2,2040,R2,power,windturbine,newcapa,2050 -A1,4.00000000000,R2,2045,R2,power,windturbine,newcapa,2050 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2050 -A1,4.51110000000,R1,2035,R1,gas,gassupply1,newcapa,2050 -A1,3.86670000000,R1,2040,R1,gas,gassupply1,newcapa,2050 -A1,3.86670000000,R1,2045,R1,gas,gassupply1,newcapa,2050 -A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2050 -A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2050 -A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2050 -A1,4.51110000000,R2,2035,R2,gas,gassupply1,newcapa,2050 -A1,3.86670000000,R2,2040,R2,gas,gassupply1,newcapa,2050 -A1,3.86670000000,R2,2045,R2,gas,gassupply1,newcapa,2050 +A1,20.00000000000,R2,2040,R2,residential,heatpump,newcapa,2050 +A1,26.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A1,11.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,26.00000000000,R2,2040,R2,power,windturbine,newcapa,2050 +A1,11.00000000000,R2,2045,R2,power,windturbine,newcapa,2050 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,7.73330000000,R1,2035,R1,gas,gassupply1,newcapa,2050 +A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2050 +A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2050 +A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2050 +A1,7.73330000000,R2,2035,R2,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv b/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv index ac88b87f3..834c47225 100644 --- a/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv @@ -47,291 +47,291 @@ heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R2,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 CO2f,all-week,evening,all-year,0.08310000000,R2,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,19.25560000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,19.25560000000,R2,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,13.01920000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,13.01920000000,R2,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,14.43830000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,14.43830000000,R2,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 CO2f,all-week,night,all-year,0.12010000000,R2,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,17.62170000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,17.62170000000,R2,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,10.93960000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,10.93960000000,R2,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,13.20140000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,13.20140000000,R2,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 CO2f,all-week,morning,all-year,0.12010000000,R2,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,19.25560000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,19.25560000000,R2,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,13.01920000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,13.01920000000,R2,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,14.43830000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,14.43830000000,R2,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R2,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,17.62170000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,17.62170000000,R2,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,10.93960000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,10.93960000000,R2,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,13.20140000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,13.20140000000,R2,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R2,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,16.20730000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,16.20730000000,R2,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,8.92950000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,8.92950000000,R2,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.96460000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.96460000000,R2,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R2,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,16.80480000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,16.80480000000,R2,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,9.89980000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,9.89980000000,R2,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,12.58300000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,12.58300000000,R2,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 CO2f,all-week,evening,all-year,0.12010000000,R2,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,21.74370000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,21.74370000000,R2,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,14.07000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,14.07000000000,R2,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,16.70430000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,16.70430000000,R2,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 CO2f,all-week,night,all-year,0.15700000000,R2,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,18.79980000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,18.79980000000,R2,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,11.51290000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,11.51290000000,R2,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,15.50860000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,15.50860000000,R2,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 CO2f,all-week,morning,all-year,0.15700000000,R2,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,21.74370000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,21.74370000000,R2,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,14.07000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,14.07000000000,R2,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,16.70430000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,16.70430000000,R2,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R2,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,18.79980000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,18.79980000000,R2,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,11.51290000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,11.51290000000,R2,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,15.50860000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,15.50860000000,R2,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R2,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,16.19160000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,16.19160000000,R2,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,9.12320000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,9.12320000000,R2,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,14.35420000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,14.35420000000,R2,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R2,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,17.32780000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,17.32780000000,R2,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,10.23440000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,10.23440000000,R2,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,14.91080000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,14.91080000000,R2,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 CO2f,all-week,evening,all-year,0.15700000000,R2,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,25.31620000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,25.31620000000,R2,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,16.16240000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,16.16240000000,R2,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,20.57330000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,20.57330000000,R2,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 CO2f,all-week,night,all-year,0.21490000000,R2,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,21.40970000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,21.40970000000,R2,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,13.39230000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,13.39230000000,R2,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,19.33650000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,19.33650000000,R2,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 CO2f,all-week,morning,all-year,0.21490000000,R2,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,25.31620000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,25.31620000000,R2,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,16.16240000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,16.16240000000,R2,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,20.57330000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,20.57330000000,R2,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R2,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,21.40970000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,21.40970000000,R2,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,13.39230000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,13.39230000000,R2,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,19.33650000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,19.33650000000,R2,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R2,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,17.59400000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,17.59400000000,R2,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,10.67260000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,10.67260000000,R2,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,18.09960000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,18.09960000000,R2,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R2,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,19.45650000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,19.45650000000,R2,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,12.00730000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,12.00730000000,R2,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,18.71800000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,18.71800000000,R2,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 CO2f,all-week,evening,all-year,0.21490000000,R2,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,27.83040000000,R1,0,MUS$2010/PJ,2040 -electricity,all-week,night,all-year,27.83040000000,R2,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,18.13780000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,18.13780000000,R2,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,24.31870000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,24.31870000000,R2,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 CO2f,all-week,night,all-year,0.27280000000,R2,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,23.54960000000,R1,1,MUS$2010/PJ,2040 -electricity,all-week,morning,all-year,23.54960000000,R2,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,15.36600000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,15.36600000000,R2,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,23.08180000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,23.08180000000,R2,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 CO2f,all-week,morning,all-year,0.27280000000,R2,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,27.83040000000,R1,2,MUS$2010/PJ,2040 -electricity,all-week,afternoon,all-year,27.83040000000,R2,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,18.13780000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,18.13780000000,R2,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,24.31870000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,24.31870000000,R2,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R2,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,23.54960000000,R1,3,MUS$2010/PJ,2040 -electricity,all-week,early-peak,all-year,23.54960000000,R2,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,15.36600000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,15.36600000000,R2,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,23.08180000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,23.08180000000,R2,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R2,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,19.30350000000,R1,4,MUS$2010/PJ,2040 -electricity,all-week,late-peak,all-year,19.30350000000,R2,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,12.60440000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,12.60440000000,R2,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,21.84500000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,21.84500000000,R2,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R2,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,21.40910000000,R1,5,MUS$2010/PJ,2040 -electricity,all-week,evening,all-year,21.40910000000,R2,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,13.98010000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,13.98010000000,R2,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,22.46340000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,22.46340000000,R2,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 CO2f,all-week,evening,all-year,0.27280000000,R2,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,30.76040000000,R1,0,MUS$2010/PJ,2045 -electricity,all-week,night,all-year,30.76040000000,R2,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,59.99930000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,59.99930000000,R2,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,20.69190000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,20.69190000000,R2,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,31.24370000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,31.24370000000,R2,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 CO2f,all-week,night,all-year,0.35390000000,R2,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,26.21660000000,R1,1,MUS$2010/PJ,2045 -electricity,all-week,morning,all-year,26.21660000000,R2,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,39.99950000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,39.99950000000,R2,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,17.92670000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,17.92670000000,R2,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,24.78030000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,24.78030000000,R2,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 CO2f,all-week,morning,all-year,0.35390000000,R2,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,30.76040000000,R1,2,MUS$2010/PJ,2045 -electricity,all-week,afternoon,all-year,30.76040000000,R2,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,59.99930000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,59.99930000000,R2,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,20.69190000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,20.69190000000,R2,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,31.24370000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,31.24370000000,R2,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R2,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,26.21660000000,R1,3,MUS$2010/PJ,2045 -electricity,all-week,early-peak,all-year,26.21660000000,R2,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,39.99950000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,39.99950000000,R2,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,17.92670000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,17.92670000000,R2,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,24.78030000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,24.78030000000,R2,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R2,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,21.70640000000,R1,4,MUS$2010/PJ,2045 -electricity,all-week,late-peak,all-year,21.70640000000,R2,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,19.99980000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,19.99980000000,R2,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,15.17100000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,15.17100000000,R2,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,18.31680000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,18.31680000000,R2,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R2,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,23.94470000000,R1,5,MUS$2010/PJ,2045 -electricity,all-week,evening,all-year,23.94470000000,R2,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,29.99960000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,29.99960000000,R2,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,16.54410000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,16.54410000000,R2,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,21.54860000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,21.54860000000,R2,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 CO2f,all-week,evening,all-year,0.35390000000,R2,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,33.21300000000,R1,0,MUS$2010/PJ,2050 -electricity,all-week,night,all-year,33.21300000000,R2,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,59.99930000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,59.99930000000,R2,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,23.26150000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,23.26150000000,R2,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,33.34050000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,33.34050000000,R2,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 CO2f,all-week,night,all-year,0.43510000000,R2,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,28.44880000000,R1,1,MUS$2010/PJ,2050 -electricity,all-week,morning,all-year,28.44880000000,R2,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,39.99950000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,39.99950000000,R2,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,20.50150000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,20.50150000000,R2,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,25.49220000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,25.49220000000,R2,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 CO2f,all-week,morning,all-year,0.43510000000,R2,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,33.21300000000,R1,2,MUS$2010/PJ,2050 -electricity,all-week,afternoon,all-year,33.21300000000,R2,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,59.99930000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,59.99930000000,R2,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,23.26150000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,23.26150000000,R2,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,33.34050000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,33.34050000000,R2,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R2,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,28.44880000000,R1,3,MUS$2010/PJ,2050 -electricity,all-week,early-peak,all-year,28.44880000000,R2,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,39.99950000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,39.99950000000,R2,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,20.50150000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,20.50150000000,R2,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,25.49220000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,25.49220000000,R2,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R2,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,23.71700000000,R1,4,MUS$2010/PJ,2050 -electricity,all-week,late-peak,all-year,23.71700000000,R2,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,19.99980000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,19.99980000000,R2,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,17.75030000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,17.75030000000,R2,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,17.64400000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,17.64400000000,R2,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R2,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,26.06670000000,R1,5,MUS$2010/PJ,2050 -electricity,all-week,evening,all-year,26.06670000000,R2,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,29.99960000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,29.99960000000,R2,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,19.12140000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,19.12140000000,R2,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,21.56810000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,21.56810000000,R2,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 CO2f,all-week,evening,all-year,0.43510000000,R2,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv index 0a572222b..f9d533428 100644 --- a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv @@ -3,63 +3,56 @@ A1,10.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2020 A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,19.00000000000,R1,2020,R1,residential,electric_stove,newcapa,2025 -A1,5.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2025 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,7.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2025 -A1,24.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,electric_stove,newcapa,2030 -A1,10.00000000000,R1,2025,R1,residential,electric_stove,newcapa,2030 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,24.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2025 +A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,61.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2030 +A1,10.00000000000,R1,2025,R1,residential,gas_stove,newcapa,2030 +A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 -A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,17.07890000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,10.00000000000,R1,2025,R1,residential,electric_stove,newcapa,2035 +A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A1,54.36670000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,14.18000000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,26.00000000000,R1,2030,R1,residential,electric_stove,newcapa,2035 +A1,10.00000000000,R1,2025,R1,residential,gas_stove,newcapa,2035 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 +A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2035 +A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,14.18000000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,electric_stove,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,electric_stove,newcapa,2040 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 +A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2040 +A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,22.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,14.18000000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,electric_stove,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,electric_stove,newcapa,2045 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 +A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2045 +A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,22.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,12.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,14.18000000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,electric_stove,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,electric_stove,newcapa,2050 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2050 +A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,22.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,12.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,32.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,12.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,14.18000000000,R1,2025,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv index 977d0a091..3acbe9b2a 100644 --- a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv @@ -29,183 +29,183 @@ gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 cook,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 -electricity,all-week,night,all-year,13.39680000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,29.60050000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,8.82060000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.58300000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -cook,all-week,night,all-year,8.45260000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,11.17300000000,R1,1,MUS$2010/PJ,2025 +cook,all-week,night,all-year,10.81680000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,20.22790000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,7.33530000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.96460000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -cook,all-week,morning,all-year,6.96730000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,13.39680000000,R1,2,MUS$2010/PJ,2025 +cook,all-week,morning,all-year,10.19830000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,29.60050000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,8.82060000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.58300000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -cook,all-week,afternoon,all-year,8.45260000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,11.17300000000,R1,3,MUS$2010/PJ,2025 +cook,all-week,afternoon,all-year,10.81680000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,20.22790000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,7.33530000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.96460000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -cook,all-week,early-peak,all-year,6.96730000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,9.08910000000,R1,4,MUS$2010/PJ,2025 +cook,all-week,early-peak,all-year,10.19830000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,11.04390000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,5.89430000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -cook,all-week,late-peak,all-year,5.52630000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,10.06110000000,R1,5,MUS$2010/PJ,2025 +cook,all-week,late-peak,all-year,9.57990000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,15.54150000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,6.59260000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.65540000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -cook,all-week,evening,all-year,6.22460000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,12.87610000000,R1,0,MUS$2010/PJ,2030 +cook,all-week,evening,all-year,9.88910000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,25.80190000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,7.72180000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.77100000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -cook,all-week,night,all-year,7.72180000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,10.04370000000,R1,1,MUS$2010/PJ,2030 +cook,all-week,night,all-year,12.60140000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,23.41810000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,5.73170000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.56960000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -cook,all-week,morning,all-year,5.73170000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,12.87610000000,R1,2,MUS$2010/PJ,2030 +cook,all-week,morning,all-year,12.00350000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,25.80190000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,7.72180000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,14.77100000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -cook,all-week,afternoon,all-year,7.72180000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,10.04370000000,R1,3,MUS$2010/PJ,2030 +cook,all-week,afternoon,all-year,12.60140000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,23.41810000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,5.73170000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.56960000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -cook,all-week,early-peak,all-year,5.73170000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,7.33440000000,R1,4,MUS$2010/PJ,2030 +cook,all-week,early-peak,all-year,12.00350000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,21.39050000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,3.82040000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,12.44730000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -cook,all-week,late-peak,all-year,3.82040000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,8.62750000000,R1,5,MUS$2010/PJ,2030 +cook,all-week,late-peak,all-year,11.42630000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,22.22620000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,4.73670000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,12.96880000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -cook,all-week,evening,all-year,4.73670000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,13.72230000000,R1,0,MUS$2010/PJ,2035 +cook,all-week,evening,all-year,11.70460000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,30.08490000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,8.14890000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.36300000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -cook,all-week,night,all-year,8.14890000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,10.65590000000,R1,1,MUS$2010/PJ,2035 +cook,all-week,night,all-year,16.13910000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,21.52330000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,6.03570000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,11.49530000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -cook,all-week,morning,all-year,6.03570000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,13.72230000000,R1,2,MUS$2010/PJ,2035 +cook,all-week,morning,all-year,12.45180000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,30.08490000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,8.14890000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,16.36300000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -cook,all-week,afternoon,all-year,8.14890000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,10.65590000000,R1,3,MUS$2010/PJ,2035 +cook,all-week,afternoon,all-year,16.13910000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,21.52330000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,6.03570000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,11.49530000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -cook,all-week,early-peak,all-year,6.03570000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,7.61100000000,R1,4,MUS$2010/PJ,2035 +cook,all-week,early-peak,all-year,12.45180000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,13.06660000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,3.93110000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,6.66960000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -cook,all-week,late-peak,all-year,3.93110000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,9.12270000000,R1,5,MUS$2010/PJ,2035 +cook,all-week,late-peak,all-year,8.79480000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,17.24250000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,4.97910000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,9.06150000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -cook,all-week,evening,all-year,4.97910000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,14.17190000000,R1,0,MUS$2010/PJ,2040 +cook,all-week,evening,all-year,10.60820000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,30.76920000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,8.32880000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,16.63670000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -cook,all-week,night,all-year,8.32880000000,R1,0,MUS$2010/PJ,2040 -electricity,all-week,morning,all-year,11.02500000000,R1,1,MUS$2010/PJ,2040 +cook,all-week,night,all-year,16.63670000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,21.83090000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,6.18330000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,11.61840000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -cook,all-week,morning,all-year,6.18330000000,R1,1,MUS$2010/PJ,2040 -electricity,all-week,afternoon,all-year,14.17190000000,R1,2,MUS$2010/PJ,2040 +cook,all-week,morning,all-year,11.61840000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,30.76920000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,8.32880000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,16.63670000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -cook,all-week,afternoon,all-year,8.32880000000,R1,2,MUS$2010/PJ,2040 -electricity,all-week,early-peak,all-year,11.02500000000,R1,3,MUS$2010/PJ,2040 +cook,all-week,afternoon,all-year,16.63670000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,21.83090000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,6.18330000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,11.61840000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -cook,all-week,early-peak,all-year,6.18330000000,R1,3,MUS$2010/PJ,2040 -electricity,all-week,late-peak,all-year,7.89680000000,R1,4,MUS$2010/PJ,2040 +cook,all-week,early-peak,all-year,11.61840000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,12.97310000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,4.04540000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,6.63230000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -cook,all-week,late-peak,all-year,4.04540000000,R1,4,MUS$2010/PJ,2040 -electricity,all-week,evening,all-year,9.45150000000,R1,5,MUS$2010/PJ,2040 +cook,all-week,late-peak,all-year,6.63230000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,17.36180000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,5.11060000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,9.10920000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -cook,all-week,evening,all-year,5.11060000000,R1,5,MUS$2010/PJ,2040 -electricity,all-week,night,all-year,14.81100000000,R1,0,MUS$2010/PJ,2045 +cook,all-week,evening,all-year,9.10920000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,31.54820000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,8.58440000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,16.94830000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -cook,all-week,night,all-year,8.58440000000,R1,0,MUS$2010/PJ,2045 -electricity,all-week,morning,all-year,11.60360000000,R1,1,MUS$2010/PJ,2045 +cook,all-week,night,all-year,16.94830000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,22.47720000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,6.41480000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,11.87690000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -cook,all-week,morning,all-year,6.41480000000,R1,1,MUS$2010/PJ,2045 -electricity,all-week,afternoon,all-year,14.81100000000,R1,2,MUS$2010/PJ,2045 +cook,all-week,morning,all-year,11.87690000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,31.54820000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,8.58440000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,16.94830000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -cook,all-week,afternoon,all-year,8.58440000000,R1,2,MUS$2010/PJ,2045 -electricity,all-week,early-peak,all-year,11.60360000000,R1,3,MUS$2010/PJ,2045 +cook,all-week,afternoon,all-year,16.94830000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,22.47720000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,6.41480000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,11.87690000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -cook,all-week,early-peak,all-year,6.41480000000,R1,3,MUS$2010/PJ,2045 -electricity,all-week,late-peak,all-year,8.41290000000,R1,4,MUS$2010/PJ,2045 +cook,all-week,early-peak,all-year,11.87690000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,13.47760000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,4.25180000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,6.83410000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -cook,all-week,late-peak,all-year,4.25180000000,R1,4,MUS$2010/PJ,2045 -electricity,all-week,evening,all-year,9.99980000000,R1,5,MUS$2010/PJ,2045 +cook,all-week,late-peak,all-year,6.83410000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,17.94170000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,5.32990000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,9.34120000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -cook,all-week,evening,all-year,5.32990000000,R1,5,MUS$2010/PJ,2045 -electricity,all-week,night,all-year,15.30760000000,R1,0,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,9.34120000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,32.15350000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,8.78300000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,17.19040000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -cook,all-week,night,all-year,8.78300000000,R1,0,MUS$2010/PJ,2050 -electricity,all-week,morning,all-year,12.05310000000,R1,1,MUS$2010/PJ,2050 +cook,all-week,night,all-year,17.19040000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,22.97930000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,6.59460000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,12.07770000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -cook,all-week,morning,all-year,6.59460000000,R1,1,MUS$2010/PJ,2050 -electricity,all-week,afternoon,all-year,15.30760000000,R1,2,MUS$2010/PJ,2050 +cook,all-week,morning,all-year,12.07770000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,32.15350000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,8.78300000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,17.19040000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -cook,all-week,afternoon,all-year,8.78300000000,R1,2,MUS$2010/PJ,2050 -electricity,all-week,early-peak,all-year,12.05310000000,R1,3,MUS$2010/PJ,2050 +cook,all-week,afternoon,all-year,17.19040000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,22.97930000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,6.59460000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,12.07770000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -cook,all-week,early-peak,all-year,6.59460000000,R1,3,MUS$2010/PJ,2050 -electricity,all-week,late-peak,all-year,8.81380000000,R1,4,MUS$2010/PJ,2050 +cook,all-week,early-peak,all-year,12.07770000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,13.86920000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,4.41220000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,6.99070000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -cook,all-week,late-peak,all-year,4.41220000000,R1,4,MUS$2010/PJ,2050 -electricity,all-week,evening,all-year,10.42590000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,late-peak,all-year,6.99070000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,18.39220000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,5.50030000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,9.52140000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 -cook,all-week,evening,all-year,5.50030000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,9.52140000000,R1,5,MUS$2010/PJ,2050 diff --git a/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv b/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv index 9557b1c23..235fdd39b 100644 --- a/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv +++ b/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv @@ -23,75 +23,75 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,11.66100000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,28.68260000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,9.03670000000,R1,0,MUS$2010/PJ,2025 -CO2f,all-week,night,all-year,0.15000000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,8.51410000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,night,all-year,16.16680000000,R1,0,MUS$2010/PJ,2025 +CO2f,all-week,night,all-year,0.17000000000,R1,0,MUS$2010/kt,2025 +electricity,all-week,morning,all-year,19.93720000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,7.25910000000,R1,1,MUS$2010/PJ,2025 -CO2f,all-week,morning,all-year,0.15000000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,11.66100000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,12.12620000000,R1,1,MUS$2010/PJ,2025 +CO2f,all-week,morning,all-year,0.17000000000,R1,1,MUS$2010/kt,2025 +electricity,all-week,afternoon,all-year,28.68260000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,9.03670000000,R1,2,MUS$2010/PJ,2025 -CO2f,all-week,afternoon,all-year,0.15000000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,8.51410000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,16.16680000000,R1,2,MUS$2010/PJ,2025 +CO2f,all-week,afternoon,all-year,0.17000000000,R1,2,MUS$2010/kt,2025 +electricity,all-week,early-peak,all-year,19.93720000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,7.25910000000,R1,3,MUS$2010/PJ,2025 -CO2f,all-week,early-peak,all-year,0.15000000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,5.49650000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,12.12620000000,R1,3,MUS$2010/PJ,2025 +CO2f,all-week,early-peak,all-year,0.17000000000,R1,3,MUS$2010/kt,2025 +electricity,all-week,late-peak,all-year,11.55110000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,5.52240000000,R1,4,MUS$2010/PJ,2025 -CO2f,all-week,late-peak,all-year,0.15000000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,6.94060000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,8.19940000000,R1,4,MUS$2010/PJ,2025 +CO2f,all-week,late-peak,all-year,0.17000000000,R1,4,MUS$2010/kt,2025 +electricity,all-week,evening,all-year,15.56450000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,6.37020000000,R1,5,MUS$2010/PJ,2025 -CO2f,all-week,evening,all-year,0.15000000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,12.95810000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,10.10590000000,R1,5,MUS$2010/PJ,2025 +CO2f,all-week,evening,all-year,0.17000000000,R1,5,MUS$2010/kt,2025 +electricity,all-week,night,all-year,26.13870000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,7.75460000000,R1,0,MUS$2010/PJ,2030 -CO2f,all-week,night,all-year,0.12000000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,10.73860000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.64020000000,R1,0,MUS$2010/PJ,2030 +CO2f,all-week,night,all-year,0.14000000000,R1,0,MUS$2010/kt,2030 +electricity,all-week,morning,all-year,19.77800000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,6.00970000000,R1,1,MUS$2010/PJ,2030 -CO2f,all-week,morning,all-year,0.12000000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,12.95810000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,10.70100000000,R1,1,MUS$2010/PJ,2030 +CO2f,all-week,morning,all-year,0.14000000000,R1,1,MUS$2010/kt,2030 +electricity,all-week,afternoon,all-year,26.13870000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,7.75460000000,R1,2,MUS$2010/PJ,2030 -CO2f,all-week,afternoon,all-year,0.12000000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,10.73860000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,14.64020000000,R1,2,MUS$2010/PJ,2030 +CO2f,all-week,afternoon,all-year,0.14000000000,R1,2,MUS$2010/kt,2030 +electricity,all-week,early-peak,all-year,19.77800000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,6.00970000000,R1,3,MUS$2010/PJ,2030 -CO2f,all-week,early-peak,all-year,0.12000000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,8.74310000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,10.70100000000,R1,3,MUS$2010/PJ,2030 +CO2f,all-week,early-peak,all-year,0.14000000000,R1,3,MUS$2010/kt,2030 +electricity,all-week,late-peak,all-year,14.05910000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,4.38390000000,R1,4,MUS$2010/PJ,2030 -CO2f,all-week,late-peak,all-year,0.12000000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,9.62880000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,7.06670000000,R1,4,MUS$2010/PJ,2030 +CO2f,all-week,late-peak,all-year,0.14000000000,R1,4,MUS$2010/kt,2030 +electricity,all-week,evening,all-year,16.59760000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,5.13720000000,R1,5,MUS$2010/PJ,2030 -CO2f,all-week,evening,all-year,0.12000000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,13.71690000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,8.73140000000,R1,5,MUS$2010/PJ,2030 +CO2f,all-week,evening,all-year,0.14000000000,R1,5,MUS$2010/kt,2030 +electricity,all-week,night,all-year,28.90120000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,8.14680000000,R1,0,MUS$2010/PJ,2035 -CO2f,all-week,night,all-year,0.15000000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,11.06050000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,night,all-year,15.88950000000,R1,0,MUS$2010/PJ,2035 +CO2f,all-week,night,all-year,0.17000000000,R1,0,MUS$2010/kt,2035 +electricity,all-week,morning,all-year,21.37830000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,6.19750000000,R1,1,MUS$2010/PJ,2035 -CO2f,all-week,morning,all-year,0.15000000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,13.71690000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,11.43740000000,R1,1,MUS$2010/PJ,2035 +CO2f,all-week,morning,all-year,0.17000000000,R1,1,MUS$2010/kt,2035 +electricity,all-week,afternoon,all-year,28.90120000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,8.14680000000,R1,2,MUS$2010/PJ,2035 -CO2f,all-week,afternoon,all-year,0.15000000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,11.06050000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,15.88950000000,R1,2,MUS$2010/PJ,2035 +CO2f,all-week,afternoon,all-year,0.17000000000,R1,2,MUS$2010/kt,2035 +electricity,all-week,early-peak,all-year,21.37830000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,6.19750000000,R1,3,MUS$2010/PJ,2035 -CO2f,all-week,early-peak,all-year,0.15000000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,8.46050000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,11.43740000000,R1,3,MUS$2010/PJ,2035 +CO2f,all-week,early-peak,all-year,0.17000000000,R1,3,MUS$2010/kt,2035 +electricity,all-week,late-peak,all-year,14.01560000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,4.27090000000,R1,4,MUS$2010/PJ,2035 -CO2f,all-week,late-peak,all-year,0.15000000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,9.73220000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,7.04920000000,R1,4,MUS$2010/PJ,2035 +CO2f,all-week,late-peak,all-year,0.17000000000,R1,4,MUS$2010/kt,2035 +electricity,all-week,evening,all-year,17.61690000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,5.22290000000,R1,5,MUS$2010/PJ,2035 -CO2f,all-week,evening,all-year,0.15000000000,R1,5,MUS$2010/kt,2035 +heat,all-week,evening,all-year,9.21130000000,R1,5,MUS$2010/PJ,2035 +CO2f,all-week,evening,all-year,0.17000000000,R1,5,MUS$2010/kt,2035 diff --git a/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv b/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv index a515ac494..f2c4946fa 100644 --- a/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv +++ b/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,5.88870000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,12.62770000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,6.86280000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,10.46720000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,4.65270000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,9.14540000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,5.69030000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,8.09320000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,6.69420000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,12.85430000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,7.33430000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,10.75530000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,4.65270000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,9.14540000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,5.69030000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,8.09320000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,3.52270000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,5.96160000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,4.55130000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,5.81380000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,4.61530000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,7.81060000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,5.41810000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,7.16510000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,3.99380000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,10.99990000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,4.16890000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.58470000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.66260000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,7.33320000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,2.77920000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,5.72310000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,3.99380000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,10.99990000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,4.16890000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.58470000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.66260000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,7.33320000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,2.77920000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,5.72310000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,1.99690000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,5.49990000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,2.08440000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,4.29230000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,4.25750000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.72900000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,2.83840000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,5.81930000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,4.25750000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,8.72900000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,2.83840000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,5.81930000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,2.12880000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,4.36450000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,4.14950000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,11.42840000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,2.76630000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,7.61900000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,4.14950000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,11.42840000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,2.76630000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,7.61900000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,2.07470000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,5.71420000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,4.31150000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,11.87490000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,2.87440000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,7.91660000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,4.31150000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,11.87490000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,2.87440000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,7.91660000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,2.15580000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,5.93740000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,4.35440000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,8.99560000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,2.90290000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,5.99710000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,4.35440000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,8.99560000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,2.90290000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,5.99710000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,2.17720000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,4.49780000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv b/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv index 11713d0db..9e580eb17 100644 --- a/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv +++ b/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,6.18930000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,13.93410000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,6.90550000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,10.82840000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,4.76230000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,9.92540000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,5.67250000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,8.28770000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,7.10230000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,14.06800000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,7.45330000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,11.12940000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,4.76230000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,9.92540000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,5.67250000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,8.28770000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,2.46380000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,5.07980000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,3.99210000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,5.31070000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,3.15830000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,7.03060000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,4.60260000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,6.56400000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,3.99380000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,10.99990000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,4.16890000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.58470000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.66260000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,7.33320000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,2.77920000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,5.72310000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,3.99380000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,10.99990000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,4.16890000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.58470000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.66260000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,7.33320000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,2.77920000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,5.72310000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,1.99690000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,5.49990000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,2.08440000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,4.29230000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,4.25750000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.72900000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,2.83840000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,5.81930000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,4.25750000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,8.72900000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,2.83840000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,5.81930000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,2.12880000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,4.36450000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,4.14950000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,11.42840000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,2.76630000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,7.61900000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,4.14950000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,11.42840000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,2.76630000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,7.61900000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,2.07470000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,5.71420000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,4.31150000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,11.87490000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,2.87440000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,7.91660000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,4.31150000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,11.87490000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,2.87440000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,7.91660000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,2.15580000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,5.93740000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,4.35440000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,8.99560000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,2.90290000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,5.99710000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,4.35440000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,8.99560000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,2.90290000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,5.99710000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,2.17720000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,4.49780000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv index 90da2b071..71551b263 100644 --- a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv +++ b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv @@ -2,46 +2,41 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,17.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,7.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,18.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,17.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,22.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,28.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,17.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,10.63440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A1,20.85560000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,22.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 +A1,24.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,22.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 +A1,24.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,27.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 +A1,24.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,5.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,27.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,23.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,24.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,5.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,6.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,5.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv index 28f198f3d..6d619c17e 100644 --- a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv +++ b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv @@ -31,195 +31,195 @@ electricity,all-week,late-afternoon,all-year,19.50000000000,R1,7,MUS$2010/PJ,202 gas,all-week,late-afternoon,all-year,7.15280000000,R1,7,MUS$2010/PJ,2020 heat,all-week,late-afternoon,all-year,100.00000000000,R1,7,MUS$2010/PJ,2020 CO2f,all-week,late-afternoon,all-year,0.08310000000,R1,7,MUS$2010/kt,2020 -electricity,all-week,night,all-year,17.32630000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,28.73140000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,10.06670000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.54990000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,16.70800000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,21.13150000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,9.19370000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,12.00320000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,mid-afternoon,all-year,17.32630000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,mid-afternoon,all-year,28.73140000000,R1,2,MUS$2010/PJ,2025 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,mid-afternoon,all-year,10.06670000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,mid-afternoon,all-year,12.54990000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,mid-afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,16.70800000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,21.13150000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,9.19370000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,12.00320000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,16.02030000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.39310000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,8.16140000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,16.29580000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.06490000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,8.61160000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.63880000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,early-morning,all-year,16.29580000000,R1,6,MUS$2010/PJ,2025 +electricity,all-week,early-morning,all-year,16.06490000000,R1,6,MUS$2010/PJ,2025 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2025 -heat,all-week,early-morning,all-year,8.61160000000,R1,6,MUS$2010/PJ,2025 +heat,all-week,early-morning,all-year,11.63880000000,R1,6,MUS$2010/PJ,2025 CO2f,all-week,early-morning,all-year,0.12010000000,R1,6,MUS$2010/kt,2025 -electricity,all-week,late-afternoon,all-year,16.29580000000,R1,7,MUS$2010/PJ,2025 +electricity,all-week,late-afternoon,all-year,16.06490000000,R1,7,MUS$2010/PJ,2025 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2025 -heat,all-week,late-afternoon,all-year,8.61160000000,R1,7,MUS$2010/PJ,2025 +heat,all-week,late-afternoon,all-year,11.63880000000,R1,7,MUS$2010/PJ,2025 CO2f,all-week,late-afternoon,all-year,0.12010000000,R1,7,MUS$2010/kt,2025 -electricity,all-week,night,all-year,15.69390000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,25.37600000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,8.93760000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.77890000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,13.73250000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,23.35830000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,7.35500000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.61370000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,mid-afternoon,all-year,15.69390000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,mid-afternoon,all-year,25.37600000000,R1,2,MUS$2010/PJ,2030 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,mid-afternoon,all-year,8.93760000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,mid-afternoon,all-year,14.77890000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,mid-afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,13.73250000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,23.35830000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,7.35500000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.61370000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,11.37470000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,21.39050000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,5.43660000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,12.26790000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,12.42480000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,22.01320000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,6.29990000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,12.83690000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,early-morning,all-year,12.42480000000,R1,6,MUS$2010/PJ,2030 +electricity,all-week,early-morning,all-year,22.01320000000,R1,6,MUS$2010/PJ,2030 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2030 -heat,all-week,early-morning,all-year,6.29990000000,R1,6,MUS$2010/PJ,2030 +heat,all-week,early-morning,all-year,12.83690000000,R1,6,MUS$2010/PJ,2030 CO2f,all-week,early-morning,all-year,0.15700000000,R1,6,MUS$2010/kt,2030 -electricity,all-week,late-afternoon,all-year,12.42480000000,R1,7,MUS$2010/PJ,2030 +electricity,all-week,late-afternoon,all-year,22.01320000000,R1,7,MUS$2010/PJ,2030 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2030 -heat,all-week,late-afternoon,all-year,6.29990000000,R1,7,MUS$2010/PJ,2030 +heat,all-week,late-afternoon,all-year,12.83690000000,R1,7,MUS$2010/PJ,2030 CO2f,all-week,late-afternoon,all-year,0.15700000000,R1,7,MUS$2010/kt,2030 -electricity,all-week,night,all-year,17.02050000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,30.16360000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,9.42070000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.31720000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,14.89970000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,23.07460000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,7.78860000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,12.20600000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,mid-afternoon,all-year,17.02050000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,mid-afternoon,all-year,30.16360000000,R1,2,MUS$2010/PJ,2035 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,mid-afternoon,all-year,9.42070000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,mid-afternoon,all-year,16.31720000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,mid-afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,14.89970000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,23.07460000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,7.78860000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,12.20600000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,12.38730000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,14.55340000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,5.84160000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,7.26440000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,13.48580000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,18.34860000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,6.70060000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,9.46530000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,early-morning,all-year,13.48580000000,R1,6,MUS$2010/PJ,2035 +electricity,all-week,early-morning,all-year,18.34860000000,R1,6,MUS$2010/PJ,2035 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2035 -heat,all-week,early-morning,all-year,6.70060000000,R1,6,MUS$2010/PJ,2035 +heat,all-week,early-morning,all-year,9.46530000000,R1,6,MUS$2010/PJ,2035 CO2f,all-week,early-morning,all-year,0.21490000000,R1,6,MUS$2010/kt,2035 -electricity,all-week,late-afternoon,all-year,13.48580000000,R1,7,MUS$2010/PJ,2035 +electricity,all-week,late-afternoon,all-year,18.34860000000,R1,7,MUS$2010/PJ,2035 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2035 -heat,all-week,late-afternoon,all-year,6.70060000000,R1,7,MUS$2010/PJ,2035 +heat,all-week,late-afternoon,all-year,9.46530000000,R1,7,MUS$2010/PJ,2035 CO2f,all-week,late-afternoon,all-year,0.21490000000,R1,7,MUS$2010/kt,2035 -electricity,all-week,night,all-year,17.98740000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,31.59890000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,9.84140000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,16.94650000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,15.66940000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,24.14510000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,8.12030000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,12.67290000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,mid-afternoon,all-year,17.98740000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,mid-afternoon,all-year,31.59890000000,R1,2,MUS$2010/PJ,2040 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,mid-afternoon,all-year,9.84140000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,mid-afternoon,all-year,16.94650000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,mid-afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,15.66940000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,24.14510000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,8.12030000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,12.67290000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,12.88310000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,15.07730000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,6.03990000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,7.47390000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,14.12410000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,19.17590000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,6.97280000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,9.82380000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,early-morning,all-year,14.12410000000,R1,6,MUS$2010/PJ,2040 +electricity,all-week,early-morning,all-year,19.17590000000,R1,6,MUS$2010/PJ,2040 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2040 -heat,all-week,early-morning,all-year,6.97280000000,R1,6,MUS$2010/PJ,2040 +heat,all-week,early-morning,all-year,9.82380000000,R1,6,MUS$2010/PJ,2040 CO2f,all-week,early-morning,all-year,0.27280000000,R1,6,MUS$2010/kt,2040 -electricity,all-week,late-afternoon,all-year,14.12410000000,R1,7,MUS$2010/PJ,2040 +electricity,all-week,late-afternoon,all-year,19.17590000000,R1,7,MUS$2010/PJ,2040 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2040 -heat,all-week,late-afternoon,all-year,6.97280000000,R1,7,MUS$2010/PJ,2040 +heat,all-week,late-afternoon,all-year,9.82380000000,R1,7,MUS$2010/PJ,2040 CO2f,all-week,late-afternoon,all-year,0.27280000000,R1,7,MUS$2010/kt,2040 -electricity,all-week,night,all-year,19.36770000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,32.59640000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,10.35960000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,17.29030000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,16.97470000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,25.06980000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,8.61860000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,13.00410000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,mid-afternoon,all-year,19.36770000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,mid-afternoon,all-year,32.59640000000,R1,2,MUS$2010/PJ,2045 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,mid-afternoon,all-year,10.35960000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,mid-afternoon,all-year,17.29030000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,mid-afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,16.97470000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,25.06980000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,8.61860000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,13.00410000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,14.12950000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,16.02270000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,6.53850000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,7.85210000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,15.37940000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,20.05210000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,7.45800000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,10.14670000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,early-morning,all-year,15.37940000000,R1,6,MUS$2010/PJ,2045 +electricity,all-week,early-morning,all-year,20.05210000000,R1,6,MUS$2010/PJ,2045 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2045 -heat,all-week,early-morning,all-year,7.45800000000,R1,6,MUS$2010/PJ,2045 +heat,all-week,early-morning,all-year,10.14670000000,R1,6,MUS$2010/PJ,2045 CO2f,all-week,early-morning,all-year,0.35390000000,R1,6,MUS$2010/kt,2045 -electricity,all-week,late-afternoon,all-year,15.37940000000,R1,7,MUS$2010/PJ,2045 +electricity,all-week,late-afternoon,all-year,20.05210000000,R1,7,MUS$2010/PJ,2045 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2045 -heat,all-week,late-afternoon,all-year,7.45800000000,R1,7,MUS$2010/PJ,2045 +heat,all-week,late-afternoon,all-year,10.14670000000,R1,7,MUS$2010/PJ,2045 CO2f,all-week,late-afternoon,all-year,0.35390000000,R1,7,MUS$2010/kt,2045 -electricity,all-week,night,all-year,20.42720000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,33.38580000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,10.80980000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,17.64900000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,17.91110000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,25.80270000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,9.01170000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,13.32740000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,mid-afternoon,all-year,20.42720000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,mid-afternoon,all-year,33.38580000000,R1,2,MUS$2010/PJ,2050 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,mid-afternoon,all-year,10.80980000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,mid-afternoon,all-year,17.64900000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,mid-afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,17.91110000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,25.80270000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,9.01170000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,13.32740000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,14.88680000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,16.77520000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,6.84140000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,8.15310000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,16.23370000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,20.74730000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,7.81290000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,10.44630000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 -electricity,all-week,early-morning,all-year,16.23370000000,R1,6,MUS$2010/PJ,2050 +electricity,all-week,early-morning,all-year,20.74730000000,R1,6,MUS$2010/PJ,2050 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2050 -heat,all-week,early-morning,all-year,7.81290000000,R1,6,MUS$2010/PJ,2050 +heat,all-week,early-morning,all-year,10.44630000000,R1,6,MUS$2010/PJ,2050 CO2f,all-week,early-morning,all-year,0.43510000000,R1,6,MUS$2010/kt,2050 -electricity,all-week,late-afternoon,all-year,16.23370000000,R1,7,MUS$2010/PJ,2050 +electricity,all-week,late-afternoon,all-year,20.74730000000,R1,7,MUS$2010/PJ,2050 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2050 -heat,all-week,late-afternoon,all-year,7.81290000000,R1,7,MUS$2010/PJ,2050 +heat,all-week,late-afternoon,all-year,10.44630000000,R1,7,MUS$2010/PJ,2050 CO2f,all-week,late-afternoon,all-year,0.43510000000,R1,7,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv index 7f8f5eb37..a7201b35f 100644 --- a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv +++ b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv @@ -2,144 +2,96 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,8.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2022 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2022 -A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2022 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2022 -A1,6.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2024 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2024 -A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2024 -A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2024 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2024 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2024 -A1,4.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2026 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2026 -A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2026 -A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2026 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2026 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2026 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2026 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2026 -A1,13.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2026 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2026 -A1,2.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2028 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2028 -A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2028 -A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2028 +A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2022 +A1,24.48890000000,R1,2020,R1,gas,gassupply1,newcapa,2022 +A1,17.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2024 +A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2024 +A1,24.48890000000,R1,2020,R1,gas,gassupply1,newcapa,2024 +A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2024 +A1,15.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2026 +A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2026 +A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2026 +A1,22.98890000000,R1,2020,R1,gas,gassupply1,newcapa,2026 +A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2026 +A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2026 +A1,13.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2028 +A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2028 +A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2028 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2028 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2028 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2028 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2028 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2028 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2028 -A1,10.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2028 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2028 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2028 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 -A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2030 -A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2030 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2028 +A1,19.98890000000,R1,2020,R1,gas,gassupply1,newcapa,2028 +A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2028 +A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2028 +A1,2.09220000000,R1,2026,R1,gas,gassupply1,newcapa,2028 +A1,11.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 +A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2030 +A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2030 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2030 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2030 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2030 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2030 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2030 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2030 -A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2030 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2030 -A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2030 -A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2032 -A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2032 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2030 +A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2030 +A1,16.98890000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2030 +A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2030 +A1,2.09220000000,R1,2026,R1,gas,gassupply1,newcapa,2030 +A1,5.43220000000,R1,2028,R1,gas,gassupply1,newcapa,2030 +A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2032 +A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2032 +A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2032 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2032 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2032 -A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2032 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2032 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2032 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2032 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2032 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2032 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2032 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2032 -A1,4.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2032 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2032 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2032 -A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2032 -A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2032 -A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2034 +A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2032 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2032 +A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2032 +A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2032 +A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2034 +A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2034 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2034 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2034 -A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2034 -A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2034 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2034 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2034 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2034 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2034 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2034 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2034 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2034 -A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2034 -A1,1.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2034 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2034 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2034 -A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2034 -A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2034 -A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2034 +A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2034 +A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2034 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2034 +A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2034 +A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2034 +A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2034 +A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2036 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2036 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2036 -A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2036 -A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2036 +A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2036 +A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2036 A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2036 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2036 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2036 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2036 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2036 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2036 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2036 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2036 -A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2036 -A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2036 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2036 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2036 -A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2036 -A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2036 -A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2036 -A1,1.50000000000,R1,2034,R1,gas,gassupply1,newcapa,2036 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2036 +A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2036 +A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2036 +A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2036 +A1,6.00000000000,R1,2034,R1,power,windturbine,newcapa,2036 +A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2038 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2038 -A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2038 -A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2038 +A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2038 +A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2038 A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2038 A1,6.00000000000,R1,2036,R1,residential,heatpump,newcapa,2038 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2038 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2038 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2038 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2038 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2038 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2038 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2038 -A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2038 -A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2038 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2038 +A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2038 +A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2038 +A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2038 +A1,6.00000000000,R1,2034,R1,power,windturbine,newcapa,2038 A1,2.00000000000,R1,2036,R1,power,windturbine,newcapa,2038 -A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2040 +A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 +A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 +A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2040 A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2040 A1,6.00000000000,R1,2036,R1,residential,heatpump,newcapa,2040 A1,8.00000000000,R1,2038,R1,residential,heatpump,newcapa,2040 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2040 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2040 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2040 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2040 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2040 -A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2040 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2040 +A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2040 +A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2040 +A1,6.00000000000,R1,2034,R1,power,windturbine,newcapa,2040 A1,2.00000000000,R1,2036,R1,power,windturbine,newcapa,2040 A1,3.00000000000,R1,2038,R1,power,windturbine,newcapa,2040 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2040 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2040 -A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2040 -A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 -A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2040 -A1,1.50000000000,R1,2034,R1,gas,gassupply1,newcapa,2040 +A1,9.48890000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2040 +A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2040 +A1,2.09220000000,R1,2026,R1,gas,gassupply1,newcapa,2040 +A1,5.43220000000,R1,2028,R1,gas,gassupply1,newcapa,2040 diff --git a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv index dff4bcb50..e9e95b0fa 100644 --- a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv +++ b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv @@ -31,323 +31,323 @@ electricity,all-week,late-afternoon,all-year,19.50000000000,R1,7,MUS$2010/PJ,202 gas,all-week,late-afternoon,all-year,7.15280000000,R1,7,MUS$2010/PJ,2020 heat,all-week,late-afternoon,all-year,100.00000000000,R1,7,MUS$2010/PJ,2020 CO2f,all-week,late-afternoon,all-year,0.08310000000,R1,7,MUS$2010/kt,2020 -electricity,all-week,night,all-year,12.13410000000,R1,0,MUS$2010/PJ,2022 +electricity,all-week,night,all-year,28.18210000000,R1,0,MUS$2010/PJ,2022 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2022 -heat,all-week,night,all-year,8.73900000000,R1,0,MUS$2010/PJ,2022 +heat,all-week,night,all-year,11.14530000000,R1,0,MUS$2010/PJ,2022 CO2f,all-week,night,all-year,0.09790000000,R1,0,MUS$2010/kt,2022 -electricity,all-week,morning,all-year,10.37450000000,R1,1,MUS$2010/PJ,2022 +electricity,all-week,morning,all-year,21.14710000000,R1,1,MUS$2010/PJ,2022 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2022 -heat,all-week,morning,all-year,7.72680000000,R1,1,MUS$2010/PJ,2022 +heat,all-week,morning,all-year,10.58990000000,R1,1,MUS$2010/PJ,2022 CO2f,all-week,morning,all-year,0.09790000000,R1,1,MUS$2010/kt,2022 -electricity,all-week,mid-afternoon,all-year,12.13410000000,R1,2,MUS$2010/PJ,2022 +electricity,all-week,mid-afternoon,all-year,28.18210000000,R1,2,MUS$2010/PJ,2022 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2022 -heat,all-week,mid-afternoon,all-year,8.73900000000,R1,2,MUS$2010/PJ,2022 +heat,all-week,mid-afternoon,all-year,11.14530000000,R1,2,MUS$2010/PJ,2022 CO2f,all-week,mid-afternoon,all-year,0.09790000000,R1,2,MUS$2010/kt,2022 -electricity,all-week,early-peak,all-year,10.37450000000,R1,3,MUS$2010/PJ,2022 +electricity,all-week,early-peak,all-year,21.14710000000,R1,3,MUS$2010/PJ,2022 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2022 -heat,all-week,early-peak,all-year,7.72680000000,R1,3,MUS$2010/PJ,2022 +heat,all-week,early-peak,all-year,10.58990000000,R1,3,MUS$2010/PJ,2022 CO2f,all-week,early-peak,all-year,0.09790000000,R1,3,MUS$2010/kt,2022 -electricity,all-week,late-peak,all-year,8.53740000000,R1,4,MUS$2010/PJ,2022 +electricity,all-week,late-peak,all-year,13.13840000000,R1,4,MUS$2010/PJ,2022 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2022 -heat,all-week,late-peak,all-year,6.56360000000,R1,4,MUS$2010/PJ,2022 +heat,all-week,late-peak,all-year,9.91240000000,R1,4,MUS$2010/PJ,2022 CO2f,all-week,late-peak,all-year,0.09790000000,R1,4,MUS$2010/kt,2022 -electricity,all-week,evening,all-year,9.20150000000,R1,5,MUS$2010/PJ,2022 +electricity,all-week,evening,all-year,16.45720000000,R1,5,MUS$2010/PJ,2022 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2022 -heat,all-week,evening,all-year,7.05200000000,R1,5,MUS$2010/PJ,2022 +heat,all-week,evening,all-year,10.21960000000,R1,5,MUS$2010/PJ,2022 CO2f,all-week,evening,all-year,0.09790000000,R1,5,MUS$2010/kt,2022 -electricity,all-week,early-morning,all-year,9.20150000000,R1,6,MUS$2010/PJ,2022 +electricity,all-week,early-morning,all-year,16.45720000000,R1,6,MUS$2010/PJ,2022 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2022 -heat,all-week,early-morning,all-year,7.05200000000,R1,6,MUS$2010/PJ,2022 +heat,all-week,early-morning,all-year,10.21960000000,R1,6,MUS$2010/PJ,2022 CO2f,all-week,early-morning,all-year,0.09790000000,R1,6,MUS$2010/kt,2022 -electricity,all-week,late-afternoon,all-year,9.20150000000,R1,7,MUS$2010/PJ,2022 +electricity,all-week,late-afternoon,all-year,16.45720000000,R1,7,MUS$2010/PJ,2022 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2022 -heat,all-week,late-afternoon,all-year,7.05200000000,R1,7,MUS$2010/PJ,2022 +heat,all-week,late-afternoon,all-year,10.21960000000,R1,7,MUS$2010/PJ,2022 CO2f,all-week,late-afternoon,all-year,0.09790000000,R1,7,MUS$2010/kt,2022 -electricity,all-week,night,all-year,14.30230000000,R1,0,MUS$2010/PJ,2024 +electricity,all-week,night,all-year,28.18210000000,R1,0,MUS$2010/PJ,2024 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2024 -heat,all-week,night,all-year,9.21130000000,R1,0,MUS$2010/PJ,2024 +heat,all-week,night,all-year,12.08070000000,R1,0,MUS$2010/PJ,2024 CO2f,all-week,night,all-year,0.11270000000,R1,0,MUS$2010/kt,2024 -electricity,all-week,morning,all-year,12.82500000000,R1,1,MUS$2010/PJ,2024 +electricity,all-week,morning,all-year,21.14710000000,R1,1,MUS$2010/PJ,2024 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2024 -heat,all-week,morning,all-year,8.13030000000,R1,1,MUS$2010/PJ,2024 +heat,all-week,morning,all-year,11.53140000000,R1,1,MUS$2010/PJ,2024 CO2f,all-week,morning,all-year,0.11270000000,R1,1,MUS$2010/kt,2024 -electricity,all-week,mid-afternoon,all-year,14.30230000000,R1,2,MUS$2010/PJ,2024 +electricity,all-week,mid-afternoon,all-year,28.18210000000,R1,2,MUS$2010/PJ,2024 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2024 -heat,all-week,mid-afternoon,all-year,9.21130000000,R1,2,MUS$2010/PJ,2024 +heat,all-week,mid-afternoon,all-year,12.08070000000,R1,2,MUS$2010/PJ,2024 CO2f,all-week,mid-afternoon,all-year,0.11270000000,R1,2,MUS$2010/kt,2024 -electricity,all-week,early-peak,all-year,12.82500000000,R1,3,MUS$2010/PJ,2024 +electricity,all-week,early-peak,all-year,21.14710000000,R1,3,MUS$2010/PJ,2024 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2024 -heat,all-week,early-peak,all-year,8.13030000000,R1,3,MUS$2010/PJ,2024 +heat,all-week,early-peak,all-year,11.53140000000,R1,3,MUS$2010/PJ,2024 CO2f,all-week,early-peak,all-year,0.11270000000,R1,3,MUS$2010/kt,2024 -electricity,all-week,late-peak,all-year,11.16020000000,R1,4,MUS$2010/PJ,2024 +electricity,all-week,late-peak,all-year,13.13840000000,R1,4,MUS$2010/PJ,2024 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2024 -heat,all-week,late-peak,all-year,6.85900000000,R1,4,MUS$2010/PJ,2024 +heat,all-week,late-peak,all-year,10.86820000000,R1,4,MUS$2010/PJ,2024 CO2f,all-week,late-peak,all-year,0.11270000000,R1,4,MUS$2010/kt,2024 -electricity,all-week,evening,all-year,11.84020000000,R1,5,MUS$2010/PJ,2024 +electricity,all-week,evening,all-year,16.45720000000,R1,5,MUS$2010/PJ,2024 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2024 -heat,all-week,evening,all-year,7.40960000000,R1,5,MUS$2010/PJ,2024 +heat,all-week,evening,all-year,11.16520000000,R1,5,MUS$2010/PJ,2024 CO2f,all-week,evening,all-year,0.11270000000,R1,5,MUS$2010/kt,2024 -electricity,all-week,early-morning,all-year,11.84020000000,R1,6,MUS$2010/PJ,2024 +electricity,all-week,early-morning,all-year,16.45720000000,R1,6,MUS$2010/PJ,2024 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2024 -heat,all-week,early-morning,all-year,7.40960000000,R1,6,MUS$2010/PJ,2024 +heat,all-week,early-morning,all-year,11.16520000000,R1,6,MUS$2010/PJ,2024 CO2f,all-week,early-morning,all-year,0.11270000000,R1,6,MUS$2010/kt,2024 -electricity,all-week,late-afternoon,all-year,11.84020000000,R1,7,MUS$2010/PJ,2024 +electricity,all-week,late-afternoon,all-year,16.45720000000,R1,7,MUS$2010/PJ,2024 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2024 -heat,all-week,late-afternoon,all-year,7.40960000000,R1,7,MUS$2010/PJ,2024 +heat,all-week,late-afternoon,all-year,11.16520000000,R1,7,MUS$2010/PJ,2024 CO2f,all-week,late-afternoon,all-year,0.11270000000,R1,7,MUS$2010/kt,2024 -electricity,all-week,night,all-year,15.15150000000,R1,0,MUS$2010/PJ,2026 +electricity,all-week,night,all-year,28.18210000000,R1,0,MUS$2010/PJ,2026 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2026 -heat,all-week,night,all-year,9.29810000000,R1,0,MUS$2010/PJ,2026 +heat,all-week,night,all-year,13.01990000000,R1,0,MUS$2010/PJ,2026 CO2f,all-week,night,all-year,0.12750000000,R1,0,MUS$2010/kt,2026 -electricity,all-week,morning,all-year,13.91710000000,R1,1,MUS$2010/PJ,2026 +electricity,all-week,morning,all-year,21.14710000000,R1,1,MUS$2010/PJ,2026 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2026 -heat,all-week,morning,all-year,8.18740000000,R1,1,MUS$2010/PJ,2026 +heat,all-week,morning,all-year,12.47560000000,R1,1,MUS$2010/PJ,2026 CO2f,all-week,morning,all-year,0.12750000000,R1,1,MUS$2010/kt,2026 -electricity,all-week,mid-afternoon,all-year,15.15150000000,R1,2,MUS$2010/PJ,2026 +electricity,all-week,mid-afternoon,all-year,28.18210000000,R1,2,MUS$2010/PJ,2026 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2026 -heat,all-week,mid-afternoon,all-year,9.29810000000,R1,2,MUS$2010/PJ,2026 +heat,all-week,mid-afternoon,all-year,13.01990000000,R1,2,MUS$2010/PJ,2026 CO2f,all-week,mid-afternoon,all-year,0.12750000000,R1,2,MUS$2010/kt,2026 -electricity,all-week,early-peak,all-year,13.91710000000,R1,3,MUS$2010/PJ,2026 +electricity,all-week,early-peak,all-year,21.14710000000,R1,3,MUS$2010/PJ,2026 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2026 -heat,all-week,early-peak,all-year,8.18740000000,R1,3,MUS$2010/PJ,2026 +heat,all-week,early-peak,all-year,12.47560000000,R1,3,MUS$2010/PJ,2026 CO2f,all-week,early-peak,all-year,0.12750000000,R1,3,MUS$2010/kt,2026 -electricity,all-week,late-peak,all-year,12.67690000000,R1,4,MUS$2010/PJ,2026 +electricity,all-week,late-peak,all-year,13.13840000000,R1,4,MUS$2010/PJ,2026 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2026 -heat,all-week,late-peak,all-year,6.93620000000,R1,4,MUS$2010/PJ,2026 +heat,all-week,late-peak,all-year,11.82410000000,R1,4,MUS$2010/PJ,2026 CO2f,all-week,late-peak,all-year,0.12750000000,R1,4,MUS$2010/kt,2026 -electricity,all-week,evening,all-year,13.09430000000,R1,5,MUS$2010/PJ,2026 +electricity,all-week,evening,all-year,16.45720000000,R1,5,MUS$2010/PJ,2026 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2026 -heat,all-week,evening,all-year,7.44690000000,R1,5,MUS$2010/PJ,2026 +heat,all-week,evening,all-year,12.11280000000,R1,5,MUS$2010/PJ,2026 CO2f,all-week,evening,all-year,0.12750000000,R1,5,MUS$2010/kt,2026 -electricity,all-week,early-morning,all-year,13.09430000000,R1,6,MUS$2010/PJ,2026 +electricity,all-week,early-morning,all-year,16.45720000000,R1,6,MUS$2010/PJ,2026 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2026 -heat,all-week,early-morning,all-year,7.44690000000,R1,6,MUS$2010/PJ,2026 +heat,all-week,early-morning,all-year,12.11280000000,R1,6,MUS$2010/PJ,2026 CO2f,all-week,early-morning,all-year,0.12750000000,R1,6,MUS$2010/kt,2026 -electricity,all-week,late-afternoon,all-year,13.09430000000,R1,7,MUS$2010/PJ,2026 +electricity,all-week,late-afternoon,all-year,16.45720000000,R1,7,MUS$2010/PJ,2026 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2026 -heat,all-week,late-afternoon,all-year,7.44690000000,R1,7,MUS$2010/PJ,2026 +heat,all-week,late-afternoon,all-year,12.11280000000,R1,7,MUS$2010/PJ,2026 CO2f,all-week,late-afternoon,all-year,0.12750000000,R1,7,MUS$2010/kt,2026 -electricity,all-week,night,all-year,16.93190000000,R1,0,MUS$2010/PJ,2028 +electricity,all-week,night,all-year,21.78380000000,R1,0,MUS$2010/PJ,2028 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2028 -heat,all-week,night,all-year,9.66740000000,R1,0,MUS$2010/PJ,2028 +heat,all-week,night,all-year,13.79450000000,R1,0,MUS$2010/PJ,2028 CO2f,all-week,night,all-year,0.14220000000,R1,0,MUS$2010/kt,2028 -electricity,all-week,morning,all-year,15.79090000000,R1,1,MUS$2010/PJ,2028 +electricity,all-week,morning,all-year,20.43760000000,R1,1,MUS$2010/PJ,2028 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2028 -heat,all-week,morning,all-year,8.50840000000,R1,1,MUS$2010/PJ,2028 +heat,all-week,morning,all-year,13.05290000000,R1,1,MUS$2010/PJ,2028 CO2f,all-week,morning,all-year,0.14220000000,R1,1,MUS$2010/kt,2028 -electricity,all-week,mid-afternoon,all-year,16.93190000000,R1,2,MUS$2010/PJ,2028 +electricity,all-week,mid-afternoon,all-year,21.78380000000,R1,2,MUS$2010/PJ,2028 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2028 -heat,all-week,mid-afternoon,all-year,9.66740000000,R1,2,MUS$2010/PJ,2028 +heat,all-week,mid-afternoon,all-year,13.79450000000,R1,2,MUS$2010/PJ,2028 CO2f,all-week,mid-afternoon,all-year,0.14220000000,R1,2,MUS$2010/kt,2028 -electricity,all-week,early-peak,all-year,15.79090000000,R1,3,MUS$2010/PJ,2028 +electricity,all-week,early-peak,all-year,20.43760000000,R1,3,MUS$2010/PJ,2028 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2028 -heat,all-week,early-peak,all-year,8.50840000000,R1,3,MUS$2010/PJ,2028 +heat,all-week,early-peak,all-year,13.05290000000,R1,3,MUS$2010/PJ,2028 CO2f,all-week,early-peak,all-year,0.14220000000,R1,3,MUS$2010/kt,2028 -electricity,all-week,late-peak,all-year,14.57660000000,R1,4,MUS$2010/PJ,2028 +electricity,all-week,late-peak,all-year,20.03640000000,R1,4,MUS$2010/PJ,2028 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2028 -heat,all-week,late-peak,all-year,7.18320000000,R1,4,MUS$2010/PJ,2028 +heat,all-week,late-peak,all-year,12.24840000000,R1,4,MUS$2010/PJ,2028 CO2f,all-week,late-peak,all-year,0.14220000000,R1,4,MUS$2010/kt,2028 -electricity,all-week,evening,all-year,15.03030000000,R1,5,MUS$2010/PJ,2028 +electricity,all-week,evening,all-year,20.03640000000,R1,5,MUS$2010/PJ,2028 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2028 -heat,all-week,evening,all-year,7.73580000000,R1,5,MUS$2010/PJ,2028 +heat,all-week,evening,all-year,12.59030000000,R1,5,MUS$2010/PJ,2028 CO2f,all-week,evening,all-year,0.14220000000,R1,5,MUS$2010/kt,2028 -electricity,all-week,early-morning,all-year,15.03030000000,R1,6,MUS$2010/PJ,2028 +electricity,all-week,early-morning,all-year,20.03640000000,R1,6,MUS$2010/PJ,2028 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2028 -heat,all-week,early-morning,all-year,7.73580000000,R1,6,MUS$2010/PJ,2028 +heat,all-week,early-morning,all-year,12.59030000000,R1,6,MUS$2010/PJ,2028 CO2f,all-week,early-morning,all-year,0.14220000000,R1,6,MUS$2010/kt,2028 -electricity,all-week,late-afternoon,all-year,15.03030000000,R1,7,MUS$2010/PJ,2028 +electricity,all-week,late-afternoon,all-year,20.03640000000,R1,7,MUS$2010/PJ,2028 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2028 -heat,all-week,late-afternoon,all-year,7.73580000000,R1,7,MUS$2010/PJ,2028 +heat,all-week,late-afternoon,all-year,12.59030000000,R1,7,MUS$2010/PJ,2028 CO2f,all-week,late-afternoon,all-year,0.14220000000,R1,7,MUS$2010/kt,2028 -electricity,all-week,night,all-year,16.53430000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,26.87050000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,9.27370000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.00630000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,14.86840000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,24.40450000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,7.80940000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.89410000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,mid-afternoon,all-year,16.53430000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,mid-afternoon,all-year,26.87050000000,R1,2,MUS$2010/PJ,2030 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,mid-afternoon,all-year,9.27370000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,mid-afternoon,all-year,15.00630000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,mid-afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,14.86840000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,24.40450000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,7.80940000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.89410000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,12.91870000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,21.39050000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,6.05420000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,12.53480000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,13.75770000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,22.76050000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,6.83310000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,13.15260000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,early-morning,all-year,13.75770000000,R1,6,MUS$2010/PJ,2030 +electricity,all-week,early-morning,all-year,22.76050000000,R1,6,MUS$2010/PJ,2030 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2030 -heat,all-week,early-morning,all-year,6.83310000000,R1,6,MUS$2010/PJ,2030 +heat,all-week,early-morning,all-year,13.15260000000,R1,6,MUS$2010/PJ,2030 CO2f,all-week,early-morning,all-year,0.15700000000,R1,6,MUS$2010/kt,2030 -electricity,all-week,late-afternoon,all-year,13.75770000000,R1,7,MUS$2010/PJ,2030 +electricity,all-week,late-afternoon,all-year,22.76050000000,R1,7,MUS$2010/PJ,2030 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2030 -heat,all-week,late-afternoon,all-year,6.83310000000,R1,7,MUS$2010/PJ,2030 +heat,all-week,late-afternoon,all-year,13.15260000000,R1,7,MUS$2010/PJ,2030 CO2f,all-week,late-afternoon,all-year,0.15700000000,R1,7,MUS$2010/kt,2030 -electricity,all-week,night,all-year,17.21980000000,R1,0,MUS$2010/PJ,2032 +electricity,all-week,night,all-year,28.71830000000,R1,0,MUS$2010/PJ,2032 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2032 -heat,all-week,night,all-year,9.52680000000,R1,0,MUS$2010/PJ,2032 +heat,all-week,night,all-year,15.87340000000,R1,0,MUS$2010/PJ,2032 CO2f,all-week,night,all-year,0.18020000000,R1,0,MUS$2010/kt,2032 -electricity,all-week,morning,all-year,15.35310000000,R1,1,MUS$2010/PJ,2032 +electricity,all-week,morning,all-year,22.90710000000,R1,1,MUS$2010/PJ,2032 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2032 -heat,all-week,morning,all-year,7.98850000000,R1,1,MUS$2010/PJ,2032 +heat,all-week,morning,all-year,13.24580000000,R1,1,MUS$2010/PJ,2032 CO2f,all-week,morning,all-year,0.18020000000,R1,1,MUS$2010/kt,2032 -electricity,all-week,mid-afternoon,all-year,17.21980000000,R1,2,MUS$2010/PJ,2032 +electricity,all-week,mid-afternoon,all-year,28.71830000000,R1,2,MUS$2010/PJ,2032 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2032 -heat,all-week,mid-afternoon,all-year,9.52680000000,R1,2,MUS$2010/PJ,2032 +heat,all-week,mid-afternoon,all-year,15.87340000000,R1,2,MUS$2010/PJ,2032 CO2f,all-week,mid-afternoon,all-year,0.18020000000,R1,2,MUS$2010/kt,2032 -electricity,all-week,early-peak,all-year,15.35310000000,R1,3,MUS$2010/PJ,2032 +electricity,all-week,early-peak,all-year,22.90710000000,R1,3,MUS$2010/PJ,2032 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2032 -heat,all-week,early-peak,all-year,7.98850000000,R1,3,MUS$2010/PJ,2032 +heat,all-week,early-peak,all-year,13.24580000000,R1,3,MUS$2010/PJ,2032 CO2f,all-week,early-peak,all-year,0.18020000000,R1,3,MUS$2010/kt,2032 -electricity,all-week,late-peak,all-year,13.10570000000,R1,4,MUS$2010/PJ,2032 +electricity,all-week,late-peak,all-year,16.08070000000,R1,4,MUS$2010/PJ,2032 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2032 -heat,all-week,late-peak,all-year,6.12890000000,R1,4,MUS$2010/PJ,2032 +heat,all-week,late-peak,all-year,10.15900000000,R1,4,MUS$2010/PJ,2032 CO2f,all-week,late-peak,all-year,0.18020000000,R1,4,MUS$2010/kt,2032 -electricity,all-week,evening,all-year,14.10860000000,R1,5,MUS$2010/PJ,2032 +electricity,all-week,evening,all-year,19.03300000000,R1,5,MUS$2010/PJ,2032 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2032 -heat,all-week,evening,all-year,6.96290000000,R1,5,MUS$2010/PJ,2032 +heat,all-week,evening,all-year,11.49400000000,R1,5,MUS$2010/PJ,2032 CO2f,all-week,evening,all-year,0.18020000000,R1,5,MUS$2010/kt,2032 -electricity,all-week,early-morning,all-year,14.10860000000,R1,6,MUS$2010/PJ,2032 +electricity,all-week,early-morning,all-year,19.03300000000,R1,6,MUS$2010/PJ,2032 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2032 -heat,all-week,early-morning,all-year,6.96290000000,R1,6,MUS$2010/PJ,2032 +heat,all-week,early-morning,all-year,11.49400000000,R1,6,MUS$2010/PJ,2032 CO2f,all-week,early-morning,all-year,0.18020000000,R1,6,MUS$2010/kt,2032 -electricity,all-week,late-afternoon,all-year,14.10860000000,R1,7,MUS$2010/PJ,2032 +electricity,all-week,late-afternoon,all-year,19.03300000000,R1,7,MUS$2010/PJ,2032 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2032 -heat,all-week,late-afternoon,all-year,6.96290000000,R1,7,MUS$2010/PJ,2032 +heat,all-week,late-afternoon,all-year,11.49400000000,R1,7,MUS$2010/PJ,2032 CO2f,all-week,late-afternoon,all-year,0.18020000000,R1,7,MUS$2010/kt,2032 -electricity,all-week,night,all-year,17.82140000000,R1,0,MUS$2010/PJ,2034 +electricity,all-week,night,all-year,30.03540000000,R1,0,MUS$2010/PJ,2034 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2034 -heat,all-week,night,all-year,9.74930000000,R1,0,MUS$2010/PJ,2034 +heat,all-week,night,all-year,16.53900000000,R1,0,MUS$2010/PJ,2034 CO2f,all-week,night,all-year,0.20330000000,R1,0,MUS$2010/kt,2034 -electricity,all-week,morning,all-year,15.88220000000,R1,1,MUS$2010/PJ,2034 +electricity,all-week,morning,all-year,23.31430000000,R1,1,MUS$2010/PJ,2034 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2034 -heat,all-week,morning,all-year,8.18740000000,R1,1,MUS$2010/PJ,2034 +heat,all-week,morning,all-year,13.10530000000,R1,1,MUS$2010/PJ,2034 CO2f,all-week,morning,all-year,0.20330000000,R1,1,MUS$2010/kt,2034 -electricity,all-week,mid-afternoon,all-year,17.82140000000,R1,2,MUS$2010/PJ,2034 +electricity,all-week,mid-afternoon,all-year,30.03540000000,R1,2,MUS$2010/PJ,2034 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2034 -heat,all-week,mid-afternoon,all-year,9.74930000000,R1,2,MUS$2010/PJ,2034 +heat,all-week,mid-afternoon,all-year,16.53900000000,R1,2,MUS$2010/PJ,2034 CO2f,all-week,mid-afternoon,all-year,0.20330000000,R1,2,MUS$2010/kt,2034 -electricity,all-week,early-peak,all-year,15.88220000000,R1,3,MUS$2010/PJ,2034 +electricity,all-week,early-peak,all-year,23.31430000000,R1,3,MUS$2010/PJ,2034 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2034 -heat,all-week,early-peak,all-year,8.18740000000,R1,3,MUS$2010/PJ,2034 +heat,all-week,early-peak,all-year,13.10530000000,R1,3,MUS$2010/PJ,2034 CO2f,all-week,early-peak,all-year,0.20330000000,R1,3,MUS$2010/kt,2034 -electricity,all-week,late-peak,all-year,13.56170000000,R1,4,MUS$2010/PJ,2034 +electricity,all-week,late-peak,all-year,15.21160000000,R1,4,MUS$2010/PJ,2034 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2034 -heat,all-week,late-peak,all-year,6.31130000000,R1,4,MUS$2010/PJ,2034 +heat,all-week,late-peak,all-year,8.96590000000,R1,4,MUS$2010/PJ,2034 CO2f,all-week,late-peak,all-year,0.20330000000,R1,4,MUS$2010/kt,2034 -electricity,all-week,evening,all-year,14.58940000000,R1,5,MUS$2010/PJ,2034 +electricity,all-week,evening,all-year,18.83360000000,R1,5,MUS$2010/PJ,2034 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2034 -heat,all-week,evening,all-year,7.14610000000,R1,5,MUS$2010/PJ,2034 +heat,all-week,evening,all-year,10.81620000000,R1,5,MUS$2010/PJ,2034 CO2f,all-week,evening,all-year,0.20330000000,R1,5,MUS$2010/kt,2034 -electricity,all-week,early-morning,all-year,14.58940000000,R1,6,MUS$2010/PJ,2034 +electricity,all-week,early-morning,all-year,18.83360000000,R1,6,MUS$2010/PJ,2034 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2034 -heat,all-week,early-morning,all-year,7.14610000000,R1,6,MUS$2010/PJ,2034 +heat,all-week,early-morning,all-year,10.81620000000,R1,6,MUS$2010/PJ,2034 CO2f,all-week,early-morning,all-year,0.20330000000,R1,6,MUS$2010/kt,2034 -electricity,all-week,late-afternoon,all-year,14.58940000000,R1,7,MUS$2010/PJ,2034 +electricity,all-week,late-afternoon,all-year,18.83360000000,R1,7,MUS$2010/PJ,2034 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2034 -heat,all-week,late-afternoon,all-year,7.14610000000,R1,7,MUS$2010/PJ,2034 +heat,all-week,late-afternoon,all-year,10.81620000000,R1,7,MUS$2010/PJ,2034 CO2f,all-week,late-afternoon,all-year,0.20330000000,R1,7,MUS$2010/kt,2034 -electricity,all-week,night,all-year,18.34920000000,R1,0,MUS$2010/PJ,2036 +electricity,all-week,night,all-year,30.38370000000,R1,0,MUS$2010/PJ,2036 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2036 -heat,all-week,night,all-year,9.94450000000,R1,0,MUS$2010/PJ,2036 +heat,all-week,night,all-year,16.48200000000,R1,0,MUS$2010/PJ,2036 CO2f,all-week,night,all-year,0.22650000000,R1,0,MUS$2010/kt,2036 -electricity,all-week,morning,all-year,16.34690000000,R1,1,MUS$2010/PJ,2036 +electricity,all-week,morning,all-year,23.31550000000,R1,1,MUS$2010/PJ,2036 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2036 -heat,all-week,morning,all-year,8.36210000000,R1,1,MUS$2010/PJ,2036 +heat,all-week,morning,all-year,12.48750000000,R1,1,MUS$2010/PJ,2036 CO2f,all-week,morning,all-year,0.22650000000,R1,1,MUS$2010/kt,2036 -electricity,all-week,mid-afternoon,all-year,18.34920000000,R1,2,MUS$2010/PJ,2036 +electricity,all-week,mid-afternoon,all-year,30.38370000000,R1,2,MUS$2010/PJ,2036 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2036 -heat,all-week,mid-afternoon,all-year,9.94450000000,R1,2,MUS$2010/PJ,2036 +heat,all-week,mid-afternoon,all-year,16.48200000000,R1,2,MUS$2010/PJ,2036 CO2f,all-week,mid-afternoon,all-year,0.22650000000,R1,2,MUS$2010/kt,2036 -electricity,all-week,early-peak,all-year,16.34690000000,R1,3,MUS$2010/PJ,2036 +electricity,all-week,early-peak,all-year,23.31550000000,R1,3,MUS$2010/PJ,2036 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2036 -heat,all-week,early-peak,all-year,8.36210000000,R1,3,MUS$2010/PJ,2036 +heat,all-week,early-peak,all-year,12.48750000000,R1,3,MUS$2010/PJ,2036 CO2f,all-week,early-peak,all-year,0.22650000000,R1,3,MUS$2010/kt,2036 -electricity,all-week,late-peak,all-year,13.96360000000,R1,4,MUS$2010/PJ,2036 +electricity,all-week,late-peak,all-year,14.84290000000,R1,4,MUS$2010/PJ,2036 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2036 -heat,all-week,late-peak,all-year,6.47210000000,R1,4,MUS$2010/PJ,2036 +heat,all-week,late-peak,all-year,7.69930000000,R1,4,MUS$2010/PJ,2036 CO2f,all-week,late-peak,all-year,0.22650000000,R1,4,MUS$2010/kt,2036 -electricity,all-week,evening,all-year,15.01200000000,R1,5,MUS$2010/PJ,2036 +electricity,all-week,evening,all-year,18.60330000000,R1,5,MUS$2010/PJ,2036 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2036 -heat,all-week,evening,all-year,7.30720000000,R1,5,MUS$2010/PJ,2036 +heat,all-week,evening,all-year,9.82450000000,R1,5,MUS$2010/PJ,2036 CO2f,all-week,evening,all-year,0.22650000000,R1,5,MUS$2010/kt,2036 -electricity,all-week,early-morning,all-year,15.01200000000,R1,6,MUS$2010/PJ,2036 +electricity,all-week,early-morning,all-year,18.60330000000,R1,6,MUS$2010/PJ,2036 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2036 -heat,all-week,early-morning,all-year,7.30720000000,R1,6,MUS$2010/PJ,2036 +heat,all-week,early-morning,all-year,9.82450000000,R1,6,MUS$2010/PJ,2036 CO2f,all-week,early-morning,all-year,0.22650000000,R1,6,MUS$2010/kt,2036 -electricity,all-week,late-afternoon,all-year,15.01200000000,R1,7,MUS$2010/PJ,2036 +electricity,all-week,late-afternoon,all-year,18.60330000000,R1,7,MUS$2010/PJ,2036 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2036 -heat,all-week,late-afternoon,all-year,7.30720000000,R1,7,MUS$2010/PJ,2036 +heat,all-week,late-afternoon,all-year,9.82450000000,R1,7,MUS$2010/PJ,2036 CO2f,all-week,late-afternoon,all-year,0.22650000000,R1,7,MUS$2010/kt,2036 -electricity,all-week,night,all-year,18.81600000000,R1,0,MUS$2010/PJ,2038 +electricity,all-week,night,all-year,30.74420000000,R1,0,MUS$2010/PJ,2038 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2038 -heat,all-week,night,all-year,10.11730000000,R1,0,MUS$2010/PJ,2038 +heat,all-week,night,all-year,16.63660000000,R1,0,MUS$2010/PJ,2038 CO2f,all-week,night,all-year,0.24960000000,R1,0,MUS$2010/kt,2038 -electricity,all-week,morning,all-year,16.75820000000,R1,1,MUS$2010/PJ,2038 +electricity,all-week,morning,all-year,23.61460000000,R1,1,MUS$2010/PJ,2038 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2038 -heat,all-week,morning,all-year,8.51690000000,R1,1,MUS$2010/PJ,2038 +heat,all-week,morning,all-year,12.61900000000,R1,1,MUS$2010/PJ,2038 CO2f,all-week,morning,all-year,0.24960000000,R1,1,MUS$2010/kt,2038 -electricity,all-week,mid-afternoon,all-year,18.81600000000,R1,2,MUS$2010/PJ,2038 +electricity,all-week,mid-afternoon,all-year,30.74420000000,R1,2,MUS$2010/PJ,2038 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2038 -heat,all-week,mid-afternoon,all-year,10.11730000000,R1,2,MUS$2010/PJ,2038 +heat,all-week,mid-afternoon,all-year,16.63660000000,R1,2,MUS$2010/PJ,2038 CO2f,all-week,mid-afternoon,all-year,0.24960000000,R1,2,MUS$2010/kt,2038 -electricity,all-week,early-peak,all-year,16.75820000000,R1,3,MUS$2010/PJ,2038 +electricity,all-week,early-peak,all-year,23.61460000000,R1,3,MUS$2010/PJ,2038 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2038 -heat,all-week,early-peak,all-year,8.51690000000,R1,3,MUS$2010/PJ,2038 +heat,all-week,early-peak,all-year,12.61900000000,R1,3,MUS$2010/PJ,2038 CO2f,all-week,early-peak,all-year,0.24960000000,R1,3,MUS$2010/kt,2038 -electricity,all-week,late-peak,all-year,14.32050000000,R1,4,MUS$2010/PJ,2038 +electricity,all-week,late-peak,all-year,15.11190000000,R1,4,MUS$2010/PJ,2038 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2038 -heat,all-week,late-peak,all-year,6.61490000000,R1,4,MUS$2010/PJ,2038 +heat,all-week,late-peak,all-year,7.82780000000,R1,4,MUS$2010/PJ,2038 CO2f,all-week,late-peak,all-year,0.24960000000,R1,4,MUS$2010/kt,2038 -electricity,all-week,evening,all-year,15.38630000000,R1,5,MUS$2010/PJ,2038 +electricity,all-week,evening,all-year,18.86150000000,R1,5,MUS$2010/PJ,2038 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2038 -heat,all-week,evening,all-year,7.45000000000,R1,5,MUS$2010/PJ,2038 +heat,all-week,evening,all-year,9.94070000000,R1,5,MUS$2010/PJ,2038 CO2f,all-week,evening,all-year,0.24960000000,R1,5,MUS$2010/kt,2038 -electricity,all-week,early-morning,all-year,15.38630000000,R1,6,MUS$2010/PJ,2038 +electricity,all-week,early-morning,all-year,18.86150000000,R1,6,MUS$2010/PJ,2038 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2038 -heat,all-week,early-morning,all-year,7.45000000000,R1,6,MUS$2010/PJ,2038 +heat,all-week,early-morning,all-year,9.94070000000,R1,6,MUS$2010/PJ,2038 CO2f,all-week,early-morning,all-year,0.24960000000,R1,6,MUS$2010/kt,2038 -electricity,all-week,late-afternoon,all-year,15.38630000000,R1,7,MUS$2010/PJ,2038 +electricity,all-week,late-afternoon,all-year,18.86150000000,R1,7,MUS$2010/PJ,2038 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2038 -heat,all-week,late-afternoon,all-year,7.45000000000,R1,7,MUS$2010/PJ,2038 +heat,all-week,late-afternoon,all-year,9.94070000000,R1,7,MUS$2010/PJ,2038 CO2f,all-week,late-afternoon,all-year,0.24960000000,R1,7,MUS$2010/kt,2038 -electricity,all-week,night,all-year,19.19460000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,31.64500000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,10.32430000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,17.10570000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,17.00430000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,24.23070000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,8.65420000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,12.94280000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,mid-afternoon,all-year,19.19460000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,mid-afternoon,all-year,31.64500000000,R1,2,MUS$2010/PJ,2040 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,mid-afternoon,all-year,10.32430000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,mid-afternoon,all-year,17.10570000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,mid-afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,17.00430000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,24.23070000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,8.65420000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,12.94280000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,14.35550000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,15.21090000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,6.62890000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,7.87860000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,15.54410000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,19.28780000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,7.54090000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,10.16760000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,early-morning,all-year,15.54410000000,R1,6,MUS$2010/PJ,2040 +electricity,all-week,early-morning,all-year,19.28780000000,R1,6,MUS$2010/PJ,2040 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2040 -heat,all-week,early-morning,all-year,7.54090000000,R1,6,MUS$2010/PJ,2040 +heat,all-week,early-morning,all-year,10.16760000000,R1,6,MUS$2010/PJ,2040 CO2f,all-week,early-morning,all-year,0.27280000000,R1,6,MUS$2010/kt,2040 -electricity,all-week,late-afternoon,all-year,15.54410000000,R1,7,MUS$2010/PJ,2040 +electricity,all-week,late-afternoon,all-year,19.28780000000,R1,7,MUS$2010/PJ,2040 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2040 -heat,all-week,late-afternoon,all-year,7.54090000000,R1,7,MUS$2010/PJ,2040 +heat,all-week,late-afternoon,all-year,10.16760000000,R1,7,MUS$2010/PJ,2040 CO2f,all-week,late-afternoon,all-year,0.27280000000,R1,7,MUS$2010/kt,2040 diff --git a/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv b/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv index 99af66bd7..17255ed6a 100644 --- a/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv +++ b/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv @@ -11,49 +11,49 @@ A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 +A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2030 A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2030 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 -A1,3.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 +A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2035 A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2035 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 +A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,3.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,3.34000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 +A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2040 A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2040 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 +A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,3.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,3.34000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 +A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2045 A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2045 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 +A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,3.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,3.34000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 +A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2050 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 +A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 A1,10.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 -A1,3.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,9.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,7.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,3.34000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv b/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv index 1f7d63feb..43488191a 100644 --- a/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv +++ b/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,10.91850000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,23.65520000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,8.03580000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,13.53940000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,8.58740000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,17.07860000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,6.51650000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,10.18560000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,10.91850000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,23.65520000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,8.03580000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,13.53940000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,8.58740000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,17.07860000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,6.51650000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,10.18560000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,6.45620000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,11.06570000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,5.06050000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,7.01030000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,7.42190000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,13.79030000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,5.75690000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,8.50870000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,9.83380000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,23.81010000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,6.50480000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,13.70880000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,7.05100000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,16.89070000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,4.53460000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,9.54610000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,9.83380000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,23.81010000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,6.50480000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,13.70880000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,7.05100000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,16.89070000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,4.53460000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,9.54610000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,4.44060000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,10.60030000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,2.66290000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,5.68310000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,5.65960000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,13.43100000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,3.54950000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,7.46480000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,10.23610000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,25.84360000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,6.75440000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,14.66650000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,7.33380000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,18.24130000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,4.70680000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,10.18250000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,10.23610000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,25.84360000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,6.75440000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,14.66650000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,7.33380000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,18.24130000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,4.70680000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,10.18250000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,4.49320000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,10.74610000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,2.68390000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.74140000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,5.88260000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,14.44020000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,3.68300000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,7.94060000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,10.34490000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,26.26290000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,6.79800000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,14.83420000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,7.42870000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,18.56620000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,4.74480000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,10.31250000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,10.34490000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,26.26290000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,6.79800000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,14.83420000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,7.42870000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,18.56620000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,4.74480000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,10.31250000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,4.56540000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,10.96240000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,2.71280000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.82800000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,5.97050000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.71790000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,3.71820000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,8.05170000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,10.52810000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,26.77940000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,6.87120000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,15.04080000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,7.60130000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,19.01200000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,4.81390000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,10.49080000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,10.52810000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,26.77940000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,6.87120000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,15.04080000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,7.60130000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,19.01200000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,4.81390000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,10.49080000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,4.72100000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,11.32640000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,2.77510000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.97360000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,6.13800000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,15.12840000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,3.78520000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,8.21590000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,10.88030000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,26.79270000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,7.01210000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,15.04610000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,7.87530000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,19.14770000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,4.92350000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,10.54510000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,10.88030000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,26.79270000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,7.01210000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,15.04610000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,7.87530000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,19.14770000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,4.92350000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,10.54510000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,4.91270000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,11.87370000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,2.85170000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,6.19250000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,6.37280000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,15.32520000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,3.87910000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,8.29460000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/src/muse/costs.py b/src/muse/costs.py index 6f715a44e..69144e100 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -517,10 +517,10 @@ def annual_to_lifetime( assert "year" not in technologies.dims assert "timeslice" in costs.dims life = technologies.technical_life.astype(int) - iyears = range(life.values.max()) + iyears = range(max(life.values.max(), 1)) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") rates = discount_factor( - years=years, + years=years + 1, interest_rate=technologies.interest_rate, mask=years <= life, ) @@ -542,10 +542,9 @@ def lifetime_to_annual( assert "year" not in technologies.dims assert "timeslice" in costs.dims life = technologies.technical_life.astype(int) - # rate = technologies.interest_rate / ( - # 1 - (1 + technologies.interest_rate) ** -life - # ) - rate = 1 / life + rate = technologies.interest_rate / ( + 1 - (1 + technologies.interest_rate) ** (-life) + ) return costs * broadcast_timeslice(rate, level=timeslice_level) diff --git a/tests/test_costs.py b/tests/test_costs.py index 98bc0845f..f975eff44 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -199,19 +199,30 @@ def test_capital_recovery_factor(_technologies): # {"region", "technology"} -def test_annual_to_lifetime(_technologies, _prices, _consumption): - from muse.costs import annual_to_lifetime, fuel_costs +def test_annual_lifetime_conversion(_technologies, _prices, _consumption, _capacity): + from muse.costs import ( + annual_to_lifetime, + capital_costs, + fuel_costs, + lifetime_to_annual, + ) + # Convert fuel costs from annual to lifetime _fuel_costs = fuel_costs(_technologies, _prices, _consumption) _fuel_costs_lifetime = annual_to_lifetime(_fuel_costs, _technologies) assert set(_fuel_costs.dims) == set(_fuel_costs_lifetime.dims) assert (_fuel_costs_lifetime > _fuel_costs).all() - -def test_lifetime_to_annual(_technologies, _capacity): - from muse.costs import capital_costs, lifetime_to_annual - + # Convert capital costs from lifetime to annual _capital_costs = capital_costs(_technologies, _capacity) _capital_costs_annual = lifetime_to_annual(_capital_costs, _technologies) assert set(_capital_costs.dims) == set(_capital_costs_annual.dims) # assert (_capital_costs_annual < _capital_costs).all() + + # Convert lifetime fuel costs back to annual + _fuel_costs_annual = lifetime_to_annual(_fuel_costs_lifetime, _technologies) + # assert ((_fuel_costs_annual - _fuel_costs) < 1e-5).all() + + # Convert annual capital costs back to lifetime + _capital_costs_lifetime = annual_to_lifetime(_capital_costs_annual, _technologies) + # assert ((_capital_costs_lifetime - _capital_costs) < 1e-5).all() From 368898370a03d99f6fbf0cd3d0b82239412ef851 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 16 Dec 2024 11:43:59 +0000 Subject: [PATCH 110/121] Revert "Changes to annual/lifetime costs to match original code" This reverts commit 384292542004fe70beb9dce93865d9d6ff101335. --- .../Results/MCACapacity.csv | 58 ++-- .../1-single-objective/Results/MCAPrices.csv | 144 ++++---- .../Results/MCACapacity.csv | 159 ++++----- .../Results/MCAPrices.csv | 144 ++++---- .../1-correlation/Results/MCACapacity.csv | 47 +-- .../1-correlation/Results/MCAPrices.csv | 144 ++++---- .../1-introduction/Results/MCACapacity.csv | 43 ++- .../1-introduction/Results/MCAPrices.csv | 144 ++++---- .../2-scenario/Results/MCACapacity.csv | 58 ++-- .../2-scenario/Results/MCAPrices.csv | 144 ++++---- .../1-new-region/Results/MCACapacity.csv | 189 +++++++---- .../1-new-region/Results/MCAPrices.csv | 288 ++++++++-------- .../Results/MCACapacity.csv | 77 +++-- .../1-exogenous-demand/Results/MCAPrices.csv | 216 ++++++------ .../1-carbon-budget/Results/MCAPrices.csv | 108 +++--- .../1-min-constraint/Results/MCAPrices.csv | 144 ++++---- .../2-max-constraint/Results/MCAPrices.csv | 144 ++++---- .../Results/MCACapacity.csv | 53 +-- .../1-modify-timeslices/Results/MCAPrices.csv | 192 +++++------ .../Results/MCACapacity.csv | 196 +++++++---- .../Results/MCAPrices.csv | 320 +++++++++--------- .../Results/MCACapacity.csv | 28 +- .../new-decision-metric/Results/MCAPrices.csv | 144 ++++---- src/muse/costs.py | 11 +- tests/test_costs.py | 23 +- 25 files changed, 1658 insertions(+), 1560 deletions(-) diff --git a/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv b/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv index a299a2d97..0ed971b73 100644 --- a/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-agent/1-single-objective/Results/MCACapacity.csv @@ -18,47 +18,47 @@ A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A2,9.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2030 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2030 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2030 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A2,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2035 A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2035 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2035 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2035 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2035 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2035 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2040 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2040 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2040 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2040 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2040 +A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2040 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 @@ -66,22 +66,22 @@ A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2045 A2,15.50000000000,R1,2040,R1,residential,gasboiler,newcapa,2045 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2045 A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2045 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2045 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2045 -A2,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A2,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 A1,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2045 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 A2,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2045 @@ -90,24 +90,24 @@ A1,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A2,15.50000000000,R1,2040,R1,residential,gasboiler,newcapa,2050 A2,11.50000000000,R1,2045,R1,residential,gasboiler,newcapa,2050 A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,1.50000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,0.90630000000,R1,2045,R1,power,windturbine,newcapa,2050 A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2050 A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2050 -A2,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A2,3.15630000000,R1,2045,R1,power,windturbine,newcapa,2050 +A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A2,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A2,2.40630000000,R1,2045,R1,power,windturbine,newcapa,2050 A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2050 A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 A1,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2050 A1,1.45000000000,R1,2045,R1,gas,gassupply1,newcapa,2050 A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2050 A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 A2,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv b/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv index 5a574cbab..0c4f90eb8 100644 --- a/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,19.79450000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,13.60250000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,12.44990000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,10.37670000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,16.71490000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,12.58690000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,11.01750000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,9.63540000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,19.79450000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,13.60250000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,12.44990000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,10.37670000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,16.71490000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,12.58690000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,11.01750000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,9.63540000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,15.53550000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.19800000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,9.88590000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,8.99320000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,15.53550000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,12.19800000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,10.35840000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,9.28350000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,28.43510000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,12.10350000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,15.33790000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,10.87940000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,22.06510000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,8.82020000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,13.03320000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,9.58940000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,28.43510000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,12.10350000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,15.33790000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,10.87940000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,22.06510000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,8.82020000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,13.03320000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,9.58940000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,15.69520000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,5.53690000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,10.72840000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,8.29940000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,18.88020000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,7.17850000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,11.88080000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,8.94440000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,28.94230000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,11.74750000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,17.31200000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,12.68090000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,23.00900000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,8.70880000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,15.09460000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,11.43980000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,28.94230000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,11.74750000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,17.31200000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,12.68090000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,23.00900000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,8.70880000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,15.09460000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,11.43980000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,17.76570000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,5.94640000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,13.01520000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,10.25400000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,20.04240000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,7.18950000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,13.98590000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,10.81930000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,31.33300000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,12.08950000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,19.66280000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,14.62200000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,24.64020000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,8.96630000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,17.29350000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,13.36400000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,31.33300000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,12.08950000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,19.66280000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,14.62200000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,24.64020000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,8.96630000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,17.29350000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,13.36400000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,18.46230000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,6.08330000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,15.02720000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,12.15400000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,21.29380000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,7.40470000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,16.10890000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,12.73500000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,33.55350000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,13.01280000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,22.73380000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,17.43350000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,26.44730000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,9.59920000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,20.28190000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,16.11750000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,33.55350000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,13.01280000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,22.73380000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,17.43350000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,26.44730000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,9.59920000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,20.28190000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,16.11750000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,19.81490000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,6.18560000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,17.92470000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,14.80140000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,22.89420000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,7.89240000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,19.05590000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,15.45950000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,35.17410000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,12.84600000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,25.68490000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,20.02710000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,27.80430000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,9.61000000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,23.18020000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,18.74660000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,35.17410000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,12.84600000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,25.68490000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,20.02710000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,27.80430000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,9.61000000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,23.18020000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,18.74660000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,20.91610000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,6.56430000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,20.77190000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,17.50410000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,24.11940000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,7.99200000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,21.92790000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,18.10630000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv index a299a2d97..90d952cd1 100644 --- a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv @@ -7,108 +7,79 @@ A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 A2,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 A1,2.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 A1,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A2,12.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,1.30560000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A2,2.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A2,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2025 +A1,2.36110000000,R1,2020,R1,power,gasCCGT,newcapa,2025 A2,0.50000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2025 -A1,9.17600000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A2,9.17600000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2025 +A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A2,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 A1,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A2,9.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 -A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2030 -A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2030 -A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2030 -A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2030 -A2,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A2,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 +A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2030 +A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2030 +A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2030 +A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,3.75000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A2,3.75000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2035 -A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2035 -A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2035 -A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2035 -A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2035 -A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 -A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 +A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 +A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2035 +A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2035 +A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2035 +A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 -A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2040 -A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2040 -A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2040 -A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2040 -A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 -A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 -A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 -A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 +A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 +A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 +A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2040 +A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2040 +A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2040 +A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2045 -A2,15.50000000000,R1,2040,R1,residential,gasboiler,newcapa,2045 -A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2045 -A1,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2045 -A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2045 -A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2045 -A2,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 -A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 -A1,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2045 -A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 -A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 -A2,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2045 +A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 +A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 +A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2045 +A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2045 +A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2045 +A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A2,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A2,15.50000000000,R1,2040,R1,residential,gasboiler,newcapa,2050 -A2,11.50000000000,R1,2045,R1,residential,gasboiler,newcapa,2050 -A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,2.52780000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,0.37500000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2050 -A1,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,1.50000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2050 -A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A2,1.68750000000,R1,2035,R1,power,windturbine,newcapa,2050 -A2,1.50000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A2,3.15630000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 -A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 -A1,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2050 -A1,1.45000000000,R1,2045,R1,gas,gassupply1,newcapa,2050 -A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A2,7.02400000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 -A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 -A2,0.48330000000,R1,2040,R1,gas,gassupply1,newcapa,2050 -A2,1.45000000000,R1,2045,R1,gas,gassupply1,newcapa,2050 +A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 +A2,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 +A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2050 +A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A1,2.09380000000,R1,2045,R1,power,windturbine,newcapa,2050 +A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2050 +A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A2,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A2,5.09380000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv index 5a574cbab..9e608babb 100644 --- a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,19.79450000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,12.41700000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,12.44990000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,8.51030000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,16.71490000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,11.36100000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,11.01750000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,7.39480000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,19.79450000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,12.41700000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,12.44990000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,8.51030000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,16.71490000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,11.36100000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,11.01750000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,7.39480000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,15.53550000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,11.13740000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,9.88590000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,6.54290000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,15.53550000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,11.13740000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,10.35840000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,6.93340000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,28.43510000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,12.29140000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,15.33790000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,7.57660000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,22.06510000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,9.06200000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,13.03320000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,5.39810000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,28.43510000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,12.29140000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,15.33790000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,7.57660000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,22.06510000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,9.06200000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,13.03320000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,5.39810000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,15.69520000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,5.83270000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,10.72840000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,3.21970000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,18.88020000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,7.44730000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,11.88080000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,4.30890000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,28.94230000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,12.02100000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,17.31200000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,7.46840000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,23.00900000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,9.02730000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,15.09460000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,5.38430000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,28.94230000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,12.02100000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,17.31200000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,7.46840000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,23.00900000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,9.02730000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,15.09460000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,5.38430000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,17.76570000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,6.30580000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,13.01520000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,3.40900000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,20.04240000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,7.53050000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,13.98590000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,4.34220000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,31.33300000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,12.39610000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,19.66280000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,7.61840000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,24.64020000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,9.31130000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,17.29350000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,5.49790000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,31.33300000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,12.39610000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,19.66280000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,7.61840000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,24.64020000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,9.31130000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,17.29350000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,5.49790000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,18.46230000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,6.46390000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,15.02720000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,3.47220000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,21.29380000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,7.76900000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,16.10890000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,4.43760000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,33.55350000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,13.34180000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,22.73380000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,7.99670000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,26.44730000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,9.96190000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,20.28190000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,5.75810000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,33.55350000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,13.34180000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,22.73380000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,7.99670000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,26.44730000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,9.96190000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,20.28190000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,5.75810000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,19.81490000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,6.58200000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,17.92470000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,3.51950000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,22.89420000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,8.27200000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,19.05590000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,4.63880000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,35.17410000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,13.24300000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,25.68490000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,7.95720000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,27.80430000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,10.03700000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,23.18020000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,5.78810000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,35.17410000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,13.24300000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,25.68490000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,7.95720000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,27.80430000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,10.03700000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,23.18020000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,5.78810000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,20.91610000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,7.01950000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,20.77190000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,3.69450000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,24.11940000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,8.43400000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,21.92790000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,4.70360000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv index fe8adf0e0..81c8cb97e 100644 --- a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv @@ -2,36 +2,37 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,16.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,20.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,11.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 +A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 +A1,4.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,6.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,2.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 -A1,13.12220000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 A1,6.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,2.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,13.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,12.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,6.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,2.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,13.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,6.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,12.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,2.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,13.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,12.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,7.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,2.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,13.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 A1,1.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv index 6c7fb704f..9b88e79b8 100644 --- a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,27.78890000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,17.03190000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,12.49630000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,10.11910000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,20.25210000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,16.43750000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,11.90130000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,9.25480000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,27.78890000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,17.03190000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,12.49630000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,10.11910000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,20.25210000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,16.43750000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,11.90130000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,9.25480000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,13.79410000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,16.02030000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,8.48630000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,16.51000000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.14240000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,11.60580000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,8.82570000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,24.65930000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,14.63730000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,14.62830000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.44750000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,22.63770000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,12.24130000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,13.44820000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,6.61690000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,24.65930000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,14.63730000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,14.62830000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.44750000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,22.63770000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,12.24130000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,13.44820000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,6.61690000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,21.39050000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.98780000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,12.41700000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,4.88180000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,21.63390000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,11.05170000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,12.86220000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,5.70790000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,29.96970000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,16.64380000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,16.33300000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,9.32740000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,21.95910000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,14.10910000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,11.66680000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,7.41530000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,29.96970000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,16.64380000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,16.33300000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,9.32740000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,21.95910000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,14.10910000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,11.66680000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,7.41530000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,14.29320000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,11.64730000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,7.16030000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.54560000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,17.98170000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,12.85060000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,9.35010000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,6.46590000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,30.70130000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,18.46130000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,16.51010000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,9.98340000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,22.90350000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,15.99400000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,11.96800000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,8.12210000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,30.70130000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,18.46130000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,16.51010000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,9.98340000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,22.90350000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,15.99400000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,11.96800000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,8.12210000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,15.65760000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,13.66500000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,7.70600000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,6.35270000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,19.03190000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.76890000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,9.71280000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,7.19790000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,32.22480000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,21.16820000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,17.04830000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,11.02240000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,24.55840000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,18.74240000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,12.58270000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,9.19240000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,32.22480000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,21.16820000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,17.04830000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,11.02240000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,24.55840000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,18.74240000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,12.58270000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,9.19240000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,17.57150000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,16.49540000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,8.47160000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,7.48480000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,20.75200000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,17.53800000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,10.36540000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,8.28380000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,34.72360000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,23.55590000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,18.20650000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,12.07500000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,26.65390000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,20.97780000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,13.52610000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,10.15120000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,34.72360000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,23.55590000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,18.20650000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,12.07500000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,26.65390000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,20.97780000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,13.52610000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,10.15120000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,18.97260000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,18.48870000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,9.03200000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,8.28210000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,22.64730000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,19.69770000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,11.20230000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,9.19610000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv index be969ed3b..a8aaa10bb 100644 --- a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCACapacity.csv @@ -2,41 +2,38 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,30.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 +A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2025 +A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2030 -A1,23.43330000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2030 +A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2030 +A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2035 -A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2035 +A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2035 +A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2040 -A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 +A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2040 +A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2040 +A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2045 -A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 +A1,16.00000000000,R1,2020,R1,power,solarPV,newcapa,2045 +A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2045 +A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 A1,7.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2050 -A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 +A1,12.00000000000,R1,2025,R1,power,solarPV,newcapa,2050 +A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 A1,5.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 A1,7.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 -A1,5.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,22.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 diff --git a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv index dcfdfdd56..eeb018368 100644 --- a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,24.87340000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,9.72920000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,12.58300000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,8.02150000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,17.59100000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,7.11350000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,11.96460000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,6.41200000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,24.87340000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,9.72920000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,12.58300000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,8.02150000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,17.59100000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,7.11350000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,11.96460000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,6.41200000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,10.60780000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,4.60520000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,4.83670000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,13.94970000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,5.80560000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,11.65540000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,5.60730000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,23.96160000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,8.40000000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,14.51720000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,5.93130000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,15.97440000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,5.60000000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,12.54290000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,3.95420000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,23.96160000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,8.40000000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,14.51720000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,5.93130000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,15.97440000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,5.60000000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,12.54290000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,3.95420000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,10.63660000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,11.98080000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,4.20000000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,11.55570000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,2.96570000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,24.78780000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,13.91360000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,6.02000000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,16.52520000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,9.27580000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,4.01330000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,24.78780000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,13.91360000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,6.02000000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,16.52520000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,9.27580000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,4.01330000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,12.39390000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,6.95680000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,3.01000000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,24.19760000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,8.78570000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,14.24420000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,6.26000000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,16.13180000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,5.85710000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,9.49610000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,4.17330000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,24.19760000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,8.78570000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,14.24420000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,6.26000000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,16.13180000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,5.85710000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,9.49610000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,4.17330000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,12.09880000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,4.39290000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,7.12210000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,3.13000000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,24.78780000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,14.00810000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,6.17430000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,16.52520000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,9.33870000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,4.11620000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,24.78780000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,14.00810000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,6.17430000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,16.52520000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,9.33870000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,4.11620000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,12.39390000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,7.00400000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,3.08710000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,24.32880000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,14.24420000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,6.26000000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,16.21920000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,9.49610000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,4.17330000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,24.32880000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,14.24420000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,6.26000000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,16.21920000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,9.49610000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,4.17330000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,12.16440000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,7.12210000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,3.13000000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv index 4031853a6..f59c669d3 100644 --- a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv @@ -2,41 +2,51 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,30.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 +A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 +A1,7.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2025 +A1,19.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,4.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2030 -A1,23.43330000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2030 +A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2030 +A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,11.62600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,4.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2035 +A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2035 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 +A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2035 +A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,4.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 +A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2040 +A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2040 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2040 +A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,4.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 +A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2045 +A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2045 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2045 +A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,4.44440000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 +A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2050 +A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2050 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 -A1,6.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,8.47780000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,7.91410000000,R1,2045,R1,power,solarPV,newcapa,2050 +A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv index e4683cc7a..dba9d837e 100644 --- a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,30.32710000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,16.86160000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,12.58300000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,9.91780000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,21.18690000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,15.81690000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,11.96460000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,8.80580000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,30.32710000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,16.86160000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,12.58300000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,9.91780000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,21.18690000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,15.81690000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,11.96460000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,8.80580000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,12.04670000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,14.77220000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,7.69390000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,16.61680000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,15.29450000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,11.65540000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,8.24990000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,26.59650000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,15.95010000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,14.88060000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.95140000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,23.94780000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,13.81390000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,13.64260000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,7.23980000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,26.59650000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,15.95010000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,14.88060000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.95140000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,23.94780000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,13.81390000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,13.64260000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,7.23980000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,21.39050000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,11.75130000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,12.44730000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,5.58720000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,22.62350000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,12.74570000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,13.02360000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,6.38400000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,29.82390000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,17.25500000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,16.25860000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,9.56200000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,22.10080000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,14.79420000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,11.72630000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,7.69100000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,29.82390000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,17.25500000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,16.25860000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,9.56200000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,22.10080000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,14.79420000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,11.72630000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,7.69100000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,14.37770000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,12.33340000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,7.19410000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.82000000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,18.23920000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,13.56380000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,9.46020000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,6.75550000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,30.66280000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,18.05700000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,16.59420000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,9.88280000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,22.76430000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,15.48350000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,11.99170000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,7.96670000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,30.66280000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,18.05700000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,16.59420000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,9.88280000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,22.76430000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,15.48350000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,11.99170000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,7.96670000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,14.86570000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,12.91000000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,7.38930000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,6.05070000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,18.81500000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.19670000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,9.69050000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,7.00870000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,31.47900000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,19.22530000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,16.92060000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,10.35010000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,23.53500000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,16.59850000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,12.30000000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,8.41270000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,31.47900000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,19.22530000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,16.92060000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,10.35010000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,23.53500000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,16.59850000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,12.30000000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,8.41270000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,15.59090000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,13.97170000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,7.67940000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,6.47530000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,19.56290000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,15.28510000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,9.98970000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,7.44400000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,32.11390000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,20.06690000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,17.17460000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,10.68680000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,24.13440000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,17.42100000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,12.53980000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,8.74170000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,32.11390000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,20.06690000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,17.17460000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,10.68680000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,24.13440000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,17.42100000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,12.53980000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,8.74170000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,16.15500000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,14.77510000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,7.90500000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,6.79670000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,20.14470000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,16.09800000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,10.22240000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,7.76920000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv b/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv index 8372798e6..13674265f 100644 --- a/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv @@ -5,71 +5,140 @@ A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,1.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 A1,15.00000000000,R2,2020,R2,gas,gassupply1,newcapa,2020 -A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,24.00000000000,R2,2020,R2,residential,gasboiler,newcapa,2025 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,1.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2025 -A1,30.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,30.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 -A1,10.00000000000,R1,2025,R1,residential,gasboiler,newcapa,2030 -A1,19.00000000000,R2,2020,R2,residential,gasboiler,newcapa,2030 -A1,10.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2030 -A1,23.43330000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2030 -A1,23.43330000000,R2,2020,R2,gas,gassupply1,newcapa,2030 -A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2030 -A1,10.00000000000,R1,2025,R1,residential,gasboiler,newcapa,2035 -A1,26.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2035 -A1,10.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2035 -A1,26.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2035 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2035 -A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2035 -A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2035 -A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2035 -A1,26.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 -A1,16.00000000000,R1,2035,R1,residential,gasboiler,newcapa,2040 -A1,26.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2040 +A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 +A1,5.00000000000,R2,2020,R2,residential,gasboiler,newcapa,2025 +A1,19.00000000000,R2,2020,R2,residential,heatpump,newcapa,2025 +A1,7.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2025 +A1,7.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2025 +A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2025 +A1,18.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,18.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 +A1,9.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2030 +A1,19.00000000000,R2,2020,R2,residential,heatpump,newcapa,2030 +A1,1.00000000000,R2,2025,R2,residential,heatpump,newcapa,2030 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 +A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 +A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2030 +A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2030 +A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2030 +A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2030 +A1,10.63440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,10.63440000000,R2,2020,R2,gas,gassupply1,newcapa,2030 +A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2030 +A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 +A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 +A1,9.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2035 +A1,6.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2035 +A1,1.00000000000,R2,2025,R2,residential,heatpump,newcapa,2035 +A1,19.00000000000,R2,2030,R2,residential,heatpump,newcapa,2035 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 +A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 +A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 +A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2035 +A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2035 +A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2035 +A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2035 +A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2035 +A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2035 +A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2035 +A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2035 +A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 +A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 +A1,6.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2040 A1,16.00000000000,R2,2035,R2,residential,gasboiler,newcapa,2040 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2040 -A1,7.73330000000,R1,2035,R1,gas,gassupply1,newcapa,2040 -A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2040 -A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2040 -A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2040 -A1,7.73330000000,R2,2035,R2,gas,gassupply1,newcapa,2040 -A1,16.00000000000,R1,2035,R1,residential,gasboiler,newcapa,2045 +A1,19.00000000000,R2,2030,R2,residential,heatpump,newcapa,2040 +A1,1.00000000000,R2,2035,R2,residential,heatpump,newcapa,2040 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 +A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 +A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 +A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2040 +A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2040 +A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2040 +A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2040 +A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2040 +A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2040 +A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,4.51110000000,R1,2035,R1,gas,gassupply1,newcapa,2040 +A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2040 +A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2040 +A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2040 +A1,4.51110000000,R2,2035,R2,gas,gassupply1,newcapa,2040 +A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,16.00000000000,R2,2035,R2,residential,gasboiler,newcapa,2045 A1,12.00000000000,R2,2040,R2,residential,gasboiler,newcapa,2045 -A1,20.00000000000,R2,2040,R2,residential,heatpump,newcapa,2045 -A1,26.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,26.00000000000,R2,2040,R2,power,windturbine,newcapa,2045 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2045 -A1,7.73330000000,R1,2035,R1,gas,gassupply1,newcapa,2045 -A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2045 -A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2045 -A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2045 -A1,7.73330000000,R2,2035,R2,gas,gassupply1,newcapa,2045 +A1,1.00000000000,R2,2035,R2,residential,heatpump,newcapa,2045 +A1,19.00000000000,R2,2040,R2,residential,heatpump,newcapa,2045 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 +A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 +A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 +A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2045 +A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2045 +A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2045 +A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2045 +A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2045 +A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2045 +A1,3.00000000000,R2,2040,R2,power,windturbine,newcapa,2045 +A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,4.51110000000,R1,2035,R1,gas,gassupply1,newcapa,2045 +A1,3.86670000000,R1,2040,R1,gas,gassupply1,newcapa,2045 +A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2045 +A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2045 +A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2045 +A1,4.51110000000,R2,2035,R2,gas,gassupply1,newcapa,2045 +A1,3.86670000000,R2,2040,R2,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,12.00000000000,R2,2040,R2,residential,gasboiler,newcapa,2050 A1,22.00000000000,R2,2045,R2,residential,gasboiler,newcapa,2050 -A1,20.00000000000,R2,2040,R2,residential,heatpump,newcapa,2050 -A1,26.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,11.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,26.00000000000,R2,2040,R2,power,windturbine,newcapa,2050 -A1,11.00000000000,R2,2045,R2,power,windturbine,newcapa,2050 -A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2050 -A1,7.73330000000,R1,2035,R1,gas,gassupply1,newcapa,2050 -A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2050 -A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2050 -A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2050 -A1,7.73330000000,R2,2035,R2,gas,gassupply1,newcapa,2050 +A1,19.00000000000,R2,2040,R2,residential,heatpump,newcapa,2050 +A1,1.00000000000,R2,2045,R2,residential,heatpump,newcapa,2050 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 +A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 +A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A1,4.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2050 +A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2050 +A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2050 +A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2050 +A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2050 +A1,3.00000000000,R2,2040,R2,power,windturbine,newcapa,2050 +A1,4.00000000000,R2,2045,R2,power,windturbine,newcapa,2050 +A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,4.51110000000,R1,2035,R1,gas,gassupply1,newcapa,2050 +A1,3.86670000000,R1,2040,R1,gas,gassupply1,newcapa,2050 +A1,3.86670000000,R1,2045,R1,gas,gassupply1,newcapa,2050 +A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2050 +A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2050 +A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2050 +A1,4.51110000000,R2,2035,R2,gas,gassupply1,newcapa,2050 +A1,3.86670000000,R2,2040,R2,gas,gassupply1,newcapa,2050 +A1,3.86670000000,R2,2045,R2,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv b/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv index 834c47225..ac88b87f3 100644 --- a/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv @@ -47,291 +47,291 @@ heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R2,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 CO2f,all-week,evening,all-year,0.08310000000,R2,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,19.25560000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,19.25560000000,R2,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,14.43830000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,14.43830000000,R2,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,13.01920000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,13.01920000000,R2,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 CO2f,all-week,night,all-year,0.12010000000,R2,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,17.62170000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,17.62170000000,R2,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,13.20140000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,13.20140000000,R2,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,10.93960000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,10.93960000000,R2,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 CO2f,all-week,morning,all-year,0.12010000000,R2,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,19.25560000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,19.25560000000,R2,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,14.43830000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,14.43830000000,R2,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,13.01920000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,13.01920000000,R2,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R2,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,17.62170000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,17.62170000000,R2,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,13.20140000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,13.20140000000,R2,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,10.93960000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,10.93960000000,R2,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R2,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,16.20730000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,16.20730000000,R2,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,11.96460000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,11.96460000000,R2,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,8.92950000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,8.92950000000,R2,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R2,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.80480000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.80480000000,R2,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,12.58300000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,12.58300000000,R2,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,9.89980000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,9.89980000000,R2,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 CO2f,all-week,evening,all-year,0.12010000000,R2,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,21.74370000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,21.74370000000,R2,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,16.70430000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,16.70430000000,R2,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.07000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.07000000000,R2,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 CO2f,all-week,night,all-year,0.15700000000,R2,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,18.79980000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,18.79980000000,R2,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,15.50860000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,15.50860000000,R2,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,11.51290000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,11.51290000000,R2,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 CO2f,all-week,morning,all-year,0.15700000000,R2,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,21.74370000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,21.74370000000,R2,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,16.70430000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,16.70430000000,R2,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,14.07000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,14.07000000000,R2,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R2,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,18.79980000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,18.79980000000,R2,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,15.50860000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,15.50860000000,R2,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,11.51290000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,11.51290000000,R2,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R2,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,16.19160000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,16.19160000000,R2,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,14.35420000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,14.35420000000,R2,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,9.12320000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,9.12320000000,R2,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R2,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,17.32780000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,17.32780000000,R2,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,14.91080000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,14.91080000000,R2,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,10.23440000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,10.23440000000,R2,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 CO2f,all-week,evening,all-year,0.15700000000,R2,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,25.31620000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,25.31620000000,R2,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,20.57330000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,20.57330000000,R2,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.16240000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.16240000000,R2,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 CO2f,all-week,night,all-year,0.21490000000,R2,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,21.40970000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,21.40970000000,R2,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,19.33650000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,19.33650000000,R2,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,13.39230000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,13.39230000000,R2,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 CO2f,all-week,morning,all-year,0.21490000000,R2,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,25.31620000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,25.31620000000,R2,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,20.57330000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,20.57330000000,R2,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,16.16240000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,16.16240000000,R2,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R2,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,21.40970000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,21.40970000000,R2,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,19.33650000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,19.33650000000,R2,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,13.39230000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,13.39230000000,R2,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R2,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,17.59400000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,17.59400000000,R2,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,18.09960000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,18.09960000000,R2,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,10.67260000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,10.67260000000,R2,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R2,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,19.45650000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,19.45650000000,R2,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,18.71800000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,18.71800000000,R2,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,12.00730000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,12.00730000000,R2,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 CO2f,all-week,evening,all-year,0.21490000000,R2,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2040 -electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,27.83040000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,27.83040000000,R2,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,24.31870000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,24.31870000000,R2,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,18.13780000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,18.13780000000,R2,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 CO2f,all-week,night,all-year,0.27280000000,R2,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2040 -electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,23.54960000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,23.54960000000,R2,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,23.08180000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,23.08180000000,R2,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,15.36600000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,15.36600000000,R2,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 CO2f,all-week,morning,all-year,0.27280000000,R2,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2040 -electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,27.83040000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,27.83040000000,R2,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,24.31870000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,24.31870000000,R2,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,18.13780000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,18.13780000000,R2,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R2,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2040 -electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,23.54960000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,23.54960000000,R2,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,23.08180000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,23.08180000000,R2,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,15.36600000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,15.36600000000,R2,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R2,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2040 -electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,19.30350000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,19.30350000000,R2,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,21.84500000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,21.84500000000,R2,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,12.60440000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,12.60440000000,R2,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R2,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2040 -electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,21.40910000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,21.40910000000,R2,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,22.46340000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,22.46340000000,R2,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,13.98010000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,13.98010000000,R2,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 CO2f,all-week,evening,all-year,0.27280000000,R2,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,59.99930000000,R1,0,MUS$2010/PJ,2045 -electricity,all-week,night,all-year,59.99930000000,R2,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,30.76040000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,30.76040000000,R2,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,31.24370000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,31.24370000000,R2,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,20.69190000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,20.69190000000,R2,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 CO2f,all-week,night,all-year,0.35390000000,R2,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,39.99950000000,R1,1,MUS$2010/PJ,2045 -electricity,all-week,morning,all-year,39.99950000000,R2,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,26.21660000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,26.21660000000,R2,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,24.78030000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,24.78030000000,R2,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,17.92670000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,17.92670000000,R2,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 CO2f,all-week,morning,all-year,0.35390000000,R2,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,59.99930000000,R1,2,MUS$2010/PJ,2045 -electricity,all-week,afternoon,all-year,59.99930000000,R2,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,30.76040000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,30.76040000000,R2,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,31.24370000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,31.24370000000,R2,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,20.69190000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,20.69190000000,R2,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R2,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,39.99950000000,R1,3,MUS$2010/PJ,2045 -electricity,all-week,early-peak,all-year,39.99950000000,R2,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,26.21660000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,26.21660000000,R2,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,24.78030000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,24.78030000000,R2,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,17.92670000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,17.92670000000,R2,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R2,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,19.99980000000,R1,4,MUS$2010/PJ,2045 -electricity,all-week,late-peak,all-year,19.99980000000,R2,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,21.70640000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,21.70640000000,R2,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,18.31680000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,18.31680000000,R2,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,15.17100000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,15.17100000000,R2,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R2,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,29.99960000000,R1,5,MUS$2010/PJ,2045 -electricity,all-week,evening,all-year,29.99960000000,R2,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,23.94470000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,23.94470000000,R2,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,21.54860000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,21.54860000000,R2,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,16.54410000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,16.54410000000,R2,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 CO2f,all-week,evening,all-year,0.35390000000,R2,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,59.99930000000,R1,0,MUS$2010/PJ,2050 -electricity,all-week,night,all-year,59.99930000000,R2,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,33.21300000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,33.21300000000,R2,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,33.34050000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,33.34050000000,R2,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,23.26150000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,23.26150000000,R2,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 CO2f,all-week,night,all-year,0.43510000000,R2,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,39.99950000000,R1,1,MUS$2010/PJ,2050 -electricity,all-week,morning,all-year,39.99950000000,R2,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,28.44880000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,28.44880000000,R2,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,25.49220000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,25.49220000000,R2,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,20.50150000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,20.50150000000,R2,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 CO2f,all-week,morning,all-year,0.43510000000,R2,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,59.99930000000,R1,2,MUS$2010/PJ,2050 -electricity,all-week,afternoon,all-year,59.99930000000,R2,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,33.21300000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,33.21300000000,R2,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,33.34050000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,33.34050000000,R2,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,23.26150000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,23.26150000000,R2,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R2,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,39.99950000000,R1,3,MUS$2010/PJ,2050 -electricity,all-week,early-peak,all-year,39.99950000000,R2,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,28.44880000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,28.44880000000,R2,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,25.49220000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,25.49220000000,R2,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,20.50150000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,20.50150000000,R2,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R2,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,19.99980000000,R1,4,MUS$2010/PJ,2050 -electricity,all-week,late-peak,all-year,19.99980000000,R2,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,23.71700000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,23.71700000000,R2,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,17.64400000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,17.64400000000,R2,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,17.75030000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,17.75030000000,R2,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R2,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,29.99960000000,R1,5,MUS$2010/PJ,2050 -electricity,all-week,evening,all-year,29.99960000000,R2,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,26.06670000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,26.06670000000,R2,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,21.56810000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,21.56810000000,R2,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,19.12140000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,19.12140000000,R2,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 CO2f,all-week,evening,all-year,0.43510000000,R2,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv index f9d533428..0a572222b 100644 --- a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv @@ -3,56 +3,63 @@ A1,10.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2020 A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,24.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2025 -A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,61.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2030 -A1,10.00000000000,R1,2025,R1,residential,gas_stove,newcapa,2030 -A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 +A1,19.00000000000,R1,2020,R1,residential,electric_stove,newcapa,2025 +A1,5.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2025 +A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 +A1,7.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2025 +A1,24.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,electric_stove,newcapa,2030 +A1,10.00000000000,R1,2025,R1,residential,electric_stove,newcapa,2030 +A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 -A1,54.36670000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,14.18000000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 +A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,17.07890000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,10.00000000000,R1,2025,R1,residential,electric_stove,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,electric_stove,newcapa,2035 -A1,10.00000000000,R1,2025,R1,residential,gas_stove,newcapa,2035 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2035 -A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,14.18000000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 +A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 +A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,electric_stove,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,electric_stove,newcapa,2040 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2040 -A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,22.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,14.18000000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 +A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 +A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,electric_stove,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,electric_stove,newcapa,2045 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2045 -A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,22.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 +A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 +A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,12.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,14.18000000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,electric_stove,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,electric_stove,newcapa,2050 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,1.00000000000,R1,2030,R1,power,gasCCGT,newcapa,2050 -A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,22.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 +A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,12.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,12.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,14.18000000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,32.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv index 3acbe9b2a..977d0a091 100644 --- a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv @@ -29,183 +29,183 @@ gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 cook,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 -electricity,all-week,night,all-year,29.60050000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,13.39680000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,12.58300000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,8.82060000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -cook,all-week,night,all-year,10.81680000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,20.22790000000,R1,1,MUS$2010/PJ,2025 +cook,all-week,night,all-year,8.45260000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,11.17300000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,11.96460000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,7.33530000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -cook,all-week,morning,all-year,10.19830000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,29.60050000000,R1,2,MUS$2010/PJ,2025 +cook,all-week,morning,all-year,6.96730000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,13.39680000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,12.58300000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,8.82060000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -cook,all-week,afternoon,all-year,10.81680000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,20.22790000000,R1,3,MUS$2010/PJ,2025 +cook,all-week,afternoon,all-year,8.45260000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,11.17300000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,11.96460000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,7.33530000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -cook,all-week,early-peak,all-year,10.19830000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,11.04390000000,R1,4,MUS$2010/PJ,2025 +cook,all-week,early-peak,all-year,6.96730000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,9.08910000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,5.89430000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -cook,all-week,late-peak,all-year,9.57990000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,15.54150000000,R1,5,MUS$2010/PJ,2025 +cook,all-week,late-peak,all-year,5.52630000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,10.06110000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,11.65540000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,6.59260000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -cook,all-week,evening,all-year,9.88910000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,25.80190000000,R1,0,MUS$2010/PJ,2030 +cook,all-week,evening,all-year,6.22460000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,12.87610000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,14.77100000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,7.72180000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -cook,all-week,night,all-year,12.60140000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,23.41810000000,R1,1,MUS$2010/PJ,2030 +cook,all-week,night,all-year,7.72180000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,10.04370000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,13.56960000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,5.73170000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -cook,all-week,morning,all-year,12.00350000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,25.80190000000,R1,2,MUS$2010/PJ,2030 +cook,all-week,morning,all-year,5.73170000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,12.87610000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,14.77100000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,7.72180000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -cook,all-week,afternoon,all-year,12.60140000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,23.41810000000,R1,3,MUS$2010/PJ,2030 +cook,all-week,afternoon,all-year,7.72180000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,10.04370000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,13.56960000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,5.73170000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -cook,all-week,early-peak,all-year,12.00350000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,21.39050000000,R1,4,MUS$2010/PJ,2030 +cook,all-week,early-peak,all-year,5.73170000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,7.33440000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,12.44730000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,3.82040000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -cook,all-week,late-peak,all-year,11.42630000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,22.22620000000,R1,5,MUS$2010/PJ,2030 +cook,all-week,late-peak,all-year,3.82040000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,8.62750000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,12.96880000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,4.73670000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -cook,all-week,evening,all-year,11.70460000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,30.08490000000,R1,0,MUS$2010/PJ,2035 +cook,all-week,evening,all-year,4.73670000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,13.72230000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,16.36300000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.14890000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -cook,all-week,night,all-year,16.13910000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,21.52330000000,R1,1,MUS$2010/PJ,2035 +cook,all-week,night,all-year,8.14890000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,10.65590000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,11.49530000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,6.03570000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -cook,all-week,morning,all-year,12.45180000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,30.08490000000,R1,2,MUS$2010/PJ,2035 +cook,all-week,morning,all-year,6.03570000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,13.72230000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,16.36300000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,8.14890000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -cook,all-week,afternoon,all-year,16.13910000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,21.52330000000,R1,3,MUS$2010/PJ,2035 +cook,all-week,afternoon,all-year,8.14890000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,10.65590000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,11.49530000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,6.03570000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -cook,all-week,early-peak,all-year,12.45180000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,13.06660000000,R1,4,MUS$2010/PJ,2035 +cook,all-week,early-peak,all-year,6.03570000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,7.61100000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,6.66960000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,3.93110000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -cook,all-week,late-peak,all-year,8.79480000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,17.24250000000,R1,5,MUS$2010/PJ,2035 +cook,all-week,late-peak,all-year,3.93110000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,9.12270000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,9.06150000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,4.97910000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -cook,all-week,evening,all-year,10.60820000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,30.76920000000,R1,0,MUS$2010/PJ,2040 +cook,all-week,evening,all-year,4.97910000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,14.17190000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,16.63670000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,8.32880000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -cook,all-week,night,all-year,16.63670000000,R1,0,MUS$2010/PJ,2040 -electricity,all-week,morning,all-year,21.83090000000,R1,1,MUS$2010/PJ,2040 +cook,all-week,night,all-year,8.32880000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,11.02500000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,11.61840000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,6.18330000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -cook,all-week,morning,all-year,11.61840000000,R1,1,MUS$2010/PJ,2040 -electricity,all-week,afternoon,all-year,30.76920000000,R1,2,MUS$2010/PJ,2040 +cook,all-week,morning,all-year,6.18330000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,14.17190000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,16.63670000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,8.32880000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -cook,all-week,afternoon,all-year,16.63670000000,R1,2,MUS$2010/PJ,2040 -electricity,all-week,early-peak,all-year,21.83090000000,R1,3,MUS$2010/PJ,2040 +cook,all-week,afternoon,all-year,8.32880000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,11.02500000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,11.61840000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,6.18330000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -cook,all-week,early-peak,all-year,11.61840000000,R1,3,MUS$2010/PJ,2040 -electricity,all-week,late-peak,all-year,12.97310000000,R1,4,MUS$2010/PJ,2040 +cook,all-week,early-peak,all-year,6.18330000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,7.89680000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,6.63230000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,4.04540000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -cook,all-week,late-peak,all-year,6.63230000000,R1,4,MUS$2010/PJ,2040 -electricity,all-week,evening,all-year,17.36180000000,R1,5,MUS$2010/PJ,2040 +cook,all-week,late-peak,all-year,4.04540000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,9.45150000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,9.10920000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,5.11060000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -cook,all-week,evening,all-year,9.10920000000,R1,5,MUS$2010/PJ,2040 -electricity,all-week,night,all-year,31.54820000000,R1,0,MUS$2010/PJ,2045 +cook,all-week,evening,all-year,5.11060000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,14.81100000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,16.94830000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,8.58440000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -cook,all-week,night,all-year,16.94830000000,R1,0,MUS$2010/PJ,2045 -electricity,all-week,morning,all-year,22.47720000000,R1,1,MUS$2010/PJ,2045 +cook,all-week,night,all-year,8.58440000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,11.60360000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,11.87690000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,6.41480000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -cook,all-week,morning,all-year,11.87690000000,R1,1,MUS$2010/PJ,2045 -electricity,all-week,afternoon,all-year,31.54820000000,R1,2,MUS$2010/PJ,2045 +cook,all-week,morning,all-year,6.41480000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,14.81100000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,16.94830000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,8.58440000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -cook,all-week,afternoon,all-year,16.94830000000,R1,2,MUS$2010/PJ,2045 -electricity,all-week,early-peak,all-year,22.47720000000,R1,3,MUS$2010/PJ,2045 +cook,all-week,afternoon,all-year,8.58440000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,11.60360000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,11.87690000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,6.41480000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -cook,all-week,early-peak,all-year,11.87690000000,R1,3,MUS$2010/PJ,2045 -electricity,all-week,late-peak,all-year,13.47760000000,R1,4,MUS$2010/PJ,2045 +cook,all-week,early-peak,all-year,6.41480000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,8.41290000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,6.83410000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,4.25180000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -cook,all-week,late-peak,all-year,6.83410000000,R1,4,MUS$2010/PJ,2045 -electricity,all-week,evening,all-year,17.94170000000,R1,5,MUS$2010/PJ,2045 +cook,all-week,late-peak,all-year,4.25180000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,9.99980000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,9.34120000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,5.32990000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -cook,all-week,evening,all-year,9.34120000000,R1,5,MUS$2010/PJ,2045 -electricity,all-week,night,all-year,32.15350000000,R1,0,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,5.32990000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,15.30760000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,17.19040000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,8.78300000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -cook,all-week,night,all-year,17.19040000000,R1,0,MUS$2010/PJ,2050 -electricity,all-week,morning,all-year,22.97930000000,R1,1,MUS$2010/PJ,2050 +cook,all-week,night,all-year,8.78300000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,12.05310000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,12.07770000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,6.59460000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -cook,all-week,morning,all-year,12.07770000000,R1,1,MUS$2010/PJ,2050 -electricity,all-week,afternoon,all-year,32.15350000000,R1,2,MUS$2010/PJ,2050 +cook,all-week,morning,all-year,6.59460000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,15.30760000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,17.19040000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,8.78300000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -cook,all-week,afternoon,all-year,17.19040000000,R1,2,MUS$2010/PJ,2050 -electricity,all-week,early-peak,all-year,22.97930000000,R1,3,MUS$2010/PJ,2050 +cook,all-week,afternoon,all-year,8.78300000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,12.05310000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,12.07770000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,6.59460000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -cook,all-week,early-peak,all-year,12.07770000000,R1,3,MUS$2010/PJ,2050 -electricity,all-week,late-peak,all-year,13.86920000000,R1,4,MUS$2010/PJ,2050 +cook,all-week,early-peak,all-year,6.59460000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,8.81380000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,6.99070000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,4.41220000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -cook,all-week,late-peak,all-year,6.99070000000,R1,4,MUS$2010/PJ,2050 -electricity,all-week,evening,all-year,18.39220000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,late-peak,all-year,4.41220000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,10.42590000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,9.52140000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,5.50030000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 -cook,all-week,evening,all-year,9.52140000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,5.50030000000,R1,5,MUS$2010/PJ,2050 diff --git a/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv b/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv index 235fdd39b..9557b1c23 100644 --- a/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv +++ b/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv @@ -23,75 +23,75 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,28.68260000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,11.66100000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,16.16680000000,R1,0,MUS$2010/PJ,2025 -CO2f,all-week,night,all-year,0.17000000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,19.93720000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,night,all-year,9.03670000000,R1,0,MUS$2010/PJ,2025 +CO2f,all-week,night,all-year,0.15000000000,R1,0,MUS$2010/kt,2025 +electricity,all-week,morning,all-year,8.51410000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,12.12620000000,R1,1,MUS$2010/PJ,2025 -CO2f,all-week,morning,all-year,0.17000000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,28.68260000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,7.25910000000,R1,1,MUS$2010/PJ,2025 +CO2f,all-week,morning,all-year,0.15000000000,R1,1,MUS$2010/kt,2025 +electricity,all-week,afternoon,all-year,11.66100000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,16.16680000000,R1,2,MUS$2010/PJ,2025 -CO2f,all-week,afternoon,all-year,0.17000000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,19.93720000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,9.03670000000,R1,2,MUS$2010/PJ,2025 +CO2f,all-week,afternoon,all-year,0.15000000000,R1,2,MUS$2010/kt,2025 +electricity,all-week,early-peak,all-year,8.51410000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,12.12620000000,R1,3,MUS$2010/PJ,2025 -CO2f,all-week,early-peak,all-year,0.17000000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,11.55110000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,7.25910000000,R1,3,MUS$2010/PJ,2025 +CO2f,all-week,early-peak,all-year,0.15000000000,R1,3,MUS$2010/kt,2025 +electricity,all-week,late-peak,all-year,5.49650000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,8.19940000000,R1,4,MUS$2010/PJ,2025 -CO2f,all-week,late-peak,all-year,0.17000000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,15.56450000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,5.52240000000,R1,4,MUS$2010/PJ,2025 +CO2f,all-week,late-peak,all-year,0.15000000000,R1,4,MUS$2010/kt,2025 +electricity,all-week,evening,all-year,6.94060000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,10.10590000000,R1,5,MUS$2010/PJ,2025 -CO2f,all-week,evening,all-year,0.17000000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,26.13870000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,6.37020000000,R1,5,MUS$2010/PJ,2025 +CO2f,all-week,evening,all-year,0.15000000000,R1,5,MUS$2010/kt,2025 +electricity,all-week,night,all-year,12.95810000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,14.64020000000,R1,0,MUS$2010/PJ,2030 -CO2f,all-week,night,all-year,0.14000000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,19.77800000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,night,all-year,7.75460000000,R1,0,MUS$2010/PJ,2030 +CO2f,all-week,night,all-year,0.12000000000,R1,0,MUS$2010/kt,2030 +electricity,all-week,morning,all-year,10.73860000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,10.70100000000,R1,1,MUS$2010/PJ,2030 -CO2f,all-week,morning,all-year,0.14000000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,26.13870000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,6.00970000000,R1,1,MUS$2010/PJ,2030 +CO2f,all-week,morning,all-year,0.12000000000,R1,1,MUS$2010/kt,2030 +electricity,all-week,afternoon,all-year,12.95810000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,14.64020000000,R1,2,MUS$2010/PJ,2030 -CO2f,all-week,afternoon,all-year,0.14000000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,19.77800000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,7.75460000000,R1,2,MUS$2010/PJ,2030 +CO2f,all-week,afternoon,all-year,0.12000000000,R1,2,MUS$2010/kt,2030 +electricity,all-week,early-peak,all-year,10.73860000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,10.70100000000,R1,3,MUS$2010/PJ,2030 -CO2f,all-week,early-peak,all-year,0.14000000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,14.05910000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,6.00970000000,R1,3,MUS$2010/PJ,2030 +CO2f,all-week,early-peak,all-year,0.12000000000,R1,3,MUS$2010/kt,2030 +electricity,all-week,late-peak,all-year,8.74310000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,7.06670000000,R1,4,MUS$2010/PJ,2030 -CO2f,all-week,late-peak,all-year,0.14000000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,16.59760000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,4.38390000000,R1,4,MUS$2010/PJ,2030 +CO2f,all-week,late-peak,all-year,0.12000000000,R1,4,MUS$2010/kt,2030 +electricity,all-week,evening,all-year,9.62880000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,8.73140000000,R1,5,MUS$2010/PJ,2030 -CO2f,all-week,evening,all-year,0.14000000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,28.90120000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,5.13720000000,R1,5,MUS$2010/PJ,2030 +CO2f,all-week,evening,all-year,0.12000000000,R1,5,MUS$2010/kt,2030 +electricity,all-week,night,all-year,13.71690000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,15.88950000000,R1,0,MUS$2010/PJ,2035 -CO2f,all-week,night,all-year,0.17000000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,21.37830000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.14680000000,R1,0,MUS$2010/PJ,2035 +CO2f,all-week,night,all-year,0.15000000000,R1,0,MUS$2010/kt,2035 +electricity,all-week,morning,all-year,11.06050000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,11.43740000000,R1,1,MUS$2010/PJ,2035 -CO2f,all-week,morning,all-year,0.17000000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,28.90120000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,6.19750000000,R1,1,MUS$2010/PJ,2035 +CO2f,all-week,morning,all-year,0.15000000000,R1,1,MUS$2010/kt,2035 +electricity,all-week,afternoon,all-year,13.71690000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,15.88950000000,R1,2,MUS$2010/PJ,2035 -CO2f,all-week,afternoon,all-year,0.17000000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,21.37830000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,8.14680000000,R1,2,MUS$2010/PJ,2035 +CO2f,all-week,afternoon,all-year,0.15000000000,R1,2,MUS$2010/kt,2035 +electricity,all-week,early-peak,all-year,11.06050000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,11.43740000000,R1,3,MUS$2010/PJ,2035 -CO2f,all-week,early-peak,all-year,0.17000000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,14.01560000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,6.19750000000,R1,3,MUS$2010/PJ,2035 +CO2f,all-week,early-peak,all-year,0.15000000000,R1,3,MUS$2010/kt,2035 +electricity,all-week,late-peak,all-year,8.46050000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,7.04920000000,R1,4,MUS$2010/PJ,2035 -CO2f,all-week,late-peak,all-year,0.17000000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,17.61690000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,4.27090000000,R1,4,MUS$2010/PJ,2035 +CO2f,all-week,late-peak,all-year,0.15000000000,R1,4,MUS$2010/kt,2035 +electricity,all-week,evening,all-year,9.73220000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,9.21130000000,R1,5,MUS$2010/PJ,2035 -CO2f,all-week,evening,all-year,0.17000000000,R1,5,MUS$2010/kt,2035 +heat,all-week,evening,all-year,5.22290000000,R1,5,MUS$2010/PJ,2035 +CO2f,all-week,evening,all-year,0.15000000000,R1,5,MUS$2010/kt,2035 diff --git a/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv b/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv index f2c4946fa..a515ac494 100644 --- a/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv +++ b/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,12.62770000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,5.88870000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,10.46720000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,6.86280000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,9.14540000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,4.65270000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,8.09320000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,5.69030000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,12.85430000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,6.69420000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,10.75530000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,7.33430000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,9.14540000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,4.65270000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,8.09320000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,5.69030000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,5.96160000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,3.52270000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,5.81380000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,4.55130000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,7.81060000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,4.61530000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,7.16510000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,5.41810000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,10.99990000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,3.99380000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,8.58470000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,4.16890000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,7.33320000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,2.66260000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,5.72310000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,2.77920000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,10.99990000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,3.99380000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,8.58470000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,4.16890000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,7.33320000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,2.66260000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,5.72310000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,2.77920000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,5.49990000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,1.99690000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,4.29230000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,2.08440000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,8.72900000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,4.25750000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,5.81930000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,2.83840000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,8.72900000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,4.25750000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,5.81930000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,2.83840000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,4.36450000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,2.12880000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,11.42840000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,4.14950000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,7.61900000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,2.76630000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,11.42840000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,4.14950000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,7.61900000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,2.76630000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,5.71420000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,2.07470000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,11.87490000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,4.31150000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,7.91660000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,2.87440000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,11.87490000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,4.31150000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,7.91660000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,2.87440000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,5.93740000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,2.15580000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,8.99560000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,4.35440000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,5.99710000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,2.90290000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,8.99560000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,4.35440000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,5.99710000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,2.90290000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,4.49780000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,2.17720000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv b/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv index 9e580eb17..11713d0db 100644 --- a/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv +++ b/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,13.93410000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,6.18930000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,10.82840000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,6.90550000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,9.92540000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,4.76230000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,8.28770000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,5.67250000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,14.06800000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,7.10230000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,11.12940000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,7.45330000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,9.92540000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,4.76230000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,8.28770000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,5.67250000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,5.07980000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,2.46380000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,5.31070000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,3.99210000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,7.03060000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,3.15830000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,6.56400000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,4.60260000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,10.99990000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,3.99380000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,8.58470000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,4.16890000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,7.33320000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,2.66260000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,5.72310000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,2.77920000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,10.99990000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,3.99380000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,8.58470000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,4.16890000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,7.33320000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,2.66260000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,5.72310000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,2.77920000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,5.49990000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,1.99690000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,4.29230000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,2.08440000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,8.72900000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,4.25750000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,5.81930000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,2.83840000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,8.72900000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,4.25750000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,5.81930000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,2.83840000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,4.36450000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,2.12880000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,11.42840000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,4.14950000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,7.61900000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,2.76630000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,11.42840000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,4.14950000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,7.61900000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,2.76630000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,5.71420000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,2.07470000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,11.87490000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,4.31150000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,7.91660000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,2.87440000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,11.87490000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,4.31150000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,7.91660000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,2.87440000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,5.93740000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,2.15580000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,8.99560000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,4.35440000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,5.99710000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,2.90290000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,8.99560000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,4.35440000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,5.99710000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,2.90290000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,4.49780000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,2.17720000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv index 71551b263..90da2b071 100644 --- a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv +++ b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv @@ -2,41 +2,46 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,22.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,28.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,17.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 +A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,17.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 +A1,7.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,18.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,17.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 -A1,20.85560000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 +A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,10.63440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,22.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,24.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 +A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,22.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,24.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 +A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,27.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,24.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 +A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,5.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,27.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,23.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,4.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,24.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 +A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,5.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,5.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,7.73560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,6.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv index 6d619c17e..28f198f3d 100644 --- a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv +++ b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv @@ -31,195 +31,195 @@ electricity,all-week,late-afternoon,all-year,19.50000000000,R1,7,MUS$2010/PJ,202 gas,all-week,late-afternoon,all-year,7.15280000000,R1,7,MUS$2010/PJ,2020 heat,all-week,late-afternoon,all-year,100.00000000000,R1,7,MUS$2010/PJ,2020 CO2f,all-week,late-afternoon,all-year,0.08310000000,R1,7,MUS$2010/kt,2020 -electricity,all-week,night,all-year,28.73140000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,17.32630000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,12.54990000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,10.06670000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,21.13150000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,16.70800000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,12.00320000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,9.19370000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,mid-afternoon,all-year,28.73140000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,mid-afternoon,all-year,17.32630000000,R1,2,MUS$2010/PJ,2025 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,mid-afternoon,all-year,12.54990000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,mid-afternoon,all-year,10.06670000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,mid-afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,21.13150000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,16.70800000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,12.00320000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,9.19370000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,12.39310000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,16.02030000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,8.16140000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,16.06490000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.29580000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,11.63880000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,8.61160000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,early-morning,all-year,16.06490000000,R1,6,MUS$2010/PJ,2025 +electricity,all-week,early-morning,all-year,16.29580000000,R1,6,MUS$2010/PJ,2025 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2025 -heat,all-week,early-morning,all-year,11.63880000000,R1,6,MUS$2010/PJ,2025 +heat,all-week,early-morning,all-year,8.61160000000,R1,6,MUS$2010/PJ,2025 CO2f,all-week,early-morning,all-year,0.12010000000,R1,6,MUS$2010/kt,2025 -electricity,all-week,late-afternoon,all-year,16.06490000000,R1,7,MUS$2010/PJ,2025 +electricity,all-week,late-afternoon,all-year,16.29580000000,R1,7,MUS$2010/PJ,2025 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2025 -heat,all-week,late-afternoon,all-year,11.63880000000,R1,7,MUS$2010/PJ,2025 +heat,all-week,late-afternoon,all-year,8.61160000000,R1,7,MUS$2010/PJ,2025 CO2f,all-week,late-afternoon,all-year,0.12010000000,R1,7,MUS$2010/kt,2025 -electricity,all-week,night,all-year,25.37600000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,15.69390000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,14.77890000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.93760000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,23.35830000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,13.73250000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,13.61370000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,7.35500000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,mid-afternoon,all-year,25.37600000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,mid-afternoon,all-year,15.69390000000,R1,2,MUS$2010/PJ,2030 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,mid-afternoon,all-year,14.77890000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,mid-afternoon,all-year,8.93760000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,mid-afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,23.35830000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,13.73250000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,13.61370000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,7.35500000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,21.39050000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,11.37470000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,12.26790000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,5.43660000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,22.01320000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,12.42480000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,12.83690000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,6.29990000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,early-morning,all-year,22.01320000000,R1,6,MUS$2010/PJ,2030 +electricity,all-week,early-morning,all-year,12.42480000000,R1,6,MUS$2010/PJ,2030 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2030 -heat,all-week,early-morning,all-year,12.83690000000,R1,6,MUS$2010/PJ,2030 +heat,all-week,early-morning,all-year,6.29990000000,R1,6,MUS$2010/PJ,2030 CO2f,all-week,early-morning,all-year,0.15700000000,R1,6,MUS$2010/kt,2030 -electricity,all-week,late-afternoon,all-year,22.01320000000,R1,7,MUS$2010/PJ,2030 +electricity,all-week,late-afternoon,all-year,12.42480000000,R1,7,MUS$2010/PJ,2030 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2030 -heat,all-week,late-afternoon,all-year,12.83690000000,R1,7,MUS$2010/PJ,2030 +heat,all-week,late-afternoon,all-year,6.29990000000,R1,7,MUS$2010/PJ,2030 CO2f,all-week,late-afternoon,all-year,0.15700000000,R1,7,MUS$2010/kt,2030 -electricity,all-week,night,all-year,30.16360000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,17.02050000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,16.31720000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,9.42070000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,23.07460000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,14.89970000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,12.20600000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,7.78860000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,mid-afternoon,all-year,30.16360000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,mid-afternoon,all-year,17.02050000000,R1,2,MUS$2010/PJ,2035 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,mid-afternoon,all-year,16.31720000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,mid-afternoon,all-year,9.42070000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,mid-afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,23.07460000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,14.89970000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,12.20600000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,7.78860000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,14.55340000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,12.38730000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,7.26440000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.84160000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,18.34860000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,13.48580000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,9.46530000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,6.70060000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,early-morning,all-year,18.34860000000,R1,6,MUS$2010/PJ,2035 +electricity,all-week,early-morning,all-year,13.48580000000,R1,6,MUS$2010/PJ,2035 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2035 -heat,all-week,early-morning,all-year,9.46530000000,R1,6,MUS$2010/PJ,2035 +heat,all-week,early-morning,all-year,6.70060000000,R1,6,MUS$2010/PJ,2035 CO2f,all-week,early-morning,all-year,0.21490000000,R1,6,MUS$2010/kt,2035 -electricity,all-week,late-afternoon,all-year,18.34860000000,R1,7,MUS$2010/PJ,2035 +electricity,all-week,late-afternoon,all-year,13.48580000000,R1,7,MUS$2010/PJ,2035 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2035 -heat,all-week,late-afternoon,all-year,9.46530000000,R1,7,MUS$2010/PJ,2035 +heat,all-week,late-afternoon,all-year,6.70060000000,R1,7,MUS$2010/PJ,2035 CO2f,all-week,late-afternoon,all-year,0.21490000000,R1,7,MUS$2010/kt,2035 -electricity,all-week,night,all-year,31.59890000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,17.98740000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,16.94650000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,9.84140000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,24.14510000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,15.66940000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,12.67290000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,8.12030000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,mid-afternoon,all-year,31.59890000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,mid-afternoon,all-year,17.98740000000,R1,2,MUS$2010/PJ,2040 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,mid-afternoon,all-year,16.94650000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,mid-afternoon,all-year,9.84140000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,mid-afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,24.14510000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,15.66940000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,12.67290000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,8.12030000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,15.07730000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,12.88310000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,7.47390000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,6.03990000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,19.17590000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.12410000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,9.82380000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,6.97280000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,early-morning,all-year,19.17590000000,R1,6,MUS$2010/PJ,2040 +electricity,all-week,early-morning,all-year,14.12410000000,R1,6,MUS$2010/PJ,2040 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2040 -heat,all-week,early-morning,all-year,9.82380000000,R1,6,MUS$2010/PJ,2040 +heat,all-week,early-morning,all-year,6.97280000000,R1,6,MUS$2010/PJ,2040 CO2f,all-week,early-morning,all-year,0.27280000000,R1,6,MUS$2010/kt,2040 -electricity,all-week,late-afternoon,all-year,19.17590000000,R1,7,MUS$2010/PJ,2040 +electricity,all-week,late-afternoon,all-year,14.12410000000,R1,7,MUS$2010/PJ,2040 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2040 -heat,all-week,late-afternoon,all-year,9.82380000000,R1,7,MUS$2010/PJ,2040 +heat,all-week,late-afternoon,all-year,6.97280000000,R1,7,MUS$2010/PJ,2040 CO2f,all-week,late-afternoon,all-year,0.27280000000,R1,7,MUS$2010/kt,2040 -electricity,all-week,night,all-year,32.59640000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,19.36770000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,17.29030000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,10.35960000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,25.06980000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,16.97470000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,13.00410000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,8.61860000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,mid-afternoon,all-year,32.59640000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,mid-afternoon,all-year,19.36770000000,R1,2,MUS$2010/PJ,2045 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,mid-afternoon,all-year,17.29030000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,mid-afternoon,all-year,10.35960000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,mid-afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,25.06980000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,16.97470000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,13.00410000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,8.61860000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,16.02270000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,14.12950000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,7.85210000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,6.53850000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,20.05210000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,15.37940000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,10.14670000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,7.45800000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,early-morning,all-year,20.05210000000,R1,6,MUS$2010/PJ,2045 +electricity,all-week,early-morning,all-year,15.37940000000,R1,6,MUS$2010/PJ,2045 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2045 -heat,all-week,early-morning,all-year,10.14670000000,R1,6,MUS$2010/PJ,2045 +heat,all-week,early-morning,all-year,7.45800000000,R1,6,MUS$2010/PJ,2045 CO2f,all-week,early-morning,all-year,0.35390000000,R1,6,MUS$2010/kt,2045 -electricity,all-week,late-afternoon,all-year,20.05210000000,R1,7,MUS$2010/PJ,2045 +electricity,all-week,late-afternoon,all-year,15.37940000000,R1,7,MUS$2010/PJ,2045 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2045 -heat,all-week,late-afternoon,all-year,10.14670000000,R1,7,MUS$2010/PJ,2045 +heat,all-week,late-afternoon,all-year,7.45800000000,R1,7,MUS$2010/PJ,2045 CO2f,all-week,late-afternoon,all-year,0.35390000000,R1,7,MUS$2010/kt,2045 -electricity,all-week,night,all-year,33.38580000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,20.42720000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,17.64900000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,10.80980000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,25.80270000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,17.91110000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,13.32740000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,9.01170000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,mid-afternoon,all-year,33.38580000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,mid-afternoon,all-year,20.42720000000,R1,2,MUS$2010/PJ,2050 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,mid-afternoon,all-year,17.64900000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,mid-afternoon,all-year,10.80980000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,mid-afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,25.80270000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,17.91110000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,13.32740000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,9.01170000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,16.77520000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,14.88680000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,8.15310000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,6.84140000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,20.74730000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,16.23370000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,10.44630000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,7.81290000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 -electricity,all-week,early-morning,all-year,20.74730000000,R1,6,MUS$2010/PJ,2050 +electricity,all-week,early-morning,all-year,16.23370000000,R1,6,MUS$2010/PJ,2050 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2050 -heat,all-week,early-morning,all-year,10.44630000000,R1,6,MUS$2010/PJ,2050 +heat,all-week,early-morning,all-year,7.81290000000,R1,6,MUS$2010/PJ,2050 CO2f,all-week,early-morning,all-year,0.43510000000,R1,6,MUS$2010/kt,2050 -electricity,all-week,late-afternoon,all-year,20.74730000000,R1,7,MUS$2010/PJ,2050 +electricity,all-week,late-afternoon,all-year,16.23370000000,R1,7,MUS$2010/PJ,2050 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2050 -heat,all-week,late-afternoon,all-year,10.44630000000,R1,7,MUS$2010/PJ,2050 +heat,all-week,late-afternoon,all-year,7.81290000000,R1,7,MUS$2010/PJ,2050 CO2f,all-week,late-afternoon,all-year,0.43510000000,R1,7,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv index a7201b35f..7f8f5eb37 100644 --- a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv +++ b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv @@ -2,96 +2,144 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2022 -A1,24.48890000000,R1,2020,R1,gas,gassupply1,newcapa,2022 -A1,17.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2024 -A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2024 -A1,24.48890000000,R1,2020,R1,gas,gassupply1,newcapa,2024 -A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2024 -A1,15.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2026 -A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2026 -A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2026 -A1,22.98890000000,R1,2020,R1,gas,gassupply1,newcapa,2026 -A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2026 -A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2026 -A1,13.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2028 -A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2028 -A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2028 +A1,8.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2022 +A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2022 +A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2022 +A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2022 +A1,6.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2024 +A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2024 +A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2024 +A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2024 +A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2024 +A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2024 +A1,4.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2026 +A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2026 +A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2026 +A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2026 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2026 +A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2026 +A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2026 +A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2026 +A1,13.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2026 +A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2026 +A1,2.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2028 +A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2028 +A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2028 +A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2028 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2028 -A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2028 -A1,19.98890000000,R1,2020,R1,gas,gassupply1,newcapa,2028 -A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2028 -A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2028 -A1,2.09220000000,R1,2026,R1,gas,gassupply1,newcapa,2028 -A1,11.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 -A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2030 -A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2030 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2028 +A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2028 +A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2028 +A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2028 +A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2028 +A1,10.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2028 +A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2028 +A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2028 +A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2030 +A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2030 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2030 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2030 -A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2030 -A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2030 -A1,16.98890000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2030 -A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2030 -A1,2.09220000000,R1,2026,R1,gas,gassupply1,newcapa,2030 -A1,5.43220000000,R1,2028,R1,gas,gassupply1,newcapa,2030 -A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2032 -A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2032 -A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2032 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 +A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2030 +A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2030 +A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2030 +A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2030 +A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2030 +A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2030 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2030 +A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2032 +A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2032 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2032 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2032 -A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2032 -A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2032 -A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2032 -A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2032 -A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2034 -A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2034 +A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2032 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2032 +A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2032 +A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2032 +A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2032 +A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2032 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2032 +A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2032 +A1,4.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2032 +A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2032 +A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2032 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2032 +A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2032 +A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2034 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2034 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2034 -A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2034 -A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2034 -A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2034 -A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2034 -A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2034 -A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2034 -A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2036 +A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2034 +A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2034 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2034 +A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2034 +A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2034 +A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2034 +A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2034 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2034 +A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2034 +A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2034 +A1,1.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2034 +A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2034 +A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2034 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2034 +A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2034 +A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2034 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2036 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2036 -A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2036 -A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2036 +A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2036 +A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2036 A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2036 -A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2036 -A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2036 -A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2036 -A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2036 -A1,6.00000000000,R1,2034,R1,power,windturbine,newcapa,2036 -A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2038 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2036 +A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2036 +A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2036 +A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2036 +A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2036 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2036 +A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2036 +A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2036 +A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2036 +A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2036 +A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2036 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2036 +A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2036 +A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2036 +A1,1.50000000000,R1,2034,R1,gas,gassupply1,newcapa,2036 A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2038 -A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2038 -A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2038 +A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2038 +A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2038 A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2038 A1,6.00000000000,R1,2036,R1,residential,heatpump,newcapa,2038 -A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2038 -A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2038 -A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2038 -A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2038 -A1,6.00000000000,R1,2034,R1,power,windturbine,newcapa,2038 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2038 +A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2038 +A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2038 +A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2038 +A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2038 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2038 +A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2038 +A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2038 +A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2038 A1,2.00000000000,R1,2036,R1,power,windturbine,newcapa,2038 -A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 -A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 -A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2040 +A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 +A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2040 A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2040 A1,6.00000000000,R1,2036,R1,residential,heatpump,newcapa,2040 A1,8.00000000000,R1,2038,R1,residential,heatpump,newcapa,2040 -A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2040 -A1,3.00000000000,R1,2028,R1,power,gasCCGT,newcapa,2040 -A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2040 -A1,6.00000000000,R1,2034,R1,power,windturbine,newcapa,2040 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 +A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2040 +A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2040 +A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2040 +A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2040 +A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2040 +A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2040 A1,2.00000000000,R1,2036,R1,power,windturbine,newcapa,2040 A1,3.00000000000,R1,2038,R1,power,windturbine,newcapa,2040 -A1,9.48890000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2040 -A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2040 -A1,2.09220000000,R1,2026,R1,gas,gassupply1,newcapa,2040 -A1,5.43220000000,R1,2028,R1,gas,gassupply1,newcapa,2040 +A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2040 +A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2040 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2040 +A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2040 +A1,1.50000000000,R1,2034,R1,gas,gassupply1,newcapa,2040 diff --git a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv index e9e95b0fa..dff4bcb50 100644 --- a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv +++ b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv @@ -31,323 +31,323 @@ electricity,all-week,late-afternoon,all-year,19.50000000000,R1,7,MUS$2010/PJ,202 gas,all-week,late-afternoon,all-year,7.15280000000,R1,7,MUS$2010/PJ,2020 heat,all-week,late-afternoon,all-year,100.00000000000,R1,7,MUS$2010/PJ,2020 CO2f,all-week,late-afternoon,all-year,0.08310000000,R1,7,MUS$2010/kt,2020 -electricity,all-week,night,all-year,28.18210000000,R1,0,MUS$2010/PJ,2022 +electricity,all-week,night,all-year,12.13410000000,R1,0,MUS$2010/PJ,2022 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2022 -heat,all-week,night,all-year,11.14530000000,R1,0,MUS$2010/PJ,2022 +heat,all-week,night,all-year,8.73900000000,R1,0,MUS$2010/PJ,2022 CO2f,all-week,night,all-year,0.09790000000,R1,0,MUS$2010/kt,2022 -electricity,all-week,morning,all-year,21.14710000000,R1,1,MUS$2010/PJ,2022 +electricity,all-week,morning,all-year,10.37450000000,R1,1,MUS$2010/PJ,2022 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2022 -heat,all-week,morning,all-year,10.58990000000,R1,1,MUS$2010/PJ,2022 +heat,all-week,morning,all-year,7.72680000000,R1,1,MUS$2010/PJ,2022 CO2f,all-week,morning,all-year,0.09790000000,R1,1,MUS$2010/kt,2022 -electricity,all-week,mid-afternoon,all-year,28.18210000000,R1,2,MUS$2010/PJ,2022 +electricity,all-week,mid-afternoon,all-year,12.13410000000,R1,2,MUS$2010/PJ,2022 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2022 -heat,all-week,mid-afternoon,all-year,11.14530000000,R1,2,MUS$2010/PJ,2022 +heat,all-week,mid-afternoon,all-year,8.73900000000,R1,2,MUS$2010/PJ,2022 CO2f,all-week,mid-afternoon,all-year,0.09790000000,R1,2,MUS$2010/kt,2022 -electricity,all-week,early-peak,all-year,21.14710000000,R1,3,MUS$2010/PJ,2022 +electricity,all-week,early-peak,all-year,10.37450000000,R1,3,MUS$2010/PJ,2022 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2022 -heat,all-week,early-peak,all-year,10.58990000000,R1,3,MUS$2010/PJ,2022 +heat,all-week,early-peak,all-year,7.72680000000,R1,3,MUS$2010/PJ,2022 CO2f,all-week,early-peak,all-year,0.09790000000,R1,3,MUS$2010/kt,2022 -electricity,all-week,late-peak,all-year,13.13840000000,R1,4,MUS$2010/PJ,2022 +electricity,all-week,late-peak,all-year,8.53740000000,R1,4,MUS$2010/PJ,2022 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2022 -heat,all-week,late-peak,all-year,9.91240000000,R1,4,MUS$2010/PJ,2022 +heat,all-week,late-peak,all-year,6.56360000000,R1,4,MUS$2010/PJ,2022 CO2f,all-week,late-peak,all-year,0.09790000000,R1,4,MUS$2010/kt,2022 -electricity,all-week,evening,all-year,16.45720000000,R1,5,MUS$2010/PJ,2022 +electricity,all-week,evening,all-year,9.20150000000,R1,5,MUS$2010/PJ,2022 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2022 -heat,all-week,evening,all-year,10.21960000000,R1,5,MUS$2010/PJ,2022 +heat,all-week,evening,all-year,7.05200000000,R1,5,MUS$2010/PJ,2022 CO2f,all-week,evening,all-year,0.09790000000,R1,5,MUS$2010/kt,2022 -electricity,all-week,early-morning,all-year,16.45720000000,R1,6,MUS$2010/PJ,2022 +electricity,all-week,early-morning,all-year,9.20150000000,R1,6,MUS$2010/PJ,2022 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2022 -heat,all-week,early-morning,all-year,10.21960000000,R1,6,MUS$2010/PJ,2022 +heat,all-week,early-morning,all-year,7.05200000000,R1,6,MUS$2010/PJ,2022 CO2f,all-week,early-morning,all-year,0.09790000000,R1,6,MUS$2010/kt,2022 -electricity,all-week,late-afternoon,all-year,16.45720000000,R1,7,MUS$2010/PJ,2022 +electricity,all-week,late-afternoon,all-year,9.20150000000,R1,7,MUS$2010/PJ,2022 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2022 -heat,all-week,late-afternoon,all-year,10.21960000000,R1,7,MUS$2010/PJ,2022 +heat,all-week,late-afternoon,all-year,7.05200000000,R1,7,MUS$2010/PJ,2022 CO2f,all-week,late-afternoon,all-year,0.09790000000,R1,7,MUS$2010/kt,2022 -electricity,all-week,night,all-year,28.18210000000,R1,0,MUS$2010/PJ,2024 +electricity,all-week,night,all-year,14.30230000000,R1,0,MUS$2010/PJ,2024 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2024 -heat,all-week,night,all-year,12.08070000000,R1,0,MUS$2010/PJ,2024 +heat,all-week,night,all-year,9.21130000000,R1,0,MUS$2010/PJ,2024 CO2f,all-week,night,all-year,0.11270000000,R1,0,MUS$2010/kt,2024 -electricity,all-week,morning,all-year,21.14710000000,R1,1,MUS$2010/PJ,2024 +electricity,all-week,morning,all-year,12.82500000000,R1,1,MUS$2010/PJ,2024 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2024 -heat,all-week,morning,all-year,11.53140000000,R1,1,MUS$2010/PJ,2024 +heat,all-week,morning,all-year,8.13030000000,R1,1,MUS$2010/PJ,2024 CO2f,all-week,morning,all-year,0.11270000000,R1,1,MUS$2010/kt,2024 -electricity,all-week,mid-afternoon,all-year,28.18210000000,R1,2,MUS$2010/PJ,2024 +electricity,all-week,mid-afternoon,all-year,14.30230000000,R1,2,MUS$2010/PJ,2024 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2024 -heat,all-week,mid-afternoon,all-year,12.08070000000,R1,2,MUS$2010/PJ,2024 +heat,all-week,mid-afternoon,all-year,9.21130000000,R1,2,MUS$2010/PJ,2024 CO2f,all-week,mid-afternoon,all-year,0.11270000000,R1,2,MUS$2010/kt,2024 -electricity,all-week,early-peak,all-year,21.14710000000,R1,3,MUS$2010/PJ,2024 +electricity,all-week,early-peak,all-year,12.82500000000,R1,3,MUS$2010/PJ,2024 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2024 -heat,all-week,early-peak,all-year,11.53140000000,R1,3,MUS$2010/PJ,2024 +heat,all-week,early-peak,all-year,8.13030000000,R1,3,MUS$2010/PJ,2024 CO2f,all-week,early-peak,all-year,0.11270000000,R1,3,MUS$2010/kt,2024 -electricity,all-week,late-peak,all-year,13.13840000000,R1,4,MUS$2010/PJ,2024 +electricity,all-week,late-peak,all-year,11.16020000000,R1,4,MUS$2010/PJ,2024 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2024 -heat,all-week,late-peak,all-year,10.86820000000,R1,4,MUS$2010/PJ,2024 +heat,all-week,late-peak,all-year,6.85900000000,R1,4,MUS$2010/PJ,2024 CO2f,all-week,late-peak,all-year,0.11270000000,R1,4,MUS$2010/kt,2024 -electricity,all-week,evening,all-year,16.45720000000,R1,5,MUS$2010/PJ,2024 +electricity,all-week,evening,all-year,11.84020000000,R1,5,MUS$2010/PJ,2024 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2024 -heat,all-week,evening,all-year,11.16520000000,R1,5,MUS$2010/PJ,2024 +heat,all-week,evening,all-year,7.40960000000,R1,5,MUS$2010/PJ,2024 CO2f,all-week,evening,all-year,0.11270000000,R1,5,MUS$2010/kt,2024 -electricity,all-week,early-morning,all-year,16.45720000000,R1,6,MUS$2010/PJ,2024 +electricity,all-week,early-morning,all-year,11.84020000000,R1,6,MUS$2010/PJ,2024 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2024 -heat,all-week,early-morning,all-year,11.16520000000,R1,6,MUS$2010/PJ,2024 +heat,all-week,early-morning,all-year,7.40960000000,R1,6,MUS$2010/PJ,2024 CO2f,all-week,early-morning,all-year,0.11270000000,R1,6,MUS$2010/kt,2024 -electricity,all-week,late-afternoon,all-year,16.45720000000,R1,7,MUS$2010/PJ,2024 +electricity,all-week,late-afternoon,all-year,11.84020000000,R1,7,MUS$2010/PJ,2024 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2024 -heat,all-week,late-afternoon,all-year,11.16520000000,R1,7,MUS$2010/PJ,2024 +heat,all-week,late-afternoon,all-year,7.40960000000,R1,7,MUS$2010/PJ,2024 CO2f,all-week,late-afternoon,all-year,0.11270000000,R1,7,MUS$2010/kt,2024 -electricity,all-week,night,all-year,28.18210000000,R1,0,MUS$2010/PJ,2026 +electricity,all-week,night,all-year,15.15150000000,R1,0,MUS$2010/PJ,2026 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2026 -heat,all-week,night,all-year,13.01990000000,R1,0,MUS$2010/PJ,2026 +heat,all-week,night,all-year,9.29810000000,R1,0,MUS$2010/PJ,2026 CO2f,all-week,night,all-year,0.12750000000,R1,0,MUS$2010/kt,2026 -electricity,all-week,morning,all-year,21.14710000000,R1,1,MUS$2010/PJ,2026 +electricity,all-week,morning,all-year,13.91710000000,R1,1,MUS$2010/PJ,2026 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2026 -heat,all-week,morning,all-year,12.47560000000,R1,1,MUS$2010/PJ,2026 +heat,all-week,morning,all-year,8.18740000000,R1,1,MUS$2010/PJ,2026 CO2f,all-week,morning,all-year,0.12750000000,R1,1,MUS$2010/kt,2026 -electricity,all-week,mid-afternoon,all-year,28.18210000000,R1,2,MUS$2010/PJ,2026 +electricity,all-week,mid-afternoon,all-year,15.15150000000,R1,2,MUS$2010/PJ,2026 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2026 -heat,all-week,mid-afternoon,all-year,13.01990000000,R1,2,MUS$2010/PJ,2026 +heat,all-week,mid-afternoon,all-year,9.29810000000,R1,2,MUS$2010/PJ,2026 CO2f,all-week,mid-afternoon,all-year,0.12750000000,R1,2,MUS$2010/kt,2026 -electricity,all-week,early-peak,all-year,21.14710000000,R1,3,MUS$2010/PJ,2026 +electricity,all-week,early-peak,all-year,13.91710000000,R1,3,MUS$2010/PJ,2026 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2026 -heat,all-week,early-peak,all-year,12.47560000000,R1,3,MUS$2010/PJ,2026 +heat,all-week,early-peak,all-year,8.18740000000,R1,3,MUS$2010/PJ,2026 CO2f,all-week,early-peak,all-year,0.12750000000,R1,3,MUS$2010/kt,2026 -electricity,all-week,late-peak,all-year,13.13840000000,R1,4,MUS$2010/PJ,2026 +electricity,all-week,late-peak,all-year,12.67690000000,R1,4,MUS$2010/PJ,2026 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2026 -heat,all-week,late-peak,all-year,11.82410000000,R1,4,MUS$2010/PJ,2026 +heat,all-week,late-peak,all-year,6.93620000000,R1,4,MUS$2010/PJ,2026 CO2f,all-week,late-peak,all-year,0.12750000000,R1,4,MUS$2010/kt,2026 -electricity,all-week,evening,all-year,16.45720000000,R1,5,MUS$2010/PJ,2026 +electricity,all-week,evening,all-year,13.09430000000,R1,5,MUS$2010/PJ,2026 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2026 -heat,all-week,evening,all-year,12.11280000000,R1,5,MUS$2010/PJ,2026 +heat,all-week,evening,all-year,7.44690000000,R1,5,MUS$2010/PJ,2026 CO2f,all-week,evening,all-year,0.12750000000,R1,5,MUS$2010/kt,2026 -electricity,all-week,early-morning,all-year,16.45720000000,R1,6,MUS$2010/PJ,2026 +electricity,all-week,early-morning,all-year,13.09430000000,R1,6,MUS$2010/PJ,2026 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2026 -heat,all-week,early-morning,all-year,12.11280000000,R1,6,MUS$2010/PJ,2026 +heat,all-week,early-morning,all-year,7.44690000000,R1,6,MUS$2010/PJ,2026 CO2f,all-week,early-morning,all-year,0.12750000000,R1,6,MUS$2010/kt,2026 -electricity,all-week,late-afternoon,all-year,16.45720000000,R1,7,MUS$2010/PJ,2026 +electricity,all-week,late-afternoon,all-year,13.09430000000,R1,7,MUS$2010/PJ,2026 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2026 -heat,all-week,late-afternoon,all-year,12.11280000000,R1,7,MUS$2010/PJ,2026 +heat,all-week,late-afternoon,all-year,7.44690000000,R1,7,MUS$2010/PJ,2026 CO2f,all-week,late-afternoon,all-year,0.12750000000,R1,7,MUS$2010/kt,2026 -electricity,all-week,night,all-year,21.78380000000,R1,0,MUS$2010/PJ,2028 +electricity,all-week,night,all-year,16.93190000000,R1,0,MUS$2010/PJ,2028 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2028 -heat,all-week,night,all-year,13.79450000000,R1,0,MUS$2010/PJ,2028 +heat,all-week,night,all-year,9.66740000000,R1,0,MUS$2010/PJ,2028 CO2f,all-week,night,all-year,0.14220000000,R1,0,MUS$2010/kt,2028 -electricity,all-week,morning,all-year,20.43760000000,R1,1,MUS$2010/PJ,2028 +electricity,all-week,morning,all-year,15.79090000000,R1,1,MUS$2010/PJ,2028 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2028 -heat,all-week,morning,all-year,13.05290000000,R1,1,MUS$2010/PJ,2028 +heat,all-week,morning,all-year,8.50840000000,R1,1,MUS$2010/PJ,2028 CO2f,all-week,morning,all-year,0.14220000000,R1,1,MUS$2010/kt,2028 -electricity,all-week,mid-afternoon,all-year,21.78380000000,R1,2,MUS$2010/PJ,2028 +electricity,all-week,mid-afternoon,all-year,16.93190000000,R1,2,MUS$2010/PJ,2028 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2028 -heat,all-week,mid-afternoon,all-year,13.79450000000,R1,2,MUS$2010/PJ,2028 +heat,all-week,mid-afternoon,all-year,9.66740000000,R1,2,MUS$2010/PJ,2028 CO2f,all-week,mid-afternoon,all-year,0.14220000000,R1,2,MUS$2010/kt,2028 -electricity,all-week,early-peak,all-year,20.43760000000,R1,3,MUS$2010/PJ,2028 +electricity,all-week,early-peak,all-year,15.79090000000,R1,3,MUS$2010/PJ,2028 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2028 -heat,all-week,early-peak,all-year,13.05290000000,R1,3,MUS$2010/PJ,2028 +heat,all-week,early-peak,all-year,8.50840000000,R1,3,MUS$2010/PJ,2028 CO2f,all-week,early-peak,all-year,0.14220000000,R1,3,MUS$2010/kt,2028 -electricity,all-week,late-peak,all-year,20.03640000000,R1,4,MUS$2010/PJ,2028 +electricity,all-week,late-peak,all-year,14.57660000000,R1,4,MUS$2010/PJ,2028 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2028 -heat,all-week,late-peak,all-year,12.24840000000,R1,4,MUS$2010/PJ,2028 +heat,all-week,late-peak,all-year,7.18320000000,R1,4,MUS$2010/PJ,2028 CO2f,all-week,late-peak,all-year,0.14220000000,R1,4,MUS$2010/kt,2028 -electricity,all-week,evening,all-year,20.03640000000,R1,5,MUS$2010/PJ,2028 +electricity,all-week,evening,all-year,15.03030000000,R1,5,MUS$2010/PJ,2028 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2028 -heat,all-week,evening,all-year,12.59030000000,R1,5,MUS$2010/PJ,2028 +heat,all-week,evening,all-year,7.73580000000,R1,5,MUS$2010/PJ,2028 CO2f,all-week,evening,all-year,0.14220000000,R1,5,MUS$2010/kt,2028 -electricity,all-week,early-morning,all-year,20.03640000000,R1,6,MUS$2010/PJ,2028 +electricity,all-week,early-morning,all-year,15.03030000000,R1,6,MUS$2010/PJ,2028 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2028 -heat,all-week,early-morning,all-year,12.59030000000,R1,6,MUS$2010/PJ,2028 +heat,all-week,early-morning,all-year,7.73580000000,R1,6,MUS$2010/PJ,2028 CO2f,all-week,early-morning,all-year,0.14220000000,R1,6,MUS$2010/kt,2028 -electricity,all-week,late-afternoon,all-year,20.03640000000,R1,7,MUS$2010/PJ,2028 +electricity,all-week,late-afternoon,all-year,15.03030000000,R1,7,MUS$2010/PJ,2028 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2028 -heat,all-week,late-afternoon,all-year,12.59030000000,R1,7,MUS$2010/PJ,2028 +heat,all-week,late-afternoon,all-year,7.73580000000,R1,7,MUS$2010/PJ,2028 CO2f,all-week,late-afternoon,all-year,0.14220000000,R1,7,MUS$2010/kt,2028 -electricity,all-week,night,all-year,26.87050000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,16.53430000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,15.00630000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,9.27370000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,24.40450000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,14.86840000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,13.89410000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,7.80940000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,mid-afternoon,all-year,26.87050000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,mid-afternoon,all-year,16.53430000000,R1,2,MUS$2010/PJ,2030 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,mid-afternoon,all-year,15.00630000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,mid-afternoon,all-year,9.27370000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,mid-afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,24.40450000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,14.86840000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,13.89410000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,7.80940000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,21.39050000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,12.91870000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,12.53480000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,6.05420000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,22.76050000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,13.75770000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,13.15260000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,6.83310000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,early-morning,all-year,22.76050000000,R1,6,MUS$2010/PJ,2030 +electricity,all-week,early-morning,all-year,13.75770000000,R1,6,MUS$2010/PJ,2030 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2030 -heat,all-week,early-morning,all-year,13.15260000000,R1,6,MUS$2010/PJ,2030 +heat,all-week,early-morning,all-year,6.83310000000,R1,6,MUS$2010/PJ,2030 CO2f,all-week,early-morning,all-year,0.15700000000,R1,6,MUS$2010/kt,2030 -electricity,all-week,late-afternoon,all-year,22.76050000000,R1,7,MUS$2010/PJ,2030 +electricity,all-week,late-afternoon,all-year,13.75770000000,R1,7,MUS$2010/PJ,2030 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2030 -heat,all-week,late-afternoon,all-year,13.15260000000,R1,7,MUS$2010/PJ,2030 +heat,all-week,late-afternoon,all-year,6.83310000000,R1,7,MUS$2010/PJ,2030 CO2f,all-week,late-afternoon,all-year,0.15700000000,R1,7,MUS$2010/kt,2030 -electricity,all-week,night,all-year,28.71830000000,R1,0,MUS$2010/PJ,2032 +electricity,all-week,night,all-year,17.21980000000,R1,0,MUS$2010/PJ,2032 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2032 -heat,all-week,night,all-year,15.87340000000,R1,0,MUS$2010/PJ,2032 +heat,all-week,night,all-year,9.52680000000,R1,0,MUS$2010/PJ,2032 CO2f,all-week,night,all-year,0.18020000000,R1,0,MUS$2010/kt,2032 -electricity,all-week,morning,all-year,22.90710000000,R1,1,MUS$2010/PJ,2032 +electricity,all-week,morning,all-year,15.35310000000,R1,1,MUS$2010/PJ,2032 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2032 -heat,all-week,morning,all-year,13.24580000000,R1,1,MUS$2010/PJ,2032 +heat,all-week,morning,all-year,7.98850000000,R1,1,MUS$2010/PJ,2032 CO2f,all-week,morning,all-year,0.18020000000,R1,1,MUS$2010/kt,2032 -electricity,all-week,mid-afternoon,all-year,28.71830000000,R1,2,MUS$2010/PJ,2032 +electricity,all-week,mid-afternoon,all-year,17.21980000000,R1,2,MUS$2010/PJ,2032 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2032 -heat,all-week,mid-afternoon,all-year,15.87340000000,R1,2,MUS$2010/PJ,2032 +heat,all-week,mid-afternoon,all-year,9.52680000000,R1,2,MUS$2010/PJ,2032 CO2f,all-week,mid-afternoon,all-year,0.18020000000,R1,2,MUS$2010/kt,2032 -electricity,all-week,early-peak,all-year,22.90710000000,R1,3,MUS$2010/PJ,2032 +electricity,all-week,early-peak,all-year,15.35310000000,R1,3,MUS$2010/PJ,2032 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2032 -heat,all-week,early-peak,all-year,13.24580000000,R1,3,MUS$2010/PJ,2032 +heat,all-week,early-peak,all-year,7.98850000000,R1,3,MUS$2010/PJ,2032 CO2f,all-week,early-peak,all-year,0.18020000000,R1,3,MUS$2010/kt,2032 -electricity,all-week,late-peak,all-year,16.08070000000,R1,4,MUS$2010/PJ,2032 +electricity,all-week,late-peak,all-year,13.10570000000,R1,4,MUS$2010/PJ,2032 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2032 -heat,all-week,late-peak,all-year,10.15900000000,R1,4,MUS$2010/PJ,2032 +heat,all-week,late-peak,all-year,6.12890000000,R1,4,MUS$2010/PJ,2032 CO2f,all-week,late-peak,all-year,0.18020000000,R1,4,MUS$2010/kt,2032 -electricity,all-week,evening,all-year,19.03300000000,R1,5,MUS$2010/PJ,2032 +electricity,all-week,evening,all-year,14.10860000000,R1,5,MUS$2010/PJ,2032 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2032 -heat,all-week,evening,all-year,11.49400000000,R1,5,MUS$2010/PJ,2032 +heat,all-week,evening,all-year,6.96290000000,R1,5,MUS$2010/PJ,2032 CO2f,all-week,evening,all-year,0.18020000000,R1,5,MUS$2010/kt,2032 -electricity,all-week,early-morning,all-year,19.03300000000,R1,6,MUS$2010/PJ,2032 +electricity,all-week,early-morning,all-year,14.10860000000,R1,6,MUS$2010/PJ,2032 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2032 -heat,all-week,early-morning,all-year,11.49400000000,R1,6,MUS$2010/PJ,2032 +heat,all-week,early-morning,all-year,6.96290000000,R1,6,MUS$2010/PJ,2032 CO2f,all-week,early-morning,all-year,0.18020000000,R1,6,MUS$2010/kt,2032 -electricity,all-week,late-afternoon,all-year,19.03300000000,R1,7,MUS$2010/PJ,2032 +electricity,all-week,late-afternoon,all-year,14.10860000000,R1,7,MUS$2010/PJ,2032 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2032 -heat,all-week,late-afternoon,all-year,11.49400000000,R1,7,MUS$2010/PJ,2032 +heat,all-week,late-afternoon,all-year,6.96290000000,R1,7,MUS$2010/PJ,2032 CO2f,all-week,late-afternoon,all-year,0.18020000000,R1,7,MUS$2010/kt,2032 -electricity,all-week,night,all-year,30.03540000000,R1,0,MUS$2010/PJ,2034 +electricity,all-week,night,all-year,17.82140000000,R1,0,MUS$2010/PJ,2034 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2034 -heat,all-week,night,all-year,16.53900000000,R1,0,MUS$2010/PJ,2034 +heat,all-week,night,all-year,9.74930000000,R1,0,MUS$2010/PJ,2034 CO2f,all-week,night,all-year,0.20330000000,R1,0,MUS$2010/kt,2034 -electricity,all-week,morning,all-year,23.31430000000,R1,1,MUS$2010/PJ,2034 +electricity,all-week,morning,all-year,15.88220000000,R1,1,MUS$2010/PJ,2034 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2034 -heat,all-week,morning,all-year,13.10530000000,R1,1,MUS$2010/PJ,2034 +heat,all-week,morning,all-year,8.18740000000,R1,1,MUS$2010/PJ,2034 CO2f,all-week,morning,all-year,0.20330000000,R1,1,MUS$2010/kt,2034 -electricity,all-week,mid-afternoon,all-year,30.03540000000,R1,2,MUS$2010/PJ,2034 +electricity,all-week,mid-afternoon,all-year,17.82140000000,R1,2,MUS$2010/PJ,2034 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2034 -heat,all-week,mid-afternoon,all-year,16.53900000000,R1,2,MUS$2010/PJ,2034 +heat,all-week,mid-afternoon,all-year,9.74930000000,R1,2,MUS$2010/PJ,2034 CO2f,all-week,mid-afternoon,all-year,0.20330000000,R1,2,MUS$2010/kt,2034 -electricity,all-week,early-peak,all-year,23.31430000000,R1,3,MUS$2010/PJ,2034 +electricity,all-week,early-peak,all-year,15.88220000000,R1,3,MUS$2010/PJ,2034 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2034 -heat,all-week,early-peak,all-year,13.10530000000,R1,3,MUS$2010/PJ,2034 +heat,all-week,early-peak,all-year,8.18740000000,R1,3,MUS$2010/PJ,2034 CO2f,all-week,early-peak,all-year,0.20330000000,R1,3,MUS$2010/kt,2034 -electricity,all-week,late-peak,all-year,15.21160000000,R1,4,MUS$2010/PJ,2034 +electricity,all-week,late-peak,all-year,13.56170000000,R1,4,MUS$2010/PJ,2034 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2034 -heat,all-week,late-peak,all-year,8.96590000000,R1,4,MUS$2010/PJ,2034 +heat,all-week,late-peak,all-year,6.31130000000,R1,4,MUS$2010/PJ,2034 CO2f,all-week,late-peak,all-year,0.20330000000,R1,4,MUS$2010/kt,2034 -electricity,all-week,evening,all-year,18.83360000000,R1,5,MUS$2010/PJ,2034 +electricity,all-week,evening,all-year,14.58940000000,R1,5,MUS$2010/PJ,2034 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2034 -heat,all-week,evening,all-year,10.81620000000,R1,5,MUS$2010/PJ,2034 +heat,all-week,evening,all-year,7.14610000000,R1,5,MUS$2010/PJ,2034 CO2f,all-week,evening,all-year,0.20330000000,R1,5,MUS$2010/kt,2034 -electricity,all-week,early-morning,all-year,18.83360000000,R1,6,MUS$2010/PJ,2034 +electricity,all-week,early-morning,all-year,14.58940000000,R1,6,MUS$2010/PJ,2034 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2034 -heat,all-week,early-morning,all-year,10.81620000000,R1,6,MUS$2010/PJ,2034 +heat,all-week,early-morning,all-year,7.14610000000,R1,6,MUS$2010/PJ,2034 CO2f,all-week,early-morning,all-year,0.20330000000,R1,6,MUS$2010/kt,2034 -electricity,all-week,late-afternoon,all-year,18.83360000000,R1,7,MUS$2010/PJ,2034 +electricity,all-week,late-afternoon,all-year,14.58940000000,R1,7,MUS$2010/PJ,2034 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2034 -heat,all-week,late-afternoon,all-year,10.81620000000,R1,7,MUS$2010/PJ,2034 +heat,all-week,late-afternoon,all-year,7.14610000000,R1,7,MUS$2010/PJ,2034 CO2f,all-week,late-afternoon,all-year,0.20330000000,R1,7,MUS$2010/kt,2034 -electricity,all-week,night,all-year,30.38370000000,R1,0,MUS$2010/PJ,2036 +electricity,all-week,night,all-year,18.34920000000,R1,0,MUS$2010/PJ,2036 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2036 -heat,all-week,night,all-year,16.48200000000,R1,0,MUS$2010/PJ,2036 +heat,all-week,night,all-year,9.94450000000,R1,0,MUS$2010/PJ,2036 CO2f,all-week,night,all-year,0.22650000000,R1,0,MUS$2010/kt,2036 -electricity,all-week,morning,all-year,23.31550000000,R1,1,MUS$2010/PJ,2036 +electricity,all-week,morning,all-year,16.34690000000,R1,1,MUS$2010/PJ,2036 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2036 -heat,all-week,morning,all-year,12.48750000000,R1,1,MUS$2010/PJ,2036 +heat,all-week,morning,all-year,8.36210000000,R1,1,MUS$2010/PJ,2036 CO2f,all-week,morning,all-year,0.22650000000,R1,1,MUS$2010/kt,2036 -electricity,all-week,mid-afternoon,all-year,30.38370000000,R1,2,MUS$2010/PJ,2036 +electricity,all-week,mid-afternoon,all-year,18.34920000000,R1,2,MUS$2010/PJ,2036 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2036 -heat,all-week,mid-afternoon,all-year,16.48200000000,R1,2,MUS$2010/PJ,2036 +heat,all-week,mid-afternoon,all-year,9.94450000000,R1,2,MUS$2010/PJ,2036 CO2f,all-week,mid-afternoon,all-year,0.22650000000,R1,2,MUS$2010/kt,2036 -electricity,all-week,early-peak,all-year,23.31550000000,R1,3,MUS$2010/PJ,2036 +electricity,all-week,early-peak,all-year,16.34690000000,R1,3,MUS$2010/PJ,2036 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2036 -heat,all-week,early-peak,all-year,12.48750000000,R1,3,MUS$2010/PJ,2036 +heat,all-week,early-peak,all-year,8.36210000000,R1,3,MUS$2010/PJ,2036 CO2f,all-week,early-peak,all-year,0.22650000000,R1,3,MUS$2010/kt,2036 -electricity,all-week,late-peak,all-year,14.84290000000,R1,4,MUS$2010/PJ,2036 +electricity,all-week,late-peak,all-year,13.96360000000,R1,4,MUS$2010/PJ,2036 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2036 -heat,all-week,late-peak,all-year,7.69930000000,R1,4,MUS$2010/PJ,2036 +heat,all-week,late-peak,all-year,6.47210000000,R1,4,MUS$2010/PJ,2036 CO2f,all-week,late-peak,all-year,0.22650000000,R1,4,MUS$2010/kt,2036 -electricity,all-week,evening,all-year,18.60330000000,R1,5,MUS$2010/PJ,2036 +electricity,all-week,evening,all-year,15.01200000000,R1,5,MUS$2010/PJ,2036 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2036 -heat,all-week,evening,all-year,9.82450000000,R1,5,MUS$2010/PJ,2036 +heat,all-week,evening,all-year,7.30720000000,R1,5,MUS$2010/PJ,2036 CO2f,all-week,evening,all-year,0.22650000000,R1,5,MUS$2010/kt,2036 -electricity,all-week,early-morning,all-year,18.60330000000,R1,6,MUS$2010/PJ,2036 +electricity,all-week,early-morning,all-year,15.01200000000,R1,6,MUS$2010/PJ,2036 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2036 -heat,all-week,early-morning,all-year,9.82450000000,R1,6,MUS$2010/PJ,2036 +heat,all-week,early-morning,all-year,7.30720000000,R1,6,MUS$2010/PJ,2036 CO2f,all-week,early-morning,all-year,0.22650000000,R1,6,MUS$2010/kt,2036 -electricity,all-week,late-afternoon,all-year,18.60330000000,R1,7,MUS$2010/PJ,2036 +electricity,all-week,late-afternoon,all-year,15.01200000000,R1,7,MUS$2010/PJ,2036 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2036 -heat,all-week,late-afternoon,all-year,9.82450000000,R1,7,MUS$2010/PJ,2036 +heat,all-week,late-afternoon,all-year,7.30720000000,R1,7,MUS$2010/PJ,2036 CO2f,all-week,late-afternoon,all-year,0.22650000000,R1,7,MUS$2010/kt,2036 -electricity,all-week,night,all-year,30.74420000000,R1,0,MUS$2010/PJ,2038 +electricity,all-week,night,all-year,18.81600000000,R1,0,MUS$2010/PJ,2038 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2038 -heat,all-week,night,all-year,16.63660000000,R1,0,MUS$2010/PJ,2038 +heat,all-week,night,all-year,10.11730000000,R1,0,MUS$2010/PJ,2038 CO2f,all-week,night,all-year,0.24960000000,R1,0,MUS$2010/kt,2038 -electricity,all-week,morning,all-year,23.61460000000,R1,1,MUS$2010/PJ,2038 +electricity,all-week,morning,all-year,16.75820000000,R1,1,MUS$2010/PJ,2038 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2038 -heat,all-week,morning,all-year,12.61900000000,R1,1,MUS$2010/PJ,2038 +heat,all-week,morning,all-year,8.51690000000,R1,1,MUS$2010/PJ,2038 CO2f,all-week,morning,all-year,0.24960000000,R1,1,MUS$2010/kt,2038 -electricity,all-week,mid-afternoon,all-year,30.74420000000,R1,2,MUS$2010/PJ,2038 +electricity,all-week,mid-afternoon,all-year,18.81600000000,R1,2,MUS$2010/PJ,2038 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2038 -heat,all-week,mid-afternoon,all-year,16.63660000000,R1,2,MUS$2010/PJ,2038 +heat,all-week,mid-afternoon,all-year,10.11730000000,R1,2,MUS$2010/PJ,2038 CO2f,all-week,mid-afternoon,all-year,0.24960000000,R1,2,MUS$2010/kt,2038 -electricity,all-week,early-peak,all-year,23.61460000000,R1,3,MUS$2010/PJ,2038 +electricity,all-week,early-peak,all-year,16.75820000000,R1,3,MUS$2010/PJ,2038 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2038 -heat,all-week,early-peak,all-year,12.61900000000,R1,3,MUS$2010/PJ,2038 +heat,all-week,early-peak,all-year,8.51690000000,R1,3,MUS$2010/PJ,2038 CO2f,all-week,early-peak,all-year,0.24960000000,R1,3,MUS$2010/kt,2038 -electricity,all-week,late-peak,all-year,15.11190000000,R1,4,MUS$2010/PJ,2038 +electricity,all-week,late-peak,all-year,14.32050000000,R1,4,MUS$2010/PJ,2038 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2038 -heat,all-week,late-peak,all-year,7.82780000000,R1,4,MUS$2010/PJ,2038 +heat,all-week,late-peak,all-year,6.61490000000,R1,4,MUS$2010/PJ,2038 CO2f,all-week,late-peak,all-year,0.24960000000,R1,4,MUS$2010/kt,2038 -electricity,all-week,evening,all-year,18.86150000000,R1,5,MUS$2010/PJ,2038 +electricity,all-week,evening,all-year,15.38630000000,R1,5,MUS$2010/PJ,2038 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2038 -heat,all-week,evening,all-year,9.94070000000,R1,5,MUS$2010/PJ,2038 +heat,all-week,evening,all-year,7.45000000000,R1,5,MUS$2010/PJ,2038 CO2f,all-week,evening,all-year,0.24960000000,R1,5,MUS$2010/kt,2038 -electricity,all-week,early-morning,all-year,18.86150000000,R1,6,MUS$2010/PJ,2038 +electricity,all-week,early-morning,all-year,15.38630000000,R1,6,MUS$2010/PJ,2038 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2038 -heat,all-week,early-morning,all-year,9.94070000000,R1,6,MUS$2010/PJ,2038 +heat,all-week,early-morning,all-year,7.45000000000,R1,6,MUS$2010/PJ,2038 CO2f,all-week,early-morning,all-year,0.24960000000,R1,6,MUS$2010/kt,2038 -electricity,all-week,late-afternoon,all-year,18.86150000000,R1,7,MUS$2010/PJ,2038 +electricity,all-week,late-afternoon,all-year,15.38630000000,R1,7,MUS$2010/PJ,2038 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2038 -heat,all-week,late-afternoon,all-year,9.94070000000,R1,7,MUS$2010/PJ,2038 +heat,all-week,late-afternoon,all-year,7.45000000000,R1,7,MUS$2010/PJ,2038 CO2f,all-week,late-afternoon,all-year,0.24960000000,R1,7,MUS$2010/kt,2038 -electricity,all-week,night,all-year,31.64500000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,19.19460000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,17.10570000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,10.32430000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,24.23070000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,17.00430000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,12.94280000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,8.65420000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,mid-afternoon,all-year,31.64500000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,mid-afternoon,all-year,19.19460000000,R1,2,MUS$2010/PJ,2040 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,mid-afternoon,all-year,17.10570000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,mid-afternoon,all-year,10.32430000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,mid-afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,24.23070000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,17.00430000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,12.94280000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,8.65420000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,15.21090000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,14.35550000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,7.87860000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,6.62890000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,19.28780000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,15.54410000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,10.16760000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,7.54090000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,early-morning,all-year,19.28780000000,R1,6,MUS$2010/PJ,2040 +electricity,all-week,early-morning,all-year,15.54410000000,R1,6,MUS$2010/PJ,2040 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2040 -heat,all-week,early-morning,all-year,10.16760000000,R1,6,MUS$2010/PJ,2040 +heat,all-week,early-morning,all-year,7.54090000000,R1,6,MUS$2010/PJ,2040 CO2f,all-week,early-morning,all-year,0.27280000000,R1,6,MUS$2010/kt,2040 -electricity,all-week,late-afternoon,all-year,19.28780000000,R1,7,MUS$2010/PJ,2040 +electricity,all-week,late-afternoon,all-year,15.54410000000,R1,7,MUS$2010/PJ,2040 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2040 -heat,all-week,late-afternoon,all-year,10.16760000000,R1,7,MUS$2010/PJ,2040 +heat,all-week,late-afternoon,all-year,7.54090000000,R1,7,MUS$2010/PJ,2040 CO2f,all-week,late-afternoon,all-year,0.27280000000,R1,7,MUS$2010/kt,2040 diff --git a/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv b/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv index 17255ed6a..99af66bd7 100644 --- a/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv +++ b/docs/tutorial-code/new-decision-metric/Results/MCACapacity.csv @@ -11,49 +11,49 @@ A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2030 A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2030 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 +A1,3.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2035 A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2035 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,3.34000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,3.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2040 A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2040 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,3.34000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,3.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 A1,10.00000000000,R1,2020,R1,power,solarPV,newcapa,2045 A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2045 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 A1,3.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,3.34000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,3.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2050 -A1,8.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 +A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 A1,10.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 -A1,7.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,3.34000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,3.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,9.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,1.67000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv b/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv index 43488191a..1f7d63feb 100644 --- a/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv +++ b/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,23.65520000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,10.91850000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,13.53940000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,8.03580000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,17.07860000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,8.58740000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,10.18560000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,6.51650000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,23.65520000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,10.91850000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,13.53940000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,8.03580000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,17.07860000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,8.58740000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,10.18560000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,6.51650000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,11.06570000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,6.45620000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,7.01030000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,5.06050000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,13.79030000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,7.42190000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,8.50870000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,5.75690000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,23.81010000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,9.83380000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,13.70880000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,6.50480000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,16.89070000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,7.05100000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,9.54610000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,4.53460000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,23.81010000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,9.83380000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,13.70880000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,6.50480000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,16.89070000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,7.05100000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,9.54610000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,4.53460000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,10.60030000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,4.44060000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,5.68310000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,2.66290000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,13.43100000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,5.65960000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,7.46480000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,3.54950000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,25.84360000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,10.23610000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,14.66650000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,6.75440000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,18.24130000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,7.33380000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,10.18250000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,4.70680000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,25.84360000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,10.23610000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,14.66650000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,6.75440000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,18.24130000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,7.33380000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,10.18250000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,4.70680000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,10.74610000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,4.49320000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,5.74140000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,2.68390000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,14.44020000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,5.88260000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,7.94060000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,3.68300000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,26.26290000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,10.34490000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,14.83420000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,6.79800000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,18.56620000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,7.42870000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,10.31250000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,4.74480000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,26.26290000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,10.34490000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,14.83420000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,6.79800000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,18.56620000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,7.42870000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,10.31250000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,4.74480000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,10.96240000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,4.56540000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,5.82800000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,2.71280000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,14.71790000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,5.97050000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,8.05170000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,3.71820000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,26.77940000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,10.52810000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,15.04080000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,6.87120000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,19.01200000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,7.60130000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,10.49080000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,4.81390000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,26.77940000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,10.52810000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,15.04080000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,6.87120000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,19.01200000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,7.60130000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,10.49080000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,4.81390000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,11.32640000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,4.72100000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,5.97360000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,2.77510000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,15.12840000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,6.13800000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,8.21590000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,3.78520000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,26.79270000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,10.88030000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,15.04610000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,7.01210000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,19.14770000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,7.87530000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,10.54510000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,4.92350000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,26.79270000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,10.88030000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,15.04610000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,7.01210000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,19.14770000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,7.87530000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,10.54510000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,4.92350000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,11.87370000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,4.91270000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,6.19250000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,2.85170000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,15.32520000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,6.37280000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,8.29460000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,3.87910000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/src/muse/costs.py b/src/muse/costs.py index 69144e100..6f715a44e 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -517,10 +517,10 @@ def annual_to_lifetime( assert "year" not in technologies.dims assert "timeslice" in costs.dims life = technologies.technical_life.astype(int) - iyears = range(max(life.values.max(), 1)) + iyears = range(life.values.max()) years = xr.DataArray(iyears, coords={"year": iyears}, dims="year") rates = discount_factor( - years=years + 1, + years=years, interest_rate=technologies.interest_rate, mask=years <= life, ) @@ -542,9 +542,10 @@ def lifetime_to_annual( assert "year" not in technologies.dims assert "timeslice" in costs.dims life = technologies.technical_life.astype(int) - rate = technologies.interest_rate / ( - 1 - (1 + technologies.interest_rate) ** (-life) - ) + # rate = technologies.interest_rate / ( + # 1 - (1 + technologies.interest_rate) ** -life + # ) + rate = 1 / life return costs * broadcast_timeslice(rate, level=timeslice_level) diff --git a/tests/test_costs.py b/tests/test_costs.py index f975eff44..98bc0845f 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -199,30 +199,19 @@ def test_capital_recovery_factor(_technologies): # {"region", "technology"} -def test_annual_lifetime_conversion(_technologies, _prices, _consumption, _capacity): - from muse.costs import ( - annual_to_lifetime, - capital_costs, - fuel_costs, - lifetime_to_annual, - ) +def test_annual_to_lifetime(_technologies, _prices, _consumption): + from muse.costs import annual_to_lifetime, fuel_costs - # Convert fuel costs from annual to lifetime _fuel_costs = fuel_costs(_technologies, _prices, _consumption) _fuel_costs_lifetime = annual_to_lifetime(_fuel_costs, _technologies) assert set(_fuel_costs.dims) == set(_fuel_costs_lifetime.dims) assert (_fuel_costs_lifetime > _fuel_costs).all() - # Convert capital costs from lifetime to annual + +def test_lifetime_to_annual(_technologies, _capacity): + from muse.costs import capital_costs, lifetime_to_annual + _capital_costs = capital_costs(_technologies, _capacity) _capital_costs_annual = lifetime_to_annual(_capital_costs, _technologies) assert set(_capital_costs.dims) == set(_capital_costs_annual.dims) # assert (_capital_costs_annual < _capital_costs).all() - - # Convert lifetime fuel costs back to annual - _fuel_costs_annual = lifetime_to_annual(_fuel_costs_lifetime, _technologies) - # assert ((_fuel_costs_annual - _fuel_costs) < 1e-5).all() - - # Convert annual capital costs back to lifetime - _capital_costs_lifetime = annual_to_lifetime(_capital_costs_annual, _technologies) - # assert ((_capital_costs_lifetime - _capital_costs) < 1e-5).all() From 63d47a5fcb01d346901bc50a684515a1de310ae1 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 16 Dec 2024 15:14:44 +0000 Subject: [PATCH 111/121] Typo --- src/muse/costs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 6f715a44e..36e49e302 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -87,7 +87,7 @@ def capital_costs( This is the cost of installing each technology to the level specified by the `capacity` input. - Method can be "lifetime" of "annual": + Method can be "lifetime" or "annual": - lifetime: returns the full capital costs - annual: a capital cost for the investment year is calculated based on the lifetime and interest rate (see `lifetime_to_annual`) From 540d40f952589ed62c156edc7afdc23321b00707 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 16 Dec 2024 15:53:11 +0000 Subject: [PATCH 112/121] Use crf for annualized capital costs --- .../1-single-objective/Results/MCAPrices.csv | 144 ++++---- .../Results/MCACapacity.csv | 147 ++++---- .../Results/MCAPrices.csv | 144 ++++---- .../1-correlation/Results/MCACapacity.csv | 48 ++- .../1-correlation/Results/MCAPrices.csv | 144 ++++---- .../1-introduction/Results/MCAPrices.csv | 144 ++++---- .../2-scenario/Results/MCACapacity.csv | 58 ++-- .../2-scenario/Results/MCAPrices.csv | 144 ++++---- .../1-new-region/Results/MCACapacity.csv | 189 ++++------- .../1-new-region/Results/MCAPrices.csv | 288 ++++++++-------- .../Results/MCACapacity.csv | 78 ++--- .../1-exogenous-demand/Results/MCAPrices.csv | 216 ++++++------ .../1-carbon-budget/Results/MCAPrices.csv | 84 ++--- .../1-min-constraint/Results/MCAPrices.csv | 144 ++++---- .../2-max-constraint/Results/MCAPrices.csv | 144 ++++---- .../Results/MCACapacity.csv | 53 ++- .../1-modify-timeslices/Results/MCAPrices.csv | 192 +++++------ .../Results/MCACapacity.csv | 160 ++------- .../Results/MCAPrices.csv | 320 ++++-------------- .../new-decision-metric/Results/MCAPrices.csv | 144 ++++---- src/muse/costs.py | 10 +- .../default/Results/MCACapacity.csv | 78 ++--- .../default/Results/MCAPrices.csv | 144 ++++---- .../default_retro/Results/MCACapacity.csv | 64 ++-- .../default_retro/Results/MCAPrices.csv | 144 ++++---- .../default_timeslice/Results/MCAPrices.csv | 144 ++++---- .../medium/Results/MCACapacity.csv | 88 ++--- .../medium/Results/MCAPrices.csv | 216 ++++++------ .../minimum_service/Results/MCAPrices.csv | 48 +-- .../multiple_agents/Results/MCACapacity.csv | 89 ++--- .../multiple_agents/Results/MCAPrices.csv | 144 ++++---- .../trade/Results/MCACapacity.csv | 12 +- .../trade/Results/MCAPrices.csv | 216 ++++++------ 33 files changed, 1973 insertions(+), 2409 deletions(-) diff --git a/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv b/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv index 0c4f90eb8..2af3c5bdf 100644 --- a/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-agent/1-single-objective/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,13.60250000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,19.79450000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,10.37670000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.44990000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,12.58690000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,16.71490000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,9.63540000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.01750000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,13.60250000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,19.79450000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,10.37670000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.44990000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,12.58690000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,16.71490000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,9.63540000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.01750000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,12.19800000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,15.53550000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,8.99320000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,9.88590000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,12.19800000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,15.53550000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,9.28350000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,10.35840000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,12.10350000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,29.62150000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,10.87940000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.57520000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,8.82020000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,20.49890000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,9.58940000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,12.71990000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,12.10350000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,29.62150000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,10.87940000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,15.57520000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,8.82020000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,20.49890000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,9.58940000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,12.71990000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,5.53690000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,11.37620000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,8.29940000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,9.86470000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,7.17850000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,15.93760000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,8.94440000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.29230000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,11.74750000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,27.93810000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,12.68090000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,17.11120000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,8.70880000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,19.50260000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,11.43980000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,14.39330000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,11.74750000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,27.93810000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,12.68090000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,17.11120000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,8.70880000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,19.50260000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,11.43980000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,14.39330000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,5.94640000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,11.83400000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,10.25400000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,11.82890000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,7.18950000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,15.28480000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,10.81930000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,13.03440000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,12.08950000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,28.69690000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,14.62200000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,19.13560000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,8.96630000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,20.03790000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,13.36400000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,16.37310000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,12.08950000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,28.69690000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,14.62200000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,19.13560000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,8.96630000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,20.03790000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,13.36400000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,16.37310000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,6.08330000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,12.04500000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,12.15400000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,13.74380000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,7.40470000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,15.70840000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,12.73500000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,14.99180000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,13.01280000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,31.12680000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,17.43350000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,22.24850000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,9.59920000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,21.67520000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,16.11750000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,19.32750000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,13.01280000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,31.12680000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,17.43350000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,22.24850000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,9.59920000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,21.67520000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,16.11750000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,19.32750000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,6.18560000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,12.22360000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,14.80140000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,16.40640000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,7.89240000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,16.94940000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,15.45950000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,17.86690000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,12.84600000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,30.00890000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,20.02710000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,24.65190000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,9.61000000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,21.05190000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,18.74660000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,21.82980000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,12.84600000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,30.00890000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,20.02710000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,24.65190000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,9.61000000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,21.05190000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,18.74660000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,21.82980000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,6.56430000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,12.62180000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,17.50410000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,19.11300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,7.99200000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,16.57340000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,18.10630000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,20.41870000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv index 90d952cd1..9c2f8adbb 100644 --- a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCACapacity.csv @@ -7,79 +7,102 @@ A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 A2,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 A1,2.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 A1,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A2,2.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A2,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,2.36110000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A2,12.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.30560000000,R1,2020,R1,power,gasCCGT,newcapa,2025 A2,0.50000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2025 -A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A2,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2025 +A1,9.17600000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A2,9.17600000000,R1,2020,R1,gas,gassupply1,newcapa,2025 A1,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A2,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2030 -A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2030 -A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2030 -A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,3.75000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A2,3.75000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A2,9.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 +A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2030 +A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2030 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2030 +A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2030 +A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A2,5.42600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 -A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2035 -A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2035 -A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2035 -A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A2,5.50000000000,R1,2025,R1,residential,gasboiler,newcapa,2035 +A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2035 +A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2035 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2035 +A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2035 +A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 -A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2040 -A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2040 -A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2040 -A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A2,12.50000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 +A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2040 +A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2040 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2040 +A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2040 +A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 +A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 +A2,8.50000000000,R1,2035,R1,residential,gasboiler,newcapa,2045 A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A2,4.18750000000,R1,2020,R1,power,windturbine,newcapa,2045 -A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2045 -A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A2,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2045 -A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2045 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,5.37500000000,R1,2040,R1,power,windturbine,newcapa,2045 +A2,1.81250000000,R1,2020,R1,power,windturbine,newcapa,2045 +A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2045 +A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A2,14.62500000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 +A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A2,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,1.86110000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,2.09380000000,R1,2045,R1,power,windturbine,newcapa,2050 -A2,10.81250000000,R1,2025,R1,power,windturbine,newcapa,2050 -A2,1.50000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A2,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A2,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A2,5.09380000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2050 -A2,1.55400000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,0.80560000000,R1,2020,R1,power,gasCCGT,newcapa,2050 +A1,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,5.37500000000,R1,2040,R1,power,windturbine,newcapa,2050 +A1,0.90620000000,R1,2045,R1,power,windturbine,newcapa,2050 +A2,5.68750000000,R1,2025,R1,power,windturbine,newcapa,2050 +A2,0.75000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A2,1.50000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A2,14.62500000000,R1,2040,R1,power,windturbine,newcapa,2050 +A2,8.15620000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 +A2,1.67600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A2,4.91330000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A2,5.68330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A2,2.90000000000,R1,2035,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv index 9e608babb..6dd836112 100644 --- a/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-agent/2-multiple-objective/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,12.41700000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,19.79450000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,8.51030000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.44990000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,11.36100000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,16.71490000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,7.39480000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.01750000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,12.41700000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,19.79450000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,8.51030000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.44990000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,11.36100000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,16.71490000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,7.39480000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.01750000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,11.13740000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,15.53550000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,6.54290000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,9.88590000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,11.13740000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,15.53550000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,6.93340000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,10.35840000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,12.29140000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,29.62150000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,7.57660000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.57520000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,9.06200000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,20.49890000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,5.39810000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,12.71990000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,12.29140000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,29.62150000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,7.57660000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,15.57520000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,9.06200000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,20.49890000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,5.39810000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,12.71990000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,5.83270000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,11.37620000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,3.21970000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,9.86470000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,7.44730000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,15.93760000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,4.30890000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.29230000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,12.02100000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,27.93810000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,7.46840000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,17.11120000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,9.02730000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,19.50260000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,5.38430000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,14.39330000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,12.02100000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,27.93810000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,7.46840000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,17.11120000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,9.02730000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,19.50260000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,5.38430000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,14.39330000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,6.30580000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,11.83400000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,3.40900000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,11.82890000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,7.53050000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,15.28480000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,4.34220000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,13.03440000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,12.39610000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,28.69690000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,7.61840000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,19.13560000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,9.31130000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,20.03790000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,5.49790000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,16.37310000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,12.39610000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,28.69690000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,7.61840000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,19.13560000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,9.31130000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,20.03790000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,5.49790000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,16.37310000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,6.46390000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,12.04500000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,3.47220000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,13.74380000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,7.76900000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,15.70840000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,4.43760000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,14.99180000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,13.34180000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,30.68450000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,7.99670000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,18.57100000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,9.96190000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,21.01770000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,5.75810000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,14.09200000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,13.34180000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,30.68450000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,7.99670000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,18.57100000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,9.96190000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,21.01770000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,5.75810000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,14.09200000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,6.58200000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,11.35100000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,3.51950000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,9.61310000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,8.27200000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,16.18440000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,4.63880000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,11.85260000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,13.24300000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,26.95250000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,7.95720000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,15.11000000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,10.03700000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,18.53890000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,5.78810000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,10.30160000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,13.24300000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,26.95250000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,7.95720000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,15.11000000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,10.03700000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,18.53890000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,5.78810000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,10.30160000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,7.01950000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,11.43000000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,3.69450000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,6.01500000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,8.43400000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,14.33200000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,4.70360000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,7.89730000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv index 81c8cb97e..a529850e6 100644 --- a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCACapacity.csv @@ -2,37 +2,35 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,4.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,16.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,20.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,11.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,6.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,13.12220000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,6.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,12.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,12.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,12.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,6.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,12.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,6.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,12.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,12.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,12.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,7.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,3.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,1.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,1.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,5.01000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,12.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,5.62220000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv index 9b88e79b8..be5fc8b12 100644 --- a/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-correlation-demand/1-correlation/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,17.03190000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,27.78890000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,10.11910000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.49630000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,16.43750000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,20.25210000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,9.25480000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.90130000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,17.03190000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,27.78890000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,10.11910000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.49630000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,16.43750000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,20.25210000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,9.25480000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.90130000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,16.02030000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,13.79410000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,8.48630000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,16.14240000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.51000000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,8.82570000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.60580000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,14.63730000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,29.23940000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,8.44750000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.27490000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,12.24130000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,19.40190000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,6.61690000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,12.99130000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,14.63730000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,29.23940000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,8.44750000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,15.27490000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,12.24130000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,19.40190000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,6.61690000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,12.99130000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,9.98780000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,4.88180000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,10.80890000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,11.05170000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,14.51750000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,5.70790000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.85760000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,16.64380000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,30.11110000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,9.32740000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.04090000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,14.10910000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,19.98030000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,7.41530000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,10.64400000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,16.64380000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,30.11110000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,9.32740000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,16.04090000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,14.10910000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,19.98030000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,7.41530000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,10.64400000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,11.64730000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,5.54560000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,12.85060000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,14.95030000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,6.46590000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,7.96440000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,18.46130000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,29.31080000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,9.98340000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,16.27410000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,15.99400000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,19.44920000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,8.12210000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,10.79870000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,18.46130000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,29.31080000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,9.98340000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,16.27410000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,15.99400000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,19.44920000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,8.12210000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,10.79870000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,13.66500000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,6.35270000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,14.76890000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.55290000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,7.19790000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,8.08010000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,21.16820000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,28.81720000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,11.02240000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,15.68530000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,18.74240000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,19.12170000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,9.19240000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,10.40800000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,21.16820000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,28.81720000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,11.02240000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,15.68530000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,18.74240000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,19.12170000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,9.19240000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,10.40800000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,16.49540000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,7.48480000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,17.53800000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,14.30790000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,8.28380000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,7.78780000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,23.55590000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,28.34170000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,12.07500000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,15.84390000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,20.97780000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,18.80620000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,10.15120000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,10.51320000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,23.55590000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,28.34170000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,12.07500000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,15.84390000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,20.97780000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,18.80620000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,10.15120000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,10.51320000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,18.48870000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,8.28210000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,19.69770000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,14.07180000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,9.19610000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,7.86650000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv index eeb018368..bd9949c60 100644 --- a/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-new-technology/1-introduction/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,9.72920000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,23.72940000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,8.02150000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,13.92520000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,7.11350000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,16.44690000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,6.41200000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,10.34790000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,9.72920000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,23.72940000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,8.02150000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,13.92520000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,7.11350000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,16.44690000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,6.41200000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,10.34790000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,4.60520000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,9.46380000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,4.83670000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,6.86530000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,5.80560000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,12.80570000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,5.60730000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,8.55920000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,8.40000000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,23.13530000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,5.93130000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,13.43880000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,5.60000000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,15.42350000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,3.95420000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,8.95920000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,8.40000000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,23.13530000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,5.93130000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,13.43880000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,5.60000000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,15.42350000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,3.95420000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,8.95920000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,4.20000000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,11.56760000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,2.96570000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,6.71940000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,24.78780000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,6.02000000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,13.58310000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,16.52520000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,4.01330000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,9.05540000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,24.78780000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,6.02000000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,13.58310000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,16.52520000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,4.01330000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,9.05540000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,12.39390000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,3.01000000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,6.79160000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,8.78570000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,24.19760000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,6.26000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,14.24420000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,5.85710000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,16.13180000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,4.17330000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,9.49610000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,8.78570000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,24.19760000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,6.26000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,14.24420000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,5.85710000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,16.13180000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,4.17330000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,9.49610000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,4.39290000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,12.09880000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,3.13000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,7.12210000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,24.78780000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,6.17430000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,14.00810000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,16.52520000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,4.11620000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,9.33870000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,24.78780000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,6.17430000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,14.00810000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,16.52520000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,4.11620000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,9.33870000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,12.39390000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,3.08710000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,7.00400000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,9.00000000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,24.78780000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,6.26000000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,14.24420000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,6.00000000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,16.52520000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,4.17330000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,9.49610000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,9.00000000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,24.78780000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,6.26000000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,14.24420000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,6.00000000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,16.52520000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,4.17330000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,9.49610000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,3.00000000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,8.26260000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,2.08670000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,4.74810000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,4.50000000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,12.39390000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,3.13000000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,7.12210000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv index f59c669d3..9d0e2acf9 100644 --- a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCACapacity.csv @@ -2,51 +2,41 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,7.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2025 -A1,19.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,30.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2030 -A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2030 -A1,11.62600000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2030 +A1,23.43330000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2035 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 -A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2035 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2035 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2040 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2040 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2040 -A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2045 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2045 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2045 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2045 -A1,1.91410000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,12.25000000000,R1,2025,R1,power,solarPV,newcapa,2050 -A1,7.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 +A1,10.00000000000,R1,2025,R1,power,solarPV,newcapa,2050 +A1,26.00000000000,R1,2030,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,solarPV,newcapa,2050 A1,6.00000000000,R1,2040,R1,power,solarPV,newcapa,2050 -A1,7.91410000000,R1,2045,R1,power,solarPV,newcapa,2050 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,6.00000000000,R1,2045,R1,power,solarPV,newcapa,2050 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv index dba9d837e..b5e21cadc 100644 --- a/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-new-technology/2-scenario/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,16.86160000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,30.32710000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,9.91780000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.58300000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,15.81690000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,21.18690000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,8.80580000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.96460000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,16.86160000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,30.32710000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,9.91780000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.58300000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,15.81690000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,21.18690000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,8.80580000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.96460000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,14.77220000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.04670000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,7.69390000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,15.29450000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.61680000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,8.24990000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.65540000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,15.95010000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,29.95190000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,8.95140000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.34350000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,13.81390000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,19.96800000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,7.23980000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.09370000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,15.95010000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,29.95190000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,8.95140000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,15.34350000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,13.81390000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,19.96800000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,7.23980000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.09370000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,11.75130000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,10.32830000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,5.58720000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,10.92150000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,12.74570000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,14.97600000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,6.38400000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.96880000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,17.25500000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,29.49290000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,9.56200000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.30980000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,14.79420000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,19.66190000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,7.69100000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,10.87320000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,17.25500000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,29.49290000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,9.56200000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,16.30980000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,14.79420000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,19.66190000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,7.69100000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,10.87320000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,12.33340000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,9.83100000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,5.82000000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.57430000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,13.56380000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,14.74650000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,6.75550000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,8.15490000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,18.05700000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,29.11580000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,9.88280000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,16.12620000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,15.48350000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,19.41060000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,7.96670000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,10.75080000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,18.05700000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,29.11580000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,9.88280000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,16.12620000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,15.48350000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,19.41060000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,7.96670000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,10.75080000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,12.91000000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,9.70530000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,6.05070000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.37540000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,14.19670000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.55790000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,7.00870000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,8.06310000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,19.22530000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,28.57480000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,10.35010000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,15.97540000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,16.59850000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,19.04990000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,8.41270000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,10.65020000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,19.22530000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,28.57480000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,10.35010000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,15.97540000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,16.59850000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,19.04990000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,8.41270000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,10.65020000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,13.97170000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,9.52490000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,6.47530000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.32510000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,15.28510000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,14.28740000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,7.44400000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,7.98770000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,20.06690000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,28.15410000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,10.68680000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,15.75900000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,17.42100000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,18.76940000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,8.74170000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,10.50600000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,20.06690000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,28.15410000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,10.68680000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,15.75900000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,17.42100000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,18.76940000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,8.74170000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,10.50600000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,14.77510000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,9.38470000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,6.79670000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.25300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,16.09800000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,14.07700000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,7.76920000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,7.87950000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv b/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv index 13674265f..8372798e6 100644 --- a/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-region/1-new-region/Results/MCACapacity.csv @@ -5,140 +5,71 @@ A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,1.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 A1,15.00000000000,R2,2020,R2,gas,gassupply1,newcapa,2020 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,5.00000000000,R2,2020,R2,residential,gasboiler,newcapa,2025 -A1,19.00000000000,R2,2020,R2,residential,heatpump,newcapa,2025 -A1,7.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2025 -A1,7.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2025 -A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2025 -A1,18.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,18.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 -A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,9.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2030 -A1,19.00000000000,R2,2020,R2,residential,heatpump,newcapa,2030 -A1,1.00000000000,R2,2025,R2,residential,heatpump,newcapa,2030 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2030 -A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2030 -A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2030 -A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2030 -A1,10.63440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 -A1,10.63440000000,R2,2020,R2,gas,gassupply1,newcapa,2030 -A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2030 -A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 -A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,9.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2035 -A1,6.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2035 -A1,1.00000000000,R2,2025,R2,residential,heatpump,newcapa,2035 -A1,19.00000000000,R2,2030,R2,residential,heatpump,newcapa,2035 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2035 -A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2035 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2035 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2035 -A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2035 -A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2035 -A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2035 -A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 -A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2040 +A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,24.00000000000,R2,2020,R2,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,1.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2025 +A1,30.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,30.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 +A1,10.00000000000,R1,2025,R1,residential,gasboiler,newcapa,2030 +A1,19.00000000000,R2,2020,R2,residential,gasboiler,newcapa,2030 +A1,10.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2030 +A1,23.43330000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,23.43330000000,R2,2020,R2,gas,gassupply1,newcapa,2030 +A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2030 +A1,10.00000000000,R1,2025,R1,residential,gasboiler,newcapa,2035 +A1,26.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2035 +A1,10.00000000000,R2,2025,R2,residential,gasboiler,newcapa,2035 +A1,26.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2035 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2035 +A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2035 +A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2035 +A1,26.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 +A1,16.00000000000,R1,2035,R1,residential,gasboiler,newcapa,2040 +A1,26.00000000000,R2,2030,R2,residential,gasboiler,newcapa,2040 A1,16.00000000000,R2,2035,R2,residential,gasboiler,newcapa,2040 -A1,19.00000000000,R2,2030,R2,residential,heatpump,newcapa,2040 -A1,1.00000000000,R2,2035,R2,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2040 -A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2040 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2040 -A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2040 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2040 -A1,4.51110000000,R1,2035,R1,gas,gassupply1,newcapa,2040 -A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2040 -A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2040 -A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2040 -A1,4.51110000000,R2,2035,R2,gas,gassupply1,newcapa,2040 -A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,7.73330000000,R1,2035,R1,gas,gassupply1,newcapa,2040 +A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2040 +A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2040 +A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2040 +A1,7.73330000000,R2,2035,R2,gas,gassupply1,newcapa,2040 +A1,16.00000000000,R1,2035,R1,residential,gasboiler,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A1,16.00000000000,R2,2035,R2,residential,gasboiler,newcapa,2045 A1,12.00000000000,R2,2040,R2,residential,gasboiler,newcapa,2045 -A1,1.00000000000,R2,2035,R2,residential,heatpump,newcapa,2045 -A1,19.00000000000,R2,2040,R2,residential,heatpump,newcapa,2045 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R2,2020,R2,power,windturbine,newcapa,2045 -A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2045 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2045 -A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2045 -A1,3.00000000000,R2,2040,R2,power,windturbine,newcapa,2045 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2045 -A1,4.51110000000,R1,2035,R1,gas,gassupply1,newcapa,2045 -A1,3.86670000000,R1,2040,R1,gas,gassupply1,newcapa,2045 -A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2045 -A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2045 -A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2045 -A1,4.51110000000,R2,2035,R2,gas,gassupply1,newcapa,2045 -A1,3.86670000000,R2,2040,R2,gas,gassupply1,newcapa,2045 +A1,20.00000000000,R2,2040,R2,residential,heatpump,newcapa,2045 +A1,26.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,26.00000000000,R2,2040,R2,power,windturbine,newcapa,2045 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,7.73330000000,R1,2035,R1,gas,gassupply1,newcapa,2045 +A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2045 +A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2045 +A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2045 +A1,7.73330000000,R2,2035,R2,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A1,12.00000000000,R2,2040,R2,residential,gasboiler,newcapa,2050 A1,22.00000000000,R2,2045,R2,residential,gasboiler,newcapa,2050 -A1,19.00000000000,R2,2040,R2,residential,heatpump,newcapa,2050 -A1,1.00000000000,R2,2045,R2,residential,heatpump,newcapa,2050 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,1.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,4.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,6.00000000000,R2,2020,R2,power,gasCCGT,newcapa,2050 -A1,1.00000000000,R2,2025,R2,power,gasCCGT,newcapa,2050 -A1,6.00000000000,R2,2025,R2,power,windturbine,newcapa,2050 -A1,5.00000000000,R2,2030,R2,power,windturbine,newcapa,2050 -A1,3.00000000000,R2,2035,R2,power,windturbine,newcapa,2050 -A1,3.00000000000,R2,2040,R2,power,windturbine,newcapa,2050 -A1,4.00000000000,R2,2045,R2,power,windturbine,newcapa,2050 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,6.85560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,11.36670000000,R1,2030,R1,gas,gassupply1,newcapa,2050 -A1,4.51110000000,R1,2035,R1,gas,gassupply1,newcapa,2050 -A1,3.86670000000,R1,2040,R1,gas,gassupply1,newcapa,2050 -A1,3.86670000000,R1,2045,R1,gas,gassupply1,newcapa,2050 -A1,3.13440000000,R2,2020,R2,gas,gassupply1,newcapa,2050 -A1,6.85560000000,R2,2025,R2,gas,gassupply1,newcapa,2050 -A1,11.36670000000,R2,2030,R2,gas,gassupply1,newcapa,2050 -A1,4.51110000000,R2,2035,R2,gas,gassupply1,newcapa,2050 -A1,3.86670000000,R2,2040,R2,gas,gassupply1,newcapa,2050 -A1,3.86670000000,R2,2045,R2,gas,gassupply1,newcapa,2050 +A1,20.00000000000,R2,2040,R2,residential,heatpump,newcapa,2050 +A1,26.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A1,11.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,26.00000000000,R2,2040,R2,power,windturbine,newcapa,2050 +A1,11.00000000000,R2,2045,R2,power,windturbine,newcapa,2050 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,13.94440000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,16.52220000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,7.73330000000,R1,2035,R1,gas,gassupply1,newcapa,2050 +A1,15.93330000000,R2,2020,R2,gas,gassupply1,newcapa,2050 +A1,13.94440000000,R2,2025,R2,gas,gassupply1,newcapa,2050 +A1,16.52220000000,R2,2030,R2,gas,gassupply1,newcapa,2050 +A1,7.73330000000,R2,2035,R2,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv b/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv index ac88b87f3..834c47225 100644 --- a/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-region/1-new-region/Results/MCAPrices.csv @@ -47,291 +47,291 @@ heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R2,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 CO2f,all-week,evening,all-year,0.08310000000,R2,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,19.25560000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,19.25560000000,R2,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,13.01920000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,13.01920000000,R2,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,14.43830000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,14.43830000000,R2,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 CO2f,all-week,night,all-year,0.12010000000,R2,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,17.62170000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,17.62170000000,R2,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,10.93960000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,10.93960000000,R2,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,13.20140000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,13.20140000000,R2,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 CO2f,all-week,morning,all-year,0.12010000000,R2,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,19.25560000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,19.25560000000,R2,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,13.01920000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,13.01920000000,R2,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,14.43830000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,14.43830000000,R2,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R2,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,17.62170000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,17.62170000000,R2,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,10.93960000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,10.93960000000,R2,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,13.20140000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,13.20140000000,R2,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R2,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,16.20730000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,16.20730000000,R2,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,8.92950000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,8.92950000000,R2,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.96460000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.96460000000,R2,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R2,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,16.80480000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,16.80480000000,R2,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,9.89980000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,9.89980000000,R2,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,12.58300000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,12.58300000000,R2,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 CO2f,all-week,evening,all-year,0.12010000000,R2,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,21.74370000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,21.74370000000,R2,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,14.07000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,14.07000000000,R2,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,16.70430000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,16.70430000000,R2,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 CO2f,all-week,night,all-year,0.15700000000,R2,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,18.79980000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,18.79980000000,R2,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,11.51290000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,11.51290000000,R2,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,15.50860000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,15.50860000000,R2,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 CO2f,all-week,morning,all-year,0.15700000000,R2,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,21.74370000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,21.74370000000,R2,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,14.07000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,14.07000000000,R2,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,16.70430000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,16.70430000000,R2,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R2,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,18.79980000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,18.79980000000,R2,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,11.51290000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,11.51290000000,R2,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,15.50860000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,15.50860000000,R2,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R2,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,16.19160000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,16.19160000000,R2,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,9.12320000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,9.12320000000,R2,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,14.35420000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,14.35420000000,R2,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R2,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,17.32780000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,17.32780000000,R2,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,10.23440000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,10.23440000000,R2,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,14.91080000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,14.91080000000,R2,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 CO2f,all-week,evening,all-year,0.15700000000,R2,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,25.31620000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,25.31620000000,R2,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,16.16240000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,16.16240000000,R2,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,20.57330000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,20.57330000000,R2,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 CO2f,all-week,night,all-year,0.21490000000,R2,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,21.40970000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,21.40970000000,R2,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,13.39230000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,13.39230000000,R2,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,19.33650000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,19.33650000000,R2,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 CO2f,all-week,morning,all-year,0.21490000000,R2,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,25.31620000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,25.31620000000,R2,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,16.16240000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,16.16240000000,R2,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,20.57330000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,20.57330000000,R2,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R2,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,21.40970000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,21.40970000000,R2,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,13.39230000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,13.39230000000,R2,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,19.33650000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,19.33650000000,R2,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R2,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,17.59400000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,17.59400000000,R2,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,10.67260000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,10.67260000000,R2,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,18.09960000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,18.09960000000,R2,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R2,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,19.45650000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,19.45650000000,R2,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,12.00730000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,12.00730000000,R2,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,18.71800000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,18.71800000000,R2,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 CO2f,all-week,evening,all-year,0.21490000000,R2,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,27.83040000000,R1,0,MUS$2010/PJ,2040 -electricity,all-week,night,all-year,27.83040000000,R2,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,55.49860000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,55.49860000000,R2,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,18.13780000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,18.13780000000,R2,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,24.31870000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,24.31870000000,R2,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 CO2f,all-week,night,all-year,0.27280000000,R2,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,23.54960000000,R1,1,MUS$2010/PJ,2040 -electricity,all-week,morning,all-year,23.54960000000,R2,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,38.00770000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,38.00770000000,R2,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,15.36600000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,15.36600000000,R2,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,23.08180000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,23.08180000000,R2,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 CO2f,all-week,morning,all-year,0.27280000000,R2,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,27.83040000000,R1,2,MUS$2010/PJ,2040 -electricity,all-week,afternoon,all-year,27.83040000000,R2,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,55.49860000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,55.49860000000,R2,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,18.13780000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,18.13780000000,R2,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,24.31870000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,24.31870000000,R2,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R2,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,23.54960000000,R1,3,MUS$2010/PJ,2040 -electricity,all-week,early-peak,all-year,23.54960000000,R2,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,38.00770000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,38.00770000000,R2,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,15.36600000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,15.36600000000,R2,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,23.08180000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,23.08180000000,R2,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R2,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,19.30350000000,R1,4,MUS$2010/PJ,2040 -electricity,all-week,late-peak,all-year,19.30350000000,R2,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,21.23570000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,21.23570000000,R2,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,12.60440000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,12.60440000000,R2,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,21.84500000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,21.84500000000,R2,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R2,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,21.40910000000,R1,5,MUS$2010/PJ,2040 -electricity,all-week,evening,all-year,21.40910000000,R2,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,29.26230000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,29.26230000000,R2,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,13.98010000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,13.98010000000,R2,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,22.46340000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,22.46340000000,R2,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 CO2f,all-week,evening,all-year,0.27280000000,R2,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,30.76040000000,R1,0,MUS$2010/PJ,2045 -electricity,all-week,night,all-year,30.76040000000,R2,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,59.99930000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,59.99930000000,R2,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,20.69190000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,20.69190000000,R2,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,31.24370000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,31.24370000000,R2,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 CO2f,all-week,night,all-year,0.35390000000,R2,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,26.21660000000,R1,1,MUS$2010/PJ,2045 -electricity,all-week,morning,all-year,26.21660000000,R2,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,39.99950000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,39.99950000000,R2,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,17.92670000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,17.92670000000,R2,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,24.78030000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,24.78030000000,R2,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 CO2f,all-week,morning,all-year,0.35390000000,R2,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,30.76040000000,R1,2,MUS$2010/PJ,2045 -electricity,all-week,afternoon,all-year,30.76040000000,R2,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,59.99930000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,59.99930000000,R2,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,20.69190000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,20.69190000000,R2,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,31.24370000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,31.24370000000,R2,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R2,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,26.21660000000,R1,3,MUS$2010/PJ,2045 -electricity,all-week,early-peak,all-year,26.21660000000,R2,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,39.99950000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,39.99950000000,R2,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,17.92670000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,17.92670000000,R2,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,24.78030000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,24.78030000000,R2,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R2,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,21.70640000000,R1,4,MUS$2010/PJ,2045 -electricity,all-week,late-peak,all-year,21.70640000000,R2,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,19.99980000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,19.99980000000,R2,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,15.17100000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,15.17100000000,R2,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,18.31680000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,18.31680000000,R2,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R2,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,23.94470000000,R1,5,MUS$2010/PJ,2045 -electricity,all-week,evening,all-year,23.94470000000,R2,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,29.99960000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,29.99960000000,R2,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,16.54410000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,16.54410000000,R2,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,21.54860000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,21.54860000000,R2,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 CO2f,all-week,evening,all-year,0.35390000000,R2,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,33.21300000000,R1,0,MUS$2010/PJ,2050 -electricity,all-week,night,all-year,33.21300000000,R2,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,59.99930000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,59.99930000000,R2,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R2,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,23.26150000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,23.26150000000,R2,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,33.34050000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,33.34050000000,R2,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 CO2f,all-week,night,all-year,0.43510000000,R2,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,28.44880000000,R1,1,MUS$2010/PJ,2050 -electricity,all-week,morning,all-year,28.44880000000,R2,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,39.99950000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,39.99950000000,R2,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R2,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,20.50150000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,20.50150000000,R2,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,25.49220000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,25.49220000000,R2,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 CO2f,all-week,morning,all-year,0.43510000000,R2,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,33.21300000000,R1,2,MUS$2010/PJ,2050 -electricity,all-week,afternoon,all-year,33.21300000000,R2,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,59.99930000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,59.99930000000,R2,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R2,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,23.26150000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,23.26150000000,R2,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,33.34050000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,33.34050000000,R2,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R2,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,28.44880000000,R1,3,MUS$2010/PJ,2050 -electricity,all-week,early-peak,all-year,28.44880000000,R2,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,39.99950000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,39.99950000000,R2,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R2,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,20.50150000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,20.50150000000,R2,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,25.49220000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,25.49220000000,R2,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R2,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,23.71700000000,R1,4,MUS$2010/PJ,2050 -electricity,all-week,late-peak,all-year,23.71700000000,R2,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,19.99980000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,19.99980000000,R2,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R2,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,17.75030000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,17.75030000000,R2,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,17.64400000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,17.64400000000,R2,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R2,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,26.06670000000,R1,5,MUS$2010/PJ,2050 -electricity,all-week,evening,all-year,26.06670000000,R2,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,29.99960000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,29.99960000000,R2,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R2,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,19.12140000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,19.12140000000,R2,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,21.56810000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,21.56810000000,R2,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 CO2f,all-week,evening,all-year,0.43510000000,R2,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv index 0a572222b..7a984d661 100644 --- a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv +++ b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCACapacity.csv @@ -3,63 +3,53 @@ A1,10.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2020 A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,19.00000000000,R1,2020,R1,residential,electric_stove,newcapa,2025 -A1,5.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2025 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,7.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2025 -A1,24.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,electric_stove,newcapa,2030 -A1,10.00000000000,R1,2025,R1,residential,electric_stove,newcapa,2030 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,24.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2025 +A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,61.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,gas_stove,newcapa,2030 +A1,10.00000000000,R1,2025,R1,residential,gas_stove,newcapa,2030 +A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 -A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,17.07890000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,10.00000000000,R1,2025,R1,residential,electric_stove,newcapa,2035 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,54.36670000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,7.50000000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,26.00000000000,R1,2030,R1,residential,electric_stove,newcapa,2035 +A1,10.00000000000,R1,2025,R1,residential,gas_stove,newcapa,2035 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,7.50000000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,electric_stove,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,electric_stove,newcapa,2040 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,23.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,7.50000000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,electric_stove,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,electric_stove,newcapa,2045 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,20.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A1,12.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,23.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,13.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,7.50000000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,electric_stove,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,electric_stove,newcapa,2050 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,24.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,14.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,12.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A1,12.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,32.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,9.57890000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,0.44110000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,3.00000000000,R1,2045,R1,power,gasCCGT,newcapa,2050 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,50.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,23.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,13.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A1,4.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,46.86670000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,7.50000000000,R1,2025,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv index 977d0a091..7478dbc8e 100644 --- a/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv +++ b/docs/tutorial-code/add-service-demand/1-exogenous-demand/Results/MCAPrices.csv @@ -29,183 +29,183 @@ gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 cook,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 -electricity,all-week,night,all-year,13.39680000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,29.60050000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,8.82060000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.58300000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -cook,all-week,night,all-year,8.45260000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,11.17300000000,R1,1,MUS$2010/PJ,2025 +cook,all-week,night,all-year,10.81680000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,20.22790000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,7.33530000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.96460000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -cook,all-week,morning,all-year,6.96730000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,13.39680000000,R1,2,MUS$2010/PJ,2025 +cook,all-week,morning,all-year,10.19830000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,29.60050000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,8.82060000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.58300000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -cook,all-week,afternoon,all-year,8.45260000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,11.17300000000,R1,3,MUS$2010/PJ,2025 +cook,all-week,afternoon,all-year,10.81680000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,20.22790000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,7.33530000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.96460000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -cook,all-week,early-peak,all-year,6.96730000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,9.08910000000,R1,4,MUS$2010/PJ,2025 +cook,all-week,early-peak,all-year,10.19830000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,11.04390000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,5.89430000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -cook,all-week,late-peak,all-year,5.52630000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,10.06110000000,R1,5,MUS$2010/PJ,2025 +cook,all-week,late-peak,all-year,9.57990000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,15.54150000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,6.59260000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.65540000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -cook,all-week,evening,all-year,6.22460000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,12.87610000000,R1,0,MUS$2010/PJ,2030 +cook,all-week,evening,all-year,9.88910000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,28.99960000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,7.72180000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.21210000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -cook,all-week,night,all-year,7.72180000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,10.04370000000,R1,1,MUS$2010/PJ,2030 +cook,all-week,night,all-year,12.60140000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,19.33310000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,5.73170000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.00610000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -cook,all-week,morning,all-year,5.73170000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,12.87610000000,R1,2,MUS$2010/PJ,2030 +cook,all-week,morning,all-year,12.00350000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,28.99960000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,7.72180000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,15.21210000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -cook,all-week,afternoon,all-year,7.72180000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,10.04370000000,R1,3,MUS$2010/PJ,2030 +cook,all-week,afternoon,all-year,12.60140000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,19.33310000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,5.73170000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.00610000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -cook,all-week,early-peak,all-year,5.73170000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,7.33440000000,R1,4,MUS$2010/PJ,2030 +cook,all-week,early-peak,all-year,12.00350000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,3.82040000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,10.87620000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -cook,all-week,late-peak,all-year,3.82040000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,8.62750000000,R1,5,MUS$2010/PJ,2030 +cook,all-week,late-peak,all-year,11.42630000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,14.49980000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,4.73670000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.90310000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -cook,all-week,evening,all-year,4.73670000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,13.72230000000,R1,0,MUS$2010/PJ,2035 +cook,all-week,evening,all-year,11.70460000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,29.03190000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,8.14890000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,15.94180000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -cook,all-week,night,all-year,8.14890000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,10.65590000000,R1,1,MUS$2010/PJ,2035 +cook,all-week,night,all-year,15.83490000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,19.35460000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,6.03570000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,10.62790000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -cook,all-week,morning,all-year,6.03570000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,13.72230000000,R1,2,MUS$2010/PJ,2035 +cook,all-week,morning,all-year,11.82530000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,29.03190000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,8.14890000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,15.94180000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -cook,all-week,afternoon,all-year,8.14890000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,10.65590000000,R1,3,MUS$2010/PJ,2035 +cook,all-week,afternoon,all-year,15.83490000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,19.35460000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,6.03570000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,10.62790000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -cook,all-week,early-peak,all-year,6.03570000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,7.61100000000,R1,4,MUS$2010/PJ,2035 +cook,all-week,early-peak,all-year,11.82530000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,3.93110000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -cook,all-week,late-peak,all-year,3.93110000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,9.12270000000,R1,5,MUS$2010/PJ,2035 +cook,all-week,late-peak,all-year,7.90890000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,14.51590000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,4.97910000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,7.97090000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -cook,all-week,evening,all-year,4.97910000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,14.17190000000,R1,0,MUS$2010/PJ,2040 +cook,all-week,evening,all-year,9.82050000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,29.64250000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,8.32880000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,15.94180000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -cook,all-week,night,all-year,8.32880000000,R1,0,MUS$2010/PJ,2040 -electricity,all-week,morning,all-year,11.02500000000,R1,1,MUS$2010/PJ,2040 +cook,all-week,night,all-year,15.94180000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,19.76170000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,6.18330000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,10.62790000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -cook,all-week,morning,all-year,6.18330000000,R1,1,MUS$2010/PJ,2040 -electricity,all-week,afternoon,all-year,14.17190000000,R1,2,MUS$2010/PJ,2040 +cook,all-week,morning,all-year,10.62790000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,29.64250000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,8.32880000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,15.94180000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -cook,all-week,afternoon,all-year,8.32880000000,R1,2,MUS$2010/PJ,2040 -electricity,all-week,early-peak,all-year,11.02500000000,R1,3,MUS$2010/PJ,2040 +cook,all-week,afternoon,all-year,15.94180000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,19.76170000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,6.18330000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,10.62790000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -cook,all-week,early-peak,all-year,6.18330000000,R1,3,MUS$2010/PJ,2040 -electricity,all-week,late-peak,all-year,7.89680000000,R1,4,MUS$2010/PJ,2040 +cook,all-week,early-peak,all-year,10.62790000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,4.04540000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -cook,all-week,late-peak,all-year,4.04540000000,R1,4,MUS$2010/PJ,2040 -electricity,all-week,evening,all-year,9.45150000000,R1,5,MUS$2010/PJ,2040 +cook,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.82120000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,5.11060000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,7.97090000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -cook,all-week,evening,all-year,5.11060000000,R1,5,MUS$2010/PJ,2040 -electricity,all-week,night,all-year,14.81100000000,R1,0,MUS$2010/PJ,2045 +cook,all-week,evening,all-year,7.97090000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,8.58440000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,16.18600000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -cook,all-week,night,all-year,8.58440000000,R1,0,MUS$2010/PJ,2045 -electricity,all-week,morning,all-year,11.60360000000,R1,1,MUS$2010/PJ,2045 +cook,all-week,night,all-year,16.18600000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,19.99980000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,6.41480000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,10.79070000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -cook,all-week,morning,all-year,6.41480000000,R1,1,MUS$2010/PJ,2045 -electricity,all-week,afternoon,all-year,14.81100000000,R1,2,MUS$2010/PJ,2045 +cook,all-week,morning,all-year,10.79070000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,8.58440000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,16.18600000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -cook,all-week,afternoon,all-year,8.58440000000,R1,2,MUS$2010/PJ,2045 -electricity,all-week,early-peak,all-year,11.60360000000,R1,3,MUS$2010/PJ,2045 +cook,all-week,afternoon,all-year,16.18600000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,19.99980000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,6.41480000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,10.79070000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -cook,all-week,early-peak,all-year,6.41480000000,R1,3,MUS$2010/PJ,2045 -electricity,all-week,late-peak,all-year,8.41290000000,R1,4,MUS$2010/PJ,2045 +cook,all-week,early-peak,all-year,10.79070000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,4.25180000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -cook,all-week,late-peak,all-year,4.25180000000,R1,4,MUS$2010/PJ,2045 -electricity,all-week,evening,all-year,9.99980000000,R1,5,MUS$2010/PJ,2045 +cook,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,5.32990000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,8.09300000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -cook,all-week,evening,all-year,5.32990000000,R1,5,MUS$2010/PJ,2045 -electricity,all-week,night,all-year,15.30760000000,R1,0,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,8.09300000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,31.08270000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,8.78300000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,16.76210000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -cook,all-week,night,all-year,8.78300000000,R1,0,MUS$2010/PJ,2050 -electricity,all-week,morning,all-year,12.05310000000,R1,1,MUS$2010/PJ,2050 +cook,all-week,night,all-year,16.76210000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,21.65230000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,6.59460000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,11.54690000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -cook,all-week,morning,all-year,6.59460000000,R1,1,MUS$2010/PJ,2050 -electricity,all-week,afternoon,all-year,15.30760000000,R1,2,MUS$2010/PJ,2050 +cook,all-week,morning,all-year,11.54690000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,31.08270000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,8.78300000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,16.76210000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -cook,all-week,afternoon,all-year,8.78300000000,R1,2,MUS$2010/PJ,2050 -electricity,all-week,early-peak,all-year,12.05310000000,R1,3,MUS$2010/PJ,2050 +cook,all-week,afternoon,all-year,16.76210000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,21.65230000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,6.59460000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,11.54690000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -cook,all-week,early-peak,all-year,6.59460000000,R1,3,MUS$2010/PJ,2050 -electricity,all-week,late-peak,all-year,8.81380000000,R1,4,MUS$2010/PJ,2050 +cook,all-week,early-peak,all-year,11.54690000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,12.33240000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,4.41220000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,6.37600000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -cook,all-week,late-peak,all-year,4.41220000000,R1,4,MUS$2010/PJ,2050 -electricity,all-week,evening,all-year,10.42590000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,late-peak,all-year,6.37600000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,16.93710000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,5.50030000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,8.93940000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 -cook,all-week,evening,all-year,5.50030000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,8.93940000000,R1,5,MUS$2010/PJ,2050 diff --git a/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv b/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv index 9557b1c23..7c45f0b0b 100644 --- a/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv +++ b/docs/tutorial-code/carbon-budget/1-carbon-budget/Results/MCAPrices.csv @@ -23,75 +23,75 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,11.66100000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,28.45650000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,9.03670000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,15.82560000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.15000000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,8.51410000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,19.71110000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,7.25910000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.78500000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.15000000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,11.66100000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,28.45650000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,9.03670000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,15.82560000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.15000000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,8.51410000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,19.71110000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,7.25910000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.78500000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.15000000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,5.49650000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,11.32510000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,5.52240000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,7.85820000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.15000000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,6.94060000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,15.33840000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,6.37020000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,9.76470000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.15000000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,12.95810000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,26.13870000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,7.75460000000,R1,0,MUS$2010/PJ,2030 -CO2f,all-week,night,all-year,0.12000000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,10.73860000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.64020000000,R1,0,MUS$2010/PJ,2030 +CO2f,all-week,night,all-year,0.14000000000,R1,0,MUS$2010/kt,2030 +electricity,all-week,morning,all-year,19.77800000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,6.00970000000,R1,1,MUS$2010/PJ,2030 -CO2f,all-week,morning,all-year,0.12000000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,12.95810000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,10.70100000000,R1,1,MUS$2010/PJ,2030 +CO2f,all-week,morning,all-year,0.14000000000,R1,1,MUS$2010/kt,2030 +electricity,all-week,afternoon,all-year,26.13870000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,7.75460000000,R1,2,MUS$2010/PJ,2030 -CO2f,all-week,afternoon,all-year,0.12000000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,10.73860000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,14.64020000000,R1,2,MUS$2010/PJ,2030 +CO2f,all-week,afternoon,all-year,0.14000000000,R1,2,MUS$2010/kt,2030 +electricity,all-week,early-peak,all-year,19.77800000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,6.00970000000,R1,3,MUS$2010/PJ,2030 -CO2f,all-week,early-peak,all-year,0.12000000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,8.74310000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,10.70100000000,R1,3,MUS$2010/PJ,2030 +CO2f,all-week,early-peak,all-year,0.14000000000,R1,3,MUS$2010/kt,2030 +electricity,all-week,late-peak,all-year,14.05910000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,4.38390000000,R1,4,MUS$2010/PJ,2030 -CO2f,all-week,late-peak,all-year,0.12000000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,9.62880000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,7.06670000000,R1,4,MUS$2010/PJ,2030 +CO2f,all-week,late-peak,all-year,0.14000000000,R1,4,MUS$2010/kt,2030 +electricity,all-week,evening,all-year,16.59760000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,5.13720000000,R1,5,MUS$2010/PJ,2030 -CO2f,all-week,evening,all-year,0.12000000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,13.71690000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,8.73140000000,R1,5,MUS$2010/PJ,2030 +CO2f,all-week,evening,all-year,0.14000000000,R1,5,MUS$2010/kt,2030 +electricity,all-week,night,all-year,28.31600000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,8.14680000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,15.65540000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.15000000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,11.06050000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,20.79320000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,6.19750000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,11.20330000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.15000000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,13.71690000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,28.31600000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,8.14680000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,15.65540000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.15000000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,11.06050000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,20.79320000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,6.19750000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,11.20330000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.15000000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,8.46050000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,13.43040000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,4.27090000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,6.81520000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.15000000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,9.73220000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,17.03180000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,5.22290000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,8.97720000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.15000000000,R1,5,MUS$2010/kt,2035 diff --git a/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv b/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv index a515ac494..f2c4946fa 100644 --- a/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv +++ b/docs/tutorial-code/min-max-timeslice-constraints/1-min-constraint/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,5.88870000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,12.62770000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,6.86280000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,10.46720000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,4.65270000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,9.14540000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,5.69030000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,8.09320000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,6.69420000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,12.85430000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,7.33430000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,10.75530000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,4.65270000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,9.14540000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,5.69030000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,8.09320000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,3.52270000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,5.96160000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,4.55130000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,5.81380000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,4.61530000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,7.81060000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,5.41810000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,7.16510000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,3.99380000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,10.99990000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,4.16890000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.58470000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.66260000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,7.33320000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,2.77920000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,5.72310000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,3.99380000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,10.99990000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,4.16890000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.58470000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.66260000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,7.33320000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,2.77920000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,5.72310000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,1.99690000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,5.49990000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,2.08440000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,4.29230000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,4.25750000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.72900000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,2.83840000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,5.81930000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,4.25750000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,8.72900000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,2.83840000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,5.81930000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,2.12880000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,4.36450000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,4.14950000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,11.42840000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,2.76630000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,7.61900000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,4.14950000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,11.42840000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,2.76630000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,7.61900000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,2.07470000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,5.71420000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,4.31150000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,11.87490000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,2.87440000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,7.91660000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,4.31150000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,11.87490000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,2.87440000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,7.91660000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,2.15580000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,5.93740000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,4.35440000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,8.99560000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,2.90290000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,5.99710000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,4.35440000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,8.99560000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,2.90290000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,5.99710000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,2.17720000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,4.49780000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv b/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv index 11713d0db..9e580eb17 100644 --- a/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv +++ b/docs/tutorial-code/min-max-timeslice-constraints/2-max-constraint/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,6.18930000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,13.93410000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,6.90550000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,10.82840000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,4.76230000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,9.92540000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,5.67250000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,8.28770000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,7.10230000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,14.06800000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,7.45330000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,11.12940000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,4.76230000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,9.92540000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,5.67250000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,8.28770000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,2.46380000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,5.07980000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,3.99210000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,5.31070000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,3.15830000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,7.03060000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,4.60260000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,6.56400000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,3.99380000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,10.99990000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,4.16890000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.58470000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.66260000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,7.33320000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,2.77920000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,5.72310000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,3.99380000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,10.99990000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,4.16890000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.58470000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.66260000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,7.33320000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,2.77920000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,5.72310000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,1.99690000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,5.49990000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,2.08440000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,4.29230000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,4.25750000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.72900000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,2.83840000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,5.81930000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,4.25750000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,8.72900000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,2.83840000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,5.81930000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,2.12880000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,4.36450000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,4.14950000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,11.42840000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,2.76630000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,7.61900000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,4.14950000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,11.42840000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,2.76630000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,7.61900000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,2.07470000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,5.71420000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,4.31150000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,11.87490000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,2.87440000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,7.91660000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,4.31150000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,11.87490000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,2.87440000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,7.91660000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,2.15580000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,5.93740000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,4.35440000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,8.99560000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,2.90290000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,5.99710000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,4.35440000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,8.99560000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,2.90290000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,5.99710000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,2.17720000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,4.49780000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv index 90da2b071..1b2c297a2 100644 --- a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv +++ b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCACapacity.csv @@ -2,46 +2,41 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,17.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,7.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,18.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,17.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,22.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,28.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,17.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,10.63440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,11.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,20.85560000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,22.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,11.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,22.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,22.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,11.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,22.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,27.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,11.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,22.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,5.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,27.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,23.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,14.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,5.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,11.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,22.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,5.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,6.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,6.88560000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,5.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,13.35560000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 diff --git a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv index 28f198f3d..5a6369539 100644 --- a/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv +++ b/docs/tutorial-code/modify-timing-data/1-modify-timeslices/Results/MCAPrices.csv @@ -31,195 +31,195 @@ electricity,all-week,late-afternoon,all-year,19.50000000000,R1,7,MUS$2010/PJ,202 gas,all-week,late-afternoon,all-year,7.15280000000,R1,7,MUS$2010/PJ,2020 heat,all-week,late-afternoon,all-year,100.00000000000,R1,7,MUS$2010/PJ,2020 CO2f,all-week,late-afternoon,all-year,0.08310000000,R1,7,MUS$2010/kt,2020 -electricity,all-week,night,all-year,17.32630000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,28.73140000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,10.06670000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.54990000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,16.70800000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,21.13150000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,9.19370000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,12.00320000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,mid-afternoon,all-year,17.32630000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,mid-afternoon,all-year,28.73140000000,R1,2,MUS$2010/PJ,2025 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,mid-afternoon,all-year,10.06670000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,mid-afternoon,all-year,12.54990000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,mid-afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,16.70800000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,21.13150000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,9.19370000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,12.00320000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,16.02030000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.39310000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,8.16140000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,16.29580000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.06490000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,8.61160000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.63880000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,early-morning,all-year,16.29580000000,R1,6,MUS$2010/PJ,2025 +electricity,all-week,early-morning,all-year,16.06490000000,R1,6,MUS$2010/PJ,2025 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2025 -heat,all-week,early-morning,all-year,8.61160000000,R1,6,MUS$2010/PJ,2025 +heat,all-week,early-morning,all-year,11.63880000000,R1,6,MUS$2010/PJ,2025 CO2f,all-week,early-morning,all-year,0.12010000000,R1,6,MUS$2010/kt,2025 -electricity,all-week,late-afternoon,all-year,16.29580000000,R1,7,MUS$2010/PJ,2025 +electricity,all-week,late-afternoon,all-year,16.06490000000,R1,7,MUS$2010/PJ,2025 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2025 -heat,all-week,late-afternoon,all-year,8.61160000000,R1,7,MUS$2010/PJ,2025 +heat,all-week,late-afternoon,all-year,11.63880000000,R1,7,MUS$2010/PJ,2025 CO2f,all-week,late-afternoon,all-year,0.12010000000,R1,7,MUS$2010/kt,2025 -electricity,all-week,night,all-year,15.69390000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,8.93760000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.50550000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,13.73250000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,20.99970000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,7.35500000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.24310000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,mid-afternoon,all-year,15.69390000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,mid-afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2030 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,mid-afternoon,all-year,8.93760000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,mid-afternoon,all-year,15.50550000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,mid-afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,13.73250000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,20.99970000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,7.35500000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.24310000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,11.37470000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,5.43660000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,10.47790000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,12.42480000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,6.29990000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.73480000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,early-morning,all-year,12.42480000000,R1,6,MUS$2010/PJ,2030 +electricity,all-week,early-morning,all-year,14.99980000000,R1,6,MUS$2010/PJ,2030 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2030 -heat,all-week,early-morning,all-year,6.29990000000,R1,6,MUS$2010/PJ,2030 +heat,all-week,early-morning,all-year,11.73480000000,R1,6,MUS$2010/PJ,2030 CO2f,all-week,early-morning,all-year,0.15700000000,R1,6,MUS$2010/kt,2030 -electricity,all-week,late-afternoon,all-year,12.42480000000,R1,7,MUS$2010/PJ,2030 +electricity,all-week,late-afternoon,all-year,14.99980000000,R1,7,MUS$2010/PJ,2030 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2030 -heat,all-week,late-afternoon,all-year,6.29990000000,R1,7,MUS$2010/PJ,2030 +heat,all-week,late-afternoon,all-year,11.73480000000,R1,7,MUS$2010/PJ,2030 CO2f,all-week,late-afternoon,all-year,0.15700000000,R1,7,MUS$2010/kt,2030 -electricity,all-week,night,all-year,17.02050000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,29.46390000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,9.42070000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.25160000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,14.89970000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,20.62470000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,7.78860000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,11.37610000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,mid-afternoon,all-year,17.02050000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,mid-afternoon,all-year,29.46390000000,R1,2,MUS$2010/PJ,2035 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,mid-afternoon,all-year,9.42070000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,mid-afternoon,all-year,16.25160000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,mid-afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,14.89970000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,20.62470000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,7.78860000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,11.37610000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,12.38730000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,5.84160000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,13.48580000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,14.73200000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,6.70060000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,8.12580000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,early-morning,all-year,13.48580000000,R1,6,MUS$2010/PJ,2035 +electricity,all-week,early-morning,all-year,14.73200000000,R1,6,MUS$2010/PJ,2035 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2035 -heat,all-week,early-morning,all-year,6.70060000000,R1,6,MUS$2010/PJ,2035 +heat,all-week,early-morning,all-year,8.12580000000,R1,6,MUS$2010/PJ,2035 CO2f,all-week,early-morning,all-year,0.21490000000,R1,6,MUS$2010/kt,2035 -electricity,all-week,late-afternoon,all-year,13.48580000000,R1,7,MUS$2010/PJ,2035 +electricity,all-week,late-afternoon,all-year,14.73200000000,R1,7,MUS$2010/PJ,2035 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2035 -heat,all-week,late-afternoon,all-year,6.70060000000,R1,7,MUS$2010/PJ,2035 +heat,all-week,late-afternoon,all-year,8.12580000000,R1,7,MUS$2010/PJ,2035 CO2f,all-week,late-afternoon,all-year,0.21490000000,R1,7,MUS$2010/kt,2035 -electricity,all-week,night,all-year,17.98740000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,29.84660000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,9.84140000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,16.09250000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,15.66940000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,20.89260000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,8.12030000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,11.26480000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,mid-afternoon,all-year,17.98740000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,mid-afternoon,all-year,29.84660000000,R1,2,MUS$2010/PJ,2040 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,mid-afternoon,all-year,9.84140000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,mid-afternoon,all-year,16.09250000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,mid-afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,15.66940000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,20.89260000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,8.12030000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,11.26480000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,12.88310000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,6.03990000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,14.12410000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.92330000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,6.97280000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,8.04630000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,early-morning,all-year,14.12410000000,R1,6,MUS$2010/PJ,2040 +electricity,all-week,early-morning,all-year,14.92330000000,R1,6,MUS$2010/PJ,2040 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2040 -heat,all-week,early-morning,all-year,6.97280000000,R1,6,MUS$2010/PJ,2040 +heat,all-week,early-morning,all-year,8.04630000000,R1,6,MUS$2010/PJ,2040 CO2f,all-week,early-morning,all-year,0.27280000000,R1,6,MUS$2010/kt,2040 -electricity,all-week,late-afternoon,all-year,14.12410000000,R1,7,MUS$2010/PJ,2040 +electricity,all-week,late-afternoon,all-year,14.92330000000,R1,7,MUS$2010/PJ,2040 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2040 -heat,all-week,late-afternoon,all-year,6.97280000000,R1,7,MUS$2010/PJ,2040 +heat,all-week,late-afternoon,all-year,8.04630000000,R1,7,MUS$2010/PJ,2040 CO2f,all-week,late-afternoon,all-year,0.27280000000,R1,7,MUS$2010/kt,2040 -electricity,all-week,night,all-year,19.36770000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,29.46390000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,10.35960000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,16.19040000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,16.97470000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,20.62470000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,8.61860000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,11.33320000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,mid-afternoon,all-year,19.36770000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,mid-afternoon,all-year,29.46390000000,R1,2,MUS$2010/PJ,2045 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,mid-afternoon,all-year,10.35960000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,mid-afternoon,all-year,16.19040000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,mid-afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,16.97470000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,20.62470000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,8.61860000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,11.33320000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,14.12950000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,6.53850000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,15.37940000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,14.73200000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,7.45800000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,8.09520000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,early-morning,all-year,15.37940000000,R1,6,MUS$2010/PJ,2045 +electricity,all-week,early-morning,all-year,14.73200000000,R1,6,MUS$2010/PJ,2045 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2045 -heat,all-week,early-morning,all-year,7.45800000000,R1,6,MUS$2010/PJ,2045 +heat,all-week,early-morning,all-year,8.09520000000,R1,6,MUS$2010/PJ,2045 CO2f,all-week,early-morning,all-year,0.35390000000,R1,6,MUS$2010/kt,2045 -electricity,all-week,late-afternoon,all-year,15.37940000000,R1,7,MUS$2010/PJ,2045 +electricity,all-week,late-afternoon,all-year,14.73200000000,R1,7,MUS$2010/PJ,2045 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2045 -heat,all-week,late-afternoon,all-year,7.45800000000,R1,7,MUS$2010/PJ,2045 +heat,all-week,late-afternoon,all-year,8.09520000000,R1,7,MUS$2010/PJ,2045 CO2f,all-week,late-afternoon,all-year,0.35390000000,R1,7,MUS$2010/kt,2045 -electricity,all-week,night,all-year,20.42720000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,29.16630000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,10.80980000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,16.08020000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,17.91110000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,20.41640000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,9.01170000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,11.25620000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,mid-afternoon,all-year,20.42720000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,mid-afternoon,all-year,29.16630000000,R1,2,MUS$2010/PJ,2050 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,mid-afternoon,all-year,10.80980000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,mid-afternoon,all-year,16.08020000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,mid-afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,17.91110000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,20.41640000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,9.01170000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,11.25620000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,14.88680000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,6.84140000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,16.23370000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,14.58320000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,7.81290000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,8.04010000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 -electricity,all-week,early-morning,all-year,16.23370000000,R1,6,MUS$2010/PJ,2050 +electricity,all-week,early-morning,all-year,14.58320000000,R1,6,MUS$2010/PJ,2050 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2050 -heat,all-week,early-morning,all-year,7.81290000000,R1,6,MUS$2010/PJ,2050 +heat,all-week,early-morning,all-year,8.04010000000,R1,6,MUS$2010/PJ,2050 CO2f,all-week,early-morning,all-year,0.43510000000,R1,6,MUS$2010/kt,2050 -electricity,all-week,late-afternoon,all-year,16.23370000000,R1,7,MUS$2010/PJ,2050 +electricity,all-week,late-afternoon,all-year,14.58320000000,R1,7,MUS$2010/PJ,2050 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2050 -heat,all-week,late-afternoon,all-year,7.81290000000,R1,7,MUS$2010/PJ,2050 +heat,all-week,late-afternoon,all-year,8.04010000000,R1,7,MUS$2010/PJ,2050 CO2f,all-week,late-afternoon,all-year,0.43510000000,R1,7,MUS$2010/kt,2050 diff --git a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv index 7f8f5eb37..e48e50441 100644 --- a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv +++ b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv @@ -2,144 +2,24 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,8.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2022 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2022 -A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2022 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2022 -A1,6.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2024 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2024 -A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2024 -A1,2.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2024 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2024 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2024 -A1,4.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2026 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2026 -A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2026 -A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2026 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2026 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2026 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2026 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2026 -A1,13.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2026 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2026 -A1,2.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2028 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2028 -A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2028 -A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2028 +A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2022 +A1,24.48890000000,R1,2020,R1,gas,gassupply1,newcapa,2022 +A1,17.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2024 +A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2024 +A1,24.48890000000,R1,2020,R1,gas,gassupply1,newcapa,2024 +A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2024 +A1,15.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2026 +A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2026 +A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2026 +A1,22.98890000000,R1,2020,R1,gas,gassupply1,newcapa,2026 +A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2026 +A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2026 +A1,13.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2028 +A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2028 +A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2028 A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2028 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2028 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2028 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2028 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2028 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2028 -A1,10.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2028 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2028 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2028 -A1,11.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 -A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2030 -A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2030 -A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2030 -A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2030 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2030 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2030 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2030 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2030 -A1,7.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2030 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2030 -A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2030 -A1,4.00000000000,R1,2022,R1,residential,heatpump,newcapa,2032 -A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2032 -A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2032 -A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2032 -A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2032 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2032 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2032 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2032 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2032 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2032 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2032 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2032 -A1,4.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2032 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2032 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2032 -A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2032 -A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2032 -A1,4.00000000000,R1,2024,R1,residential,heatpump,newcapa,2034 -A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2034 -A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2034 -A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2034 -A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2034 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2034 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2034 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2034 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2034 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2034 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2034 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2034 -A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2034 -A1,1.50000000000,R1,2020,R1,gas,gassupply1,newcapa,2034 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2034 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2034 -A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2034 -A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2034 -A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2034 -A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2036 -A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2036 -A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2036 -A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2036 -A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2036 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2036 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2036 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2036 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2036 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2036 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2036 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2036 -A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2036 -A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2036 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2036 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2036 -A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2036 -A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2036 -A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2036 -A1,1.50000000000,R1,2034,R1,gas,gassupply1,newcapa,2036 -A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2038 -A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2038 -A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2038 -A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2038 -A1,6.00000000000,R1,2036,R1,residential,heatpump,newcapa,2038 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2038 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2038 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2038 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2038 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2038 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2038 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2038 -A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2038 -A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2038 -A1,2.00000000000,R1,2036,R1,power,windturbine,newcapa,2038 -A1,13.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2032,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2036,R1,residential,heatpump,newcapa,2040 -A1,8.00000000000,R1,2038,R1,residential,heatpump,newcapa,2040 -A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,2.00000000000,R1,2022,R1,power,gasCCGT,newcapa,2040 -A1,2.00000000000,R1,2024,R1,power,gasCCGT,newcapa,2040 -A1,2.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2040 -A1,5.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2040 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,2.00000000000,R1,2032,R1,power,windturbine,newcapa,2040 -A1,2.00000000000,R1,2034,R1,power,windturbine,newcapa,2040 -A1,2.00000000000,R1,2036,R1,power,windturbine,newcapa,2040 -A1,3.00000000000,R1,2038,R1,power,windturbine,newcapa,2040 -A1,0.00560000000,R1,2024,R1,gas,gassupply1,newcapa,2040 -A1,3.76220000000,R1,2026,R1,gas,gassupply1,newcapa,2040 -A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2040 -A1,3.00000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 -A1,3.00000000000,R1,2032,R1,gas,gassupply1,newcapa,2040 -A1,1.50000000000,R1,2034,R1,gas,gassupply1,newcapa,2040 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2028 +A1,19.98890000000,R1,2020,R1,gas,gassupply1,newcapa,2028 +A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2028 +A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2028 +A1,2.09220000000,R1,2026,R1,gas,gassupply1,newcapa,2028 diff --git a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv index dff4bcb50..4f181da73 100644 --- a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv +++ b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv @@ -31,323 +31,131 @@ electricity,all-week,late-afternoon,all-year,19.50000000000,R1,7,MUS$2010/PJ,202 gas,all-week,late-afternoon,all-year,7.15280000000,R1,7,MUS$2010/PJ,2020 heat,all-week,late-afternoon,all-year,100.00000000000,R1,7,MUS$2010/PJ,2020 CO2f,all-week,late-afternoon,all-year,0.08310000000,R1,7,MUS$2010/kt,2020 -electricity,all-week,night,all-year,12.13410000000,R1,0,MUS$2010/PJ,2022 +electricity,all-week,night,all-year,28.18210000000,R1,0,MUS$2010/PJ,2022 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2022 -heat,all-week,night,all-year,8.73900000000,R1,0,MUS$2010/PJ,2022 +heat,all-week,night,all-year,11.14530000000,R1,0,MUS$2010/PJ,2022 CO2f,all-week,night,all-year,0.09790000000,R1,0,MUS$2010/kt,2022 -electricity,all-week,morning,all-year,10.37450000000,R1,1,MUS$2010/PJ,2022 +electricity,all-week,morning,all-year,21.14710000000,R1,1,MUS$2010/PJ,2022 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2022 -heat,all-week,morning,all-year,7.72680000000,R1,1,MUS$2010/PJ,2022 +heat,all-week,morning,all-year,10.58990000000,R1,1,MUS$2010/PJ,2022 CO2f,all-week,morning,all-year,0.09790000000,R1,1,MUS$2010/kt,2022 -electricity,all-week,mid-afternoon,all-year,12.13410000000,R1,2,MUS$2010/PJ,2022 +electricity,all-week,mid-afternoon,all-year,28.18210000000,R1,2,MUS$2010/PJ,2022 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2022 -heat,all-week,mid-afternoon,all-year,8.73900000000,R1,2,MUS$2010/PJ,2022 +heat,all-week,mid-afternoon,all-year,11.14530000000,R1,2,MUS$2010/PJ,2022 CO2f,all-week,mid-afternoon,all-year,0.09790000000,R1,2,MUS$2010/kt,2022 -electricity,all-week,early-peak,all-year,10.37450000000,R1,3,MUS$2010/PJ,2022 +electricity,all-week,early-peak,all-year,21.14710000000,R1,3,MUS$2010/PJ,2022 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2022 -heat,all-week,early-peak,all-year,7.72680000000,R1,3,MUS$2010/PJ,2022 +heat,all-week,early-peak,all-year,10.58990000000,R1,3,MUS$2010/PJ,2022 CO2f,all-week,early-peak,all-year,0.09790000000,R1,3,MUS$2010/kt,2022 -electricity,all-week,late-peak,all-year,8.53740000000,R1,4,MUS$2010/PJ,2022 +electricity,all-week,late-peak,all-year,13.13840000000,R1,4,MUS$2010/PJ,2022 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2022 -heat,all-week,late-peak,all-year,6.56360000000,R1,4,MUS$2010/PJ,2022 +heat,all-week,late-peak,all-year,9.91240000000,R1,4,MUS$2010/PJ,2022 CO2f,all-week,late-peak,all-year,0.09790000000,R1,4,MUS$2010/kt,2022 -electricity,all-week,evening,all-year,9.20150000000,R1,5,MUS$2010/PJ,2022 +electricity,all-week,evening,all-year,16.45720000000,R1,5,MUS$2010/PJ,2022 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2022 -heat,all-week,evening,all-year,7.05200000000,R1,5,MUS$2010/PJ,2022 +heat,all-week,evening,all-year,10.21960000000,R1,5,MUS$2010/PJ,2022 CO2f,all-week,evening,all-year,0.09790000000,R1,5,MUS$2010/kt,2022 -electricity,all-week,early-morning,all-year,9.20150000000,R1,6,MUS$2010/PJ,2022 +electricity,all-week,early-morning,all-year,16.45720000000,R1,6,MUS$2010/PJ,2022 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2022 -heat,all-week,early-morning,all-year,7.05200000000,R1,6,MUS$2010/PJ,2022 +heat,all-week,early-morning,all-year,10.21960000000,R1,6,MUS$2010/PJ,2022 CO2f,all-week,early-morning,all-year,0.09790000000,R1,6,MUS$2010/kt,2022 -electricity,all-week,late-afternoon,all-year,9.20150000000,R1,7,MUS$2010/PJ,2022 +electricity,all-week,late-afternoon,all-year,16.45720000000,R1,7,MUS$2010/PJ,2022 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2022 -heat,all-week,late-afternoon,all-year,7.05200000000,R1,7,MUS$2010/PJ,2022 +heat,all-week,late-afternoon,all-year,10.21960000000,R1,7,MUS$2010/PJ,2022 CO2f,all-week,late-afternoon,all-year,0.09790000000,R1,7,MUS$2010/kt,2022 -electricity,all-week,night,all-year,14.30230000000,R1,0,MUS$2010/PJ,2024 +electricity,all-week,night,all-year,28.18210000000,R1,0,MUS$2010/PJ,2024 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2024 -heat,all-week,night,all-year,9.21130000000,R1,0,MUS$2010/PJ,2024 +heat,all-week,night,all-year,12.08070000000,R1,0,MUS$2010/PJ,2024 CO2f,all-week,night,all-year,0.11270000000,R1,0,MUS$2010/kt,2024 -electricity,all-week,morning,all-year,12.82500000000,R1,1,MUS$2010/PJ,2024 +electricity,all-week,morning,all-year,21.14710000000,R1,1,MUS$2010/PJ,2024 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2024 -heat,all-week,morning,all-year,8.13030000000,R1,1,MUS$2010/PJ,2024 +heat,all-week,morning,all-year,11.53140000000,R1,1,MUS$2010/PJ,2024 CO2f,all-week,morning,all-year,0.11270000000,R1,1,MUS$2010/kt,2024 -electricity,all-week,mid-afternoon,all-year,14.30230000000,R1,2,MUS$2010/PJ,2024 +electricity,all-week,mid-afternoon,all-year,28.18210000000,R1,2,MUS$2010/PJ,2024 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2024 -heat,all-week,mid-afternoon,all-year,9.21130000000,R1,2,MUS$2010/PJ,2024 +heat,all-week,mid-afternoon,all-year,12.08070000000,R1,2,MUS$2010/PJ,2024 CO2f,all-week,mid-afternoon,all-year,0.11270000000,R1,2,MUS$2010/kt,2024 -electricity,all-week,early-peak,all-year,12.82500000000,R1,3,MUS$2010/PJ,2024 +electricity,all-week,early-peak,all-year,21.14710000000,R1,3,MUS$2010/PJ,2024 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2024 -heat,all-week,early-peak,all-year,8.13030000000,R1,3,MUS$2010/PJ,2024 +heat,all-week,early-peak,all-year,11.53140000000,R1,3,MUS$2010/PJ,2024 CO2f,all-week,early-peak,all-year,0.11270000000,R1,3,MUS$2010/kt,2024 -electricity,all-week,late-peak,all-year,11.16020000000,R1,4,MUS$2010/PJ,2024 +electricity,all-week,late-peak,all-year,13.13840000000,R1,4,MUS$2010/PJ,2024 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2024 -heat,all-week,late-peak,all-year,6.85900000000,R1,4,MUS$2010/PJ,2024 +heat,all-week,late-peak,all-year,10.86820000000,R1,4,MUS$2010/PJ,2024 CO2f,all-week,late-peak,all-year,0.11270000000,R1,4,MUS$2010/kt,2024 -electricity,all-week,evening,all-year,11.84020000000,R1,5,MUS$2010/PJ,2024 +electricity,all-week,evening,all-year,16.45720000000,R1,5,MUS$2010/PJ,2024 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2024 -heat,all-week,evening,all-year,7.40960000000,R1,5,MUS$2010/PJ,2024 +heat,all-week,evening,all-year,11.16520000000,R1,5,MUS$2010/PJ,2024 CO2f,all-week,evening,all-year,0.11270000000,R1,5,MUS$2010/kt,2024 -electricity,all-week,early-morning,all-year,11.84020000000,R1,6,MUS$2010/PJ,2024 +electricity,all-week,early-morning,all-year,16.45720000000,R1,6,MUS$2010/PJ,2024 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2024 -heat,all-week,early-morning,all-year,7.40960000000,R1,6,MUS$2010/PJ,2024 +heat,all-week,early-morning,all-year,11.16520000000,R1,6,MUS$2010/PJ,2024 CO2f,all-week,early-morning,all-year,0.11270000000,R1,6,MUS$2010/kt,2024 -electricity,all-week,late-afternoon,all-year,11.84020000000,R1,7,MUS$2010/PJ,2024 +electricity,all-week,late-afternoon,all-year,16.45720000000,R1,7,MUS$2010/PJ,2024 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2024 -heat,all-week,late-afternoon,all-year,7.40960000000,R1,7,MUS$2010/PJ,2024 +heat,all-week,late-afternoon,all-year,11.16520000000,R1,7,MUS$2010/PJ,2024 CO2f,all-week,late-afternoon,all-year,0.11270000000,R1,7,MUS$2010/kt,2024 -electricity,all-week,night,all-year,15.15150000000,R1,0,MUS$2010/PJ,2026 +electricity,all-week,night,all-year,28.18210000000,R1,0,MUS$2010/PJ,2026 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2026 -heat,all-week,night,all-year,9.29810000000,R1,0,MUS$2010/PJ,2026 +heat,all-week,night,all-year,13.01990000000,R1,0,MUS$2010/PJ,2026 CO2f,all-week,night,all-year,0.12750000000,R1,0,MUS$2010/kt,2026 -electricity,all-week,morning,all-year,13.91710000000,R1,1,MUS$2010/PJ,2026 +electricity,all-week,morning,all-year,21.14710000000,R1,1,MUS$2010/PJ,2026 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2026 -heat,all-week,morning,all-year,8.18740000000,R1,1,MUS$2010/PJ,2026 +heat,all-week,morning,all-year,12.47560000000,R1,1,MUS$2010/PJ,2026 CO2f,all-week,morning,all-year,0.12750000000,R1,1,MUS$2010/kt,2026 -electricity,all-week,mid-afternoon,all-year,15.15150000000,R1,2,MUS$2010/PJ,2026 +electricity,all-week,mid-afternoon,all-year,28.18210000000,R1,2,MUS$2010/PJ,2026 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2026 -heat,all-week,mid-afternoon,all-year,9.29810000000,R1,2,MUS$2010/PJ,2026 +heat,all-week,mid-afternoon,all-year,13.01990000000,R1,2,MUS$2010/PJ,2026 CO2f,all-week,mid-afternoon,all-year,0.12750000000,R1,2,MUS$2010/kt,2026 -electricity,all-week,early-peak,all-year,13.91710000000,R1,3,MUS$2010/PJ,2026 +electricity,all-week,early-peak,all-year,21.14710000000,R1,3,MUS$2010/PJ,2026 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2026 -heat,all-week,early-peak,all-year,8.18740000000,R1,3,MUS$2010/PJ,2026 +heat,all-week,early-peak,all-year,12.47560000000,R1,3,MUS$2010/PJ,2026 CO2f,all-week,early-peak,all-year,0.12750000000,R1,3,MUS$2010/kt,2026 -electricity,all-week,late-peak,all-year,12.67690000000,R1,4,MUS$2010/PJ,2026 +electricity,all-week,late-peak,all-year,13.13840000000,R1,4,MUS$2010/PJ,2026 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2026 -heat,all-week,late-peak,all-year,6.93620000000,R1,4,MUS$2010/PJ,2026 +heat,all-week,late-peak,all-year,11.82410000000,R1,4,MUS$2010/PJ,2026 CO2f,all-week,late-peak,all-year,0.12750000000,R1,4,MUS$2010/kt,2026 -electricity,all-week,evening,all-year,13.09430000000,R1,5,MUS$2010/PJ,2026 +electricity,all-week,evening,all-year,16.45720000000,R1,5,MUS$2010/PJ,2026 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2026 -heat,all-week,evening,all-year,7.44690000000,R1,5,MUS$2010/PJ,2026 +heat,all-week,evening,all-year,12.11280000000,R1,5,MUS$2010/PJ,2026 CO2f,all-week,evening,all-year,0.12750000000,R1,5,MUS$2010/kt,2026 -electricity,all-week,early-morning,all-year,13.09430000000,R1,6,MUS$2010/PJ,2026 +electricity,all-week,early-morning,all-year,16.45720000000,R1,6,MUS$2010/PJ,2026 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2026 -heat,all-week,early-morning,all-year,7.44690000000,R1,6,MUS$2010/PJ,2026 +heat,all-week,early-morning,all-year,12.11280000000,R1,6,MUS$2010/PJ,2026 CO2f,all-week,early-morning,all-year,0.12750000000,R1,6,MUS$2010/kt,2026 -electricity,all-week,late-afternoon,all-year,13.09430000000,R1,7,MUS$2010/PJ,2026 +electricity,all-week,late-afternoon,all-year,16.45720000000,R1,7,MUS$2010/PJ,2026 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2026 -heat,all-week,late-afternoon,all-year,7.44690000000,R1,7,MUS$2010/PJ,2026 +heat,all-week,late-afternoon,all-year,12.11280000000,R1,7,MUS$2010/PJ,2026 CO2f,all-week,late-afternoon,all-year,0.12750000000,R1,7,MUS$2010/kt,2026 -electricity,all-week,night,all-year,16.93190000000,R1,0,MUS$2010/PJ,2028 +electricity,all-week,night,all-year,21.78380000000,R1,0,MUS$2010/PJ,2028 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2028 -heat,all-week,night,all-year,9.66740000000,R1,0,MUS$2010/PJ,2028 +heat,all-week,night,all-year,13.79450000000,R1,0,MUS$2010/PJ,2028 CO2f,all-week,night,all-year,0.14220000000,R1,0,MUS$2010/kt,2028 -electricity,all-week,morning,all-year,15.79090000000,R1,1,MUS$2010/PJ,2028 +electricity,all-week,morning,all-year,20.43760000000,R1,1,MUS$2010/PJ,2028 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2028 -heat,all-week,morning,all-year,8.50840000000,R1,1,MUS$2010/PJ,2028 +heat,all-week,morning,all-year,13.05290000000,R1,1,MUS$2010/PJ,2028 CO2f,all-week,morning,all-year,0.14220000000,R1,1,MUS$2010/kt,2028 -electricity,all-week,mid-afternoon,all-year,16.93190000000,R1,2,MUS$2010/PJ,2028 +electricity,all-week,mid-afternoon,all-year,21.78380000000,R1,2,MUS$2010/PJ,2028 gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2028 -heat,all-week,mid-afternoon,all-year,9.66740000000,R1,2,MUS$2010/PJ,2028 +heat,all-week,mid-afternoon,all-year,13.79450000000,R1,2,MUS$2010/PJ,2028 CO2f,all-week,mid-afternoon,all-year,0.14220000000,R1,2,MUS$2010/kt,2028 -electricity,all-week,early-peak,all-year,15.79090000000,R1,3,MUS$2010/PJ,2028 +electricity,all-week,early-peak,all-year,20.43760000000,R1,3,MUS$2010/PJ,2028 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2028 -heat,all-week,early-peak,all-year,8.50840000000,R1,3,MUS$2010/PJ,2028 +heat,all-week,early-peak,all-year,13.05290000000,R1,3,MUS$2010/PJ,2028 CO2f,all-week,early-peak,all-year,0.14220000000,R1,3,MUS$2010/kt,2028 -electricity,all-week,late-peak,all-year,14.57660000000,R1,4,MUS$2010/PJ,2028 +electricity,all-week,late-peak,all-year,20.03640000000,R1,4,MUS$2010/PJ,2028 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2028 -heat,all-week,late-peak,all-year,7.18320000000,R1,4,MUS$2010/PJ,2028 +heat,all-week,late-peak,all-year,12.24840000000,R1,4,MUS$2010/PJ,2028 CO2f,all-week,late-peak,all-year,0.14220000000,R1,4,MUS$2010/kt,2028 -electricity,all-week,evening,all-year,15.03030000000,R1,5,MUS$2010/PJ,2028 +electricity,all-week,evening,all-year,20.03640000000,R1,5,MUS$2010/PJ,2028 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2028 -heat,all-week,evening,all-year,7.73580000000,R1,5,MUS$2010/PJ,2028 +heat,all-week,evening,all-year,12.59030000000,R1,5,MUS$2010/PJ,2028 CO2f,all-week,evening,all-year,0.14220000000,R1,5,MUS$2010/kt,2028 -electricity,all-week,early-morning,all-year,15.03030000000,R1,6,MUS$2010/PJ,2028 +electricity,all-week,early-morning,all-year,20.03640000000,R1,6,MUS$2010/PJ,2028 gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2028 -heat,all-week,early-morning,all-year,7.73580000000,R1,6,MUS$2010/PJ,2028 +heat,all-week,early-morning,all-year,12.59030000000,R1,6,MUS$2010/PJ,2028 CO2f,all-week,early-morning,all-year,0.14220000000,R1,6,MUS$2010/kt,2028 -electricity,all-week,late-afternoon,all-year,15.03030000000,R1,7,MUS$2010/PJ,2028 +electricity,all-week,late-afternoon,all-year,20.03640000000,R1,7,MUS$2010/PJ,2028 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2028 -heat,all-week,late-afternoon,all-year,7.73580000000,R1,7,MUS$2010/PJ,2028 +heat,all-week,late-afternoon,all-year,12.59030000000,R1,7,MUS$2010/PJ,2028 CO2f,all-week,late-afternoon,all-year,0.14220000000,R1,7,MUS$2010/kt,2028 -electricity,all-week,night,all-year,16.53430000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,9.27370000000,R1,0,MUS$2010/PJ,2030 -CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,14.86840000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,7.80940000000,R1,1,MUS$2010/PJ,2030 -CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,mid-afternoon,all-year,16.53430000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,mid-afternoon,all-year,9.27370000000,R1,2,MUS$2010/PJ,2030 -CO2f,all-week,mid-afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,14.86840000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,7.80940000000,R1,3,MUS$2010/PJ,2030 -CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,12.91870000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,6.05420000000,R1,4,MUS$2010/PJ,2030 -CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,13.75770000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,6.83310000000,R1,5,MUS$2010/PJ,2030 -CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,early-morning,all-year,13.75770000000,R1,6,MUS$2010/PJ,2030 -gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2030 -heat,all-week,early-morning,all-year,6.83310000000,R1,6,MUS$2010/PJ,2030 -CO2f,all-week,early-morning,all-year,0.15700000000,R1,6,MUS$2010/kt,2030 -electricity,all-week,late-afternoon,all-year,13.75770000000,R1,7,MUS$2010/PJ,2030 -gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2030 -heat,all-week,late-afternoon,all-year,6.83310000000,R1,7,MUS$2010/PJ,2030 -CO2f,all-week,late-afternoon,all-year,0.15700000000,R1,7,MUS$2010/kt,2030 -electricity,all-week,night,all-year,17.21980000000,R1,0,MUS$2010/PJ,2032 -gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2032 -heat,all-week,night,all-year,9.52680000000,R1,0,MUS$2010/PJ,2032 -CO2f,all-week,night,all-year,0.18020000000,R1,0,MUS$2010/kt,2032 -electricity,all-week,morning,all-year,15.35310000000,R1,1,MUS$2010/PJ,2032 -gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2032 -heat,all-week,morning,all-year,7.98850000000,R1,1,MUS$2010/PJ,2032 -CO2f,all-week,morning,all-year,0.18020000000,R1,1,MUS$2010/kt,2032 -electricity,all-week,mid-afternoon,all-year,17.21980000000,R1,2,MUS$2010/PJ,2032 -gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2032 -heat,all-week,mid-afternoon,all-year,9.52680000000,R1,2,MUS$2010/PJ,2032 -CO2f,all-week,mid-afternoon,all-year,0.18020000000,R1,2,MUS$2010/kt,2032 -electricity,all-week,early-peak,all-year,15.35310000000,R1,3,MUS$2010/PJ,2032 -gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2032 -heat,all-week,early-peak,all-year,7.98850000000,R1,3,MUS$2010/PJ,2032 -CO2f,all-week,early-peak,all-year,0.18020000000,R1,3,MUS$2010/kt,2032 -electricity,all-week,late-peak,all-year,13.10570000000,R1,4,MUS$2010/PJ,2032 -gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2032 -heat,all-week,late-peak,all-year,6.12890000000,R1,4,MUS$2010/PJ,2032 -CO2f,all-week,late-peak,all-year,0.18020000000,R1,4,MUS$2010/kt,2032 -electricity,all-week,evening,all-year,14.10860000000,R1,5,MUS$2010/PJ,2032 -gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2032 -heat,all-week,evening,all-year,6.96290000000,R1,5,MUS$2010/PJ,2032 -CO2f,all-week,evening,all-year,0.18020000000,R1,5,MUS$2010/kt,2032 -electricity,all-week,early-morning,all-year,14.10860000000,R1,6,MUS$2010/PJ,2032 -gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2032 -heat,all-week,early-morning,all-year,6.96290000000,R1,6,MUS$2010/PJ,2032 -CO2f,all-week,early-morning,all-year,0.18020000000,R1,6,MUS$2010/kt,2032 -electricity,all-week,late-afternoon,all-year,14.10860000000,R1,7,MUS$2010/PJ,2032 -gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2032 -heat,all-week,late-afternoon,all-year,6.96290000000,R1,7,MUS$2010/PJ,2032 -CO2f,all-week,late-afternoon,all-year,0.18020000000,R1,7,MUS$2010/kt,2032 -electricity,all-week,night,all-year,17.82140000000,R1,0,MUS$2010/PJ,2034 -gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2034 -heat,all-week,night,all-year,9.74930000000,R1,0,MUS$2010/PJ,2034 -CO2f,all-week,night,all-year,0.20330000000,R1,0,MUS$2010/kt,2034 -electricity,all-week,morning,all-year,15.88220000000,R1,1,MUS$2010/PJ,2034 -gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2034 -heat,all-week,morning,all-year,8.18740000000,R1,1,MUS$2010/PJ,2034 -CO2f,all-week,morning,all-year,0.20330000000,R1,1,MUS$2010/kt,2034 -electricity,all-week,mid-afternoon,all-year,17.82140000000,R1,2,MUS$2010/PJ,2034 -gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2034 -heat,all-week,mid-afternoon,all-year,9.74930000000,R1,2,MUS$2010/PJ,2034 -CO2f,all-week,mid-afternoon,all-year,0.20330000000,R1,2,MUS$2010/kt,2034 -electricity,all-week,early-peak,all-year,15.88220000000,R1,3,MUS$2010/PJ,2034 -gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2034 -heat,all-week,early-peak,all-year,8.18740000000,R1,3,MUS$2010/PJ,2034 -CO2f,all-week,early-peak,all-year,0.20330000000,R1,3,MUS$2010/kt,2034 -electricity,all-week,late-peak,all-year,13.56170000000,R1,4,MUS$2010/PJ,2034 -gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2034 -heat,all-week,late-peak,all-year,6.31130000000,R1,4,MUS$2010/PJ,2034 -CO2f,all-week,late-peak,all-year,0.20330000000,R1,4,MUS$2010/kt,2034 -electricity,all-week,evening,all-year,14.58940000000,R1,5,MUS$2010/PJ,2034 -gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2034 -heat,all-week,evening,all-year,7.14610000000,R1,5,MUS$2010/PJ,2034 -CO2f,all-week,evening,all-year,0.20330000000,R1,5,MUS$2010/kt,2034 -electricity,all-week,early-morning,all-year,14.58940000000,R1,6,MUS$2010/PJ,2034 -gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2034 -heat,all-week,early-morning,all-year,7.14610000000,R1,6,MUS$2010/PJ,2034 -CO2f,all-week,early-morning,all-year,0.20330000000,R1,6,MUS$2010/kt,2034 -electricity,all-week,late-afternoon,all-year,14.58940000000,R1,7,MUS$2010/PJ,2034 -gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2034 -heat,all-week,late-afternoon,all-year,7.14610000000,R1,7,MUS$2010/PJ,2034 -CO2f,all-week,late-afternoon,all-year,0.20330000000,R1,7,MUS$2010/kt,2034 -electricity,all-week,night,all-year,18.34920000000,R1,0,MUS$2010/PJ,2036 -gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2036 -heat,all-week,night,all-year,9.94450000000,R1,0,MUS$2010/PJ,2036 -CO2f,all-week,night,all-year,0.22650000000,R1,0,MUS$2010/kt,2036 -electricity,all-week,morning,all-year,16.34690000000,R1,1,MUS$2010/PJ,2036 -gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2036 -heat,all-week,morning,all-year,8.36210000000,R1,1,MUS$2010/PJ,2036 -CO2f,all-week,morning,all-year,0.22650000000,R1,1,MUS$2010/kt,2036 -electricity,all-week,mid-afternoon,all-year,18.34920000000,R1,2,MUS$2010/PJ,2036 -gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2036 -heat,all-week,mid-afternoon,all-year,9.94450000000,R1,2,MUS$2010/PJ,2036 -CO2f,all-week,mid-afternoon,all-year,0.22650000000,R1,2,MUS$2010/kt,2036 -electricity,all-week,early-peak,all-year,16.34690000000,R1,3,MUS$2010/PJ,2036 -gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2036 -heat,all-week,early-peak,all-year,8.36210000000,R1,3,MUS$2010/PJ,2036 -CO2f,all-week,early-peak,all-year,0.22650000000,R1,3,MUS$2010/kt,2036 -electricity,all-week,late-peak,all-year,13.96360000000,R1,4,MUS$2010/PJ,2036 -gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2036 -heat,all-week,late-peak,all-year,6.47210000000,R1,4,MUS$2010/PJ,2036 -CO2f,all-week,late-peak,all-year,0.22650000000,R1,4,MUS$2010/kt,2036 -electricity,all-week,evening,all-year,15.01200000000,R1,5,MUS$2010/PJ,2036 -gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2036 -heat,all-week,evening,all-year,7.30720000000,R1,5,MUS$2010/PJ,2036 -CO2f,all-week,evening,all-year,0.22650000000,R1,5,MUS$2010/kt,2036 -electricity,all-week,early-morning,all-year,15.01200000000,R1,6,MUS$2010/PJ,2036 -gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2036 -heat,all-week,early-morning,all-year,7.30720000000,R1,6,MUS$2010/PJ,2036 -CO2f,all-week,early-morning,all-year,0.22650000000,R1,6,MUS$2010/kt,2036 -electricity,all-week,late-afternoon,all-year,15.01200000000,R1,7,MUS$2010/PJ,2036 -gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2036 -heat,all-week,late-afternoon,all-year,7.30720000000,R1,7,MUS$2010/PJ,2036 -CO2f,all-week,late-afternoon,all-year,0.22650000000,R1,7,MUS$2010/kt,2036 -electricity,all-week,night,all-year,18.81600000000,R1,0,MUS$2010/PJ,2038 -gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2038 -heat,all-week,night,all-year,10.11730000000,R1,0,MUS$2010/PJ,2038 -CO2f,all-week,night,all-year,0.24960000000,R1,0,MUS$2010/kt,2038 -electricity,all-week,morning,all-year,16.75820000000,R1,1,MUS$2010/PJ,2038 -gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2038 -heat,all-week,morning,all-year,8.51690000000,R1,1,MUS$2010/PJ,2038 -CO2f,all-week,morning,all-year,0.24960000000,R1,1,MUS$2010/kt,2038 -electricity,all-week,mid-afternoon,all-year,18.81600000000,R1,2,MUS$2010/PJ,2038 -gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2038 -heat,all-week,mid-afternoon,all-year,10.11730000000,R1,2,MUS$2010/PJ,2038 -CO2f,all-week,mid-afternoon,all-year,0.24960000000,R1,2,MUS$2010/kt,2038 -electricity,all-week,early-peak,all-year,16.75820000000,R1,3,MUS$2010/PJ,2038 -gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2038 -heat,all-week,early-peak,all-year,8.51690000000,R1,3,MUS$2010/PJ,2038 -CO2f,all-week,early-peak,all-year,0.24960000000,R1,3,MUS$2010/kt,2038 -electricity,all-week,late-peak,all-year,14.32050000000,R1,4,MUS$2010/PJ,2038 -gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2038 -heat,all-week,late-peak,all-year,6.61490000000,R1,4,MUS$2010/PJ,2038 -CO2f,all-week,late-peak,all-year,0.24960000000,R1,4,MUS$2010/kt,2038 -electricity,all-week,evening,all-year,15.38630000000,R1,5,MUS$2010/PJ,2038 -gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2038 -heat,all-week,evening,all-year,7.45000000000,R1,5,MUS$2010/PJ,2038 -CO2f,all-week,evening,all-year,0.24960000000,R1,5,MUS$2010/kt,2038 -electricity,all-week,early-morning,all-year,15.38630000000,R1,6,MUS$2010/PJ,2038 -gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2038 -heat,all-week,early-morning,all-year,7.45000000000,R1,6,MUS$2010/PJ,2038 -CO2f,all-week,early-morning,all-year,0.24960000000,R1,6,MUS$2010/kt,2038 -electricity,all-week,late-afternoon,all-year,15.38630000000,R1,7,MUS$2010/PJ,2038 -gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2038 -heat,all-week,late-afternoon,all-year,7.45000000000,R1,7,MUS$2010/PJ,2038 -CO2f,all-week,late-afternoon,all-year,0.24960000000,R1,7,MUS$2010/kt,2038 -electricity,all-week,night,all-year,19.19460000000,R1,0,MUS$2010/PJ,2040 -gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,10.32430000000,R1,0,MUS$2010/PJ,2040 -CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,17.00430000000,R1,1,MUS$2010/PJ,2040 -gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,8.65420000000,R1,1,MUS$2010/PJ,2040 -CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,mid-afternoon,all-year,19.19460000000,R1,2,MUS$2010/PJ,2040 -gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,mid-afternoon,all-year,10.32430000000,R1,2,MUS$2010/PJ,2040 -CO2f,all-week,mid-afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,17.00430000000,R1,3,MUS$2010/PJ,2040 -gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,8.65420000000,R1,3,MUS$2010/PJ,2040 -CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,14.35550000000,R1,4,MUS$2010/PJ,2040 -gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,6.62890000000,R1,4,MUS$2010/PJ,2040 -CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,15.54410000000,R1,5,MUS$2010/PJ,2040 -gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,7.54090000000,R1,5,MUS$2010/PJ,2040 -CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,early-morning,all-year,15.54410000000,R1,6,MUS$2010/PJ,2040 -gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2040 -heat,all-week,early-morning,all-year,7.54090000000,R1,6,MUS$2010/PJ,2040 -CO2f,all-week,early-morning,all-year,0.27280000000,R1,6,MUS$2010/kt,2040 -electricity,all-week,late-afternoon,all-year,15.54410000000,R1,7,MUS$2010/PJ,2040 -gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2040 -heat,all-week,late-afternoon,all-year,7.54090000000,R1,7,MUS$2010/PJ,2040 -CO2f,all-week,late-afternoon,all-year,0.27280000000,R1,7,MUS$2010/kt,2040 diff --git a/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv b/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv index 1f7d63feb..7d1d3c8b4 100644 --- a/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv +++ b/docs/tutorial-code/new-decision-metric/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,10.91850000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,23.65520000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,8.03580000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,13.53940000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,8.58740000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,17.07860000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,6.51650000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,10.18560000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,10.91850000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,23.65520000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,8.03580000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,13.53940000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,8.58740000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,17.07860000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,6.51650000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,10.18560000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,6.45620000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,11.06570000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,5.06050000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,7.01030000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,7.42190000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,13.79030000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,5.75690000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,8.50870000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,9.83380000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,24.62710000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,6.50480000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,14.03560000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,7.05100000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,16.91320000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,4.53460000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,9.55510000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,9.83380000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,24.62710000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,6.50480000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,14.03560000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,7.05100000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,16.91320000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,4.53460000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,9.55510000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,4.44060000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.67720000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,2.66290000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,5.31390000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,5.65960000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,13.05630000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,3.54950000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,7.31490000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,10.23610000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,25.63370000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,6.75440000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,14.58250000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,7.33380000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,17.59880000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,4.70680000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,9.92550000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,10.23610000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,25.63370000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,6.75440000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,14.58250000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,7.33380000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,17.59880000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,4.70680000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,9.92550000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,4.49320000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,9.73490000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,2.68390000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.33700000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,5.88260000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,13.58140000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,3.68300000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,7.59710000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,10.34490000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,25.79830000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,6.79800000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,14.64830000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,7.42870000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,17.73090000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,4.74480000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,9.97840000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,10.34490000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,25.79830000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,6.79800000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,14.64830000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,7.42870000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,17.73090000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,4.74480000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,9.97840000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,4.56540000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,9.81020000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,2.71280000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.36710000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,5.97050000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,13.69720000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,3.71820000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,7.64340000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,10.52810000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,26.02320000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,6.87120000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,14.73830000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,7.60130000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,17.93140000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,4.81390000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,10.05860000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,10.52810000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,26.02320000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,6.87120000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,14.73830000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,7.60130000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,17.93140000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,4.81390000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,10.05860000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,4.72100000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,9.96810000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,2.77510000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.43020000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,6.13800000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,13.88550000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,3.78520000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,7.71870000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,10.88030000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,26.77680000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,7.01210000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,15.03970000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,7.87530000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,18.47300000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,4.92350000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,10.27520000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,10.88030000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,26.77680000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,7.01210000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,15.03970000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,7.87530000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,18.47300000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,4.92350000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,10.27520000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,4.91270000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,10.28610000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,2.85170000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.55750000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,6.37280000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,14.32110000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,3.87910000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,7.89300000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/src/muse/costs.py b/src/muse/costs.py index 36e49e302..b145a3326 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -531,7 +531,7 @@ def annual_to_lifetime( def lifetime_to_annual( costs: xr.DataArray, technologies: xr.Dataset, timeslice_level: str | None = None ): - """Convert lifetime costs to annual costs. + """Convert lifetime costs to annual costs using the capital recovery factor. Args: costs: xr.DataArray of lifetime costs (e.g. capital costs). @@ -541,12 +541,8 @@ def lifetime_to_annual( assert "year" not in costs.dims assert "year" not in technologies.dims assert "timeslice" in costs.dims - life = technologies.technical_life.astype(int) - # rate = technologies.interest_rate / ( - # 1 - (1 + technologies.interest_rate) ** -life - # ) - rate = 1 / life - return costs * broadcast_timeslice(rate, level=timeslice_level) + crf = capital_recovery_factor(technologies) + return costs * broadcast_timeslice(crf, level=timeslice_level) def discount_factor( diff --git a/tests/example_outputs/default/Results/MCACapacity.csv b/tests/example_outputs/default/Results/MCACapacity.csv index e7cfae67c..0a20fcc39 100644 --- a/tests/example_outputs/default/Results/MCACapacity.csv +++ b/tests/example_outputs/default/Results/MCACapacity.csv @@ -2,61 +2,41 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,7.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2025 -A1,18.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,24.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,30.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,19.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,10.63440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,23.43330000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,10.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,26.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 A1,26.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,26.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,5.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,16.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A1,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,26.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,5.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,7.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,32.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,22.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A1,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,7.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,26.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,5.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,7.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A1,5.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 diff --git a/tests/example_outputs/default/Results/MCAPrices.csv b/tests/example_outputs/default/Results/MCAPrices.csv index 419f26912..25a14a2a1 100644 --- a/tests/example_outputs/default/Results/MCAPrices.csv +++ b/tests/example_outputs/default/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,16.80480000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,29.26230000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,9.89980000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.58300000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,15.98780000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,20.51690000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,8.86000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.96460000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,16.80480000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,29.26230000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,9.89980000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.58300000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,15.98780000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,20.51690000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,8.86000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.96460000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,15.28060000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.13090000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,7.85490000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,15.57940000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.14420000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,8.34010000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.65540000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,17.93000000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,28.99960000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,9.74330000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.21210000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,16.57320000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,19.33310000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,8.34350000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.00610000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,17.93000000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,28.99960000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,9.74330000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,15.21210000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,16.57320000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,19.33310000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,8.34350000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.00610000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,15.35330000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,7.02800000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,10.87620000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,15.89480000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,14.49980000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,7.64360000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.90310000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,19.57470000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,10.48990000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,15.92890000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,17.63720000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,19.99980000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,8.82820000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,10.61930000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,19.57470000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,10.48990000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,15.92890000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,17.63720000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,19.99980000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,8.82820000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,10.61930000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,15.74090000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,7.18300000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,16.66840000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,7.99740000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,7.96440000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,20.90320000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,29.28540000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,11.02130000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,16.32890000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,18.72380000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,19.52360000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,9.26290000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,10.88590000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,20.90320000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,29.28540000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,11.02130000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,16.32890000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,18.72380000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,19.52360000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,9.26290000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,10.88590000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,16.58410000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,7.52030000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,17.63410000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.64270000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,8.38370000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,8.16440000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,22.81310000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,11.78530000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,16.04320000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,20.45230000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,19.99980000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,9.95430000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,10.69540000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,22.81310000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,11.78530000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,16.04320000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,20.45230000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,19.99980000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,9.95430000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,10.69540000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,18.12900000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,8.13830000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,19.27190000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,9.03880000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,8.02160000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,24.29440000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,29.44410000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,12.37770000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,16.32890000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,21.79240000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,19.62940000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,10.49030000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,10.88590000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,24.29440000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,29.44410000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,12.37770000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,16.32890000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,21.79240000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,19.62940000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,10.49030000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,10.88590000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,19.32570000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,8.61700000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,20.54150000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,14.72200000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,9.54660000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,8.16440000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/tests/example_outputs/default_retro/Results/MCACapacity.csv b/tests/example_outputs/default_retro/Results/MCACapacity.csv index e0af1be69..d81760203 100644 --- a/tests/example_outputs/default_retro/Results/MCACapacity.csv +++ b/tests/example_outputs/default_retro/Results/MCACapacity.csv @@ -2,51 +2,41 @@ agent,capacity,dst_region,installed,region,sector,technology,type,year A1,10.00000000000,R1,2020,R1,residential,gasboiler,retrofit,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,retrofit,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,retrofit,2020 -A1,5.00000000000,R1,2020,R1,residential,gasboiler,retrofit,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,retrofit,2025 -A1,7.59380000000,R1,2020,R1,power,gasCCGT,retrofit,2025 -A1,1.91410000000,R1,2020,R1,power,windturbine,retrofit,2025 -A1,19.12600000000,R1,2020,R1,gas,gassupply1,retrofit,2025 -A1,19.00000000000,R1,2020,R1,residential,heatpump,retrofit,2030 +A1,24.00000000000,R1,2020,R1,residential,gasboiler,retrofit,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,retrofit,2025 +A1,30.93330000000,R1,2020,R1,gas,gassupply1,retrofit,2025 +A1,19.00000000000,R1,2020,R1,residential,gasboiler,retrofit,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,retrofit,2030 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,retrofit,2030 -A1,1.91410000000,R1,2020,R1,power,windturbine,retrofit,2030 -A1,13.25000000000,R1,2025,R1,power,windturbine,retrofit,2030 -A1,11.62600000000,R1,2020,R1,gas,gassupply1,retrofit,2030 +A1,11.00000000000,R1,2025,R1,power,windturbine,retrofit,2030 +A1,23.43330000000,R1,2020,R1,gas,gassupply1,retrofit,2030 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,retrofit,2030 A1,11.00000000000,R1,2025,R1,residential,heatpump,retrofit,2035 A1,25.00000000000,R1,2030,R1,residential,heatpump,retrofit,2035 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,retrofit,2035 -A1,1.91410000000,R1,2020,R1,power,windturbine,retrofit,2035 -A1,13.25000000000,R1,2025,R1,power,windturbine,retrofit,2035 -A1,12.00000000000,R1,2030,R1,power,windturbine,retrofit,2035 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,retrofit,2035 -A1,5.31250000000,R1,2030,R1,gas,gassupply1,retrofit,2035 +A1,11.00000000000,R1,2025,R1,power,windturbine,retrofit,2035 +A1,25.00000000000,R1,2030,R1,power,windturbine,retrofit,2035 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,retrofit,2035 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,retrofit,2035 A1,25.00000000000,R1,2030,R1,residential,heatpump,retrofit,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,retrofit,2040 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,retrofit,2040 -A1,1.91410000000,R1,2020,R1,power,windturbine,retrofit,2040 -A1,13.25000000000,R1,2025,R1,power,windturbine,retrofit,2040 -A1,12.00000000000,R1,2030,R1,power,windturbine,retrofit,2040 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,retrofit,2040 -A1,5.31250000000,R1,2030,R1,gas,gassupply1,retrofit,2040 -A1,1.57310000000,R1,2035,R1,gas,gassupply1,retrofit,2040 +A1,11.00000000000,R1,2025,R1,power,windturbine,retrofit,2040 +A1,25.00000000000,R1,2030,R1,power,windturbine,retrofit,2040 +A1,6.00000000000,R1,2035,R1,power,windturbine,retrofit,2040 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,retrofit,2040 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,retrofit,2040 A1,17.00000000000,R1,2035,R1,residential,heatpump,retrofit,2045 A1,31.00000000000,R1,2040,R1,residential,heatpump,retrofit,2045 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,retrofit,2045 -A1,1.91410000000,R1,2020,R1,power,windturbine,retrofit,2045 -A1,13.25000000000,R1,2025,R1,power,windturbine,retrofit,2045 -A1,12.00000000000,R1,2030,R1,power,windturbine,retrofit,2045 +A1,11.00000000000,R1,2025,R1,power,windturbine,retrofit,2045 +A1,25.00000000000,R1,2030,R1,power,windturbine,retrofit,2045 +A1,6.00000000000,R1,2035,R1,power,windturbine,retrofit,2045 A1,6.00000000000,R1,2040,R1,power,windturbine,retrofit,2045 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,retrofit,2045 -A1,5.31250000000,R1,2030,R1,gas,gassupply1,retrofit,2045 -A1,1.57310000000,R1,2035,R1,gas,gassupply1,retrofit,2045 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,retrofit,2045 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,retrofit,2045 A1,31.00000000000,R1,2040,R1,residential,heatpump,retrofit,2050 A1,23.00000000000,R1,2045,R1,residential,heatpump,retrofit,2050 -A1,6.59380000000,R1,2020,R1,power,gasCCGT,retrofit,2050 -A1,13.25000000000,R1,2025,R1,power,windturbine,retrofit,2050 -A1,12.00000000000,R1,2030,R1,power,windturbine,retrofit,2050 +A1,11.00000000000,R1,2025,R1,power,windturbine,retrofit,2050 +A1,25.00000000000,R1,2030,R1,power,windturbine,retrofit,2050 +A1,6.00000000000,R1,2035,R1,power,windturbine,retrofit,2050 A1,6.00000000000,R1,2040,R1,power,windturbine,retrofit,2050 -A1,7.91410000000,R1,2045,R1,power,windturbine,retrofit,2050 -A1,4.12600000000,R1,2020,R1,gas,gassupply1,retrofit,2050 -A1,5.31250000000,R1,2030,R1,gas,gassupply1,retrofit,2050 -A1,1.57310000000,R1,2035,R1,gas,gassupply1,retrofit,2050 +A1,6.00000000000,R1,2045,R1,power,windturbine,retrofit,2050 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,retrofit,2050 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,retrofit,2050 diff --git a/tests/example_outputs/default_retro/Results/MCAPrices.csv b/tests/example_outputs/default_retro/Results/MCAPrices.csv index 7e974dc99..89d70fbf7 100644 --- a/tests/example_outputs/default_retro/Results/MCAPrices.csv +++ b/tests/example_outputs/default_retro/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,16.86160000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,30.32710000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,9.91780000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.58300000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,15.81690000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,21.18690000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,8.80580000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.96460000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,16.86160000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,30.32710000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,9.91780000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.58300000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,15.81690000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,21.18690000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,8.80580000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.96460000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,14.77220000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.04670000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,7.69390000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,15.29450000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.61680000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,8.24990000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.65540000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,15.84910000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,8.99960000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.46990000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,13.64050000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,19.99980000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,7.22950000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.08250000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,15.84910000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,8.99960000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,15.46990000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,13.64050000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,19.99980000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,7.22950000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.08250000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,11.43190000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,5.45940000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,10.69510000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,12.53620000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,6.34450000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.88880000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,17.61450000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,9.70580000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.32890000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,14.56380000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,19.99980000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,7.59880000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,10.88590000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,17.61450000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,9.70580000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,16.32890000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,14.56380000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,19.99980000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,7.59880000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,10.88590000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,11.51300000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,5.49190000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,13.03840000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,6.54540000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,8.16440000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,18.18130000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,9.93250000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,16.32890000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,15.56630000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,19.99980000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,7.99990000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,10.88590000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,18.18130000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,9.93250000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,16.32890000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,15.56630000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,19.99980000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,7.99990000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,10.88590000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,12.95140000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,6.06720000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,14.25890000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,7.03350000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,8.16440000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,19.57060000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,10.48820000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,16.32890000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,16.82870000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,19.99980000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,8.50480000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,10.88590000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,19.57060000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,10.48820000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,16.32890000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,16.82870000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,19.99980000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,8.50480000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,10.88590000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,14.08670000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,6.52140000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,15.45770000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,7.51310000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,8.16440000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,20.65120000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,10.92050000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,16.32890000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,17.81050000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,19.99980000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,8.89750000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,10.88590000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,20.65120000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,10.92050000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,16.32890000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,17.81050000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,19.99980000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,8.89750000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,10.88590000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,14.96980000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,6.87460000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,16.39010000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,7.88610000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,8.16440000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/tests/example_outputs/default_timeslice/Results/MCAPrices.csv b/tests/example_outputs/default_timeslice/Results/MCAPrices.csv index b357862fd..1fef9b401 100644 --- a/tests/example_outputs/default_timeslice/Results/MCAPrices.csv +++ b/tests/example_outputs/default_timeslice/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,5.88870000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,12.62770000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,6.86280000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,10.46720000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,4.65270000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,9.14540000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,5.69030000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,8.09320000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,5.88870000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,12.62770000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,6.86280000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,10.46720000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,4.65270000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,9.14540000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,5.69030000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,8.09320000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,3.52270000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,5.96160000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,4.55130000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,5.81380000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,4.03470000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,7.40420000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,5.10400000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,6.90620000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,3.99380000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,10.99990000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,4.16890000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,8.58470000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,2.66260000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,7.33320000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,2.77920000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,5.72310000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,3.99380000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,10.99990000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,4.16890000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,8.58470000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,2.66260000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,7.33320000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,2.77920000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,5.72310000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,1.99690000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,5.49990000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,2.08440000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,4.29230000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,4.25750000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,8.72900000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,2.83840000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,5.81930000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,4.25750000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,8.72900000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,2.83840000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,5.81930000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,2.12880000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,4.36450000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,4.14950000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,11.42840000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,2.76630000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,7.61900000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,4.14950000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,11.42840000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,2.76630000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,7.61900000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,2.07470000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,5.71420000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,4.31150000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,11.87490000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,4.31980000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,8.90040000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,2.87440000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,7.91660000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,2.87990000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,5.93360000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,4.31150000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,11.87490000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,4.31980000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,8.90040000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,2.87440000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,7.91660000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,2.87990000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,5.93360000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,2.15580000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,5.93740000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,2.15990000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,4.45020000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,4.23590000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,11.66650000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,4.35440000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,8.99560000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,2.82390000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,7.77770000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,2.90290000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,5.99710000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,4.23590000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,11.66650000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,4.35440000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,8.99560000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,2.82390000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,7.77770000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,2.90290000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,5.99710000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,1.45230000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,4.00000000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,1.46760000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,3.04300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,2.11790000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,5.83330000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,2.17720000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,4.49780000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/tests/example_outputs/medium/Results/MCACapacity.csv b/tests/example_outputs/medium/Results/MCACapacity.csv index 7301cf34c..2958af3a8 100644 --- a/tests/example_outputs/medium/Results/MCACapacity.csv +++ b/tests/example_outputs/medium/Results/MCACapacity.csv @@ -3,62 +3,62 @@ A1,10.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,10.00000000000,R1,2020,R1,residential,gasstove,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,8.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,12.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 A1,12.00000000000,R1,2020,R1,residential,gasstove,newcapa,2025 -A1,4.00000000000,R1,2020,R1,residential,heatpump,newcapa,2025 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,25.33930000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,5.00000000000,R1,2025,R1,residential,gasboiler,newcapa,2030 +A1,28.83720000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,4.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,4.00000000000,R1,2020,R1,residential,gasstove,newcapa,2030 A1,11.00000000000,R1,2025,R1,residential,gasstove,newcapa,2030 -A1,4.00000000000,R1,2020,R1,residential,heatpump,newcapa,2030 -A1,5.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,9.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,17.83930000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,5.28740000000,R1,2025,R1,gas,gassupply1,newcapa,2030 -A1,5.00000000000,R1,2025,R1,residential,gasboiler,newcapa,2035 +A1,11.00000000000,R1,2025,R1,residential,heatpump,newcapa,2030 +A1,11.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,21.33720000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,0.49740000000,R1,2025,R1,gas,gassupply1,newcapa,2030 A1,11.00000000000,R1,2025,R1,residential,gasstove,newcapa,2035 A1,7.00000000000,R1,2030,R1,residential,gasstove,newcapa,2035 -A1,5.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 -A1,8.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,9.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,10.33930000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,5.28740000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,10.83330000000,R1,2030,R1,gas,gassupply1,newcapa,2035 +A1,11.00000000000,R1,2025,R1,residential,heatpump,newcapa,2035 +A1,7.00000000000,R1,2030,R1,residential,heatpump,newcapa,2035 +A1,11.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,6.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,13.83720000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,0.49740000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,5.66540000000,R1,2030,R1,gas,gassupply1,newcapa,2035 A1,7.00000000000,R1,2030,R1,residential,gasstove,newcapa,2040 A1,14.00000000000,R1,2035,R1,residential,gasstove,newcapa,2040 -A1,8.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 -A1,13.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,9.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 -A1,8.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,10.33930000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,5.28740000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,10.83330000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,7.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 +A1,14.00000000000,R1,2035,R1,residential,heatpump,newcapa,2040 +A1,11.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,6.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 +A1,13.83720000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,0.49740000000,R1,2025,R1,gas,gassupply1,newcapa,2040 +A1,5.66540000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,3.33330000000,R1,2035,R1,gas,gassupply1,newcapa,2040 A1,14.00000000000,R1,2035,R1,residential,gasstove,newcapa,2045 A1,10.00000000000,R1,2040,R1,residential,gasstove,newcapa,2045 -A1,13.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 -A1,11.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,9.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 -A1,8.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 +A1,14.00000000000,R1,2035,R1,residential,heatpump,newcapa,2045 +A1,10.00000000000,R1,2040,R1,residential,heatpump,newcapa,2045 +A1,11.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,6.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,10.33930000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,5.28740000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,10.83330000000,R1,2030,R1,gas,gassupply1,newcapa,2045 -A1,0.20670000000,R1,2040,R1,gas,gassupply1,newcapa,2045 +A1,13.83720000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,0.49740000000,R1,2025,R1,gas,gassupply1,newcapa,2045 +A1,5.66540000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,3.33330000000,R1,2035,R1,gas,gassupply1,newcapa,2045 +A1,3.33330000000,R1,2040,R1,gas,gassupply1,newcapa,2045 A1,10.00000000000,R1,2040,R1,residential,gasstove,newcapa,2050 A1,17.00000000000,R1,2045,R1,residential,gasstove,newcapa,2050 -A1,11.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 -A1,16.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,9.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,3.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 -A1,8.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 +A1,10.00000000000,R1,2040,R1,residential,heatpump,newcapa,2050 +A1,17.00000000000,R1,2045,R1,residential,heatpump,newcapa,2050 +A1,11.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,6.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,3.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 A1,3.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 A1,3.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,10.33930000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,5.28740000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,10.83330000000,R1,2030,R1,gas,gassupply1,newcapa,2050 -A1,0.20670000000,R1,2040,R1,gas,gassupply1,newcapa,2050 -A1,3.33330000000,R1,2045,R1,gas,gassupply1,newcapa,2050 +A1,13.83720000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,0.49740000000,R1,2025,R1,gas,gassupply1,newcapa,2050 +A1,5.66540000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,3.33330000000,R1,2035,R1,gas,gassupply1,newcapa,2050 +A1,3.33330000000,R1,2040,R1,gas,gassupply1,newcapa,2050 +A1,6.66670000000,R1,2045,R1,gas,gassupply1,newcapa,2050 diff --git a/tests/example_outputs/medium/Results/MCAPrices.csv b/tests/example_outputs/medium/Results/MCAPrices.csv index 0e5a1af1b..646a3c9aa 100644 --- a/tests/example_outputs/medium/Results/MCAPrices.csv +++ b/tests/example_outputs/medium/Results/MCAPrices.csv @@ -29,183 +29,183 @@ gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 cook,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 -electricity,all-week,night,all-year,16.53940000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,29.11600000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,11.00810000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.58960000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,16.11470000000,R1,1,MUS$2010/PJ,2025 +cook,all-week,night,all-year,6.87900000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,25.07480000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,10.40260000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.97120000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,16.53940000000,R1,2,MUS$2010/PJ,2025 +cook,all-week,morning,all-year,5.43600000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,29.11600000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,11.00810000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.58960000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,16.11470000000,R1,3,MUS$2010/PJ,2025 +cook,all-week,afternoon,all-year,6.87900000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,25.07480000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,10.40260000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.97120000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,16.02030000000,R1,4,MUS$2010/PJ,2025 +cook,all-week,early-peak,all-year,5.43600000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,21.96620000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,9.84110000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.35280000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,16.02030000000,R1,5,MUS$2010/PJ,2025 +cook,all-week,late-peak,all-year,3.99300000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,23.05420000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,10.11560000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.66200000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,10.16620000000,R1,0,MUS$2010/PJ,2030 +cook,all-week,evening,all-year,4.71450000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,9.27720000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.96890000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,6.77740000000,R1,1,MUS$2010/PJ,2030 +cook,all-week,night,all-year,6.87900000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,19.99980000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,7.74720000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,11.81250000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,10.16620000000,R1,2,MUS$2010/PJ,2030 +cook,all-week,morning,all-year,5.43600000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,9.27720000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,15.96890000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,6.77740000000,R1,3,MUS$2010/PJ,2030 +cook,all-week,afternoon,all-year,6.87900000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,19.99980000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,7.74720000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,11.81250000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,3.63080000000,R1,4,MUS$2010/PJ,2030 +cook,all-week,early-peak,all-year,5.43600000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,6.32640000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,7.65610000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,5.08310000000,R1,5,MUS$2010/PJ,2030 +cook,all-week,late-peak,all-year,3.99300000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,6.98210000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,9.73430000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,10.05440000000,R1,0,MUS$2010/PJ,2035 +cook,all-week,evening,all-year,4.71450000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,28.33300000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,9.82820000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.32880000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,6.70300000000,R1,1,MUS$2010/PJ,2035 +cook,all-week,night,all-year,6.87900000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,18.88870000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,8.11410000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,10.88590000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,10.05440000000,R1,2,MUS$2010/PJ,2035 +cook,all-week,morning,all-year,5.43600000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,28.33300000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,9.82820000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,16.32880000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,6.70300000000,R1,3,MUS$2010/PJ,2035 +cook,all-week,afternoon,all-year,6.87900000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,18.88870000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,8.11410000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,10.88590000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,3.63080000000,R1,4,MUS$2010/PJ,2035 +cook,all-week,early-peak,all-year,5.43600000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,6.48060000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,5.02720000000,R1,5,MUS$2010/PJ,2035 +cook,all-week,late-peak,all-year,3.99300000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,14.16650000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,7.25700000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,8.16440000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,10.37360000000,R1,0,MUS$2010/PJ,2040 +cook,all-week,evening,all-year,4.71450000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,28.57110000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,6.68180000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,15.66220000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2040 -electricity,all-week,morning,all-year,6.91580000000,R1,1,MUS$2010/PJ,2040 +cook,all-week,night,all-year,6.87900000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,19.04740000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,4.45450000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,10.44150000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2040 -electricity,all-week,afternoon,all-year,10.37360000000,R1,2,MUS$2010/PJ,2040 +cook,all-week,morning,all-year,5.43600000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,28.57110000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,6.68180000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,15.66220000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2040 -electricity,all-week,early-peak,all-year,6.91580000000,R1,3,MUS$2010/PJ,2040 +cook,all-week,afternoon,all-year,6.87900000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,19.04740000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,4.45450000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,10.44150000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2040 -electricity,all-week,late-peak,all-year,3.63080000000,R1,4,MUS$2010/PJ,2040 +cook,all-week,early-peak,all-year,5.43600000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,2.33900000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2040 -electricity,all-week,evening,all-year,5.18680000000,R1,5,MUS$2010/PJ,2040 +cook,all-week,late-peak,all-year,3.99300000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.28550000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,3.34090000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,7.83110000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2040 -electricity,all-week,night,all-year,10.43850000000,R1,0,MUS$2010/PJ,2045 +cook,all-week,evening,all-year,4.71450000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,28.74960000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,6.80940000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,15.75740000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2045 -electricity,all-week,morning,all-year,6.95900000000,R1,1,MUS$2010/PJ,2045 +cook,all-week,night,all-year,6.87900000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,19.16640000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,4.53960000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,10.50500000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2045 -electricity,all-week,afternoon,all-year,10.43850000000,R1,2,MUS$2010/PJ,2045 +cook,all-week,morning,all-year,5.43600000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,28.74960000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,6.80940000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,15.75740000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2045 -electricity,all-week,early-peak,all-year,6.95900000000,R1,3,MUS$2010/PJ,2045 +cook,all-week,afternoon,all-year,6.87900000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,19.16640000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,4.53960000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,10.50500000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2045 -electricity,all-week,late-peak,all-year,3.63080000000,R1,4,MUS$2010/PJ,2045 +cook,all-week,early-peak,all-year,5.43600000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,2.33900000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2045 -electricity,all-week,evening,all-year,5.21920000000,R1,5,MUS$2010/PJ,2045 +cook,all-week,late-peak,all-year,3.99300000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,14.37480000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,3.40470000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,7.87870000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2045 -electricity,all-week,night,all-year,10.48890000000,R1,0,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,4.71450000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,28.88850000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,6.83540000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,15.82890000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -cook,all-week,night,all-year,5.21000000000,R1,0,MUS$2010/PJ,2050 -electricity,all-week,morning,all-year,6.99260000000,R1,1,MUS$2010/PJ,2050 +cook,all-week,night,all-year,6.87900000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,19.25900000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,4.55690000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,10.55260000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -cook,all-week,morning,all-year,4.32330000000,R1,1,MUS$2010/PJ,2050 -electricity,all-week,afternoon,all-year,10.48890000000,R1,2,MUS$2010/PJ,2050 +cook,all-week,morning,all-year,5.43600000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,28.88850000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,6.83540000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,15.82890000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -cook,all-week,afternoon,all-year,5.21000000000,R1,2,MUS$2010/PJ,2050 -electricity,all-week,early-peak,all-year,6.99260000000,R1,3,MUS$2010/PJ,2050 +cook,all-week,afternoon,all-year,6.87900000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,19.25900000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,4.55690000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,10.55260000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -cook,all-week,early-peak,all-year,4.32330000000,R1,3,MUS$2010/PJ,2050 -electricity,all-week,late-peak,all-year,3.63080000000,R1,4,MUS$2010/PJ,2050 +cook,all-week,early-peak,all-year,5.43600000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,2.33900000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -cook,all-week,late-peak,all-year,3.43670000000,R1,4,MUS$2010/PJ,2050 -electricity,all-week,evening,all-year,5.24440000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,late-peak,all-year,3.99300000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,14.44430000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,3.41770000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,7.91440000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 -cook,all-week,evening,all-year,3.88000000000,R1,5,MUS$2010/PJ,2050 +cook,all-week,evening,all-year,4.71450000000,R1,5,MUS$2010/PJ,2050 diff --git a/tests/example_outputs/minimum_service/Results/MCAPrices.csv b/tests/example_outputs/minimum_service/Results/MCAPrices.csv index 24fa956ed..0a01a70cd 100644 --- a/tests/example_outputs/minimum_service/Results/MCAPrices.csv +++ b/tests/example_outputs/minimum_service/Results/MCAPrices.csv @@ -14,96 +14,96 @@ ammonia,all-week,all-day,spring-autumn,321.15000000000,R1,2,MUS$2010/Mt,2010 fuel3,all-week,all-day,winter,0.06170000000,R1,0,MUS$2010/PJ,2015 fuel1,all-week,all-day,winter,1.08770000000,R1,0,MUS$2010/PJ,2015 fuel2,all-week,all-day,winter,9.51690000000,R1,0,MUS$2010/PJ,2015 -ammonia,all-week,all-day,winter,385.57840000000,R1,0,MUS$2010/Mt,2015 +ammonia,all-week,all-day,winter,393.66450000000,R1,0,MUS$2010/Mt,2015 fuel3,all-week,all-day,summer,0.06170000000,R1,1,MUS$2010/PJ,2015 fuel1,all-week,all-day,summer,1.08770000000,R1,1,MUS$2010/PJ,2015 fuel2,all-week,all-day,summer,9.51690000000,R1,1,MUS$2010/PJ,2015 -ammonia,all-week,all-day,summer,385.38450000000,R1,1,MUS$2010/Mt,2015 +ammonia,all-week,all-day,summer,393.23270000000,R1,1,MUS$2010/Mt,2015 fuel3,all-week,all-day,spring-autumn,0.06170000000,R1,2,MUS$2010/PJ,2015 fuel1,all-week,all-day,spring-autumn,1.08770000000,R1,2,MUS$2010/PJ,2015 fuel2,all-week,all-day,spring-autumn,9.51690000000,R1,2,MUS$2010/PJ,2015 -ammonia,all-week,all-day,spring-autumn,385.57840000000,R1,2,MUS$2010/Mt,2015 +ammonia,all-week,all-day,spring-autumn,393.66450000000,R1,2,MUS$2010/Mt,2015 fuel3,all-week,all-day,winter,0.07020000000,R1,0,MUS$2010/PJ,2020 fuel1,all-week,all-day,winter,1.17540000000,R1,0,MUS$2010/PJ,2020 fuel2,all-week,all-day,winter,9.48260000000,R1,0,MUS$2010/PJ,2020 -ammonia,all-week,all-day,winter,408.57290000000,R1,0,MUS$2010/Mt,2020 +ammonia,all-week,all-day,winter,416.67530000000,R1,0,MUS$2010/Mt,2020 fuel3,all-week,all-day,summer,0.07020000000,R1,1,MUS$2010/PJ,2020 fuel1,all-week,all-day,summer,1.17540000000,R1,1,MUS$2010/PJ,2020 fuel2,all-week,all-day,summer,9.48260000000,R1,1,MUS$2010/PJ,2020 -ammonia,all-week,all-day,summer,408.37860000000,R1,1,MUS$2010/Mt,2020 +ammonia,all-week,all-day,summer,416.24270000000,R1,1,MUS$2010/Mt,2020 fuel3,all-week,all-day,spring-autumn,0.07020000000,R1,2,MUS$2010/PJ,2020 fuel1,all-week,all-day,spring-autumn,1.17540000000,R1,2,MUS$2010/PJ,2020 fuel2,all-week,all-day,spring-autumn,9.48260000000,R1,2,MUS$2010/PJ,2020 -ammonia,all-week,all-day,spring-autumn,408.57290000000,R1,2,MUS$2010/Mt,2020 +ammonia,all-week,all-day,spring-autumn,416.67530000000,R1,2,MUS$2010/Mt,2020 fuel3,all-week,all-day,winter,0.08280000000,R1,0,MUS$2010/PJ,2025 fuel1,all-week,all-day,winter,1.16670000000,R1,0,MUS$2010/PJ,2025 fuel2,all-week,all-day,winter,10.71080000000,R1,0,MUS$2010/PJ,2025 -ammonia,all-week,all-day,winter,463.67750000000,R1,0,MUS$2010/Mt,2025 +ammonia,all-week,all-day,winter,471.79630000000,R1,0,MUS$2010/Mt,2025 fuel3,all-week,all-day,summer,0.08280000000,R1,1,MUS$2010/PJ,2025 fuel1,all-week,all-day,summer,1.16670000000,R1,1,MUS$2010/PJ,2025 fuel2,all-week,all-day,summer,10.71080000000,R1,1,MUS$2010/PJ,2025 -ammonia,all-week,all-day,summer,463.48280000000,R1,1,MUS$2010/Mt,2025 +ammonia,all-week,all-day,summer,471.36280000000,R1,1,MUS$2010/Mt,2025 fuel3,all-week,all-day,spring-autumn,0.08280000000,R1,2,MUS$2010/PJ,2025 fuel1,all-week,all-day,spring-autumn,1.16670000000,R1,2,MUS$2010/PJ,2025 fuel2,all-week,all-day,spring-autumn,10.71080000000,R1,2,MUS$2010/PJ,2025 -ammonia,all-week,all-day,spring-autumn,463.67750000000,R1,2,MUS$2010/Mt,2025 +ammonia,all-week,all-day,spring-autumn,471.79630000000,R1,2,MUS$2010/Mt,2025 fuel3,all-week,all-day,winter,0.09540000000,R1,0,MUS$2010/PJ,2030 fuel1,all-week,all-day,winter,1.15790000000,R1,0,MUS$2010/PJ,2030 fuel2,all-week,all-day,winter,11.93900000000,R1,0,MUS$2010/PJ,2030 -ammonia,all-week,all-day,winter,518.26270000000,R1,0,MUS$2010/Mt,2030 +ammonia,all-week,all-day,winter,526.39780000000,R1,0,MUS$2010/Mt,2030 fuel3,all-week,all-day,summer,0.09540000000,R1,1,MUS$2010/PJ,2030 fuel1,all-week,all-day,summer,1.15790000000,R1,1,MUS$2010/PJ,2030 fuel2,all-week,all-day,summer,11.93900000000,R1,1,MUS$2010/PJ,2030 -ammonia,all-week,all-day,summer,518.06760000000,R1,1,MUS$2010/Mt,2030 +ammonia,all-week,all-day,summer,525.96350000000,R1,1,MUS$2010/Mt,2030 fuel3,all-week,all-day,spring-autumn,0.09540000000,R1,2,MUS$2010/PJ,2030 fuel1,all-week,all-day,spring-autumn,1.15790000000,R1,2,MUS$2010/PJ,2030 fuel2,all-week,all-day,spring-autumn,11.93900000000,R1,2,MUS$2010/PJ,2030 -ammonia,all-week,all-day,spring-autumn,518.26270000000,R1,2,MUS$2010/Mt,2030 +ammonia,all-week,all-day,spring-autumn,526.39780000000,R1,2,MUS$2010/Mt,2030 fuel3,all-week,all-day,winter,0.09070000000,R1,0,MUS$2010/PJ,2035 fuel1,all-week,all-day,winter,1.14910000000,R1,0,MUS$2010/PJ,2035 fuel2,all-week,all-day,winter,11.81550000000,R1,0,MUS$2010/PJ,2035 -ammonia,all-week,all-day,winter,487.39420000000,R1,0,MUS$2010/Mt,2035 +ammonia,all-week,all-day,winter,495.55460000000,R1,0,MUS$2010/Mt,2035 fuel3,all-week,all-day,summer,0.09070000000,R1,1,MUS$2010/PJ,2035 fuel1,all-week,all-day,summer,1.14910000000,R1,1,MUS$2010/PJ,2035 fuel2,all-week,all-day,summer,11.81550000000,R1,1,MUS$2010/PJ,2035 -ammonia,all-week,all-day,summer,487.19850000000,R1,1,MUS$2010/Mt,2035 +ammonia,all-week,all-day,summer,495.11890000000,R1,1,MUS$2010/Mt,2035 fuel3,all-week,all-day,spring-autumn,0.09070000000,R1,2,MUS$2010/PJ,2035 fuel1,all-week,all-day,spring-autumn,1.14910000000,R1,2,MUS$2010/PJ,2035 fuel2,all-week,all-day,spring-autumn,11.81550000000,R1,2,MUS$2010/PJ,2035 -ammonia,all-week,all-day,spring-autumn,487.39420000000,R1,2,MUS$2010/Mt,2035 +ammonia,all-week,all-day,spring-autumn,495.55460000000,R1,2,MUS$2010/Mt,2035 fuel3,all-week,all-day,winter,0.08600000000,R1,0,MUS$2010/PJ,2040 fuel1,all-week,all-day,winter,1.14040000000,R1,0,MUS$2010/PJ,2040 fuel2,all-week,all-day,winter,11.69200000000,R1,0,MUS$2010/PJ,2040 -ammonia,all-week,all-day,winter,455.96080000000,R1,0,MUS$2010/Mt,2040 +ammonia,all-week,all-day,winter,464.13770000000,R1,0,MUS$2010/Mt,2040 fuel3,all-week,all-day,summer,0.08600000000,R1,1,MUS$2010/PJ,2040 fuel1,all-week,all-day,summer,1.14040000000,R1,1,MUS$2010/PJ,2040 fuel2,all-week,all-day,summer,11.69200000000,R1,1,MUS$2010/PJ,2040 -ammonia,all-week,all-day,summer,455.76470000000,R1,1,MUS$2010/Mt,2040 +ammonia,all-week,all-day,summer,463.70110000000,R1,1,MUS$2010/Mt,2040 fuel3,all-week,all-day,spring-autumn,0.08600000000,R1,2,MUS$2010/PJ,2040 fuel1,all-week,all-day,spring-autumn,1.14040000000,R1,2,MUS$2010/PJ,2040 fuel2,all-week,all-day,spring-autumn,11.69200000000,R1,2,MUS$2010/PJ,2040 -ammonia,all-week,all-day,spring-autumn,455.96080000000,R1,2,MUS$2010/Mt,2040 +ammonia,all-week,all-day,spring-autumn,464.13770000000,R1,2,MUS$2010/Mt,2040 fuel3,all-week,all-day,winter,0.08600000000,R1,0,MUS$2010/PJ,2045 fuel1,all-week,all-day,winter,1.14040000000,R1,0,MUS$2010/PJ,2045 fuel2,all-week,all-day,winter,11.69200000000,R1,0,MUS$2010/PJ,2045 -ammonia,all-week,all-day,winter,453.76020000000,R1,0,MUS$2010/Mt,2045 +ammonia,all-week,all-day,winter,461.93710000000,R1,0,MUS$2010/Mt,2045 fuel3,all-week,all-day,summer,0.08600000000,R1,1,MUS$2010/PJ,2045 fuel1,all-week,all-day,summer,1.14040000000,R1,1,MUS$2010/PJ,2045 fuel2,all-week,all-day,summer,11.69200000000,R1,1,MUS$2010/PJ,2045 -ammonia,all-week,all-day,summer,453.56410000000,R1,1,MUS$2010/Mt,2045 +ammonia,all-week,all-day,summer,461.50050000000,R1,1,MUS$2010/Mt,2045 fuel3,all-week,all-day,spring-autumn,0.08600000000,R1,2,MUS$2010/PJ,2045 fuel1,all-week,all-day,spring-autumn,1.14040000000,R1,2,MUS$2010/PJ,2045 fuel2,all-week,all-day,spring-autumn,11.69200000000,R1,2,MUS$2010/PJ,2045 -ammonia,all-week,all-day,spring-autumn,453.76020000000,R1,2,MUS$2010/Mt,2045 +ammonia,all-week,all-day,spring-autumn,461.93710000000,R1,2,MUS$2010/Mt,2045 fuel3,all-week,all-day,winter,0.08600000000,R1,0,MUS$2010/PJ,2050 fuel1,all-week,all-day,winter,1.14040000000,R1,0,MUS$2010/PJ,2050 fuel2,all-week,all-day,winter,11.69200000000,R1,0,MUS$2010/PJ,2050 -ammonia,all-week,all-day,winter,451.53470000000,R1,0,MUS$2010/Mt,2050 +ammonia,all-week,all-day,winter,459.71170000000,R1,0,MUS$2010/Mt,2050 fuel3,all-week,all-day,summer,0.08600000000,R1,1,MUS$2010/PJ,2050 fuel1,all-week,all-day,summer,1.14040000000,R1,1,MUS$2010/PJ,2050 fuel2,all-week,all-day,summer,11.69200000000,R1,1,MUS$2010/PJ,2050 -ammonia,all-week,all-day,summer,451.33870000000,R1,1,MUS$2010/Mt,2050 +ammonia,all-week,all-day,summer,459.27510000000,R1,1,MUS$2010/Mt,2050 fuel3,all-week,all-day,spring-autumn,0.08600000000,R1,2,MUS$2010/PJ,2050 fuel1,all-week,all-day,spring-autumn,1.14040000000,R1,2,MUS$2010/PJ,2050 fuel2,all-week,all-day,spring-autumn,11.69200000000,R1,2,MUS$2010/PJ,2050 -ammonia,all-week,all-day,spring-autumn,451.53470000000,R1,2,MUS$2010/Mt,2050 +ammonia,all-week,all-day,spring-autumn,459.71170000000,R1,2,MUS$2010/Mt,2050 diff --git a/tests/example_outputs/multiple_agents/Results/MCACapacity.csv b/tests/example_outputs/multiple_agents/Results/MCACapacity.csv index cdad299b3..fcffde024 100644 --- a/tests/example_outputs/multiple_agents/Results/MCACapacity.csv +++ b/tests/example_outputs/multiple_agents/Results/MCACapacity.csv @@ -3,73 +3,56 @@ A1,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A2,5.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2020 A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2020 A1,15.00000000000,R1,2020,R1,gas,gassupply1,newcapa,2020 -A1,2.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A1,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A2,2.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 -A2,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2025 -A1,7.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2025 -A1,18.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2025 -A1,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A1,12.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A2,12.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2025 +A1,1.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2025 +A1,30.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2025 +A1,9.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A2,9.50000000000,R1,2020,R1,residential,heatpump,newcapa,2030 +A2,9.50000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2030 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2030 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2030 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2030 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 -A1,10.63440000000,R1,2020,R1,gas,gassupply1,newcapa,2030 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2030 +A1,23.43330000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2030 +A1,4.31420000000,R1,2030,R1,residential,gasboiler,newcapa,2035 A1,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 -A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 +A1,8.18580000000,R1,2030,R1,residential,heatpump,newcapa,2035 +A2,4.31420000000,R1,2030,R1,residential,gasboiler,newcapa,2035 A2,5.50000000000,R1,2025,R1,residential,heatpump,newcapa,2035 -A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2035 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2035 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2035 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2035 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2035 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2035 -A1,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 +A2,8.18580000000,R1,2030,R1,residential,heatpump,newcapa,2035 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2035 +A1,17.00000000000,R1,2030,R1,power,windturbine,newcapa,2035 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2035 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2035 +A1,4.31420000000,R1,2030,R1,residential,gasboiler,newcapa,2040 +A1,8.18580000000,R1,2030,R1,residential,heatpump,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A2,12.50000000000,R1,2030,R1,residential,heatpump,newcapa,2040 +A2,4.31420000000,R1,2030,R1,residential,gasboiler,newcapa,2040 +A2,8.18580000000,R1,2030,R1,residential,heatpump,newcapa,2040 A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2040 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2040 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2040 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2040 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2040 +A1,17.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2040 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2040 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2040 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2040 A1,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 A2,8.50000000000,R1,2035,R1,residential,heatpump,newcapa,2045 A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2045 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2045 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2045 -A1,1.00000000000,R1,2020,R1,power,windturbine,newcapa,2045 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2045 +A1,17.00000000000,R1,2030,R1,power,windturbine,newcapa,2045 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2045 -A1,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2045 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2045 +A1,15.00000000000,R1,2040,R1,power,windturbine,newcapa,2045 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2045 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2045 A1,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A1,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 A2,15.50000000000,R1,2040,R1,residential,heatpump,newcapa,2050 A2,11.50000000000,R1,2045,R1,residential,heatpump,newcapa,2050 -A1,6.00000000000,R1,2020,R1,power,gasCCGT,newcapa,2050 -A1,3.00000000000,R1,2025,R1,power,gasCCGT,newcapa,2050 -A1,6.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 -A1,8.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 +A1,10.00000000000,R1,2025,R1,power,windturbine,newcapa,2050 +A1,17.00000000000,R1,2030,R1,power,windturbine,newcapa,2050 A1,6.00000000000,R1,2035,R1,power,windturbine,newcapa,2050 -A1,6.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 -A1,7.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 -A1,3.13440000000,R1,2020,R1,gas,gassupply1,newcapa,2050 -A1,4.39560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 -A1,7.50000000000,R1,2030,R1,gas,gassupply1,newcapa,2050 +A1,15.00000000000,R1,2040,R1,power,windturbine,newcapa,2050 +A1,6.00000000000,R1,2045,R1,power,windturbine,newcapa,2050 +A1,15.93330000000,R1,2020,R1,gas,gassupply1,newcapa,2050 +A1,1.05560000000,R1,2025,R1,gas,gassupply1,newcapa,2050 diff --git a/tests/example_outputs/multiple_agents/Results/MCAPrices.csv b/tests/example_outputs/multiple_agents/Results/MCAPrices.csv index 30d6f39e5..23c05a431 100644 --- a/tests/example_outputs/multiple_agents/Results/MCAPrices.csv +++ b/tests/example_outputs/multiple_agents/Results/MCAPrices.csv @@ -23,147 +23,147 @@ electricity,all-week,evening,all-year,19.50000000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,7.15280000000,R1,5,MUS$2010/PJ,2020 heat,all-week,evening,all-year,100.00000000000,R1,5,MUS$2010/PJ,2020 CO2f,all-week,evening,all-year,0.08310000000,R1,5,MUS$2010/kt,2020 -electricity,all-week,night,all-year,16.80480000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,29.26230000000,R1,0,MUS$2010/PJ,2025 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,9.89980000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,12.58300000000,R1,0,MUS$2010/PJ,2025 CO2f,all-week,night,all-year,0.12010000000,R1,0,MUS$2010/kt,2025 -electricity,all-week,morning,all-year,15.98780000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,20.51690000000,R1,1,MUS$2010/PJ,2025 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,8.86000000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,11.96460000000,R1,1,MUS$2010/PJ,2025 CO2f,all-week,morning,all-year,0.12010000000,R1,1,MUS$2010/kt,2025 -electricity,all-week,afternoon,all-year,16.80480000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,29.26230000000,R1,2,MUS$2010/PJ,2025 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,9.89980000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,12.58300000000,R1,2,MUS$2010/PJ,2025 CO2f,all-week,afternoon,all-year,0.12010000000,R1,2,MUS$2010/kt,2025 -electricity,all-week,early-peak,all-year,15.98780000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,20.51690000000,R1,3,MUS$2010/PJ,2025 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,8.86000000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,11.96460000000,R1,3,MUS$2010/PJ,2025 CO2f,all-week,early-peak,all-year,0.12010000000,R1,3,MUS$2010/kt,2025 -electricity,all-week,late-peak,all-year,15.28060000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,12.13090000000,R1,4,MUS$2010/PJ,2025 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,7.85490000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,11.34610000000,R1,4,MUS$2010/PJ,2025 CO2f,all-week,late-peak,all-year,0.12010000000,R1,4,MUS$2010/kt,2025 -electricity,all-week,evening,all-year,15.57940000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,16.14420000000,R1,5,MUS$2010/PJ,2025 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,8.34010000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,11.65540000000,R1,5,MUS$2010/PJ,2025 CO2f,all-week,evening,all-year,0.12010000000,R1,5,MUS$2010/kt,2025 -electricity,all-week,night,all-year,17.93000000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,27.27240000000,R1,0,MUS$2010/PJ,2030 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,9.83200000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.06990000000,R1,0,MUS$2010/PJ,2030 CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 -electricity,all-week,morning,all-year,16.57320000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,18.18160000000,R1,1,MUS$2010/PJ,2030 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,8.40260000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,12.81590000000,R1,1,MUS$2010/PJ,2030 CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 -electricity,all-week,afternoon,all-year,17.93000000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,27.27240000000,R1,2,MUS$2010/PJ,2030 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,9.83200000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,15.06990000000,R1,2,MUS$2010/PJ,2030 CO2f,all-week,afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 -electricity,all-week,early-peak,all-year,16.57320000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,18.18160000000,R1,3,MUS$2010/PJ,2030 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,8.40260000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,12.81590000000,R1,3,MUS$2010/PJ,2030 CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 -electricity,all-week,late-peak,all-year,15.35330000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2030 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,7.02800000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,10.69510000000,R1,4,MUS$2010/PJ,2030 CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 -electricity,all-week,evening,all-year,15.89480000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,13.63620000000,R1,5,MUS$2010/PJ,2030 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,7.68790000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,11.68880000000,R1,5,MUS$2010/PJ,2030 CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 -electricity,all-week,night,all-year,19.57470000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,29.59240000000,R1,0,MUS$2010/PJ,2035 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,10.48990000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,16.77770000000,R1,0,MUS$2010/PJ,2035 CO2f,all-week,night,all-year,0.21490000000,R1,0,MUS$2010/kt,2035 -electricity,all-week,morning,all-year,17.63720000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,19.72830000000,R1,1,MUS$2010/PJ,2035 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,8.82820000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,12.53230000000,R1,1,MUS$2010/PJ,2035 CO2f,all-week,morning,all-year,0.21490000000,R1,1,MUS$2010/kt,2035 -electricity,all-week,afternoon,all-year,19.57470000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,29.59240000000,R1,2,MUS$2010/PJ,2035 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,10.48990000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,16.77770000000,R1,2,MUS$2010/PJ,2035 CO2f,all-week,afternoon,all-year,0.21490000000,R1,2,MUS$2010/kt,2035 -electricity,all-week,early-peak,all-year,17.63720000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,19.72830000000,R1,3,MUS$2010/PJ,2035 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,8.82820000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,12.53230000000,R1,3,MUS$2010/PJ,2035 CO2f,all-week,early-peak,all-year,0.21490000000,R1,3,MUS$2010/kt,2035 -electricity,all-week,late-peak,all-year,15.74090000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2035 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,7.18300000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,8.32830000000,R1,4,MUS$2010/PJ,2035 CO2f,all-week,late-peak,all-year,0.21490000000,R1,4,MUS$2010/kt,2035 -electricity,all-week,evening,all-year,16.66840000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,14.79620000000,R1,5,MUS$2010/PJ,2035 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,7.99740000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,10.40970000000,R1,5,MUS$2010/PJ,2035 CO2f,all-week,evening,all-year,0.21490000000,R1,5,MUS$2010/kt,2035 -electricity,all-week,night,all-year,20.90320000000,R1,0,MUS$2010/PJ,2040 +electricity,all-week,night,all-year,29.66560000000,R1,0,MUS$2010/PJ,2040 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 -heat,all-week,night,all-year,11.02130000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,17.48300000000,R1,0,MUS$2010/PJ,2040 CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 -electricity,all-week,morning,all-year,18.72380000000,R1,1,MUS$2010/PJ,2040 +electricity,all-week,morning,all-year,19.77710000000,R1,1,MUS$2010/PJ,2040 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 -heat,all-week,morning,all-year,9.26290000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,13.06660000000,R1,1,MUS$2010/PJ,2040 CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 -electricity,all-week,afternoon,all-year,20.90320000000,R1,2,MUS$2010/PJ,2040 +electricity,all-week,afternoon,all-year,29.66560000000,R1,2,MUS$2010/PJ,2040 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 -heat,all-week,afternoon,all-year,11.02130000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,afternoon,all-year,17.48300000000,R1,2,MUS$2010/PJ,2040 CO2f,all-week,afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 -electricity,all-week,early-peak,all-year,18.72380000000,R1,3,MUS$2010/PJ,2040 +electricity,all-week,early-peak,all-year,19.77710000000,R1,3,MUS$2010/PJ,2040 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 -heat,all-week,early-peak,all-year,9.26290000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,13.06660000000,R1,3,MUS$2010/PJ,2040 CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 -electricity,all-week,late-peak,all-year,16.58410000000,R1,4,MUS$2010/PJ,2040 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2040 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 -heat,all-week,late-peak,all-year,7.52030000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,8.68550000000,R1,4,MUS$2010/PJ,2040 CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 -electricity,all-week,evening,all-year,17.63410000000,R1,5,MUS$2010/PJ,2040 +electricity,all-week,evening,all-year,14.83280000000,R1,5,MUS$2010/PJ,2040 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 -heat,all-week,evening,all-year,8.38370000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,10.85840000000,R1,5,MUS$2010/PJ,2040 CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 -electricity,all-week,night,all-year,22.81310000000,R1,0,MUS$2010/PJ,2045 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2045 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2045 -heat,all-week,night,all-year,11.78530000000,R1,0,MUS$2010/PJ,2045 +heat,all-week,night,all-year,16.19530000000,R1,0,MUS$2010/PJ,2045 CO2f,all-week,night,all-year,0.35390000000,R1,0,MUS$2010/kt,2045 -electricity,all-week,morning,all-year,20.45230000000,R1,1,MUS$2010/PJ,2045 +electricity,all-week,morning,all-year,19.99980000000,R1,1,MUS$2010/PJ,2045 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2045 -heat,all-week,morning,all-year,9.95430000000,R1,1,MUS$2010/PJ,2045 +heat,all-week,morning,all-year,10.79690000000,R1,1,MUS$2010/PJ,2045 CO2f,all-week,morning,all-year,0.35390000000,R1,1,MUS$2010/kt,2045 -electricity,all-week,afternoon,all-year,22.81310000000,R1,2,MUS$2010/PJ,2045 +electricity,all-week,afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2045 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2045 -heat,all-week,afternoon,all-year,11.78530000000,R1,2,MUS$2010/PJ,2045 +heat,all-week,afternoon,all-year,16.19530000000,R1,2,MUS$2010/PJ,2045 CO2f,all-week,afternoon,all-year,0.35390000000,R1,2,MUS$2010/kt,2045 -electricity,all-week,early-peak,all-year,20.45230000000,R1,3,MUS$2010/PJ,2045 +electricity,all-week,early-peak,all-year,19.99980000000,R1,3,MUS$2010/PJ,2045 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2045 -heat,all-week,early-peak,all-year,9.95430000000,R1,3,MUS$2010/PJ,2045 +heat,all-week,early-peak,all-year,10.79690000000,R1,3,MUS$2010/PJ,2045 CO2f,all-week,early-peak,all-year,0.35390000000,R1,3,MUS$2010/kt,2045 -electricity,all-week,late-peak,all-year,18.12900000000,R1,4,MUS$2010/PJ,2045 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2045 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2045 -heat,all-week,late-peak,all-year,8.13830000000,R1,4,MUS$2010/PJ,2045 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2045 CO2f,all-week,late-peak,all-year,0.35390000000,R1,4,MUS$2010/kt,2045 -electricity,all-week,evening,all-year,19.27190000000,R1,5,MUS$2010/PJ,2045 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2045 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2045 -heat,all-week,evening,all-year,9.03880000000,R1,5,MUS$2010/PJ,2045 +heat,all-week,evening,all-year,8.09760000000,R1,5,MUS$2010/PJ,2045 CO2f,all-week,evening,all-year,0.35390000000,R1,5,MUS$2010/kt,2045 -electricity,all-week,night,all-year,24.29440000000,R1,0,MUS$2010/PJ,2050 +electricity,all-week,night,all-year,29.99960000000,R1,0,MUS$2010/PJ,2050 gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2050 -heat,all-week,night,all-year,12.37770000000,R1,0,MUS$2010/PJ,2050 +heat,all-week,night,all-year,16.32890000000,R1,0,MUS$2010/PJ,2050 CO2f,all-week,night,all-year,0.43510000000,R1,0,MUS$2010/kt,2050 -electricity,all-week,morning,all-year,21.79240000000,R1,1,MUS$2010/PJ,2050 +electricity,all-week,morning,all-year,19.99980000000,R1,1,MUS$2010/PJ,2050 gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2050 -heat,all-week,morning,all-year,10.49030000000,R1,1,MUS$2010/PJ,2050 +heat,all-week,morning,all-year,10.88590000000,R1,1,MUS$2010/PJ,2050 CO2f,all-week,morning,all-year,0.43510000000,R1,1,MUS$2010/kt,2050 -electricity,all-week,afternoon,all-year,24.29440000000,R1,2,MUS$2010/PJ,2050 +electricity,all-week,afternoon,all-year,29.99960000000,R1,2,MUS$2010/PJ,2050 gas,all-week,afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2050 -heat,all-week,afternoon,all-year,12.37770000000,R1,2,MUS$2010/PJ,2050 +heat,all-week,afternoon,all-year,16.32890000000,R1,2,MUS$2010/PJ,2050 CO2f,all-week,afternoon,all-year,0.43510000000,R1,2,MUS$2010/kt,2050 -electricity,all-week,early-peak,all-year,21.79240000000,R1,3,MUS$2010/PJ,2050 +electricity,all-week,early-peak,all-year,19.99980000000,R1,3,MUS$2010/PJ,2050 gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2050 -heat,all-week,early-peak,all-year,10.49030000000,R1,3,MUS$2010/PJ,2050 +heat,all-week,early-peak,all-year,10.88590000000,R1,3,MUS$2010/PJ,2050 CO2f,all-week,early-peak,all-year,0.43510000000,R1,3,MUS$2010/kt,2050 -electricity,all-week,late-peak,all-year,19.32570000000,R1,4,MUS$2010/PJ,2050 +electricity,all-week,late-peak,all-year,9.99990000000,R1,4,MUS$2010/PJ,2050 gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2050 -heat,all-week,late-peak,all-year,8.61700000000,R1,4,MUS$2010/PJ,2050 +heat,all-week,late-peak,all-year,5.44300000000,R1,4,MUS$2010/PJ,2050 CO2f,all-week,late-peak,all-year,0.43510000000,R1,4,MUS$2010/kt,2050 -electricity,all-week,evening,all-year,20.54150000000,R1,5,MUS$2010/PJ,2050 +electricity,all-week,evening,all-year,14.99980000000,R1,5,MUS$2010/PJ,2050 gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2050 -heat,all-week,evening,all-year,9.54660000000,R1,5,MUS$2010/PJ,2050 +heat,all-week,evening,all-year,8.16440000000,R1,5,MUS$2010/PJ,2050 CO2f,all-week,evening,all-year,0.43510000000,R1,5,MUS$2010/kt,2050 diff --git a/tests/example_outputs/trade/Results/MCACapacity.csv b/tests/example_outputs/trade/Results/MCACapacity.csv index c830610db..e02186ec3 100644 --- a/tests/example_outputs/trade/Results/MCACapacity.csv +++ b/tests/example_outputs/trade/Results/MCACapacity.csv @@ -6,25 +6,25 @@ A1,200.00000000000,R2,2010,R2,power,gasCCGT,agent,2020 A1,3000.00000000000,R1,2010,R1,gas,gassupply1,agent,2020 A1,1200.00000000000,R2,2010,R2,gas,gassupply1,agent,2020 A1,463.93200000000,R1,2010,R1,residential,gasboiler,retrofit,2025 -A1,355.93470000000,R1,2020,R1,residential,heatpump,retrofit,2025 +A1,355.93470000000,R1,2020,R1,residential,gasboiler,retrofit,2025 A1,24.50000000000,R2,2010,R2,residential,gasboiler,retrofit,2025 A1,192.00000000000,R1,2010,R1,power,gasCCGT,agent,2025 A1,140.00000000000,R2,2010,R2,power,gasCCGT,agent,2025 A1,2100.00000000000,R1,2010,R1,gas,gassupply1,agent,2025 A1,700.00000000000,R2,2010,R2,gas,gassupply1,agent,2025 A1,463.93200000000,R1,2010,R1,residential,gasboiler,retrofit,2030 -A1,355.93470000000,R1,2020,R1,residential,heatpump,retrofit,2030 -A1,74.53330000000,R1,2025,R1,residential,heatpump,retrofit,2030 +A1,355.93470000000,R1,2020,R1,residential,gasboiler,retrofit,2030 +A1,74.53330000000,R1,2025,R1,residential,gasboiler,retrofit,2030 A1,24.50000000000,R2,2010,R2,residential,gasboiler,retrofit,2030 A1,153.60000000000,R1,2010,R1,power,gasCCGT,agent,2030 A1,98.00000000000,R2,2010,R2,power,gasCCGT,agent,2030 A1,2100.00000000000,R1,2010,R1,gas,gassupply1,agent,2030 A1,700.00000000000,R2,2010,R2,gas,gassupply1,agent,2030 A1,394.34220000000,R1,2010,R1,residential,gasboiler,retrofit,2035 -A1,74.53330000000,R1,2025,R1,residential,heatpump,retrofit,2035 -A1,444.15780000000,R1,2030,R1,residential,heatpump,retrofit,2035 +A1,74.53330000000,R1,2025,R1,residential,gasboiler,retrofit,2035 +A1,444.15780000000,R1,2030,R1,residential,gasboiler,retrofit,2035 A1,17.15000000000,R2,2010,R2,residential,gasboiler,retrofit,2035 -A1,1.63330000000,R2,2030,R2,residential,heatpump,retrofit,2035 +A1,1.63330000000,R2,2030,R2,residential,gasboiler,retrofit,2035 A1,122.88000000000,R1,2010,R1,power,gasCCGT,agent,2035 A1,68.60000000000,R2,2010,R2,power,gasCCGT,agent,2035 A1,1470.00000000000,R1,2010,R1,gas,gassupply1,agent,2035 diff --git a/tests/example_outputs/trade/Results/MCAPrices.csv b/tests/example_outputs/trade/Results/MCAPrices.csv index 603de3b8d..df717c78a 100644 --- a/tests/example_outputs/trade/Results/MCAPrices.csv +++ b/tests/example_outputs/trade/Results/MCAPrices.csv @@ -23,111 +23,111 @@ electricity,all-week,evening,all-year,13.98150000000,R1,5,MUS$2010/PJ,2020 electricity,all-week,evening,all-year,19.13890000000,R2,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,4.71680000000,R1,5,MUS$2010/PJ,2020 gas,all-week,evening,all-year,4.71680000000,R2,5,MUS$2010/PJ,2020 -electricity,all-week,night,all-year,40.99250000000,R1,0,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,210.97210000000,R2,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,16.74990000000,R1,0,MUS$2010/PJ,2025 -gas,all-week,night,all-year,72.38960000000,R2,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,15.24220000000,R1,0,MUS$2010/PJ,2025 -heat,all-week,night,all-year,115.55230000000,R2,0,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,33.22370000000,R1,1,MUS$2010/PJ,2025 -electricity,all-week,morning,all-year,193.27760000000,R2,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,14.66540000000,R1,1,MUS$2010/PJ,2025 -gas,all-week,morning,all-year,66.68390000000,R2,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,13.13720000000,R1,1,MUS$2010/PJ,2025 -heat,all-week,morning,all-year,105.94570000000,R2,1,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,39.48330000000,R1,2,MUS$2010/PJ,2025 -electricity,all-week,afternoon,all-year,232.59870000000,R2,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,16.34490000000,R1,2,MUS$2010/PJ,2025 -gas,all-week,afternoon,all-year,79.36320000000,R2,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,14.83330000000,R1,2,MUS$2010/PJ,2025 -heat,all-week,afternoon,all-year,127.29370000000,R2,2,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,39.48330000000,R1,3,MUS$2010/PJ,2025 -electricity,all-week,early-peak,all-year,232.59870000000,R2,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,16.34490000000,R1,3,MUS$2010/PJ,2025 -gas,all-week,early-peak,all-year,79.36320000000,R2,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,14.83330000000,R1,3,MUS$2010/PJ,2025 -heat,all-week,early-peak,all-year,127.29370000000,R2,3,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,31.77910000000,R1,4,MUS$2010/PJ,2025 -electricity,all-week,late-peak,all-year,185.58430000000,R2,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,14.27780000000,R1,4,MUS$2010/PJ,2025 -gas,all-week,late-peak,all-year,64.20310000000,R2,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,12.74580000000,R1,4,MUS$2010/PJ,2025 -heat,all-week,late-peak,all-year,101.76900000000,R2,4,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,39.54820000000,R1,5,MUS$2010/PJ,2025 -electricity,all-week,evening,all-year,232.59870000000,R2,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,16.36240000000,R1,5,MUS$2010/PJ,2025 -gas,all-week,evening,all-year,79.36320000000,R2,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,14.85090000000,R1,5,MUS$2010/PJ,2025 -heat,all-week,evening,all-year,127.29370000000,R2,5,MUS$2010/PJ,2025 -electricity,all-week,night,all-year,56.05370000000,R1,0,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,266.52130000000,R2,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,24.49870000000,R1,0,MUS$2010/PJ,2030 -gas,all-week,night,all-year,116.19110000000,R2,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,23.19000000000,R1,0,MUS$2010/PJ,2030 -heat,all-week,night,all-year,173.64040000000,R2,0,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,44.60210000000,R1,1,MUS$2010/PJ,2030 -electricity,all-week,morning,all-year,244.11240000000,R2,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,21.02450000000,R1,1,MUS$2010/PJ,2030 -gas,all-week,morning,all-year,106.77610000000,R2,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,19.25310000000,R1,1,MUS$2010/PJ,2030 -heat,all-week,morning,all-year,158.96880000000,R2,1,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,53.82910000000,R1,2,MUS$2010/PJ,2030 -electricity,all-week,afternoon,all-year,293.91000000000,R2,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,23.82380000000,R1,2,MUS$2010/PJ,2030 -gas,all-week,afternoon,all-year,127.69820000000,R2,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,22.42520000000,R1,2,MUS$2010/PJ,2030 -heat,all-week,afternoon,all-year,191.57230000000,R2,2,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,53.82910000000,R1,3,MUS$2010/PJ,2030 -electricity,all-week,early-peak,all-year,293.91000000000,R2,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,23.82380000000,R1,3,MUS$2010/PJ,2030 -gas,all-week,early-peak,all-year,127.69820000000,R2,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,22.42520000000,R1,3,MUS$2010/PJ,2030 -heat,all-week,early-peak,all-year,191.57230000000,R2,3,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,42.47280000000,R1,4,MUS$2010/PJ,2030 -electricity,all-week,late-peak,all-year,234.36940000000,R2,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,20.37850000000,R1,4,MUS$2010/PJ,2030 -gas,all-week,late-peak,all-year,102.68270000000,R2,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,18.52100000000,R1,4,MUS$2010/PJ,2030 -heat,all-week,late-peak,all-year,152.58990000000,R2,4,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,53.92470000000,R1,5,MUS$2010/PJ,2030 -electricity,all-week,evening,all-year,293.91000000000,R2,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,23.85290000000,R1,5,MUS$2010/PJ,2030 -gas,all-week,evening,all-year,127.69820000000,R2,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,22.45810000000,R1,5,MUS$2010/PJ,2030 -heat,all-week,evening,all-year,191.57230000000,R2,5,MUS$2010/PJ,2030 -electricity,all-week,night,all-year,69.52440000000,R1,0,MUS$2010/PJ,2035 -electricity,all-week,night,all-year,304.79750000000,R2,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,32.24760000000,R1,0,MUS$2010/PJ,2035 -gas,all-week,night,all-year,148.12000000000,R2,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,29.98340000000,R1,0,MUS$2010/PJ,2035 -heat,all-week,night,all-year,211.49580000000,R2,0,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,55.41150000000,R1,1,MUS$2010/PJ,2035 -electricity,all-week,morning,all-year,279.40190000000,R2,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,27.38370000000,R1,1,MUS$2010/PJ,2035 -gas,all-week,morning,all-year,136.07510000000,R2,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,24.57400000000,R1,1,MUS$2010/PJ,2035 -heat,all-week,morning,all-year,193.61180000000,R2,1,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,66.78290000000,R1,2,MUS$2010/PJ,2035 -electricity,all-week,afternoon,all-year,335.83660000000,R2,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,31.30270000000,R1,2,MUS$2010/PJ,2035 -gas,all-week,afternoon,all-year,162.84140000000,R2,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,28.93250000000,R1,2,MUS$2010/PJ,2035 -heat,all-week,afternoon,all-year,233.35390000000,R2,2,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,66.78290000000,R1,3,MUS$2010/PJ,2035 -electricity,all-week,early-peak,all-year,335.83660000000,R2,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,31.30270000000,R1,3,MUS$2010/PJ,2035 -gas,all-week,early-peak,all-year,162.84140000000,R2,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,28.93250000000,R1,3,MUS$2010/PJ,2035 -heat,all-week,early-peak,all-year,233.35390000000,R2,3,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,52.78740000000,R1,4,MUS$2010/PJ,2035 -electricity,all-week,late-peak,all-year,268.36030000000,R2,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,26.47930000000,R1,4,MUS$2010/PJ,2035 -gas,all-week,late-peak,all-year,130.83820000000,R2,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,23.56820000000,R1,4,MUS$2010/PJ,2035 -heat,all-week,late-peak,all-year,185.83620000000,R2,4,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,66.90070000000,R1,5,MUS$2010/PJ,2035 -electricity,all-week,evening,all-year,335.83660000000,R2,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,31.34340000000,R1,5,MUS$2010/PJ,2035 -gas,all-week,evening,all-year,162.84140000000,R2,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,28.97770000000,R1,5,MUS$2010/PJ,2035 -heat,all-week,evening,all-year,233.35390000000,R2,5,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,117.23020000000,R1,0,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,117.23020000000,R2,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,23.60400000000,R1,0,MUS$2010/PJ,2025 +gas,all-week,night,all-year,114.76360000000,R2,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,23.36440000000,R1,0,MUS$2010/PJ,2025 +heat,all-week,night,all-year,174.63580000000,R2,0,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,105.45240000000,R1,1,MUS$2010/PJ,2025 +electricity,all-week,morning,all-year,105.45240000000,R2,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,19.95270000000,R1,1,MUS$2010/PJ,2025 +gas,all-week,morning,all-year,105.34210000000,R2,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,19.80280000000,R1,1,MUS$2010/PJ,2025 +heat,all-week,morning,all-year,159.98100000000,R2,1,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,126.35930000000,R1,2,MUS$2010/PJ,2025 +electricity,all-week,afternoon,all-year,126.35930000000,R2,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,22.89470000000,R1,2,MUS$2010/PJ,2025 +gas,all-week,afternoon,all-year,126.27890000000,R2,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,22.67250000000,R1,2,MUS$2010/PJ,2025 +heat,all-week,afternoon,all-year,192.54730000000,R2,2,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,126.35930000000,R1,3,MUS$2010/PJ,2025 +electricity,all-week,early-peak,all-year,126.35930000000,R2,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,22.89470000000,R1,3,MUS$2010/PJ,2025 +gas,all-week,early-peak,all-year,126.27890000000,R2,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,22.67250000000,R1,3,MUS$2010/PJ,2025 +heat,all-week,early-peak,all-year,192.54730000000,R2,3,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,101.25670000000,R1,4,MUS$2010/PJ,2025 +electricity,all-week,late-peak,all-year,101.25670000000,R2,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,19.27370000000,R1,4,MUS$2010/PJ,2025 +gas,all-week,late-peak,all-year,101.24580000000,R2,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,19.14060000000,R1,4,MUS$2010/PJ,2025 +heat,all-week,late-peak,all-year,153.60930000000,R2,4,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,126.39030000000,R1,5,MUS$2010/PJ,2025 +electricity,all-week,evening,all-year,126.39030000000,R2,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,22.92520000000,R1,5,MUS$2010/PJ,2025 +gas,all-week,evening,all-year,126.27890000000,R2,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,22.70220000000,R1,5,MUS$2010/PJ,2025 +heat,all-week,evening,all-year,192.54730000000,R2,5,MUS$2010/PJ,2025 +electricity,all-week,night,all-year,117.23020000000,R1,0,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,117.23020000000,R2,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,32.84270000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,163.53120000000,R2,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,34.10390000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,245.46200000000,R2,0,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,105.45240000000,R1,1,MUS$2010/PJ,2030 +electricity,all-week,morning,all-year,105.45240000000,R2,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,27.36570000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,149.94900000000,R2,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,28.42040000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,224.74900000000,R2,1,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,126.35930000000,R1,2,MUS$2010/PJ,2030 +electricity,all-week,afternoon,all-year,126.35930000000,R2,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,31.77870000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,afternoon,all-year,180.13170000000,R2,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,32.99980000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,afternoon,all-year,270.77800000000,R2,2,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,126.35930000000,R1,3,MUS$2010/PJ,2030 +electricity,all-week,early-peak,all-year,126.35930000000,R2,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,31.77870000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,180.13170000000,R2,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,32.99980000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,270.77800000000,R2,3,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,101.25670000000,R1,4,MUS$2010/PJ,2030 +electricity,all-week,late-peak,all-year,101.25670000000,R2,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,26.34730000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,144.04360000000,R2,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,27.36360000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,215.74330000000,R2,4,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,126.39030000000,R1,5,MUS$2010/PJ,2030 +electricity,all-week,evening,all-year,126.39030000000,R2,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,31.82450000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,180.13170000000,R2,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,33.04730000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,270.77800000000,R2,5,MUS$2010/PJ,2030 +electricity,all-week,night,all-year,8685.55900000000,R1,0,MUS$2010/PJ,2035 +electricity,all-week,night,all-year,8685.55900000000,R2,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,46.70080000000,R1,0,MUS$2010/PJ,2035 +gas,all-week,night,all-year,215.11500000000,R2,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,50.20940000000,R1,0,MUS$2010/PJ,2035 +heat,all-week,night,all-year,327.13430000000,R2,0,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,7800.08140000000,R1,1,MUS$2010/PJ,2035 +electricity,all-week,morning,all-year,7800.08140000000,R2,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,38.48530000000,R1,1,MUS$2010/PJ,2035 +gas,all-week,morning,all-year,197.25240000000,R2,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,41.34410000000,R1,1,MUS$2010/PJ,2035 +heat,all-week,morning,all-year,299.56730000000,R2,1,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,9566.88680000000,R1,2,MUS$2010/PJ,2035 +electricity,all-week,afternoon,all-year,9566.88680000000,R2,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,45.10480000000,R1,2,MUS$2010/PJ,2035 +gas,all-week,afternoon,all-year,236.94710000000,R2,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,48.48720000000,R1,2,MUS$2010/PJ,2035 +heat,all-week,afternoon,all-year,360.82720000000,R2,2,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,9566.88680000000,R1,3,MUS$2010/PJ,2035 +electricity,all-week,early-peak,all-year,9566.88680000000,R2,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,45.10480000000,R1,3,MUS$2010/PJ,2035 +gas,all-week,early-peak,all-year,236.94710000000,R2,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,48.48720000000,R1,3,MUS$2010/PJ,2035 +heat,all-week,early-peak,all-year,360.82720000000,R2,3,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,7450.38850000000,R1,4,MUS$2010/PJ,2035 +electricity,all-week,late-peak,all-year,7450.38850000000,R2,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,36.95770000000,R1,4,MUS$2010/PJ,2035 +gas,all-week,late-peak,all-year,189.48610000000,R2,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,39.69570000000,R1,4,MUS$2010/PJ,2035 +heat,all-week,late-peak,all-year,287.58170000000,R2,4,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,9568.07120000000,R1,5,MUS$2010/PJ,2035 +electricity,all-week,evening,all-year,9568.07120000000,R2,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,45.17340000000,R1,5,MUS$2010/PJ,2035 +gas,all-week,evening,all-year,236.94710000000,R2,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,48.56120000000,R1,5,MUS$2010/PJ,2035 +heat,all-week,evening,all-year,360.82720000000,R2,5,MUS$2010/PJ,2035 From 4b2d007c965770d2e07d1fa9678f976b420aaeac Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 16 Dec 2024 15:59:18 +0000 Subject: [PATCH 113/121] Remove redundant function --- src/muse/costs.py | 25 +++---------------------- tests/test_costs.py | 9 --------- 2 files changed, 3 insertions(+), 31 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index b145a3326..f432add0c 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -89,8 +89,8 @@ def capital_costs( Method can be "lifetime" or "annual": - lifetime: returns the full capital costs - - annual: a capital cost for the investment year is calculated based on the lifetime - and interest rate (see `lifetime_to_annual`) + - annual: total capital costs are multiplied by the capital recovery factor to get + annualized costs Costs are distributed uniformly over timeslices, with the timeslice level specified """ @@ -101,9 +101,7 @@ def capital_costs( technologies.cap_par * (capacity**technologies.cap_exp), level=timeslice_level ) if method == "annual": - _capital_costs = lifetime_to_annual( - _capital_costs, technologies, timeslice_level - ) + _capital_costs = _capital_costs * capital_recovery_factor(technologies) return _capital_costs @@ -528,23 +526,6 @@ def annual_to_lifetime( return (costs * rates).sum("year") -def lifetime_to_annual( - costs: xr.DataArray, technologies: xr.Dataset, timeslice_level: str | None = None -): - """Convert lifetime costs to annual costs using the capital recovery factor. - - Args: - costs: xr.DataArray of lifetime costs (e.g. capital costs). - technologies: xr.Dataset of technology parameters - timeslice_level: the desired timeslice level of the result (e.g. "hour", "day") - """ - assert "year" not in costs.dims - assert "year" not in technologies.dims - assert "timeslice" in costs.dims - crf = capital_recovery_factor(technologies) - return costs * broadcast_timeslice(crf, level=timeslice_level) - - def discount_factor( years: xr.DataArray, interest_rate: xr.DataArray, mask: xr.DataArray | None = None ): diff --git a/tests/test_costs.py b/tests/test_costs.py index 98bc0845f..a133787dc 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -206,12 +206,3 @@ def test_annual_to_lifetime(_technologies, _prices, _consumption): _fuel_costs_lifetime = annual_to_lifetime(_fuel_costs, _technologies) assert set(_fuel_costs.dims) == set(_fuel_costs_lifetime.dims) assert (_fuel_costs_lifetime > _fuel_costs).all() - - -def test_lifetime_to_annual(_technologies, _capacity): - from muse.costs import capital_costs, lifetime_to_annual - - _capital_costs = capital_costs(_technologies, _capacity) - _capital_costs_annual = lifetime_to_annual(_capital_costs, _technologies) - assert set(_capital_costs.dims) == set(_capital_costs_annual.dims) - # assert (_capital_costs_annual < _capital_costs).all() From c4f8240f2e92abc9df40cfff2a3b2f1b41c41a11 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 16 Dec 2024 16:32:17 +0000 Subject: [PATCH 114/121] Timeslice broadcasting fix --- src/muse/costs.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index f432add0c..271bea033 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -101,7 +101,10 @@ def capital_costs( technologies.cap_par * (capacity**technologies.cap_exp), level=timeslice_level ) if method == "annual": - _capital_costs = _capital_costs * capital_recovery_factor(technologies) + crf = capital_recovery_factor(technologies) + _capital_costs = _capital_costs * broadcast_timeslice( + crf, level=timeslice_level + ) return _capital_costs From d6e26165856564ec9047efdaa1484d997b8e5d6f Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 17 Dec 2024 11:07:57 +0000 Subject: [PATCH 115/121] Revert change to utilities --- src/muse/utilities.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/muse/utilities.py b/src/muse/utilities.py index 9923d753d..9459196f9 100644 --- a/src/muse/utilities.py +++ b/src/muse/utilities.py @@ -661,28 +661,23 @@ def aggregate_technology_model( def check_dimensions( data: xr.DataArray | xr.Dataset, - required: Iterable[str | None] = (), - optional: Iterable[str | None] = (), + required: Iterable[str] = (), + optional: Iterable[str] = (), ): """Ensure that an array has the required dimensions. This will check that all required dimensions are present, and that no other dimensions are present, apart from those listed as optional. - If None is present as a dimensions name, it is ignored. - Args: data: DataArray or Dataset to check dimensions of required: List of dimension names that must be present optional: List of dimension names that may be present """ - _required = set(filter(None, required)) - _optional = set(filter(None, optional)) - present = set(data.dims) - missing = _required - present + missing = set(required) - present if missing: raise ValueError(f"Missing required dimensions: {missing}") - extra = present - _required - _optional + extra = present - set(required) - set(optional) if extra: raise ValueError(f"Extra dimensions: {extra}") From e6215748e316e43cb2c9658e13326ec78c5ac90b Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 17 Dec 2024 12:53:14 +0000 Subject: [PATCH 116/121] Add new test for LCOE --- tests/test_costs.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/test_costs.py b/tests/test_costs.py index a133787dc..8c0b68267 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -206,3 +206,41 @@ def test_annual_to_lifetime(_technologies, _prices, _consumption): _fuel_costs_lifetime = annual_to_lifetime(_fuel_costs, _technologies) assert set(_fuel_costs.dims) == set(_fuel_costs_lifetime.dims) assert (_fuel_costs_lifetime > _fuel_costs).all() + + +def test_lcoe_scaling(_technologies, _prices, _capacity, _production, _consumption): + """Testing that LCOE is independent of input/output scaling. + + In other words, if we change technology flows by a constant factor, the LCOE (which + is a cost per unit of production) should remain unchanged. + + This is a bit more complicated if the variable costs are nonlinear, so we'll set + the exponent to 1 for simplicity + """ + from muse.costs import levelized_cost_of_energy + + _technologies["var_exp"] = 1 + + for method in ["annual", "lifetime"]: + # LCOE with original inputs + lcoe1 = levelized_cost_of_energy( + _technologies, _prices, _capacity, _production, _consumption, method=method + ) + + # Scale inputs and outputs by a constant factor -> LCOE should be unchanged + # var_par also needs to be scaled as this relates to units of technology + # activity, not units of commodity consumption/production + _technologies_scaled = _technologies.copy() + _technologies_scaled["fixed_inputs"] = _technologies["fixed_inputs"] * 2 + _technologies_scaled["flexible_inpits"] = _technologies["flexible_inputs"] * 2 + _technologies_scaled["fixed_outputs"] = _technologies["fixed_outputs"] * 2 + _technologies_scaled["var_par"] = _technologies["var_par"] * 2 + lcoe2 = levelized_cost_of_energy( + _technologies_scaled, + _prices, + _capacity, + _production, + _consumption, + method=method, + ) + assert (abs(lcoe1 - lcoe2) < 1e-6).all() From 9307fa1772d095039c43840b0d055b09a9782a21 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 17 Dec 2024 13:32:33 +0000 Subject: [PATCH 117/121] Update remaining model --- .../Results/MCACapacity.csv | 72 +++++++ .../Results/MCAPrices.csv | 192 ++++++++++++++++++ .../technodata/power/Technodata.csv | 4 +- 3 files changed, 266 insertions(+), 2 deletions(-) diff --git a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv index e48e50441..5b4e39d1d 100644 --- a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv +++ b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCACapacity.csv @@ -23,3 +23,75 @@ A1,19.98890000000,R1,2020,R1,gas,gassupply1,newcapa,2028 A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2028 A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2028 A1,2.09220000000,R1,2026,R1,gas,gassupply1,newcapa,2028 +A1,11.00000000000,R1,2020,R1,residential,gasboiler,newcapa,2030 +A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2030 +A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2030 +A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2030 +A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2030 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2030 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2030 +A1,16.98890000000,R1,2020,R1,gas,gassupply1,newcapa,2030 +A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2030 +A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2030 +A1,2.09220000000,R1,2026,R1,gas,gassupply1,newcapa,2030 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2030 +A1,4.00000000000,R1,2022,R1,residential,gasboiler,newcapa,2032 +A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2032 +A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2032 +A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2032 +A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2032 +A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2032 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2032 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2032 +A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2032 +A1,4.00000000000,R1,2024,R1,residential,gasboiler,newcapa,2034 +A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2034 +A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2034 +A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2034 +A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2034 +A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2034 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2034 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2034 +A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2034 +A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2034 +A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2036 +A1,4.00000000000,R1,2026,R1,residential,heatpump,newcapa,2036 +A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2036 +A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2036 +A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2036 +A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2036 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2036 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2036 +A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2036 +A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2036 +A1,6.00000000000,R1,2034,R1,power,windturbine,newcapa,2036 +A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2038 +A1,5.00000000000,R1,2028,R1,residential,heatpump,newcapa,2038 +A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2038 +A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2038 +A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2038 +A1,6.00000000000,R1,2036,R1,residential,heatpump,newcapa,2038 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2038 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2038 +A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2038 +A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2038 +A1,6.00000000000,R1,2034,R1,power,windturbine,newcapa,2038 +A1,2.00000000000,R1,2036,R1,power,windturbine,newcapa,2038 +A1,1.00000000000,R1,2030,R1,residential,gasboiler,newcapa,2040 +A1,11.00000000000,R1,2030,R1,residential,heatpump,newcapa,2040 +A1,7.00000000000,R1,2032,R1,residential,heatpump,newcapa,2040 +A1,6.00000000000,R1,2034,R1,residential,heatpump,newcapa,2040 +A1,6.00000000000,R1,2036,R1,residential,heatpump,newcapa,2040 +A1,8.00000000000,R1,2038,R1,residential,heatpump,newcapa,2040 +A1,1.00000000000,R1,2026,R1,power,gasCCGT,newcapa,2040 +A1,6.00000000000,R1,2028,R1,power,windturbine,newcapa,2040 +A1,11.00000000000,R1,2030,R1,power,windturbine,newcapa,2040 +A1,7.00000000000,R1,2032,R1,power,windturbine,newcapa,2040 +A1,6.00000000000,R1,2034,R1,power,windturbine,newcapa,2040 +A1,2.00000000000,R1,2036,R1,power,windturbine,newcapa,2040 +A1,3.00000000000,R1,2038,R1,power,windturbine,newcapa,2040 +A1,9.48890000000,R1,2020,R1,gas,gassupply1,newcapa,2040 +A1,2.57780000000,R1,2022,R1,gas,gassupply1,newcapa,2040 +A1,4.07780000000,R1,2024,R1,gas,gassupply1,newcapa,2040 +A1,2.09220000000,R1,2026,R1,gas,gassupply1,newcapa,2040 +A1,0.42220000000,R1,2028,R1,gas,gassupply1,newcapa,2040 diff --git a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv index 4f181da73..21a1723f6 100644 --- a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv +++ b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/Results/MCAPrices.csv @@ -159,3 +159,195 @@ electricity,all-week,late-afternoon,all-year,20.03640000000,R1,7,MUS$2010/PJ,202 gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2028 heat,all-week,late-afternoon,all-year,12.59030000000,R1,7,MUS$2010/PJ,2028 CO2f,all-week,late-afternoon,all-year,0.14220000000,R1,7,MUS$2010/kt,2028 +electricity,all-week,night,all-year,27.14130000000,R1,0,MUS$2010/PJ,2030 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2030 +heat,all-week,night,all-year,15.04110000000,R1,0,MUS$2010/PJ,2030 +CO2f,all-week,night,all-year,0.15700000000,R1,0,MUS$2010/kt,2030 +electricity,all-week,morning,all-year,20.52480000000,R1,1,MUS$2010/PJ,2030 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2030 +heat,all-week,morning,all-year,13.39530000000,R1,1,MUS$2010/PJ,2030 +CO2f,all-week,morning,all-year,0.15700000000,R1,1,MUS$2010/kt,2030 +electricity,all-week,mid-afternoon,all-year,27.14130000000,R1,2,MUS$2010/PJ,2030 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2030 +heat,all-week,mid-afternoon,all-year,15.04110000000,R1,2,MUS$2010/PJ,2030 +CO2f,all-week,mid-afternoon,all-year,0.15700000000,R1,2,MUS$2010/kt,2030 +electricity,all-week,early-peak,all-year,20.52480000000,R1,3,MUS$2010/PJ,2030 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2030 +heat,all-week,early-peak,all-year,13.39530000000,R1,3,MUS$2010/PJ,2030 +CO2f,all-week,early-peak,all-year,0.15700000000,R1,3,MUS$2010/kt,2030 +electricity,all-week,late-peak,all-year,13.10640000000,R1,4,MUS$2010/PJ,2030 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2030 +heat,all-week,late-peak,all-year,11.46970000000,R1,4,MUS$2010/PJ,2030 +CO2f,all-week,late-peak,all-year,0.15700000000,R1,4,MUS$2010/kt,2030 +electricity,all-week,evening,all-year,16.11390000000,R1,5,MUS$2010/PJ,2030 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2030 +heat,all-week,evening,all-year,12.29810000000,R1,5,MUS$2010/PJ,2030 +CO2f,all-week,evening,all-year,0.15700000000,R1,5,MUS$2010/kt,2030 +electricity,all-week,early-morning,all-year,16.11390000000,R1,6,MUS$2010/PJ,2030 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2030 +heat,all-week,early-morning,all-year,12.29810000000,R1,6,MUS$2010/PJ,2030 +CO2f,all-week,early-morning,all-year,0.15700000000,R1,6,MUS$2010/kt,2030 +electricity,all-week,late-afternoon,all-year,16.11390000000,R1,7,MUS$2010/PJ,2030 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2030 +heat,all-week,late-afternoon,all-year,12.29810000000,R1,7,MUS$2010/PJ,2030 +CO2f,all-week,late-afternoon,all-year,0.15700000000,R1,7,MUS$2010/kt,2030 +electricity,all-week,night,all-year,27.76890000000,R1,0,MUS$2010/PJ,2032 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2032 +heat,all-week,night,all-year,15.61150000000,R1,0,MUS$2010/PJ,2032 +CO2f,all-week,night,all-year,0.18020000000,R1,0,MUS$2010/kt,2032 +electricity,all-week,morning,all-year,20.16660000000,R1,1,MUS$2010/PJ,2032 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2032 +heat,all-week,morning,all-year,12.48980000000,R1,1,MUS$2010/PJ,2032 +CO2f,all-week,morning,all-year,0.18020000000,R1,1,MUS$2010/kt,2032 +electricity,all-week,mid-afternoon,all-year,27.76890000000,R1,2,MUS$2010/PJ,2032 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2032 +heat,all-week,mid-afternoon,all-year,15.61150000000,R1,2,MUS$2010/PJ,2032 +CO2f,all-week,mid-afternoon,all-year,0.18020000000,R1,2,MUS$2010/kt,2032 +electricity,all-week,early-peak,all-year,20.16660000000,R1,3,MUS$2010/PJ,2032 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2032 +heat,all-week,early-peak,all-year,12.48980000000,R1,3,MUS$2010/PJ,2032 +CO2f,all-week,early-peak,all-year,0.18020000000,R1,3,MUS$2010/kt,2032 +electricity,all-week,late-peak,all-year,11.57930000000,R1,4,MUS$2010/PJ,2032 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2032 +heat,all-week,late-peak,all-year,8.91720000000,R1,4,MUS$2010/PJ,2032 +CO2f,all-week,late-peak,all-year,0.18020000000,R1,4,MUS$2010/kt,2032 +electricity,all-week,evening,all-year,15.09840000000,R1,5,MUS$2010/PJ,2032 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2032 +heat,all-week,evening,all-year,10.40860000000,R1,5,MUS$2010/PJ,2032 +CO2f,all-week,evening,all-year,0.18020000000,R1,5,MUS$2010/kt,2032 +electricity,all-week,early-morning,all-year,15.09840000000,R1,6,MUS$2010/PJ,2032 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2032 +heat,all-week,early-morning,all-year,10.40860000000,R1,6,MUS$2010/PJ,2032 +CO2f,all-week,early-morning,all-year,0.18020000000,R1,6,MUS$2010/kt,2032 +electricity,all-week,late-afternoon,all-year,15.09840000000,R1,7,MUS$2010/PJ,2032 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2032 +heat,all-week,late-afternoon,all-year,10.40860000000,R1,7,MUS$2010/PJ,2032 +CO2f,all-week,late-afternoon,all-year,0.18020000000,R1,7,MUS$2010/kt,2032 +electricity,all-week,night,all-year,28.90960000000,R1,0,MUS$2010/PJ,2034 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2034 +heat,all-week,night,all-year,16.15900000000,R1,0,MUS$2010/PJ,2034 +CO2f,all-week,night,all-year,0.20330000000,R1,0,MUS$2010/kt,2034 +electricity,all-week,morning,all-year,20.82540000000,R1,1,MUS$2010/PJ,2034 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2034 +heat,all-week,morning,all-year,12.26530000000,R1,1,MUS$2010/PJ,2034 +CO2f,all-week,morning,all-year,0.20330000000,R1,1,MUS$2010/kt,2034 +electricity,all-week,mid-afternoon,all-year,28.90960000000,R1,2,MUS$2010/PJ,2034 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2034 +heat,all-week,mid-afternoon,all-year,16.15900000000,R1,2,MUS$2010/PJ,2034 +CO2f,all-week,mid-afternoon,all-year,0.20330000000,R1,2,MUS$2010/kt,2034 +electricity,all-week,early-peak,all-year,20.82540000000,R1,3,MUS$2010/PJ,2034 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2034 +heat,all-week,early-peak,all-year,12.26530000000,R1,3,MUS$2010/PJ,2034 +CO2f,all-week,early-peak,all-year,0.20330000000,R1,3,MUS$2010/kt,2034 +electricity,all-week,late-peak,all-year,11.34000000000,R1,4,MUS$2010/PJ,2034 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2034 +heat,all-week,late-peak,all-year,7.65920000000,R1,4,MUS$2010/PJ,2034 +CO2f,all-week,late-peak,all-year,0.20330000000,R1,4,MUS$2010/kt,2034 +electricity,all-week,evening,all-year,15.43600000000,R1,5,MUS$2010/PJ,2034 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2034 +heat,all-week,evening,all-year,9.66950000000,R1,5,MUS$2010/PJ,2034 +CO2f,all-week,evening,all-year,0.20330000000,R1,5,MUS$2010/kt,2034 +electricity,all-week,early-morning,all-year,15.43600000000,R1,6,MUS$2010/PJ,2034 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2034 +heat,all-week,early-morning,all-year,9.66950000000,R1,6,MUS$2010/PJ,2034 +CO2f,all-week,early-morning,all-year,0.20330000000,R1,6,MUS$2010/kt,2034 +electricity,all-week,late-afternoon,all-year,15.43600000000,R1,7,MUS$2010/PJ,2034 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2034 +heat,all-week,late-afternoon,all-year,9.66950000000,R1,7,MUS$2010/PJ,2034 +CO2f,all-week,late-afternoon,all-year,0.20330000000,R1,7,MUS$2010/kt,2034 +electricity,all-week,night,all-year,29.00110000000,R1,0,MUS$2010/PJ,2036 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2036 +heat,all-week,night,all-year,15.94520000000,R1,0,MUS$2010/PJ,2036 +CO2f,all-week,night,all-year,0.22650000000,R1,0,MUS$2010/kt,2036 +electricity,all-week,morning,all-year,20.82440000000,R1,1,MUS$2010/PJ,2036 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2036 +heat,all-week,morning,all-year,11.52040000000,R1,1,MUS$2010/PJ,2036 +CO2f,all-week,morning,all-year,0.22650000000,R1,1,MUS$2010/kt,2036 +electricity,all-week,mid-afternoon,all-year,29.00110000000,R1,2,MUS$2010/PJ,2036 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2036 +heat,all-week,mid-afternoon,all-year,15.94520000000,R1,2,MUS$2010/PJ,2036 +CO2f,all-week,mid-afternoon,all-year,0.22650000000,R1,2,MUS$2010/kt,2036 +electricity,all-week,early-peak,all-year,20.82440000000,R1,3,MUS$2010/PJ,2036 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2036 +heat,all-week,early-peak,all-year,11.52040000000,R1,3,MUS$2010/PJ,2036 +CO2f,all-week,early-peak,all-year,0.22650000000,R1,3,MUS$2010/kt,2036 +electricity,all-week,late-peak,all-year,11.23880000000,R1,4,MUS$2010/PJ,2036 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2036 +heat,all-week,late-peak,all-year,6.30000000000,R1,4,MUS$2010/PJ,2036 +CO2f,all-week,late-peak,all-year,0.22650000000,R1,4,MUS$2010/kt,2036 +electricity,all-week,evening,all-year,15.37320000000,R1,5,MUS$2010/PJ,2036 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2036 +heat,all-week,evening,all-year,8.57040000000,R1,5,MUS$2010/PJ,2036 +CO2f,all-week,evening,all-year,0.22650000000,R1,5,MUS$2010/kt,2036 +electricity,all-week,early-morning,all-year,15.37320000000,R1,6,MUS$2010/PJ,2036 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2036 +heat,all-week,early-morning,all-year,8.57040000000,R1,6,MUS$2010/PJ,2036 +CO2f,all-week,early-morning,all-year,0.22650000000,R1,6,MUS$2010/kt,2036 +electricity,all-week,late-afternoon,all-year,15.37320000000,R1,7,MUS$2010/PJ,2036 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2036 +heat,all-week,late-afternoon,all-year,8.57040000000,R1,7,MUS$2010/PJ,2036 +CO2f,all-week,late-afternoon,all-year,0.22650000000,R1,7,MUS$2010/kt,2036 +electricity,all-week,night,all-year,29.01340000000,R1,0,MUS$2010/PJ,2038 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2038 +heat,all-week,night,all-year,15.96350000000,R1,0,MUS$2010/PJ,2038 +CO2f,all-week,night,all-year,0.24960000000,R1,0,MUS$2010/kt,2038 +electricity,all-week,morning,all-year,20.84430000000,R1,1,MUS$2010/PJ,2038 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2038 +heat,all-week,morning,all-year,11.54170000000,R1,1,MUS$2010/PJ,2038 +CO2f,all-week,morning,all-year,0.24960000000,R1,1,MUS$2010/kt,2038 +electricity,all-week,mid-afternoon,all-year,29.01340000000,R1,2,MUS$2010/PJ,2038 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2038 +heat,all-week,mid-afternoon,all-year,15.96350000000,R1,2,MUS$2010/PJ,2038 +CO2f,all-week,mid-afternoon,all-year,0.24960000000,R1,2,MUS$2010/kt,2038 +electricity,all-week,early-peak,all-year,20.84430000000,R1,3,MUS$2010/PJ,2038 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2038 +heat,all-week,early-peak,all-year,11.54170000000,R1,3,MUS$2010/PJ,2038 +CO2f,all-week,early-peak,all-year,0.24960000000,R1,3,MUS$2010/kt,2038 +electricity,all-week,late-peak,all-year,11.30590000000,R1,4,MUS$2010/PJ,2038 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2038 +heat,all-week,late-peak,all-year,6.34770000000,R1,4,MUS$2010/PJ,2038 +CO2f,all-week,late-peak,all-year,0.24960000000,R1,4,MUS$2010/kt,2038 +electricity,all-week,evening,all-year,15.39820000000,R1,5,MUS$2010/PJ,2038 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2038 +heat,all-week,evening,all-year,8.59380000000,R1,5,MUS$2010/PJ,2038 +CO2f,all-week,evening,all-year,0.24960000000,R1,5,MUS$2010/kt,2038 +electricity,all-week,early-morning,all-year,15.39820000000,R1,6,MUS$2010/PJ,2038 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2038 +heat,all-week,early-morning,all-year,8.59380000000,R1,6,MUS$2010/PJ,2038 +CO2f,all-week,early-morning,all-year,0.24960000000,R1,6,MUS$2010/kt,2038 +electricity,all-week,late-afternoon,all-year,15.39820000000,R1,7,MUS$2010/PJ,2038 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2038 +heat,all-week,late-afternoon,all-year,8.59380000000,R1,7,MUS$2010/PJ,2038 +CO2f,all-week,late-afternoon,all-year,0.24960000000,R1,7,MUS$2010/kt,2038 +electricity,all-week,night,all-year,29.74200000000,R1,0,MUS$2010/PJ,2040 +gas,all-week,night,all-year,2.55000000000,R1,0,MUS$2010/PJ,2040 +heat,all-week,night,all-year,16.36400000000,R1,0,MUS$2010/PJ,2040 +CO2f,all-week,night,all-year,0.27280000000,R1,0,MUS$2010/kt,2040 +electricity,all-week,morning,all-year,21.34970000000,R1,1,MUS$2010/PJ,2040 +gas,all-week,morning,all-year,2.55000000000,R1,1,MUS$2010/PJ,2040 +heat,all-week,morning,all-year,11.82000000000,R1,1,MUS$2010/PJ,2040 +CO2f,all-week,morning,all-year,0.27280000000,R1,1,MUS$2010/kt,2040 +electricity,all-week,mid-afternoon,all-year,29.74200000000,R1,2,MUS$2010/PJ,2040 +gas,all-week,mid-afternoon,all-year,2.55000000000,R1,2,MUS$2010/PJ,2040 +heat,all-week,mid-afternoon,all-year,16.36400000000,R1,2,MUS$2010/PJ,2040 +CO2f,all-week,mid-afternoon,all-year,0.27280000000,R1,2,MUS$2010/kt,2040 +electricity,all-week,early-peak,all-year,21.34970000000,R1,3,MUS$2010/PJ,2040 +gas,all-week,early-peak,all-year,2.55000000000,R1,3,MUS$2010/PJ,2040 +heat,all-week,early-peak,all-year,11.82000000000,R1,3,MUS$2010/PJ,2040 +CO2f,all-week,early-peak,all-year,0.27280000000,R1,3,MUS$2010/kt,2040 +electricity,all-week,late-peak,all-year,11.32890000000,R1,4,MUS$2010/PJ,2040 +gas,all-week,late-peak,all-year,2.55000000000,R1,4,MUS$2010/PJ,2040 +heat,all-week,late-peak,all-year,6.36560000000,R1,4,MUS$2010/PJ,2040 +CO2f,all-week,late-peak,all-year,0.27280000000,R1,4,MUS$2010/kt,2040 +electricity,all-week,evening,all-year,15.75480000000,R1,5,MUS$2010/PJ,2040 +gas,all-week,evening,all-year,2.55000000000,R1,5,MUS$2010/PJ,2040 +heat,all-week,evening,all-year,8.79060000000,R1,5,MUS$2010/PJ,2040 +CO2f,all-week,evening,all-year,0.27280000000,R1,5,MUS$2010/kt,2040 +electricity,all-week,early-morning,all-year,15.75480000000,R1,6,MUS$2010/PJ,2040 +gas,all-week,early-morning,all-year,2.55000000000,R1,6,MUS$2010/PJ,2040 +heat,all-week,early-morning,all-year,8.79060000000,R1,6,MUS$2010/PJ,2040 +CO2f,all-week,early-morning,all-year,0.27280000000,R1,6,MUS$2010/kt,2040 +electricity,all-week,late-afternoon,all-year,15.75480000000,R1,7,MUS$2010/PJ,2040 +gas,all-week,late-afternoon,all-year,2.55000000000,R1,7,MUS$2010/PJ,2040 +heat,all-week,late-afternoon,all-year,8.79060000000,R1,7,MUS$2010/PJ,2040 +CO2f,all-week,late-afternoon,all-year,0.27280000000,R1,7,MUS$2010/kt,2040 diff --git a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/technodata/power/Technodata.csv b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/technodata/power/Technodata.csv index 24109432c..a23d8d32e 100644 --- a/docs/tutorial-code/modify-timing-data/2-modify-time-framework/technodata/power/Technodata.csv +++ b/docs/tutorial-code/modify-timing-data/2-modify-time-framework/technodata/power/Technodata.csv @@ -1,4 +1,4 @@ ProcessName,RegionName,Time,cap_par,cap_exp,fix_par,fix_exp,var_par,var_exp,MaxCapacityAddition,MaxCapacityGrowth,TotalCapacityLimit,TechnicalLife,UtilizationFactor,ScalingSize,efficiency,InterestRate,Type,Fuel,EndUse,Agent1 Unit,-,Year,MUS$2010/PJ_a,-,MUS$2010/PJ,-,MUS$2010/PJ,-,PJ,%,PJ,Years,-,PJ,%,-,-,-,-,New -gasCCGT,R1,2020,23.78234399,1,0,1,0,1,10,0.5,100,35,0.9,0.00000189,86,0.1,energy,gas,electricity,1 -windturbine,R1,2020,36.30771182,1,0,1,0,1,10,0.5,100,25,0.4,0.00000189,86,0.1,energy,wind,electricity,1 +gasCCGT,R1,2020,23.78234399,1,0,1,0,1,10,1,100,35,0.9,0.00000189,86,0.1,energy,gas,electricity,1 +windturbine,R1,2020,36.30771182,1,0,1,0,1,10,1,100,25,0.4,0.00000189,86,0.1,energy,wind,electricity,1 From ff793a36dcc85f187a02a152b78a0b1012942eb8 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 17 Dec 2024 14:10:52 +0000 Subject: [PATCH 118/121] Add another test --- src/muse/costs.py | 2 +- tests/test_costs.py | 44 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 271bea033..2e0b57874 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -402,7 +402,7 @@ def levelized_cost_of_energy( by total production to get the average cost per unit of production. - annual: the average cost per unit of production in a single year. Annual running costs and production are calculated for a single year. Capital - costs are divided by the lifetime of the technology to get an annualized cost. + costs are multiplied by the capital recovery factor to get an annualized cost. Total costs (annualized capital costs + running costs) are then divided by production to get the average cost per unit of production. diff --git a/tests/test_costs.py b/tests/test_costs.py index 8c0b68267..55b8dc2c5 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -1,3 +1,4 @@ +from numpy import isclose from pytest import fixture YEAR = 2030 @@ -208,14 +209,16 @@ def test_annual_to_lifetime(_technologies, _prices, _consumption): assert (_fuel_costs_lifetime > _fuel_costs).all() -def test_lcoe_scaling(_technologies, _prices, _capacity, _production, _consumption): - """Testing that LCOE is independent of input/output scaling. +def test_lcoe_flow_scaling( + _technologies, _prices, _capacity, _production, _consumption +): + """Testing that LCOE is independent of input/output flow scaling. In other words, if we change technology flows by a constant factor, the LCOE (which is a cost per unit of production) should remain unchanged. This is a bit more complicated if the variable costs are nonlinear, so we'll set - the exponent to 1 for simplicity + the exponent to 1 for simplicity. """ from muse.costs import levelized_cost_of_energy @@ -243,4 +246,37 @@ def test_lcoe_scaling(_technologies, _prices, _capacity, _production, _consumpti _consumption, method=method, ) - assert (abs(lcoe1 - lcoe2) < 1e-6).all() + assert isclose(lcoe1, lcoe2).all() + + +def test_lcoe_prod_scaling( + _technologies, _prices, _capacity, _production, _consumption +): + """Testing that LCOE is independent of production scaling. + + If all costs are linear (exponents = 1), then the LCOE should be independent of + production as long as production, consumption, and capacity are scaled together. + """ + from muse.costs import levelized_cost_of_energy + + _technologies["var_exp"] = 1 + _technologies["cap_exp"] = 1 + _technologies["fix_exp"] = 1 + + for method in ["annual", "lifetime"]: + # LCOE with original inputs + lcoe1 = levelized_cost_of_energy( + _technologies, _prices, _capacity, _production, _consumption, method=method + ) + + # Scale consumption, production, and capacity by a constant factor -> LCOE + # should be unchanged + lcoe2 = levelized_cost_of_energy( + _technologies, + _prices, + _capacity * 2, + _production * 2, + _consumption * 2, + method=method, + ) + assert isclose(lcoe1, lcoe2).all() From 35b4c285a3894523cff5f1f0712b5ced31b40a20 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 17 Dec 2024 14:14:56 +0000 Subject: [PATCH 119/121] Use pytest parametrize --- tests/test_costs.py | 104 ++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 57 deletions(-) diff --git a/tests/test_costs.py b/tests/test_costs.py index 55b8dc2c5..3369a4fb4 100644 --- a/tests/test_costs.py +++ b/tests/test_costs.py @@ -1,5 +1,5 @@ from numpy import isclose -from pytest import fixture +from pytest import fixture, mark YEAR = 2030 @@ -155,24 +155,14 @@ def test_equivalent_annual_cost( assert set(result.dims) == EXPECTED_DIMS -def test_lifetime_levelized_cost_of_energy( - _technologies, _prices, _capacity, _production, _consumption +@mark.parametrize("method", ["annual", "lifetime"]) +def test_levelized_cost_of_energy( + _technologies, _prices, _capacity, _production, _consumption, method ): from muse.costs import levelized_cost_of_energy result = levelized_cost_of_energy( - _technologies, _prices, _capacity, _production, _consumption, method="lifetime" - ) - assert set(result.dims) == EXPECTED_DIMS - - -def test_annual_levelized_cost_of_energy( - _technologies, _prices, _capacity, _production, _consumption -): - from muse.costs import levelized_cost_of_energy - - result = levelized_cost_of_energy( - _technologies, _prices, _capacity, _production, _consumption, method="annual" + _technologies, _prices, _capacity, _production, _consumption, method=method ) assert set(result.dims) == EXPECTED_DIMS @@ -209,8 +199,9 @@ def test_annual_to_lifetime(_technologies, _prices, _consumption): assert (_fuel_costs_lifetime > _fuel_costs).all() +@mark.parametrize("method", ["annual", "lifetime"]) def test_lcoe_flow_scaling( - _technologies, _prices, _capacity, _production, _consumption + _technologies, _prices, _capacity, _production, _consumption, method ): """Testing that LCOE is independent of input/output flow scaling. @@ -224,33 +215,33 @@ def test_lcoe_flow_scaling( _technologies["var_exp"] = 1 - for method in ["annual", "lifetime"]: - # LCOE with original inputs - lcoe1 = levelized_cost_of_energy( - _technologies, _prices, _capacity, _production, _consumption, method=method - ) - - # Scale inputs and outputs by a constant factor -> LCOE should be unchanged - # var_par also needs to be scaled as this relates to units of technology - # activity, not units of commodity consumption/production - _technologies_scaled = _technologies.copy() - _technologies_scaled["fixed_inputs"] = _technologies["fixed_inputs"] * 2 - _technologies_scaled["flexible_inpits"] = _technologies["flexible_inputs"] * 2 - _technologies_scaled["fixed_outputs"] = _technologies["fixed_outputs"] * 2 - _technologies_scaled["var_par"] = _technologies["var_par"] * 2 - lcoe2 = levelized_cost_of_energy( - _technologies_scaled, - _prices, - _capacity, - _production, - _consumption, - method=method, - ) - assert isclose(lcoe1, lcoe2).all() + # LCOE with original inputs + lcoe1 = levelized_cost_of_energy( + _technologies, _prices, _capacity, _production, _consumption, method=method + ) + + # Scale inputs and outputs by a constant factor -> LCOE should be unchanged + # var_par also needs to be scaled as this relates to units of technology + # activity, not units of commodity consumption/production + _technologies_scaled = _technologies.copy() + _technologies_scaled["fixed_inputs"] = _technologies["fixed_inputs"] * 2 + _technologies_scaled["flexible_inpits"] = _technologies["flexible_inputs"] * 2 + _technologies_scaled["fixed_outputs"] = _technologies["fixed_outputs"] * 2 + _technologies_scaled["var_par"] = _technologies["var_par"] * 2 + lcoe2 = levelized_cost_of_energy( + _technologies_scaled, + _prices, + _capacity, + _production, + _consumption, + method=method, + ) + assert isclose(lcoe1, lcoe2).all() +@mark.parametrize("method", ["annual", "lifetime"]) def test_lcoe_prod_scaling( - _technologies, _prices, _capacity, _production, _consumption + _technologies, _prices, _capacity, _production, _consumption, method ): """Testing that LCOE is independent of production scaling. @@ -263,20 +254,19 @@ def test_lcoe_prod_scaling( _technologies["cap_exp"] = 1 _technologies["fix_exp"] = 1 - for method in ["annual", "lifetime"]: - # LCOE with original inputs - lcoe1 = levelized_cost_of_energy( - _technologies, _prices, _capacity, _production, _consumption, method=method - ) - - # Scale consumption, production, and capacity by a constant factor -> LCOE - # should be unchanged - lcoe2 = levelized_cost_of_energy( - _technologies, - _prices, - _capacity * 2, - _production * 2, - _consumption * 2, - method=method, - ) - assert isclose(lcoe1, lcoe2).all() + # LCOE with original inputs + lcoe1 = levelized_cost_of_energy( + _technologies, _prices, _capacity, _production, _consumption, method=method + ) + + # Scale consumption, production, and capacity by a constant factor -> LCOE + # should be unchanged + lcoe2 = levelized_cost_of_energy( + _technologies, + _prices, + _capacity * 2, + _production * 2, + _consumption * 2, + method=method, + ) + assert isclose(lcoe1, lcoe2).all() From 8f1333c4c92d344b7b6f95e9262194e1a6e331b5 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 18 Dec 2024 08:46:51 +0000 Subject: [PATCH 120/121] Fix timeslice level error --- src/muse/costs.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/muse/costs.py b/src/muse/costs.py index 2e0b57874..cd247af48 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -284,8 +284,8 @@ def net_present_value( ) # Calculate running costs and revenues over lifetime - _running_costs = annual_to_lifetime(_running_costs, technologies) - revenues = annual_to_lifetime(revenues, technologies) + _running_costs = annual_to_lifetime(_running_costs, technologies, timeslice_level) + revenues = annual_to_lifetime(revenues, technologies, timeslice_level) # Net present value result = revenues - (_capital_costs + _running_costs) @@ -442,8 +442,10 @@ def levelized_cost_of_energy( # If method is lifetime, have to adjust running costs and production if method == "lifetime": - _running_costs = annual_to_lifetime(_running_costs, technologies) - prod = annual_to_lifetime(prod, technologies) + _running_costs = annual_to_lifetime( + _running_costs, technologies, timeslice_level + ) + prod = annual_to_lifetime(prod, technologies, timeslice_level) # LCOE result = (_capital_costs + _running_costs) / prod From ed7f534b1a82d333e8b5050b77eca5fc6a11bca8 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 18 Dec 2024 17:15:55 +0000 Subject: [PATCH 121/121] Check that the "commodity" dimension is absent from cost outputs --- src/muse/costs.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/muse/costs.py b/src/muse/costs.py index cd247af48..21bb21a53 100644 --- a/src/muse/costs.py +++ b/src/muse/costs.py @@ -69,6 +69,7 @@ def cost(func): def wrapper(*args, **kwargs): result = func(*args, **kwargs) assert "year" not in result.dims + assert "commodity" not in result.dims assert "timeslice" in result.dims return result