Reposting a question from metasd.com:
How do I add a variable that tracks the “age of a stock”? I am looking at an energy system dynamics model where tax incentives are offered for the first 10 years of an installed capacity operation. I have stock representing the installed capacity but need to setup an IF-THEN restriction for the tax credit (IF age of the installed capacity <=10 years, tax credits is X, otherwise is 0).
For example, if a capacity is installed in 2026, the tax credit will be applicable until 2036, and for capacity installed in 2033 the tax credit will apply until 2043.
Tracking stock attributes
Tracking stock attributes
/*
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Re: Tracking stock attributes
I think the best option is to disaggregate the capacity stock into incentivized and older components. For example:
There are two versions here. The top copy uses a standard first-order outflow on the stock of new incentive-eligible capacity. That may be appropriate for some uses, but it won't match an accounting system for real projects (it has too much early outflow, and a long tail).
The lower copy uses DELAY FIXED for the outflow, to match what's more likely to occur with a fixed eligibility period. If there's also leakage (early retirement), you could use DELAY CONVEYOR or one of the other delay functions.
It's also possible to use the QUEUE functions, but that's likely to be overkill.
There are two versions here. The top copy uses a standard first-order outflow on the stock of new incentive-eligible capacity. That may be appropriate for some uses, but it won't match an accounting system for real projects (it has too much early outflow, and a long tail).
The lower copy uses DELAY FIXED for the outflow, to match what's more likely to occur with a fixed eligibility period. If there's also leakage (early retirement), you could use DELAY CONVEYOR or one of the other delay functions.
It's also possible to use the QUEUE functions, but that's likely to be overkill.
/*
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Re: Tracking stock attributes
Thank you very much Tom for the suggestion and detailed response!! This is a great solution. The first option will work for my model purpose since I am trying to understand higher-level possibilities for capacity build and deployment between now and 2050 given various factors affecting energy technology deployment. The second option is great, just like you said, for folks who may be developing a more detailed SD model to represent more precise cash flows.
Re: Tracking stock attributes
Great. Another place this comes up a lot is in tracking bonds and mortgages. There's usually a mix of terms, which makes the simpler first-order version attractive for strategic models, as in your case.
/*
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/