pypsa-meets-earth / pypsa-earth

PyPSA-Earth: A flexible Python-based open optimisation model to study energy system futures around the world.
https://pypsa-earth.readthedocs.io/en/latest/
233 stars 190 forks source link

Normalization issue when computing hydro resources #759

Closed carlosfv92 closed 2 weeks ago

carlosfv92 commented 1 year ago

Checklist

Describe the Bug

When running scenarios with custom powerplants for a specific country (Bolivia), hydro availability potential is overestimated compared to the fixed EIA data (normalization: method: eia). The problem was tracked down to the normalization process, which is done by region/bus in which the normalized inflow is assigned to represent its availability. Given that each region might have several hydro power plants (Bolivia does, which is why we found the issue), the following computations assume the same normalized value for each of them. Afterward, when computing the potential of a region, the aggregated values are significatively larger (proportional to the number of hydropower plants existing in each region). At the moment, to "solve" the issue, we decided to "manually" provide some adapted inflow availabilities to each powerplant. However, an idea that seems to have sense is to add an additional step (function) before the designation of the p_max_pu in the add_electricity rule and reassign inflow values divided based on the number of powerplants recognized in the base_network (still exploring the solution). If I'm not mistaken, @hazemful was tackling the issue in one of the periodic meetings however, I thought it might be useful to have the issue posted (just to keep track of it and/or at least corroborate that the hunch I was thinking of would be worth exploring).

<paste here>
hazemakhalek commented 1 year ago

Hi Carlos. Thank for posting about this. I did fix the issue (still locally) with a similar approach. The keyword in my solution is to do the normalization proportionally to the size of the hydro power plant. I will issue a PR soon and we can discuss it in the next call

davide-f commented 11 months ago

Hello @carlosfv92 , I believe this is an old issue, can you confirm? If so, feel free to close it

carlosfv92 commented 11 months ago

Huh... I'm not entirely sure if this was dealt with. I mean, the simple way to fix it is in the comment (to just manually adapt the availability values according to local information), but I haven't really tackled it after posting the issue. I was waiting for the PR that was mentioned and I totally forgot about it :/