electricity grid and forecasts

Use this forum to post Vensim related questions.
Post Reply
johan
Junior Member
Posts: 6
Joined: Thu Oct 30, 2008 12:36 pm

electricity grid and forecasts

Post by johan »

Dear all,

I'm trying to model some aspects of an energy distribution grid, especially the interaction between prognoses and real time usage of the grid.

As an Introduction:
In the german grid people announce their schedules a day in advance. To do this they need a forecast. The real time consumption differs - of course. The anounced schedule has to be scheduled with the power generators, or with the Transmission System Operator.

This gives me the following modeling problem:
I've got a model with an hourly time setting.
I've got an hourly standard profile, which I have to multiply with the number of households and an average consumption factor to get the expected load from this household. This profile is stored in a .dat file, and imported.

Now I want to schedule this forecast every day for the next day. 24 hours with a value for each hour. I do this in two steps: I make a forecast, and then I make a schedule . (These two will differ in a future version of the model.) Forecast and schedule have a lookup like structure.

In time, I have these actions:
day 1 11:00 I make my forecast (variable 1) for day 2.
day 1 14:00 I make my schedule (variable 2) for day 2 from my forecast (variable 1).
day 2 00:00 I make the forecast (variable 2) to 'todays_forecast' (variable 5).
day 2 01:00 I have an actual usage (variable 3) and want to calculate the difference (variable 4) to the first value of the forecast (variable 5).
day 2 02:00 I have an actual usage (variable 3) and want to calculate the difference(variable 4) to the second value of the forecast (variable 4).
.
.
.
day 2 11:00 I have an actual usage (variable 3) and want to calculate the difference (variable 4) to the eleventh value of the forecast (variable 5).
day 2 11:00 I make my forecast (variable 1) for day 3.
.
.
day 2 14:00 I have an actual usage (variable 3) and want to calculate the difference(variable 4) to the fourteenth value of the forecast (variable 5).
day 2 14:00 I make my schedule (variable 2) for day 3 from my forecast (variable 1).
.
.
day 2 24:00 I have an actual usage (variable 3) and want to calculate the difference(variable 4) to the 24th value of the forecast (variable 5).

Now I am thinking how I can realize this? How do I declare and use especialy variables 1, 2 and 5? (A simpler version of the model without these 'batchlike' schedules works) I guess I have to use some table-like data structure. A lookup would be fine but I am not so sure how to adapt the lookup dynamically and time based.

Lots of thanks in advance,
Joahn Steunenberg
LAUJJL
Senior Member
Posts: 1427
Joined: Fri May 23, 2003 10:09 am
Vensim version: DSS

Forecasts

Post by LAUJJL »

Hi Joan

People generally spend a lot of time modelling their own problems and do not have a lot of time bothering with others especially if they have no knowledge of the problem. This is what I have noticed since I use SD.
So if you want to have a chance to get some help, you must first try to simplify your problem to the utmost and you may interest some people at the condition that it is easy to understand and that they are not too tired or too lazy.
Regards.
JJ
johan
Junior Member
Posts: 6
Joined: Thu Oct 30, 2008 12:36 pm

I thought about that, but..

Post by johan »

Hi JJ,

I thought about that, but I hoped I could get a hint on what data structure to use. The alternative is that I start rather directionless, and ask help on eg. lookups, just to discover that a lookup is not the solution and come back to ask about some othervariable type.

But in the end, I'm the one who will be learning, so no problem :-)

I'll get back with a much morespecific problem. Thanks for your answer,

Johan
LAUJJL
Senior Member
Posts: 1427
Joined: Fri May 23, 2003 10:09 am
Vensim version: DSS

Forecasts

Post by LAUJJL »

Hi Joan

You must simplify your problem even to a point that it is rather far from the reality but possible to build taking into account your capability or the help you can get from other people. This is realism. You exchange the possibility to do something against the quality of that something. After that first experiment, you will have progressed in knowledge and be able to make further choices. Do not try to imagine these further choices. Just work on your first simple model and learn.
The difficulty in SD is to chose the right development path and this is a question of experience. Unexperienced people
do not know what development path to chose and in what timing to accomplish it. It is like climbing a mountain. You have to chose a path and define the time and effort necessary.
Regards.
JJ
bob@vensim.com
Senior Member
Posts: 1107
Joined: Wed Mar 12, 2003 2:46 pm

Post by bob@vensim.com »

Hi Johan,

I am also a little bit confused by what you want. Generally the simplest and most robust way to do a forecast is to use s SMOOTH function. If you want to have this function vary by hour of the day you can either subscript by hour of the day and have 24 parallel smooths looking something like

expected demand[HourOfDay] = INTEG(
IF THEN ELSE(MODULO(Time,24)+1=HourOfDay,
(demand-expected Demand[HourOfDay])/(time to smooth demand)/24),
0),
initial expected demand[HourOfDay])

alternatively you can use

normalized demand = demand/demand profile(MODULO(Time,24))
expected normalized demand = SMOOTH(demand,time to smooth demand)
expected demand = expected normalized demand*demand profile(MODULO(Time,24))

which is simpler.

Hope that helps.
johan
Junior Member
Posts: 6
Joined: Thu Oct 30, 2008 12:36 pm

Post by johan »

Hi Bob,

I will give SMOOTH a closer look. I especially will have to look at your [] notation, as I did not encounter arrays yet in Vensim.

I'll get back with very specific questions instead of a long description.

Thanks,
Johan
Post Reply