Skip to content

Commit 51c021a

Browse files
author
IlkaCu
authored
Merge pull request #287 from openego/feature/fix_neighbor
Fix electrical neighbor script again
2 parents 8f7dacc + 08399d6 commit 51c021a

1 file changed

Lines changed: 23 additions & 60 deletions

File tree

dataprocessing/sql_snippets/ego_dp_powerflow_electrical_neighbour.sql

Lines changed: 23 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1+
22
/*
33
The electricity grid model extracted from osmTGmod is limited to the German territory. This script adds border crossing
44
lines and corresponding buses and transformers to all neighbouring countries which have a direct electrical connection
@@ -10,7 +10,6 @@ __url__ = "https://github.com/openego/data_processing/blob/master/LICENSE"
1010
__author__ = "IlkaCu"
1111
*/
1212

13-
1413
DROP SEQUENCE IF EXISTS model_draft.ego_grid_hv_electrical_neighbours_bus_id CASCADE;
1514
CREATE SEQUENCE model_draft.ego_grid_hv_electrical_neighbours_bus_id;
1615
SELECT setval('model_draft.ego_grid_hv_electrical_neighbours_bus_id', (MAX(bus_id)+1)) FROM model_draft.ego_grid_pf_hv_bus;
@@ -60,7 +59,12 @@ INSERT INTO model_draft.ego_grid_hv_electrical_neighbours_bus (bus_id, cntr_id,
6059
FROM model_draft.ego_grid_pp_entsoe_bus a
6160
WHERE country NOT IN ('BE', 'NO', 'DE') AND under_construction = false AND dc = false AND symbol = 'Substation');
6261

63-
62+
INSERT INTO model_draft.ego_grid_hv_electrical_neighbours_bus (bus_id, v_nom, geom, cntr_id)
63+
SELECT nextval('model_draft.ego_grid_hv_electrical_neighbours_bus_id'),
64+
base_kv,
65+
geom,
66+
cntr_id
67+
FROM grid.otg_ehvhv_bus_data WHERE cntr_id NOT IN ('DE', 'BE', 'NO') ;
6468

6569

6670
UPDATE model_draft.ego_grid_hv_electrical_neighbours_bus
@@ -89,15 +93,6 @@ UPDATE model_draft.ego_grid_hv_electrical_neighbours_bus a
8993

9094
DELETE FROM model_draft.ego_grid_hv_electrical_neighbours_bus WHERE geom IS NULL;
9195

92-
INSERT INTO model_draft.ego_grid_hv_electrical_neighbours_bus (bus_id, cntr_id, v_nom, current_type, geom)
93-
SELECT nextval('model_draft.ego_grid_hv_electrical_neighbours_bus_id'),
94-
cntr_id,
95-
base_kv,
96-
'AC',
97-
geom
98-
FROM grid.otg_ehvhv_bus_data a
99-
WHERE cntr_id != 'DE' AND frequency = 50 ;
100-
10196
UPDATE model_draft.ego_grid_hv_electrical_neighbours_bus
10297
SET v_nom = (CASE v_nom WHEN 132 THEN 220
10398
WHEN 150 THEN 220
@@ -106,12 +101,19 @@ UPDATE model_draft.ego_grid_hv_electrical_neighbours_bus
106101
ELSE v_nom END);
107102

108103
INSERT INTO model_draft.ego_grid_hv_electrical_neighbours_bus (bus_id, v_nom, geom, cntr_id)
109-
SELECT DISTINCT ON (cntr_id, base_kv)
110-
bus_i,
104+
SELECT bus_i,
111105
base_kv,
112106
geom,
113107
cntr_id
114108
FROM grid.otg_ehvhv_bus_data WHERE cntr_id NOT IN ('DE', 'BE', 'NO') ;
109+
110+
UPDATE model_draft.ego_grid_hv_electrical_neighbours_bus
111+
SET v_nom = (CASE v_nom WHEN 132 THEN 220
112+
WHEN 150 THEN 220
113+
WHEN 300 THEN 380
114+
WHEN 400 THEN 380
115+
ELSE v_nom END);
116+
115117

116118
UPDATE model_draft.ego_grid_hv_electrical_neighbours_bus
117119
SET bus_id = (SELECT DISTINCT ON (bus_i) bus_i FROM grid.otg_ehvhv_bus_data WHERE geom = '0101000020E6100000A444C3ABCE9A254079A450D5E2F24A40' AND base_kv = 380),
@@ -156,7 +158,6 @@ CREATE TABLE model_draft.ego_grid_hv_electrical_neighbours_line
156158
CONSTRAINT neighbour_line_pkey PRIMARY KEY (line_id, scn_name)
157159
);
158160

159-
160161
ALTER TABLE model_draft.ego_grid_hv_electrical_neighbours_line
161162
OWNER TO oeuser;
162163

@@ -280,11 +281,9 @@ CREATE TABLE model_draft.ego_grid_hv_electrical_neighbours_transformer
280281
s_min double precision DEFAULT 0, -- Unit: MVA...
281282
CONSTRAINT neighbour_transformer_pkey PRIMARY KEY (trafo_id, scn_name)
282283
);
283-
284284
ALTER TABLE model_draft.ego_grid_hv_electrical_neighbours_transformer
285285
OWNER TO oeuser;
286286

287-
288287
INSERT INTO model_draft.ego_grid_hv_electrical_neighbours_transformer (trafo_id, bus0, cntr_id, v1, geom_point)
289288
(SELECT nextval('model_draft.ego_grid_hv_electrical_neighbours_transformer_id'), bus_id, cntr_id, v_nom, geom FROM model_draft.ego_grid_hv_electrical_neighbours_bus a
290289

@@ -389,26 +388,10 @@ CREATE TABLE model_draft.ego_grid_hv_electrical_neighbours_link
389388
WITH (
390389
OIDS=FALSE
391390
);
392-
391+
393392
ALTER TABLE model_draft.ego_grid_hv_electrical_neighbours_link
394393
OWNER TO oeuser;
395394

396-
397-
/*INSERT INTO model_draft.ego_grid_hv_electrical_neighbours_link (link_id, bus0, cntr_id_1)
398-
SELECT nextval('model_draft.ego_grid_hv_electrical_neighbours_link_id'), bus_id, cntr_id FROM model_draft.ego_grid_hv_electrical_neighbours_bus WHERE current_type = 'DC' AND central_bus = FALSE;
399-
400-
UPDATE model_draft.ego_grid_hv_electrical_neighbours_link a
401-
SET bus1 = (SELECT bus_id FROM model_draft.ego_grid_hv_electrical_neighbours_bus b WHERE current_type = 'DC' AND central_bus = TRUE AND )
402-
403-
404-
INSERT INTO model_draft.ego_grid_hv_electrical_neighbours_link (link_id, cntr_id_1, cntr_id_2, v_nom )
405-
SELECT nextval('model_draft.ego_grid_hv_electrical_neighbours_link_id'), country_1 , country_2, voltage FROM model_draft.ego_grid_pp_entsoe_line WHERE country_1 != country_2
406-
AND country_1 IN (SELECT cntr_id FROM model_draft.ego_grid_hv_electrical_neighbours_bus) AND country_2 IN (SELECT cntr_id FROM model_draft.ego_grid_hv_electrical_neighbours_bus) AND dc = true AND under_construction = false;
407-
408-
UPDATE model_draft.ego_grid_hv_electrical_neighbours_line a
409-
SET bus0 = (SELECT bus_id FROM model_draft.ego_grid_hv_electrical_neighbours_bus b WHERE a.v_nom = b.v_nom AND a.cntr_id_1 = b.cntr_id AND a.current_type = 'DC' AND central_bus = TRUE),
410-
bus1 = (SELECT bus_id FROM model_draft.ego_grid_hv_electrical_neighbours_bus b WHERE a.v_nom = b.v_nom AND a.cntr_id_1 = b.cntr_id AND a.current_type = 'DC' AND central_bus = FALSE);
411-
*/
412395
INSERT INTO model_draft.ego_grid_hv_electrical_neighbours_link (link_id, bus0, bus1, p_nom)
413396
VALUES (nextval('model_draft.ego_grid_hv_electrical_neighbours_link_id'), (SELECT bus_id FROM model_draft.ego_grid_hv_electrical_neighbours_bus WHERE cntr_id = 'SE' AND central_bus = TRUE AND v_nom = 450), (SELECT bus_id FROM model_draft.ego_grid_hv_electrical_neighbours_bus WHERE cntr_id = 'SE' AND central_bus = FALSE AND v_nom = 450), 600),
414397
(nextval('model_draft.ego_grid_hv_electrical_neighbours_link_id'), (SELECT bus_id FROM model_draft.ego_grid_hv_electrical_neighbours_bus WHERE cntr_id = 'SE' AND central_bus = FALSE AND v_nom = 450), (SELECT bus_id FROM model_draft.ego_grid_hv_electrical_neighbours_bus WHERE cntr_id = 'SE' AND central_bus = TRUE AND v_nom = 450), 600);
@@ -424,46 +407,26 @@ UPDATE model_draft.ego_grid_hv_electrical_neighbours_link
424407
UPDATE model_draft.ego_grid_hv_electrical_neighbours_link
425408
SET geom = (SELECT ST_Multi(topo)),
426409
efficiency = 0.987*0.974^(length/1000);
427-
428-
/*INSERT INTO model_draft.ego_grid_hv_electrical_neighbours_link (link_id, bus1, p_min_pu, p_max_pu, efficiency, p_nom )
429-
SELECT link_id*100, bus0, (-1), 1, 1, 600 FROM model_draft.ego_grid_hv_electrical_neighbours_link;
430-
431-
UPDATE model_draft.ego_grid_hv_electrical_neighbours_link a
432-
SET bus0 = (CASE WHEN a.bus0 IS NULL THEN (SELECT b.bus_id FROM model_draft.ego_grid_pf_hv_bus b, model_draft.ego_grid_hv_electrical_neighbours_bus c WHERE b.v_nom = 380 ORDER BY ST_Distance((SELECT c.geom WHERE a.bus1 = c.bus_id) , b.geom) LIMIT 1) ELSE bus0 END);
433-
434-
UPDATE model_draft.ego_grid_hv_electrical_neighbours_link
435-
SET topo = (CASE WHEN topo IS NULL THEN (SELECT ST_MakeLine ((SELECT geom FROM model_draft.ego_grid_pf_hv_bus WHERE bus_id = bus0 AND scn_name = 'Status Quo'),(SELECT geom FROM model_draft.ego_grid_hv_electrical_neighbours_bus WHERE bus_id = bus1))) ELSE topo END);
436-
437-
438-
UPDATE model_draft.ego_grid_hv_electrical_neighbours_link
439-
SET geom = (CASE WHEN geom IS NULL THEN (SELECT ST_Multi(topo)) ELSE geom END)*/
440-
441-
442-
DELETE FROM model_draft.ego_grid_hv_electrical_neighbours_line a USING model_draft.ego_grid_pf_hv_link b WHERE a.geom = b.geom;
443-
410+
444411
DELETE FROM model_draft.ego_grid_pf_hv_link WHERE geom IN (SELECT geom FROM model_draft.ego_grid_hv_electrical_neighbours_link);
445412

446413
DELETE FROM model_draft.ego_grid_pf_hv_line WHERE geom IN (SELECT geom FROM model_draft.ego_grid_hv_electrical_neighbours_line);
447414

448-
DELETE FROM model_draft.ego_grid_pf_hv_bus a USING model_draft.ego_grid_hv_electrical_neighbours_bus b WHERE a.geom = b.geom AND b.central_bus = TRUE OR a.v_nom = 450 OR a.geom = '0101000020E6100000AFB9FEB858EC2740621AE148FB474B40';
415+
DELETE FROM model_draft.ego_grid_hv_electrical_neighbours_line a USING model_draft.ego_grid_hv_electrical_neighbours_link b WHERE a.geom = b.geom;
449416

450-
DELETE FROM model_draft.ego_grid_pf_hv_transformer WHERE geom IN (SELECT geom FROM model_draft.ego_grid_hv_electrical_neighbours_transformer);
417+
DELETE FROM model_draft.ego_grid_pf_hv_bus a USING model_draft.ego_grid_hv_electrical_neighbours_bus b WHERE a.geom = b.geom AND b.central_bus = TRUE OR a.v_nom = 450 OR a.geom = '0101000020E6100000AFB9FEB858EC2740621AE148FB474B40';
451418

452-
DELETE FROM model_draft.ego_grid_pf_hv_bus WHERE v_nom = 320;
419+
INSERT INTO model_draft.ego_grid_pf_hv_bus (scn_name, bus_id, v_nom, geom, current_type)
420+
SELECT 'Status Quo',bus_id, v_nom, geom, current_type FROM model_draft.ego_grid_hv_electrical_neighbours_bus WHERE cntr_id != 'DE' AND central_bus = TRUE OR v_nom = 450 OR geom = '0101000020E6100000AFB9FEB858EC2740621AE148FB474B40';
453421

454-
--DELETE FROM model_draft.ego_grid_pf_hv_load WHERE load_id in (28405, 28407, 28411, 28412, 28415, 28418, 28419, 28420, 28425);
455-
--DELETE FROM model_draft.ego_grid_pf_hv_load_pq_set WHERE load_id IN (28532, 28536, 28538, 28541, 28544, 28545, 28546, 28548);
422+
DELETE FROM model_draft.ego_grid_pf_hv_transformer WHERE geom IN (SELECT geom FROM model_draft.ego_grid_hv_electrical_neighbours_transformer) OR bus0 NOT IN (SELECT bus_id FROM model_draft.ego_grid_pf_hv_bus WHERE scn_name = 'Status Quo' );
456423

457-
458424
INSERT INTO model_draft.ego_grid_pf_hv_line (scn_name, line_id, bus0, bus1, x, r, s_nom, topo, geom, length, frequency, cables)
459425
SELECT 'Status Quo', line_id, bus0, bus1, x, r, s_nom, topo, geom, length, frequency, cables FROM model_draft.ego_grid_hv_electrical_neighbours_line;
460426

461427
INSERT INTO model_draft.ego_grid_pf_hv_link (scn_name, marginal_cost, link_id, bus0, bus1, efficiency, p_nom, topo, geom, length)
462428
SELECT 'Status Quo', 0.01, link_id, bus0, bus1, efficiency, p_nom, topo, geom, length FROM model_draft.ego_grid_hv_electrical_neighbours_link;
463429

464-
INSERT INTO model_draft.ego_grid_pf_hv_bus (scn_name, bus_id, v_nom, geom, current_type)
465-
SELECT 'Status Quo',bus_id, v_nom, geom, current_type FROM model_draft.ego_grid_hv_electrical_neighbours_bus WHERE cntr_id != 'DE' AND central_bus = TRUE OR v_nom = 450 OR geom = '0101000020E6100000AFB9FEB858EC2740621AE148FB474B40';
466-
467430
INSERT INTO model_draft.ego_grid_pf_hv_transformer (scn_name, trafo_id, bus0, bus1, x, s_nom, geom, tap_ratio, phase_shift)
468431
SELECT 'Status Quo', trafo_id, bus0, bus1, x, s_nom, geom, tap_ratio, phase_shift FROM model_draft.ego_grid_hv_electrical_neighbours_transformer;
469432

0 commit comments

Comments
 (0)