Skip to content

4. Input parameters

Samuel edited this page May 30, 2021 · 1 revision
  • ASAM simulations require a set of input data.
  • Most simulation data is provided in a .xlsx file with several tabs. Here you can find a template.
  • The input parameters are described per .xlsx tab below.
  • Next to the .xlsx file, there maybe a need for a .h5 file, which contains pdf kernels of the imbalance price. This file is required when the imbalance price determined based on a random draw from a conditional probability density function. Please consult this publication for more information. Here you can find a template.

Simulation task

parameter value description
simulation_name string name of simulation
start_day integer start day of simulation
start_MTU integer {>0, <= 96} start MTU of simulation
number_steps integer {>0, <= 96} number of simulation steps
run_RDM[y/n] string {y, n} include redispatch in simulation (yes/no)
run_IDM[y/n] string {y, n} include intra-day market in simulation (yes/no)
run_DAM[y/n] string {y, n} include day-ahead in simulation (yes/no)
run_IBM[y/n] string {y, n} include imbalance in simulation (yes/no)
run_BEM[y/n] string {y, n} include balancing energy market in simulation (yes/no)
seed {None, integer} if not none, the randomness is hold steady to make simulations better comparable
forecast_errors string {exogenious, from_scenario} exogenious: forecast errors are provided in excel tab 'forecast errors
from scenario: forecast errors are included in da_residual_load time series dataframe
congestions string {exogenious, from_scenario} exogenious: congestions are provided in excel tab congestions
from scenario: congestions are included in da_residual_load time series dataframe
residual_load_scenario string {scenario name of da_residual_load tab,flat_resload_profile, 24h_residual_load_profile} scenario name of da_residual_load tab: residual load time series used
flat_resload_profile: 80% system generation capacity used as constant day-ahead residual load.
24h_residual_load_profile: hard-coded profile between 60 and 90% of system generation capacity
save_intermediate_results[y/n] string {y, n} if yes: save all market statistics of intermediate simulation steps
plots_during_simulation string {at_end, every_step, every_change} When (and how often) to plot simulation results
solver_name string {cbc, glpk, gurobi, cplex} solver name supported by PyPSA and installed on your machine or server

Portfolios

parameter value description
asset_name string e.g. asset_1
asset_owner string e.g. market_party_1
energy_source string e.g. Fossil Gas / B04
Type string e.g. CCGT
pmax integer MW
pmin integer MW
location string name of the grid area (e.g. North, Rotterdam West, Poland)
srmc integer EUR/MWh
ramp_limit_up float p.u. pmax,
Maximum active power increase from one step to the next, per unit of the nominal power. Ignored if NaN
ramp_limit_down float p.u. pmax,
Maximum active power decrease from one step to the next, per unit of the nominal power. Ignored if NaN
ramp_limit_start_up float p.u. pmax,
Maximum active power increase from one step to the next, per unit of the nominal power. Ignored if NaN
ramp_limit_shut_down float p.u. pmax,
Maximum active power decrease from one step to the next, per unit of the nominal power. Ignored if NaN
min_down_time integer minimum number of steps down time, when shut down
min_up_time integer minimum number of steps up time, when started
start_up_cost integer Fix cost per start (EUR)
shut_down_cost integer Fix cost per stop (EUR)

Agent strategies

parameter value description
agent string{All, asset_owner} If all, same strategies for all agents. Otherwise strategies per agents must be provided in several rows.
DAM_quantity string for options see wiki page Agent Strategies
IDM_quantity string for options see wiki page Agent Strategies
RDM_quantity string for options see wiki page Agent Strategies
DAM_pricing string for options see wiki page Agent Strategies
IDM_pricing string for options see wiki page Agent Strategies
RDM_pricing string for options see wiki page Agent Strategies
IDM_timing string for options see wiki page Agent Strategies
RDM_timing string for options see wiki page Agent Strategies
IBM_quantity string for options see wiki page Agent Strategies
IBM_pricing string for options see wiki page Agent Strategies
IBM_timing string for options see wiki page Agent Strategies
BEM_quantity string for options see wiki page Agent Strategies
BEM_pricing string for options see wiki page Agent Strategies
BEM_timing string for options see wiki page Agent Strategies
ramp_limits string for options see wiki page Agent Strategies
start_stop_costs string for options see wiki page Agent Strategies
min_up_down_time string for options see wiki page Agent Strategies

Market rules

parameter value description
gate_opening_time string for options see wiki page Market Rules
gate_closure_time string for options see wiki page Market Rules
acquisition_method string for options see wiki page Market Rules
pricing_method string for options see wiki page Market Rules
order_types string for options see wiki page Market Rules
provider_accreditation string for options see wiki page Market Rules

Forecast Errors

parameter value description
identification_day integer moment (day) of identification of forecast error by agent
identification_MTU integer {>0, <= 96} moment (MTU) of identification of forecast error by agent
error_start_day integer start day of forecast error
error_start_time integer {>0, <= 96} start MTU of forecast error
error_end_day integer end day of forecast error
error_end_time integer {>0, <= 96} end MTU of forecast error
error_magnitude_pu float {>0 ,< 1} p.u. agent generation capacity
who string {All, asset_owner, system_e_randomly_distributed} All: same forecast error for all agents
asset_owner: forecast error for specific agent
system_e_randomly_distributed: a system forecast error is randomly distributed among agents

Congestions

parameter value description
identification_day integer moment (day) of identification of congestion by grid operator
identification_MTU integer {>0, <= 96} moment (MTU) of identification of congestion by grid operator
congestion_start_day integer start day of congestion
congestion_start_time integer {>0, <= 96} start MTU of congestion
congestion_end_day integer end day of congestion
congestion_end_time integer {>0, <= 96} end MTU of congestion
redispatch_quantity integer MW
down_area string grid area name
up_area string grid area name

Day-ahead residual load

parameter value description
scenario string scenario name provided as residual_load_scenario in simulation_task
delivery_day integer day of delivery
delivery_hour integer {>0, <= 24} hour of delivery
delivery_time integer {>0, <= 96} MTU of delivery
residual_load_DA float {>=0 ,< 1} day-ahead residual load (load minus expected renewable energies generation) in p.u. of system generation capacity
load_DA_cor float {>=0 ,< 1} day-ahead load (load minus expected renewable energies generation) in p.u. of system generation capacity
asset_availability float {>=0 ,< 1} Optionally assets_name may be added here with their availability between 0 and 1 p.u. (pmax). However, this is only needed for assets which have unavailabilities within the scenario.

Opportunity_costs

parameter value description
price_data string {IB_price_short, IB_price_long} name of the imabalance price
DAP_left_bin integer day-ahead price bin, lower bin edge
DAP_right_bin(excl) integer day-ahead price bin, upper bin edge (excluded)
K-value integer K-value is the fundamental cost (typically srmc) of an asset
Opp_costs_for_K float opportunity cost (EUR/MWh) of asset with cost K and day-ahead price within DAP bin
bin_exp_value float expected value of imbalance price (EUR/MWh) for given DAP bin

Clone this wiki locally