Difference between revisions of "EMK:EMarket 5 Notes"

From EMK Wiki
Jump to navigation Jump to search
 
(18 intermediate revisions by the same user not shown)
Line 25: Line 25:
  
 
The length of the run defines the length of the multi-year water value. As mentioned above, the additional offers and demand need to be incorporated into the run data.
 
The length of the run defines the length of the multi-year water value. As mentioned above, the additional offers and demand need to be incorporated into the run data.
 +
 +
The Water Value Viewer has been updated to cover all the data.
 +
 +
[[File:EM5 4 Example.JPG|600px|thumb|left|EM4 EM5 comparison]]
 +
 +
Our testing and analysis of the multi-year water values showed that on an annual average basis there is almost no difference between EM4 and EM5 average prices. However on a monthly basis we experienced a lower winter price, but a higher spring/early summer price. This is a direct result of the weekly generation sampling of EM5 (rather than annual average of EM4). The model now takes into account the higher availability of plant during winter, as well as (within this particular forecast) the lower availability in the spring and early summer.
  
 
===Grid updates===
 
===Grid updates===
Line 31: Line 37:
 
Timeseries schedule elements are required to activate the lines version; The default lines version is zero.   
 
Timeseries schedule elements are required to activate the lines version; The default lines version is zero.   
 
Line:CYD2_ROX2.Version  =  Timeseries(0, '1/4/2015', 1)
 
Line:CYD2_ROX2.Version  =  Timeseries(0, '1/4/2015', 1)
(See the Transpower_DN6 schedule for more examples)
 
  
Although this feature has always been available, we have further enhanced our ability to use multiple character nodes within the grid. This allows for separate modelling of the 220, 110 and 66 KV part of the grid as well as interconnecting transformers. A demonstration grid is within the Resource file. Note the demand profile needs to be modified to match the characters in the grid.
 
  
The demonstration is still somewhat untested and may have some errors. It was created for testing purposes rather than as a proper forecast grid, although feedback on obvious errors would be welcome.  
+
Although this feature has always been available, we have further enhanced our ability to use multiple character nodes within the grid. This allows for separate modelling of the 220, 110 and 66 KV part of the grid as well as interconnecting transformers.  
  
 
As part of the grid upgrade we discovered a ‘special’ Windows feature where a hidden copy of the map was being read rather than the copy in the program files directory. If you can’t correctly read the map data when you have overwrite the one in the ‘program files’ directory, please call us and we will try and help by finding the culprit.
 
As part of the grid upgrade we discovered a ‘special’ Windows feature where a hidden copy of the map was being read rather than the copy in the program files directory. If you can’t correctly read the map data when you have overwrite the one in the ‘program files’ directory, please call us and we will try and help by finding the culprit.
Line 56: Line 60:
 
*The regions are how they are defined in the demand regions (as per EM4).  
 
*The regions are how they are defined in the demand regions (as per EM4).  
 
*Twenty four months of additional demand data is required the multi-ear water values.
 
*Twenty four months of additional demand data is required the multi-ear water values.
 +
*EMarket will calculate this formulas directly upon opening if the resource file contains the forecast data
  
 
If you don’t want to determine specific monthly values, demand can be entered as an annual time series or via a variable and the schedule. Examples are given in the resources file.
 
If you don’t want to determine specific monthly values, demand can be entered as an annual time series or via a variable and the schedule. Examples are given in the resources file.
Line 64: Line 69:
 
The output files can also be divided into years using the year function. Note that this also requires a new function is the Column or Row partition called ‘MonthofYear’ so that the correct months are allocated.
 
The output files can also be divided into years using the year function. Note that this also requires a new function is the Column or Row partition called ‘MonthofYear’ so that the correct months are allocated.
  
Examples are shown in the Resources files (‘Summary_byYear’ and’ Summary_byNode’)
+
*Reduced digits in .Csv files.
 +
You can now add a filter that will reduce to the number is digits after a decimal point. The format is ":n" after the function description: i.e. Function.Ave(Node.Price):2  would limit the result to 2 decimal places
  
 
===Command Line Emarket===
 
===Command Line Emarket===
Line 70: Line 76:
  
 
The command switches at present are;
 
The command switches at present are;
-wd <working directory> , sets the working directory in which EMarket starts up
+
*-wd <working directory> , sets the working directory in which EMarket starts up
-r <batch runs>, causes EMarket to run a batch, runs are comma delimited in the argument. Emarket will close when the batch is finished
+
*-r <batch runs>, causes EMarket to run a batch, runs are comma delimited in the argument. Emarket will close when the batch is finished
-wvo, runs the batch with the 'Water Values Only' option
+
*-wvo, runs the batch with the 'Water Values Only' option
-wwv, runs the batch with the 'Wait for Water Values' option
+
*-wwv, runs the batch with the 'Wait for Water Values' option
-vm <volatility matrix>, sets the volatility matrix fo the run and directs the results to a partial database which can be merged with other executions of the same run.  e.g. -vm "InflowYear:1940-1950,1980"
+
*-vm <volatility matrix>, sets the volatility matrix fo the run and directs the results to a partial database which can be merged with other executions of the same run.  e.g. -vm "InflowYear:1940-1950,1980"
-rb <reports batch> <run> [<minimum number of run parts>], runs a reports batch on the named run.  If the minimum number of run parts is specified then EMarket will wait until at least this number of run outputs are produced in the latest version of the run results. This option also ensures the current batch number is iterated by 1 value.
+
*-rb <reports batch> <run> [<minimum number of run parts>], runs a reports batch on the named run.  If the minimum number of run parts is specified then EMarket will wait until at least this number of run outputs are produced in the latest version of the run results. This option also ensures the current batch number is iterated by 1 value.
-?, displays this help message
+
*-?, displays this help message
 
 
The report batch should be used in all cases as it iterates the next run number when the process is complete. If it is not used then Emarket will overwrite the last run number data.
 
 
 
We have attached and example batch file (.bat) that could be used to run command line Emarket.
 
The batch file will question some variable and show others that are assumed.  You are free to edit it however you like, but if you come up with anything really clever variations we would be keen to see them.
 
 
 
Site specific things that need to be changed within the batch file are;
 
• Run directory (line 4)
 
• RunName (line 5)
 
• Reportsbatch  (line 6)
 
• Directory of Emarket (line 13)
 
• Also the Emarket file name if it has been changes (Various lines)
 
  
 
===Additional Tick Sizes===
 
===Additional Tick Sizes===
Line 107: Line 101:
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
| DN || DayNight || 2 values from 12am-8am, 8am-12am|
+
| DN || DayNight ||| 2 values from 12am-8am, 8am-12am  
 +
|-
 +
| DN6 || DayNight6 ||| 2 values from 12am-6am, 6am-12am
 +
|-
 +
| 6h || 6 hourly ||| 4 values from 12am-6am, 6am-12pm, 12pm-6pm, 6pm-12am
 +
|-
 +
| 4h || 4 hourly ||| 6 values from 12am-4am, 4am-8am, 8am-12pm, 12pm-4pm, 4pm-8pn, 4pm-12am
 +
|-
 +
| 3h || 3 hourly ||| 8 values from 12am-3am, 3am-6am etc.
 +
|-
 +
| 2h || 2 hourly ||| 12 values from12am-2am, 2am-4am etc
 +
|-
 +
| 1h || 1 hourly ||| 24 values from 12am-1am, 1am-2am etc.
 +
|-
 +
| hh || half hourly ||| 48 values from 12.00am-12.30am, 12.20am-1.00am etc.
 
|-
 
|-
*DN DayNight - 2 values from 12am-8am, 8am-12am)
+
|}
*DN6 DayNight6 - 2 values from 12am-6am, 6am-12am
 
*6h 6 hourly - 4 values from 12am-6am, 6am-12pm, 12pm-6pm, 6pm-12am
 
*4h 4 hourly - 6 values from 12am-4am, 4am-8am, 8am-12pm, 12pm-4pm, 4pm-8pn, 4pm-12am
 
*3h 2 hourly - 8 values from 12am-3am, 3am-6am etc.
 
*2h 2 hourly - 12 values from12am-2am, 2am-4am etc.
 
*1h 1 hourly - 24 values from 12am-1am, 1am-2am etc.
 
*hh Half hourly - 48 values from 12.00am-12.30am, 12.20am-1.00am etc.
 
  
 +
== Help files point to Wiki==
 +
The help files now open this Wiki rather than specific on computer help files. This wiki superceeds the previous Manual and help files.
  
  
  
 
[[EMK:Main Page | Back to EMK Main Page]]
 
[[EMK:Main Page | Back to EMK Main Page]]

Latest revision as of 10:13, 22 March 2013

EMarket 5 - Details Release Notes/Commentary

Major Enhancements

  • Multi-year water values
  • Updated grid allowing versioning of lines and 4+ digit node names
  • Demand input table
  • Additional report spec outputs
  • Command line running
  • Additional Tick sizes (1,2,3 and 6 hours)
  • Updated Profiled Generator entry allow for the new tick sizes
  • Help information is now accessed through an EMarket Wiki


Multi-year water values

With the introduction of EMK 5, multi-year runs can now be set up from one run resource and the water values are calculated over the entire forecast period in one go.

Multi-year water values are more accurate because they anticipate changes in one year that occur in the next year. The new water values have also moved away from the approach of averaging non-hydro offers over the year, which means that water values respond more to changes within years.

In creating multi-year water values, other major changes have been made in how the model interpreted the model data. The model now samples offers (generation) as an average of weekly data rather than annual average as used in EM4. This allows the future impact of significant events (large new generation or decommission) to be reflected in the water values as increasing over a period of time before the event. In EM4 this effect depended on when during the year it occurred, either creating a step change or average over a whole year.

However to have meaning at the end of the water value period, we are now required to provide additional generation and demand outside of the forecast period. At present this is 24 months but we are still investigating whether this should be longer/shorter. Any feedback on this would be welcome.

We can also expect changes at the traditional interface between years modelled with EM5. EM4 required that the water values were effectively circular (i.e. because the model could start at any date, the water values from March to April had to be the same). This is obviously no longer the case.

The length of the run defines the length of the multi-year water value. As mentioned above, the additional offers and demand need to be incorporated into the run data.

The Water Value Viewer has been updated to cover all the data.

EM4 EM5 comparison

Our testing and analysis of the multi-year water values showed that on an annual average basis there is almost no difference between EM4 and EM5 average prices. However on a monthly basis we experienced a lower winter price, but a higher spring/early summer price. This is a direct result of the weekly generation sampling of EM5 (rather than annual average of EM4). The model now takes into account the higher availability of plant during winter, as well as (within this particular forecast) the lower availability in the spring and early summer.

Grid updates

We now have the ability of ‘version’ lines. Rather than having a series of grids to represent each year, we now have one but it can have multiple copies of the same line (versioned). This allows us to upgrade a line (including resistance and reactance) by just switching version on the fly. Where lines have been aggregated, we could of example have a single line version that could simulate a line outage.

Timeseries schedule elements are required to activate the lines version; The default lines version is zero. Line:CYD2_ROX2.Version = Timeseries(0, '1/4/2015', 1)


Although this feature has always been available, we have further enhanced our ability to use multiple character nodes within the grid. This allows for separate modelling of the 220, 110 and 66 KV part of the grid as well as interconnecting transformers.

As part of the grid upgrade we discovered a ‘special’ Windows feature where a hidden copy of the map was being read rather than the copy in the program files directory. If you can’t correctly read the map data when you have overwrite the one in the ‘program files’ directory, please call us and we will try and help by finding the culprit.

Demand input table

This a request from users to create a easier way of entering monthly demand (especially now that the demand could be for multiple years).

Users now have the ability to input demand via the Monthly Demand Input table, which facilitates the specification of regional demand by month over an entire multi-year forecast.

Expected average demand rates can be entered either as average demand for week day or other day, or a single value representing average demand for a 5 week day / 2 other day week.

This input method is started using the demand button below the demand window in the main run window. Using the top table, demand can be entered either by ‘Total GWh/week’, or ‘MW average for Week Day’, or ‘MW average for OtherDay’.

Emarket calculates the other values and produces the monthly GWh totals (for checking purposes) in a table below. Once correct, click the Set Demand formulae button to write out the demand data into the run window.

A couple of thing to note;

  • Emarket doesn’t save the original data, just the formulae;
  • The calculations when entering a lot of month can be very slow, this is due to the time needed to generate the profiles for all months;
  • The entry types are all in the top window (you may have scroll down) and are defined by various colours;
  • The regions are how they are defined in the demand regions (as per EM4).
  • Twenty four months of additional demand data is required the multi-ear water values.
  • EMarket will calculate this formulas directly upon opening if the resource file contains the forecast data

If you don’t want to determine specific monthly values, demand can be entered as an annual time series or via a variable and the schedule. Examples are given in the resources file.

Additional Output Spec features

The use of a single run for outputs has the potential to result in some very large output files. To help with this we have created an extra ‘Partition’ in the OutputSpec call File. This allows an output spec to divide data up into small chunks. For example if Node is used in the File partition, then each node would be a separate output.

The output files can also be divided into years using the year function. Note that this also requires a new function is the Column or Row partition called ‘MonthofYear’ so that the correct months are allocated.

  • Reduced digits in .Csv files.

You can now add a filter that will reduce to the number is digits after a decimal point. The format is ":n" after the function description: i.e. Function.Ave(Node.Price):2 would limit the result to 2 decimal places

Command Line Emarket

This feature is designed to assist in the automation of running Emarket. It also allows the running of multiple copies of Emarket using the same resources file and demand profile.

The command switches at present are;

  • -wd <working directory> , sets the working directory in which EMarket starts up
  • -r <batch runs>, causes EMarket to run a batch, runs are comma delimited in the argument. Emarket will close when the batch is finished
  • -wvo, runs the batch with the 'Water Values Only' option
  • -wwv, runs the batch with the 'Wait for Water Values' option
  • -vm <volatility matrix>, sets the volatility matrix fo the run and directs the results to a partial database which can be merged with other executions of the same run. e.g. -vm "InflowYear:1940-1950,1980"
  • -rb <reports batch> <run> [<minimum number of run parts>], runs a reports batch on the named run. If the minimum number of run parts is specified then EMarket will wait until at least this number of run outputs are produced in the latest version of the run results. This option also ensures the current batch number is iterated by 1 value.
  • -?, displays this help message

Additional Tick Sizes

Emarket now has 4 new tick sizes. 1, 2, 3 and 6 hour ticks. Corresponding output functions have been added to the OutputSpec for reporting purposes.

Updated Profiled Generation Entry

With the new Tick sizes, we have also updated the way 'Profiled Generation' can be entered.

The generation offer table 'Quantity Profile' now varies to offer the greater range of offers sizes.

The vertial axis now has the option of

  • Month (tick box) - If ticked has a separate representation for each month
  • Day of Week - Adds all 7 days to each month
  • Week Other - Adds Week Day and Week Night to each month


The horizontal axis is by time periods ranging from

DN DayNight 2 values from 12am-8am, 8am-12am
DN6 DayNight6 2 values from 12am-6am, 6am-12am
6h 6 hourly 4 values from 12am-6am, 6am-12pm, 12pm-6pm, 6pm-12am
4h 4 hourly 6 values from 12am-4am, 4am-8am, 8am-12pm, 12pm-4pm, 4pm-8pn, 4pm-12am
3h 3 hourly 8 values from 12am-3am, 3am-6am etc.
2h 2 hourly 12 values from12am-2am, 2am-4am etc
1h 1 hourly 24 values from 12am-1am, 1am-2am etc.
hh half hourly 48 values from 12.00am-12.30am, 12.20am-1.00am etc.

Help files point to Wiki

The help files now open this Wiki rather than specific on computer help files. This wiki superceeds the previous Manual and help files.


Back to EMK Main Page