Functional Architecture

From EMK Wiki
Revision as of 08:15, 20 November 2012 by Sisep (talk | contribs) (→‎The Run)
Jump to navigation Jump to search

This section describes the components which make EMarket work.

Functional Components

  1. Four 'Calculation Engines:'
    1. Water Value calculation module
    2. Dispatch module (SPD simulation)
    3. Short term river chain optimisation module
    4. Company optimisation module
  2. A 'Volatility Engine' which includes:
    1. A Volatility Matrix (incorporating inflow variability)
    2. A Monte Carlo series Generator
  3. A scripting language which includes:
    1. A script editor (effectively the EMarket user interface)
    2. A script interpreter (controls the system operation) the scripting language underlies all EMarket operations. It is used to:
      1. Describe the characteristics of all Resource Instances
      2. Control and coordinate the operation of the calculation and volatility engines
      3. Control the production and formatting of output data

The script for a complete EMarket working environment is contained in the Resources.txt file stored in the Data folder of the associated Working Directory. With a copy of this script it is possible to recreate the same working environment on a different computer running EMarket and produce the same Forecast Results. However to reproduce exactly the same Forecast Data on a different computer with a script, both computers must be running the same version of EMarket and be using the same Demand and Inflow data. Differences in Forecast output may also occur if the associated Run Definition relies on randomly seeded unit outages or data series created by the Monte Carlo Generator.

The Run

A Run is a unique execution of the EMarket model. It produces Forecast distributions of electricity market data from a set of pre-defined modelling assumptions. After production the Forecast data may be used as input into a risk management system for risk assessment or analysed in conjunction with data from other Runs to investigate interesting aspects of the electricity market. The Run uses a Run Definition to identify which input data to use and what form output data is to take. The Run is completely specified by the modelling and data formatting Resources assigned to it in the Run Definition.

A typical EMarket Run has three stages:

  1. Water Values Calculation
  2. Dispatch case solution (iterative)
  3. Run finalisation

Calculating Water Values

Water Values are used to derive Hydro System Offers at any stage of a Run, based on:

  • Reservoir storage levels
  • The Offers (marginal costs) of thermal Generators
  • The potential reservoir inflows

Typically Water Values are calculated in a single preliminary step at the start of a Run. However, it is possible pre-calculate Water Values as an independent operation, and to instruct EMarket to use these Water Values at run time.

Iterative Dispatch

Once equipped with a set of Water Values and a valid Definition the Run progresses to solving a series of dispatch cases. Each case requires a single execution of the dispatch engine (and may include execution of the short term river chain optimisation, volatility and Company optimisation engines). A single case represents a basic unitary time period, called a Tick, which can range in duration from one half hour to one week. In most instances Forecast data produced by the Run will contain one value per Entity.Trait per Tick. The Tick duration and number of ticks (Forecast duration) for a Forecast are determined in the Run Window.