Veda2.0 Released!


Detail questions on the ~Milestoneyears definition
#1
Question 
Dear VEDA team,

I have inheritated a TIMES model and try to understand it. But I do not fully understand the milestoneyear definition used in it. I have checked the TIMES/VEDA documentation but couldn't find an exact definition of the ~Milestoneyears table, either. My SysSettings file looks like the image attached.

As far as I understand, the ~TimePeriods table is commented out, so the selection under ~ActivePDef is invalid. But is ~ActivePDef even used by VEDA or is it only a legacy keyword?

Then under ~Milestoneyears, a number of period definitions are defined. But I don't understand what periods result from these milestone years. For instance, in msy08_2055, the milestone years are 2020, 2025, 2030, 2035, 2040, 2045, 2050 and 2055 and the ~StartYear is 2020. From figure 5 (p. 21) in Part II of the documentation I read that the first period is only one year (2020 in this case). The other milestone years in that figure are always centered in their periods. So the milestone year 2030 belongs to the periond 2028/29/30/31/32, milestone year 2035 belongs to 2033/34/35/36/37, and so on. But what about the second period, the one with milestone year 2025? Does it cover 2021/22/23/24/25/26/27?

And what about the endyear? If it is not defined (as in my example), I assume VEDA creates a symmetric last period so that the last period of msy08_2055 would be 2053/54/55/56/57 with milestone year 2055? What if I explicitly defined endyear as 2055? Would the last period be 2053/54/55 then?

And then lastly, while browsing the documentation, I found that there are two versions of TIMES. One with constant activity per period and one with linear interpolation (see figure 5.1 on p.55 in Part I of the documentation). How do I know which one is used in my case?

If I missed something in the documentation, please guide me to the applicable sections. Otherwise I am grateful for any insights! :-)

Best regards,
a TIMES newbie


Attached Files Thumbnail(s)
   
Reply
#2
I am not a VEDA expert, but can give quick answers to some of the questions, and correct the misinformation.

> From figure 5 (p. 21) in Part II of the documentation I read that the first period is only one year (2020 in this case).

This is misinformation based on misunderstanding: The Figure gives only an example of a period definition. The periods lengths are not fixed to those shown in that figure, but can be defined by the user.

For the Objective function variants (and the related period definition variants), see TIMES-Objective-variants. The LIN option is also explained there, but it has not been actively developed (or regression-tested) in recent years.  The STD and MOD options are therefore the mostly used variants. The ~Milestonyears table works well with the OBJ=AUTO setting, letting TIMES to choose between STD and MOD, depending on whether the periods are valid for STD or not. If you want to ensure milestone years being centered in their periods, you should re-activate the ~TimePeriods table and deactivate the ~Milestonyears table. Endyear simply defines the last year of the model horizon, and thus extends the last model period up to that year.
[+] 1 user Likes Antti-L's post
Reply
#3
Quote:For the Objective function variants (and the related period definition variants), see TIMES-Objective-variants. The LIN option is also explained there, but it has not been actively developed (or regression-tested) in recent years.  The STD and MOD options are therefore the mostly used variants. The ~Milestonyears table works well with the OBJ=AUTO setting, letting TIMES to choose between STD and MOD, depending on whether the periods are valid for STD or not.


Thanks for the info! I found the OBJ options in the VEDA interface now. So, for the inexperienced user, you would recommend using OBJ=AUTO and OBLONG=TRUE?

Quote:If you want to ensure milestone years being centered in their periods, you should re-activate the ~TimePeriods table and deactivate the ~Milestonyears table. Endyear simply defines the last year of the model horizon, and thus extends the last model period up to that year.


I understand that ~TimePeriods is more straightforward to use, but I would still like to also understand how ~Milestoneyears works. In my example with milestoneyears=[2020, 2025, 2030, 2035, 2040, 2045, 2050, 2055] and startyear=2020, what are the resulting periods? Particularly, which years are included in the first, second, and last period?
Reply
#4
> I understand that ~TimePeriods is more straightforward to use [...]

Well, that is debatable. In my view it is the opposite: I think it is easier to define periods with the desired Milestone years by using ~Milestoneyears. With ~TimePeriods it may even be impossible to define periods with the desired Milestone years (which is easy to see), and when possible, it may often result in undesirable fluctuation in the length of periods, which may also make the marginals more volatile.

> but I would still like to also understand how ~Milestoneyears works.

It was actually explained in the document referred to above.
When using the ~Milestoneyears table, the periods are defined using the approach under the MOD option. Quotes from the document below:
-------
  • MOD – Modified objective formulation (minimal consistent modifications for achieving smoother periods and investment spread);

In the MOD formulation, milestone years no longer need to be in the middle of their periods. Instead, B(t) and E(t) are internally defined, so that the periods turn halfway between the milestone years. Therefore, only the first B(t) and the last E(t) need to be specified by user. B(t) and E(t) are defined in the following way:
   E(t) = FLOOR((M(t)+M(t+1))/2), for all i = 1,...,T–1
   B(t) = E(t–1)+1, for all i = 2,...,T
where M(t) is the milestone year of period t.
-------
Under VEDA, ~Startyear defines B(t1) for the first period (milestone t1), and the endyear specified under ~Milestoneyears defines E(tN). When left undefined, E(tN) is automatically set such that M(tN) is in the middle of the last period (milestone tN).

> In my example with milestoneyears=[2020, 2025, 2030, 2035, 2040, 2045, 2050, 2055] and startyear=2020, what are the resulting periods? Particularly, which years are included in the first, second, and last period?

The years in the first period are B(t1),...,E(t1), in the second period they are B(t2),...,E(t2), and in the last period they are B(tN),...,E(tN).  You can immediately see that in your example, B(t1)=2020, E(t1)=2022, B(t2)=2023, E(t2)=2027, B(tN)=2053 and E(tN)=2057. However, if you would set B(t1)=2018, you would get all periods with equal length D(t)=5, with complies with the standard formulation (milestone year always at center of period).

> So, for the inexperienced user, you would recommend using OBJ=AUTO and OBLONG=TRUE?

Yes. And the formulation is economically consistent regardless of using either approach (STD/MOD) for model periods.
[+] 2 users Like Antti-L's post
Reply
#5
Ah, yes. Great, thanks a lot for your explanations! :-)
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Two questions:PASI and vintage Ryo Ishida 4 615 27-10-2024, 06:50 PM
Last Post: Ryo Ishida
  Observations & Questions Antti-L 10 3,287 29-08-2023, 08:39 AM
Last Post: AKanudia
  How to use ~MileStoneYears Table to declare an “EndYear” for each period? YuFeng 7 3,661 11-05-2023, 07:16 AM
Last Post: YuFeng
  Questions about Migration gspeed 5 3,985 09-02-2022, 08:56 AM
Last Post: AKanudia
  Set definition Kristina.Haaskjold 3 2,628 05-01-2022, 04:38 PM
Last Post: AKanudia
  Questions on counts, merging capacities, multiple outputs H.yu 8 7,211 08-10-2021, 12:47 AM
Last Post: H.yu
  Items Detail Bug zhangshu 13 12,513 22-06-2021, 11:27 PM
Last Post: Ravinder
  Items detail bug Mahmoud 3 3,592 05-05-2021, 07:27 PM
Last Post: AKanudia
  Own Sets definition JozefO 2 3,313 01-04-2021, 06:37 PM
Last Post: JozefO
  TFM_TOPINS questions james 6 5,923 25-03-2021, 06:07 PM
Last Post: james

Forum Jump:


Users browsing this thread: 1 Guest(s)