Problems to represent an existing technology
- Dominant language
- Jupyter Notebook
- Stars
- 150
- Forks
- 178
- Avg merge
- 17h 32m
- Merged PRs (30d)
- 2
Description
Hi everyone. I hope you are doing fine.
I am facing some issues to represente an existing technology. It would be a technology that is already active with unique parameters related to itself.
So this technology has a historical new capacity and it will be installed for the first vintage year, but cannot be expanded.
For instance let's take a model with 2010 as historical and 2015 and 2020 as model horizon
This technology must have as vintage solely 2010, because it cannot be commissioned in the following years.
However if I set it defining only technical lifetime for 2010 the model complaints about technical lifetime definition
The issue is because the model check the technical lifetime for all inv_tec and for the whole model horizon.
I believe it matches an old issue raise by @OFR-IIASA at https://github.com/iiasa/message_ix/issues/137
```
* check that the economic and technical lifetime are defined and consistent for all investment technologies
loop((node,inv_tec,model_horizon)$( map_tec(node,inv_tec,model_horizon) ),
if ( technical_lifetime(node,inv_tec,model_horizon) <= 0 ,
put_utility 'log'/" Error: Technical lifetime not defined for '"node.tl:0"|"inv_tec.tl:0"|"model_horizon.tl:0"' !" ;
check = 1 ;
) ;
) ;
if (check,
abort "There is a problem with the definition of the technical lifetime!" ;
) ;
```
In that case it is not possible to run the model because it demands technical lifetime information for the existing technology for years 2015 and 2020, considering the previous example.
If I try to not set investment parameters for this technology it will not be taken into account into many other equations regarding capacity, then it will not respect the CAPACITY_MAINTENANCE_HIST for example.
I am wondering if there is a work around solution without changing the equations.
All the Best
Fabio A. Diuana
message_ix.__version__
Out[10]: '3.0.2.dev20+g937c247'
ixmp.__version__
Out[7]: '3.0.1.dev44+gddbe600'
Contributor guide
Research direction
The issue identifies the technical_lifetime validation loop and the CAPACITY_MAINTENANCE_HIST-related equations as entry points. Reproduce the example with 2010 as historical and 2015/2020 as the model horizon, then inspect how existing technologies are represented when investment parameters are absent. Done means the behavior and a supported workaround or change are established.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100