KTH-dESA / OSeMOSYS_step

Scripts to conduct myopic runs with OSeMOSYS models
MIT License
0 stars 2 forks source link

Residual Capacity + NewCapacity #55

Closed HauHe closed 1 year ago

HauHe commented 1 year ago

Hi @trevorb1, I have gone through the results. I can't explain all differences, but I see that it seems like the NewCapacity of RHO, I don't know if others as well, from step 0 is not passed on to step1, this makes the model at the beginning of step1 install the amount that is missing. Not sure why this capacities are not passed on.

HauHe commented 1 year ago

An in the last step, which with a step length of 5 years is in Utopia the year 2010, the NewCapacities from the previous steps have not been added, therefore and since the originial ResidualCapacity in 2010 was 0, the ResidualCapacity is 0. The model then instead of going with RHO (diesel heater) installs RHE (electric heating) in 2010

HauHe commented 1 year ago

For the later error I spotted the problem. The while condition should be next_step < num_steps +1 and not next_step < num_steps otherwise the NewCapacity is not added to the ResidualCapacity in the last step.

HauHe commented 1 year ago

Could the error between step_0 and step_1 be related to the counting of the steps? In main.py step comes from a tqdm function (line 185). I tested and it starts with 0. I think this is how it should be.

HauHe commented 1 year ago

I might have found the reason why the results from step 0 are not passed on to step 1. On the develop branch in main.py in line 477 we check if there are options in the next step. Then comes the if clause in case there are no option. Or the else condition, i.e., if there are options. But in the else condition we have a for loop over options, but that are the options of the current step. Shouldn't that be the options of the next step? At least in the case of step 0, the problem is that there are no options, but since step 1 has options we land in the else conditions, where we then can't loop over the options since step 0 doesn't have options. Hence, the merging of original ResidualCapacity in Step 1 and NewCapacity from the results of step0 is skipped.

HauHe commented 1 year ago

Hi @trevorb1, sorry just realised that I didn't tag you in the previous comment yesterday

HauHe commented 1 year ago

Fixed