Demand override when working in vSPD 3.10 and GAMS

  • 435 Views
  • Last post 10 October 2024
MikeOS posted this 25 June 2024

Kia ora koutou, I'm new to vSPD and haven't used GAMS since the 90s but have been impressed with what I have seen so far workign with vSPD and GAMS in the last couple of months. I'm wondering if there is an example of the format for demand override GDX file? We exported i_tradePeriodNodeDemand into Excel, removed the columns for the nodes we weren't changing, changed the values for the nodes we were changing and then imported this data as ovrd_tradePeriodNodeDemand into a new GDX file. We pointed to this using vSPDsettings.inc but are getting errors:

Symbol not in GDX

I think I'm misunderstanding how to specify overrides so any help is very welcome. Nga mihi nui in advance for any help! Noho ora mai, Mike

 

  • Liked by
  • Isaac_Severinsen
Order by: Standard | Newest | Votes
Isaac_Severinsen posted this 08 October 2024

Hi Mike,

 

Just wondering if you or anyone else managed to get overrides working?

Without vSPD online or an excel tool it seems difficult to create overrides especially without a template. Any kind readers willing to provide an example file?

 

Cheers,

Isaac

 

Tuong Nguyen posted this 09 October 2024

Hi Mike,

To ensure the override.gdx file works correctly, it needs to include all the default symbols for proper functionality.

Symbol Overview

  • demandOverrides(dim1, dim2, dim3): Used to override i_tradePeriodNodeDemand, which represents demand data.
  • energyBidOverrides(dim1, dim2, dim3, dim4): Overrides i_tradePeriodEnergyBid, representing energy bid data.
  • dispatchableEnergyBidOverrides(dim1, dim2): Overrides i_tradePeriodDispatchableBid, representing dispatchable energy bid data.
  • energyOfferOverrides(dim1, dim2, dim3, dim4): Overrides i_tradePeriodEnergyOffer, representing energy offer data.
  • fastILRofferOverrides(dim1, dim2, dim3, dim4): Used to override i_tradePeriodFastILROffer, representing fast ILR offer data.
  • sustainedILRofferOverrides(dim1, dim2, dim3, dim4): Overrides i_tradePeriodSustainedILROffer, representing sustained ILR offer data.
  • fastPLSRofferOverrides(dim1, dim2, dim3, dim4): Overrides i_tradePeriodFastPLSROffer, representing fast PLSR offer data.
  • sustainedPLSRofferOverrides(dim1, dim2, dim3, dim4): Used to override i_tradePeriodSustainedPLSROffer, representing sustained PLSR offer data.
  • fastTWDRofferOverrides(dim1, dim2, dim3, dim4): Overrides i_tradePeriodFastTWDROffer, representing fast TWDR offer data.
  • sustainedTWDRofferOverrides(dim1, dim2, dim3, dim4): Overrides i_tradePeriodSustainedTWDROffer, representing sustained TWDR offer data.
  • offerParameterOverrides(dim1, dim2, dim3): Used to override i_tradePeriodOfferParameter, representing offer parameter data.

Important Notes

  1. All Eleven Symbols Required: Even if some symbols are not used for overriding, empty symbols must still be included in the override.gdx file for compatibility.
  2. Example File: For reference, you can check the excelOverrides.gdx file in the directory ..\vSPD-master\Override\ in vSPDv3.0.4. (https://www.emi.ea.govt.nz/Content/Tools/vSPD/vSPDv3.0.4.zip)
  3. Understanding Dimensions: For the demandOverrides(dim1, dim2, dim3) symbol:
    • dim1: Trading period (e.g., TP1 .. TP50) or specific datetime (e.g., 01-APR-2020 07:30).
    • dim2: Node (e.g., ALB0111) or island (NI or SI).
    • dim3: Can be scale, increment, or value (in your case, use value).

For additional details on the dimensions of each symbol, you can refer to the vSPDoverrides.gms file.

Hope this helps clarify the structure and requirements!

Cheers,
Tuong Nguyen
Principal Analyst - Electricity Authority - Te Mana Hiko

  • Liked by
  • Isaac_Severinsen
MikeOS posted this 09 October 2024

Kia ora Isaac and Tuong,

To get this to work I changed vSPDsettings.inc to point to the override file:

$setglobal vSPDinputOvrdData             'TRWOverrides'  ! Name of override file

and this file contained definitions for all the overrides, but just data for the changes I wanted to make, e.g., I only wanted to scale the demand, but nothing else. Pics to follow.

Hope this helps, Mike

 

  • Liked by
  • Isaac_Severinsen
MikeOS posted this 09 October 2024

 

Tuong Nguyen posted this 10 October 2024

Hi Mike,

In case of using "scale", please note that the scale = 1 --> no change. In your case, scale  = 0.1 --> the new demand  = the original demand * 0.1.

Cheers

Tuong

Isaac_Severinsen posted this 10 October 2024

Hi Both,

 

Thanks for the help.

Curiously mine still seems to have issues, perhaps its a different version as it seems to use snake case rather than camel case.

Any help would be appreciated.

 

Isaac

 

 

Isaac_Severinsen posted this 10 October 2024

I have figured it out for any reading this later down the line. Here is what the file should look like.

You can generate a template one from the excel file: vSPD\vSPD_Overrides\vSPD_Overrides.xlsx

 

Tuong Nguyen posted this 10 October 2024

Hi Issac,

Sorry for wasting your time. I did not know that you are talking about different vSPD version. Otherwise, I could have told you about the feature you just discovered.

Note that:

Your vSPD version is different from the version that Mike is using so you overrides file can't be applied in vSPD version that Mike is using.

Your vSPD vesion applied for real0time pricing (starting dome 2022-11-01 to present).

Mike's vSPD verision only apply for final pricing data (data up to 2022-10-31).

Cheers

Tuong Nguyen