windnode / WindNODE_ABW

Region Anhalt-Bitterfeld-Wittenberg
GNU Affero General Public License v3.0
3 stars 0 forks source link

Add investment mode for lines #32

Closed nesnoj closed 4 years ago

nesnoj commented 4 years ago

As line caps are not sufficient for some scenarios with high share of RE, there's a need for grid extension.

Branch: feature/add_line_investment

Integrate extension measures and costs in #18.

nesnoj commented 4 years ago

All done, you may want to use the results in #18 @gplssm

One remaining question: Will the investment (annuity/EPC) be made per direction (twice) for each Link?

nesnoj commented 4 years ago

I tested with minimum example and invest will take place for both directions separately.

The epc_costs I used are the final costs which already incorporate the length.

The line extensions (in MW) are stored in the results scalar Series like ((('line_0', 'b_0'), 'invest'), EXTENSION1_MW) ((('line_0', 'b_1'), 'invest'), EXTENSION2_MW) and refer to the extended power (non-monetary!). Not sure if those are already exported.. Note: To avoid being counted twice, use the max of all values in both directions.

Calculate the monetary investment by either

  1. directly using the 'investment_ep_costs' from results' params_flows.csv (in €/MW, already include line lengths) multiplying with the line extensions from above or
  2. re-calculating (may be easier) the costs using length-spec. annuity from tech DF and line lengths from region.lines, again multiplied with the line extensions from above
nesnoj commented 4 years ago

Reminder: Are there Link flows in both directions at the same time?

gplssm commented 4 years ago

Isn't this already merged into dev? Can we close it? @nesnoj

nesnoj commented 4 years ago

Yes it is, but didn't close as I wanted to remind you to consider the bidirectional investment in the ex post calculations #36, see my post above. Are you finished with that?

nesnoj commented 4 years ago

Also, you wanted to check if there're flows in both directions at the same time in the Link component.

gplssm commented 4 years ago

Ok, I'll gonna do that! Not finished yet :smirk:

nesnoj commented 4 years ago

Have you checked for bidirectional flows @gplssm ?

One more question: Usually lines are not operated above a certain loading (backup capacity), e.g. 60%. I propose to neglect this issue?!

gplssm commented 4 years ago

Have you checked for bidirectional flows @gplssm ?

Took me some time to go thorugh the points... https://github.com/windnode/WindNODE_ABW/pull/75#issuecomment-663074278

One more question: Usually lines are not operated above a certain loading (backup capacity), e.g. 60%. I propose to neglect this issue?!

hmm...

nesnoj commented 4 years ago

Have you checked for bidirectional flows @gplssm ?

Took me some time to go thorugh the points... #75 (comment)

No worries, I can do it.

One more question: Usually lines are not operated above a certain loading (backup capacity), e.g. 60%. I propose to neglect this issue?!

hmm...

This could be easily done ex post, let's decide later #83.

nesnoj commented 4 years ago

Have you checked for bidirectional flows @gplssm ?

Took me some time to go thorugh the points... #75 (comment)

No worries, I can do it.

I've put a breakpoint in L375 of analysis/tools.py where the line flows are extracted from the raw data for the first time and checked with

line_flows = results_raw.loc[:,
                    results_raw.columns.get_level_values(level_flow_in).str.match(bus_pattern)
                    & results_raw.columns.get_level_values(level_flow_out).str.match(line_pattern)].add_suffix('_TO').join(
results_raw.loc[:,
                    results_raw.columns.get_level_values(level_flow_out).str.match(bus_pattern)
                    & results_raw.columns.get_level_values(level_flow_in).str.match(line_pattern)].swaplevel(i=0, j=1, axis=1).add_suffix('_BACK')
)

line_flows = line_flows.reindex(sorted(line_flows.columns), axis=1)

to have them side by side. At first glance, I cannot see any bidirectional flows, looks good.

@gplssm As you came up with this question, please close if you're fine with this approach.