From c4b50e5b3b85fc9d969a10d44e23ee2793afbc31 Mon Sep 17 00:00:00 2001 From: nesnoj Date: Fri, 24 Aug 2018 11:45:08 +0200 Subject: [PATCH 1/6] add new docs page for data references --- documentation/doc/data_references.rst | 12 ++++++++++++ documentation/doc/index.rst | 1 + 2 files changed, 13 insertions(+) create mode 100644 documentation/doc/data_references.rst diff --git a/documentation/doc/data_references.rst b/documentation/doc/data_references.rst new file mode 100644 index 00000000..b6547f0c --- /dev/null +++ b/documentation/doc/data_references.rst @@ -0,0 +1,12 @@ +=============== +Data References +=============== + +Example: + +.. [Amme2017] J. Amme, G. Pleßmann, J. Bühler, L. Hülk, E. Kötter, P. Schwaegerl: + *The eGo grid model: An open-source and open-data based synthetic medium-voltage + grid model for distribution power supply systems*. Journal of Physics Conference + Series 977(1):012007, 2018, `doi:10.1088/1742-6596/977/1/012007 + `_ + diff --git a/documentation/doc/index.rst b/documentation/doc/index.rst index 07a13ab9..50266a38 100644 --- a/documentation/doc/index.rst +++ b/documentation/doc/index.rst @@ -22,6 +22,7 @@ Welcome to Data processing documentation of open_eGo scenario whatsnew + data_references From 8d5ed8dd2bef23846e4d5854822b011f851e1863 Mon Sep 17 00:00:00 2001 From: nesnoj Date: Fri, 24 Aug 2018 11:51:58 +0200 Subject: [PATCH 2/6] Revert "add new docs page for data references" This reverts commit c4b50e5b3b85fc9d969a10d44e23ee2793afbc31. --- documentation/doc/data_references.rst | 12 ------------ documentation/doc/index.rst | 1 - 2 files changed, 13 deletions(-) delete mode 100644 documentation/doc/data_references.rst diff --git a/documentation/doc/data_references.rst b/documentation/doc/data_references.rst deleted file mode 100644 index b6547f0c..00000000 --- a/documentation/doc/data_references.rst +++ /dev/null @@ -1,12 +0,0 @@ -=============== -Data References -=============== - -Example: - -.. [Amme2017] J. Amme, G. Pleßmann, J. Bühler, L. Hülk, E. Kötter, P. Schwaegerl: - *The eGo grid model: An open-source and open-data based synthetic medium-voltage - grid model for distribution power supply systems*. Journal of Physics Conference - Series 977(1):012007, 2018, `doi:10.1088/1742-6596/977/1/012007 - `_ - diff --git a/documentation/doc/index.rst b/documentation/doc/index.rst index 50266a38..07a13ab9 100644 --- a/documentation/doc/index.rst +++ b/documentation/doc/index.rst @@ -22,7 +22,6 @@ Welcome to Data processing documentation of open_eGo scenario whatsnew - data_references From 1db2e7cfe716f0dbb5d8be206e8e6a5c392819e2 Mon Sep 17 00:00:00 2001 From: wolfbunke Date: Thu, 20 Sep 2018 09:12:35 +0200 Subject: [PATCH 3/6] update scenario importer of renpass --- .../renpass_gis/scenario_import/Readme.rst | 26 +++++++++++++++++++ .../renpass_gis/scenario_import/db.py | 3 ++- .../scenario_import/requirements.txt | 16 ++++++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 preprocessing/python_scripts/renpass_gis/scenario_import/Readme.rst create mode 100644 preprocessing/python_scripts/renpass_gis/scenario_import/requirements.txt diff --git a/preprocessing/python_scripts/renpass_gis/scenario_import/Readme.rst b/preprocessing/python_scripts/renpass_gis/scenario_import/Readme.rst new file mode 100644 index 00000000..65110cd9 --- /dev/null +++ b/preprocessing/python_scripts/renpass_gis/scenario_import/Readme.rst @@ -0,0 +1,26 @@ +============================= +Scenario import of renpassG!S +============================= + + + +Installation +============ + +.. code-block:: + $ virtualenv renpass_importer --clear -p python3.5 + $ source bin/activate + $ pip3 install -r requirements.txt + + + +How to import scnario csv files to the oedb +=========================================== + + +.. code-block:: + python3 scenario_import.py "/PATH/status_quo.csv" "/PATH/status_quo_seq.csv" "/PATH/results/scenario_status_quo_-dd-dd_results_complete.csv" -n "status quo" -c "scenario of sensitivity" + + + + diff --git a/preprocessing/python_scripts/renpass_gis/scenario_import/db.py b/preprocessing/python_scripts/renpass_gis/scenario_import/db.py index 3eb2b3da..a5b41654 100644 --- a/preprocessing/python_scripts/renpass_gis/scenario_import/db.py +++ b/preprocessing/python_scripts/renpass_gis/scenario_import/db.py @@ -14,6 +14,7 @@ from sqlalchemy.ext.automap import automap_base import configparser as cp import os.path as path +import oedialect # read configuration file FILENAME = 'config.ini' @@ -29,7 +30,7 @@ password=cfg.get(section, 'password'), host=cfg.get(section, 'host'), port=cfg.get(section, 'port'), - db=cfg.get(section, 'db'))) + db=cfg.get(section, 'database'))) print("Connected to database.") diff --git a/preprocessing/python_scripts/renpass_gis/scenario_import/requirements.txt b/preprocessing/python_scripts/renpass_gis/scenario_import/requirements.txt new file mode 100644 index 00000000..805d6242 --- /dev/null +++ b/preprocessing/python_scripts/renpass_gis/scenario_import/requirements.txt @@ -0,0 +1,16 @@ +certifi==2018.8.24 +chardet==3.0.4 +configparser==3.5.0 +docopt==0.6.2 +idna==2.7 +numpy==1.15.1 +oedialect==0.0.2.dev0 +pandas==0.20.1 +pathlib==1.0.1 +psycopg2==2.7.5 +python-dateutil==2.7.3 +pytz==2018.5 +requests==2.19.1 +six==1.11.0 +SQLAlchemy==1.2.0 +urllib3==1.23 From 37e746c85ff8dc7cd19df76ba9f3753346dcbd51 Mon Sep 17 00:00:00 2001 From: WolfBunke Date: Thu, 20 Sep 2018 09:18:48 +0200 Subject: [PATCH 4/6] Update Readme.rst --- .../python_scripts/renpass_gis/scenario_import/Readme.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/preprocessing/python_scripts/renpass_gis/scenario_import/Readme.rst b/preprocessing/python_scripts/renpass_gis/scenario_import/Readme.rst index 65110cd9..9a6be09d 100644 --- a/preprocessing/python_scripts/renpass_gis/scenario_import/Readme.rst +++ b/preprocessing/python_scripts/renpass_gis/scenario_import/Readme.rst @@ -8,6 +8,7 @@ Installation ============ .. code-block:: + $ virtualenv renpass_importer --clear -p python3.5 $ source bin/activate $ pip3 install -r requirements.txt @@ -17,9 +18,9 @@ Installation How to import scnario csv files to the oedb =========================================== - .. code-block:: - python3 scenario_import.py "/PATH/status_quo.csv" "/PATH/status_quo_seq.csv" "/PATH/results/scenario_status_quo_-dd-dd_results_complete.csv" -n "status quo" -c "scenario of sensitivity" + + $ python3 scenario_import.py "/PATH/status_quo.csv" "/PATH/status_quo_seq.csv" "/PATH/results/scenario_status_quo_-dd-dd_results_complete.csv" -n "status quo" -c "scenario of sensitivity" From 0d563a8908cbcb759a30e7d1395a055440a2c487 Mon Sep 17 00:00:00 2001 From: ClaraBuettner Date: Wed, 6 Mar 2019 12:02:44 +0100 Subject: [PATCH 5/6] Fix decommissioning and p_max_pu of BE and NO --- .../ego_pp_nep2035_grid_variations.sql | 484 +++-------------- .../sql_snippets/ego_pp_timeseries_be_no.sql | 491 ++++++++++++++++++ 2 files changed, 562 insertions(+), 413 deletions(-) create mode 100644 dataprocessing/sql_snippets/ego_pp_timeseries_be_no.sql diff --git a/dataprocessing/sql_snippets/ego_pp_nep2035_grid_variations.sql b/dataprocessing/sql_snippets/ego_pp_nep2035_grid_variations.sql index e255fbd4..7ffc5055 100644 --- a/dataprocessing/sql_snippets/ego_pp_nep2035_grid_variations.sql +++ b/dataprocessing/sql_snippets/ego_pp_nep2035_grid_variations.sql @@ -1,4 +1,4 @@ -/* +/* In a postprocessing this script adds additional scenarios as grid variations. Therefore, new 'model_draft.ego_grid_pf_hv_extension_'-tables are created for each component. The scenarios represent the extension of lines due to the Netzentwicklungsplan from 2015. @@ -269,10 +269,10 @@ INSERT INTO model_draft.ego_grid_pf_hv_extension_line (line_id, geom, project, p FROM grid.bnetza_vorhaben_enlag a WHERE technik = 'AC' AND vorhabennummer NOT IN (10, 17, 20, 21, 7, 9); UPDATE model_draft.ego_grid_pf_hv_extension_line - SET bus0 = (CASE WHEN project = 'EnLAG' AND project_id = 15 AND segment = 5 THEN (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E610000074B51EFDB6441C40CD0D1EEC4E4C4940' ) - WHEN project = 'EnLAG' AND project_id = 19 AND segment = 6 THEN (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E61000005B50E484FEC21F4015BFC8E4906C4940') ELSE bus0 END), - bus1 = (CASE WHEN project = 'EnLAG' AND project_id = 15 AND segment = 4 THEN (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E610000074B51EFDB6441C40CD0D1EEC4E4C4940' ) - WHEN project = 'EnLAG' AND project_id = 19 AND segment = 4 THEN (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E61000005B50E484FEC21F4015BFC8E4906C4940') ELSE bus1 END); + SET bus0 = (CASE WHEN project = 'EnLAG' AND project_id = 15 AND segment = 5 THEN (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E610000072B51EFDB6441C40CD0D1EEC4E4C4940' ) + WHEN project = 'EnLAG' AND project_id = 19 AND segment = 6 THEN (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E61000005950E484FEC21F4015BFC8E4906C4940') ELSE bus0 END), + bus1 = (CASE WHEN project = 'EnLAG' AND project_id = 15 AND segment = 4 THEN (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E610000072B51EFDB6441C40CD0D1EEC4E4C4940' ) + WHEN project = 'EnLAG' AND project_id = 19 AND segment = 4 THEN (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E61000005950E484FEC21F4015BFC8E4906C4940') ELSE bus1 END); --- Set number of systems in respect to NEP and data from ÜNB --- UPDATE model_draft.ego_grid_pf_hv_extension_line a @@ -455,8 +455,8 @@ UPDATE model_draft.ego_grid_pf_hv_extension_link a --- Delete unused buses to avoid subnetworks --- DELETE FROM model_draft.ego_grid_pf_hv_extension_bus a WHERE bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_line WHERE scn_name = a.scn_name) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_line WHERE scn_name = a.scn_name) -AND bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_link WHERE scn_name = a.scn_name) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_link WHERE scn_name = a.scn_name) -AND bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_transformer WHERE scn_name = a.scn_name) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_transformer WHERE scn_name = a.scn_name); +AND bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_link WHERE scn_name = a.scn_name) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_link WHERE scn_name = a.scn_name); +--AND bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_transformer WHERE scn_name = a.scn_name) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_transformer WHERE scn_name = a.scn_name); -- Table: model_draft.ego_grid_pf_hv_extension_transformer @@ -560,404 +560,6 @@ SET capital_cost = 14166, s_nom_max = s_nom WHERE (v1 = 220 AND v0=380) OR (v0 = 220 AND v1=380); - ---- Delete unsued buses --- -DELETE FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_line) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_line) -AND bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_link) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_link) -AND bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_transformer) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_transformer); - - --- Table: model_draft.ego_grid_pf_hv_extension_load -DROP TABLE IF EXISTS model_draft.ego_grid_pf_hv_extension_load CASCADE; - -CREATE TABLE model_draft.ego_grid_pf_hv_extension_load -( - scn_name character varying NOT NULL DEFAULT 'BE and NO'::character varying, - load_id bigint NOT NULL, - bus bigint, - sign double precision DEFAULT (-1), - e_annual double precision, - CONSTRAINT ext_load_data_pkey PRIMARY KEY (load_id, scn_name) -) -WITH ( - OIDS=FALSE -); -ALTER TABLE model_draft.ego_grid_pf_hv_extension_load - OWNER TO oeuser; - ---- Insert loads to the middle of belgium and norway -INSERT INTO model_draft.ego_grid_pf_hv_extension_load (scn_name, load_id, bus, sign) -VALUES ('extension_BE_NO_NEP 2035', 1000000, (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E61000003851291763E8114098865E2D305B4940' AND scn_name = 'extension_BE_NO_NEP 2035'), '-1'), - ('extension_BE_NO_NEP 2035', 1000001, (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E6100000351DBC74686A24405536F7CC1CFC4E40' AND scn_name = 'extension_BE_NO_NEP 2035'), '-1'); - - --- Table: model_draft.ego_grid_pf_hv_extension_load_pq_set -DROP TABLE IF EXISTS model_draft.ego_grid_pf_hv_extension_load_pq_set CASCADE; - -CREATE TABLE model_draft.ego_grid_pf_hv_extension_load_pq_set -( - scn_name character varying NOT NULL DEFAULT 'Status Quo'::character varying, - load_id bigint NOT NULL, - temp_id integer NOT NULL, - p_set double precision[], - q_set double precision[], - CONSTRAINT extension_load_pq_set_pkey PRIMARY KEY (load_id, temp_id, scn_name), - CONSTRAINT extension_load_pq_set_temp_fkey FOREIGN KEY (temp_id) - REFERENCES model_draft.ego_grid_pf_hv_temp_resolution (temp_id) MATCH SIMPLE - ON UPDATE NO ACTION ON DELETE NO ACTION -) -WITH ( - OIDS=FALSE -); -ALTER TABLE model_draft.ego_grid_pf_hv_extension_load_pq_set - OWNER TO oeuser; - ---- Insert load timeseries from opsd_hourly_timeseries --- -INSERT INTO model_draft.ego_grid_pf_hv_extension_load_pq_set (scn_name, load_id, temp_id, p_set, q_set) -VALUES('extension_BE_NO_NEP 2035' , - 1000000 , - 1, - (SELECT (array_agg (SQ.load_be ORDER BY SQ.timestamp)) - FROM model_draft.opsd_hourly_timeseries SQ - WHERE timestamp BETWEEN '2011-01-01 00:00:00' AND '2011-12-31 23:00:00' - ), - (SELECT (array_agg (0 *SQ.load_be ORDER BY SQ.timestamp)) - FROM model_draft.opsd_hourly_timeseries SQ - WHERE timestamp BETWEEN '2011-01-01 00:00:00' AND '2011-12-31 23:00:00' - )), - - ('extension_BE_NO_NEP 2035' , - 1000001 , - 1, - (SELECT (array_agg (SQ.load_no ORDER BY SQ.timestamp)) - FROM model_draft.opsd_hourly_timeseries SQ - WHERE timestamp BETWEEN '2011-01-01 00:00:00' AND '2011-12-31 23:00:00' - ), - (SELECT (array_agg (0*SQ.load_no ORDER BY SQ.timestamp)) - FROM model_draft.opsd_hourly_timeseries SQ - WHERE timestamp BETWEEN '2011-01-01 00:00:00' AND '2011-12-31 23:00:00' - )); - - --- Table: model_draft.ego_grid_pf_hv_extension_generator -DROP TABLE IF EXISTS model_draft.ego_grid_pf_hv_extension_generator CASCADE; - -CREATE TABLE model_draft.ego_grid_pf_hv_extension_generator -( - scn_name character varying NOT NULL DEFAULT 'Status Quo'::character varying, - generator_id bigint NOT NULL, - bus bigint, - dispatch text DEFAULT 'flexible'::text, - control text DEFAULT 'PQ'::text, - p_nom double precision DEFAULT 0, - p_nom_extendable boolean DEFAULT false, - p_nom_min double precision DEFAULT 0, - p_nom_max double precision, - p_min_pu_fixed double precision DEFAULT 0, - p_max_pu_fixed double precision DEFAULT 1, - sign double precision DEFAULT 1, - source bigint, - marginal_cost double precision, - capital_cost double precision, - efficiency double precision, - CONSTRAINT generator_data_source_fkey FOREIGN KEY (source) - REFERENCES model_draft.ego_grid_pf_hv_source (source_id) MATCH SIMPLE - ON UPDATE NO ACTION ON DELETE NO ACTION -) -WITH ( - OIDS=FALSE -); -ALTER TABLE model_draft.ego_grid_pf_hv_extension_generator - OWNER TO oeuser; - --- INSERT params of LinearTransformers in model_draft.ego_grid_pf_hv_generator (countries besides Germany) --- starting generator_id at 200000, bus_id for neighbouring countries > 2800000 atm --- BE_NO_NEP 2035 -INSERT into model_draft.ego_grid_pf_hv_extension_generator - - SELECT - 'extension_BE_NO_NEP 2035' AS scn_name, - row_number() over () + 210000 AS generator_id, - B.bus_id AS bus, - 'flexible' AS dispatch, - 'PV' AS control, - nominal_value[1] AS p_nom, - FALSE AS p_nom_extendable, - NULL AS p_nom_max, - 0 AS p_nom_min, - 0 AS p_min_pu_fixed, - 1 AS p_max_pu_fixed, - 1 AS sign, - CASE - WHEN source LIKE '%%gas%%' THEN 1 - when source LIKE '%%lignite%%' THEN 2 - when source LIKE '%%mixed_fuels%%' THEN 3 - when source LIKE '%%oil%%' THEN 4 - when source LIKE '%%uranium%%' THEN 5 - when source LIKE '%%biomass%%' THEN 6 - when source LIKE '%%hard_coal%%' THEN 8 - END AS source - FROM calc_renpass_gis.renpass_gis_linear_transformer A join - ( - SELECT - * - FROM - (SELECT * - - FROM - model_draft.ego_grid_pf_hv_extension_bus - where bus_name = 'center BE' - AND scn_name = 'extension_BE_NO_NEP 2035' - ) SQ - - ) B - ON (substring(A.source, 1, 2) = 'BE') - WHERE A.nominal_value IS not NULL - AND A.nominal_value[1] > 0.001 - AND A.source not LIKE '%%powerline%%' - AND A.scenario_id = 44; - - --- INSERT params of Source in model_draft.ego_grid_pf_hv_generator (BE and NO) --- BE_NO_NEP 2035 -INSERT into model_draft.ego_grid_pf_hv_extension_generator - - SELECT - 'extension_BE_NO_NEP 2035' AS scn_name, - row_number() over () + (SELECT max(generator_id) FROM model_draft.ego_grid_pf_hv_extension_generator) AS generator_id, - B.bus_id AS bus, - 'variable' AS dispatch, - 'PV' AS control, - nominal_value[1] AS p_nom, - FALSE AS p_nom_extendable, - NULL AS p_nom_max, - 0 AS p_nom_min, - 0 AS p_min_pu_fixed, - 1 AS p_max_pu_fixed, - 1 AS sign, - CASE - WHEN source LIKE '%%run_of_river%%' THEN 9 - WHEN source LIKE '%%solar%%' THEN 12 - WHEN source LIKE '%%wind%%' THEN 13 - END AS source - FROM calc_renpass_gis.renpass_gis_source A join - ( - SELECT - * - FROM - (SELECT * - FROM - model_draft.ego_grid_pf_hv_extension_bus - where bus_name = 'center BE' - AND scn_name = 'extension_BE_NO_NEP 2035' - ) SQ - ) B - ON (substring(A.source, 1, 2) = 'BE') - WHERE A.nominal_value[1] > 0.001 - AND A.scenario_id = 44; - - - INSERT into model_draft.ego_grid_pf_hv_extension_generator - - SELECT - 'extension_BE_NO_NEP 2035' AS scn_name, - row_number() over () + 220000 AS generator_id, - B.bus_id AS bus, - 'flexible' AS dispatch, - 'PV' AS control, - nominal_value[1] AS p_nom, - FALSE AS p_nom_extendable, - NULL AS p_nom_max, - 0 AS p_nom_min, - 0 AS p_min_pu_fixed, - 1 AS p_max_pu_fixed, - 1 AS sign, - CASE - WHEN source LIKE '%%gas%%' THEN 1 - when source LIKE '%%lignite%%' THEN 2 - when source LIKE '%%mixed_fuels%%' THEN 3 - when source LIKE '%%oil%%' THEN 4 - when source LIKE '%%uranium%%' THEN 5 - when source LIKE '%%biomass%%' THEN 6 - when source LIKE '%%hard_coal%%' THEN 8 - END AS source - FROM calc_renpass_gis.renpass_gis_linear_transformer A join - ( - SELECT - * - FROM - (SELECT * - - FROM - model_draft.ego_grid_pf_hv_extension_bus - where bus_name = 'center NO' - AND scn_name = 'extension_BE_NO_NEP 2035' - ) SQ - - ) B - ON (substring(A.source, 1, 2) = 'NO') - WHERE A.nominal_value IS not NULL - AND A.nominal_value[1] > 0.001 - AND A.source not LIKE '%%powerline%%' - AND A.scenario_id = 44; - - --- INSERT params of Source in model_draft.ego_grid_pf_hv_generator (BE and NO) --- BE_NO_NEP 2035 -INSERT into model_draft.ego_grid_pf_hv_extension_generator - - SELECT - 'extension_BE_NO_NEP 2035' AS scn_name, - row_number() over () + (SELECT max(generator_id) FROM model_draft.ego_grid_pf_hv_extension_generator) AS generator_id, - B.bus_id AS bus, - 'variable' AS dispatch, - 'PV' AS control, - nominal_value[1] AS p_nom, - FALSE AS p_nom_extendable, - NULL AS p_nom_max, - 0 AS p_nom_min, - 0 AS p_min_pu_fixed, - 1 AS p_max_pu_fixed, - 1 AS sign, - CASE - WHEN source LIKE '%%run_of_river%%' THEN 9 - WHEN source LIKE '%%solar%%' THEN 12 - WHEN source LIKE '%%wind%%' THEN 13 - END AS source - FROM calc_renpass_gis.renpass_gis_source A join - ( - SELECT - * - FROM - (SELECT * - FROM - model_draft.ego_grid_pf_hv_extension_bus - where bus_name = 'center NO' - AND scn_name = 'extension_BE_NO_NEP 2035' - ) SQ - ) B - ON (substring(A.source, 1, 2) = 'NO') - WHERE A.nominal_value[1] > 0.001 - AND A.scenario_id = 44; - -UPDATE model_draft.ego_grid_pf_hv_extension_generator -SET p_nom_min = 0, -p_nom_max = NULL; - --- Copy timeseries data --- Table: model_draft.ego_grid_pf_hv_extension_generator_pq_set - -DROP TABLE IF EXISTS model_draft.ego_grid_pf_hv_extension_generator_pq_set CASCADE; - -CREATE TABLE model_draft.ego_grid_pf_hv_extension_generator_pq_set -( - scn_name character varying NOT NULL DEFAULT 'Status Quo'::character varying, - generator_id bigint NOT NULL, - temp_id integer NOT NULL, - p_set double precision[], - q_set double precision[], - p_min_pu double precision[], - p_max_pu double precision[], - CONSTRAINT generator_pq_set_temp_fkey FOREIGN KEY (temp_id) - REFERENCES model_draft.ego_grid_pf_hv_temp_resolution (temp_id) MATCH SIMPLE - ON UPDATE NO ACTION ON DELETE NO ACTION -) -WITH ( - OIDS=FALSE -); -ALTER TABLE model_draft.ego_grid_pf_hv_extension_generator_pq_set - OWNER TO oeuser; - --- BE_NO_NEP 2035 -Drop MATERIALIZED VIEW IF EXISTS calc_renpass_gis.extension_translate_to_pf; - -CREATE MATERIALIZED VIEW calc_renpass_gis.extension_translate_to_pf AS - SELECT - SQ.generator_id, - C.datetime, - C.val - FROM - (SELECT *, - CASE - WHEN A.source = 1 THEN 'gas' - WHEN A.source = 2 THEN 'lignite' - WHEN A.source = 3 THEN 'mixed_fuels' - WHEN A.source = 4 THEN 'oil' - WHEN A.source = 5 THEN 'uranium' - WHEN A.source = 6 THEN 'biomass' - WHEN A.source = 8 THEN 'hard_coal' - WHEN A.source = 9 THEN 'run_of_river' - WHEN A.source = 12 THEN 'solar' - WHEN A.source = 13 THEN 'wind' - END AS renpass_gis_source - FROM model_draft.ego_grid_pf_hv_extension_generator A join - model_draft.ego_grid_pf_hv_extension_bus B - ON (A.bus = B.bus_id) - WHERE A.generator_id > 210000 - AND A.scn_name = 'extension_BE_NO_NEP 2035' - ) SQ, - calc_renpass_gis.renpass_gis_results C - WHERE - (C.obj_label LIKE '%%' || SQ.renpass_gis_source || '%%') - AND C.scenario_id = 44 - AND C.type = 'to_bus'; - --- Make an array, INSERT into generator_pq_set -INSERT into model_draft.ego_grid_pf_hv_extension_generator_pq_set (scn_name, generator_id, temp_id, p_set) - - SELECT 'extension_BE_NO_NEP 2035' AS scn_name, - SQ.generator_id, - 1 AS temp_id, - array_agg(SQ.val ORDER BY SQ.datetime) AS p_set - FROM - ( - SELECT - A.generator_id, - A.datetime, - A.val AS val - FROM calc_renpass_gis.extension_translate_to_pf A join - model_draft.ego_grid_pf_hv_extension_generator B - USING (generator_id) - ) SQ - GROUP BY generator_id; - - -UPDATE model_draft.ego_grid_pf_hv_extension_generator -SET marginal_cost = -- operating costs + fuel costs + CO2 crt cost -( -CASE source -- source / renpass_gis NEP 2014 -when 1 THEN (39.9344 + 2.0) -- gas / gas -when 2 THEN (13.2412 + 4.4) -- lignite / lignite -when 3 THEN (16.9297 + 23.0) -- waste / waste -when 4 THEN (67.3643 + 1.5) -- oil / oil -when 5 THEN (4.9781 + 0.5) -- uranium / uranium -when 6 THEN (27.5112 + 3.9) -- biomass / biomass -when 7 THEN (39.9344 + 2.0) -- eeg_gas / gas -when 8 THEN (20.7914 + 4.0) -- coal / hard_coal -ELSE 0 -- run_of_river/reservoir/pumped_storage/solar/wind/geothermal/other_non_renewable -END) -WHERE scn_name = 'extension_BE_NO_NEP 2035'; - -UPDATE model_draft.ego_grid_pf_hv_extension_generator_pq_set Y -SET p_max_pu = T3.p_max_pu -FROM ( - SELECT T2.generator_id, array_agg(T2.p_max_pu ORDER BY rn) as p_max_pu - FROM ( - SELECT T1.*, row_number() over() AS rn -- row number introduced to keep array order - FROM ( - SELECT - B.generator_id, - A.p_nom , - unnest(B.p_set) / A.p_nom AS p_max_pu - FROM model_draft.ego_grid_pf_hv_extension_generator A - JOIN model_draft.ego_grid_pf_hv_extension_generator_pq_set B USING (generator_id) - WHERE A.dispatch = 'variable' - ) AS T1 - ) AS T2 -GROUP BY T2.generator_id -) T3 WHERE T3.generator_id = Y.generator_id; - - -- Insert decommisioning lines from input table model_draft.scn_nep2035_b2_line --- INSERT INTO model_draft.ego_grid_pf_hv_extension_line (scn_name, line_id, s_nom, topo, geom,bus0, bus1, v_nom, project, project_id ) SELECT DISTINCT ON (line_id) @@ -972,7 +574,13 @@ INSERT INTO model_draft.ego_grid_pf_hv_extension_line (scn_name, line_id, s_nom, THEN 380 WHEN a.s_nom = 3580 THEN 380 WHEN a.s_nom = 925 THEN 380 WHEN a.s_nom = 1850 THEN 380 END), project, project_id - FROM model_draft.scn_nep2035_b2_line a, model_draft.ego_grid_pf_hv_line b WHERE a.scn_name = 'decommissioning_nep2035_confirmed' AND b.scn_name = 'Status Quo' AND a.geom = b.geom AND a.s_nom = b.s_nom; + FROM model_draft.scn_nep2035_b2_line a, model_draft.ego_grid_pf_hv_line b WHERE a.scn_name = 'decommissioning_NEP' AND b.scn_name = 'Status Quo' AND a.geom = b.geom AND a.s_nom = b.s_nom; + + +--- Delete unsued buses --- +DELETE FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_line) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_line) +AND bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_link) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_link) +AND bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_transformer) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_transformer); --- When not all systems will be decommissioned delete from table --- DELETE FROM model_draft.ego_grid_pf_hv_extension_line a USING model_draft.ego_grid_pf_hv_extension_line b, model_draft.ego_grid_pf_hv_extension_line c @@ -1143,7 +751,7 @@ INSERT INTO model_draft.ego_grid_pf_hv_extension_bus (scn_name, bus_id, v_nom, g FROM model_draft.ego_grid_pf_hv_bus WHERE geom IN ('0101000020E6100000781E63B01D002E40A292E70A7AB74E40') AND v_nom = 380; ---- Update parameter of lines, length multiplied with mean rellation from length of geom to length of topo in existing network --- +--- Update parameter of lines, length multiplied with mean relation from length of geom to length of topo in existing network --- UPDATE model_draft.ego_grid_pf_hv_extension_line a SET topo = ST_MakeLine((SELECT DISTINCT ON (geom) geom FROM model_draft.ego_grid_pf_hv_extension_bus b WHERE a.bus0 = b.bus_id AND a.scn_name = b.scn_name ), (SELECT DISTINCT ON (geom) geom FROM model_draft.ego_grid_pf_hv_extension_bus b WHERE a.bus1 = b.bus_id AND a.scn_name = b.scn_name )), geom = ST_Multi(ST_MakeLine((SELECT DISTINCT ON (geom) geom FROM model_draft.ego_grid_pf_hv_extension_bus b WHERE a.bus0 = b.bus_id AND a.scn_name = b.scn_name ), (SELECT DISTINCT ON (geom) geom FROM model_draft.ego_grid_pf_hv_extension_bus b WHERE a.bus1 = b.bus_id AND a.scn_name = b.scn_name ))), @@ -1353,10 +961,11 @@ SET capital_cost = (CASE WHEN project_id IN(1,3,4,5,30) THEN ((SELECT capital_co WHEN project_id IN (29,33) THEN ((SELECT capital_costs_pypsa FROM model_draft.ego_grid_line_expansion_costs WHERE cost_id = 5 ) * length) ELSE capital_cost END); ---- Set s_nom_min and s_nom_max fpr lines, when lines are decommisioned, s_nom_min is s_nom of decommissioned line --- +--- Set s_nom_min and s_nom_max for lines, when lines are decommisioned, s_nom_min is s_nom of decommissioned line --- UPDATE model_draft.ego_grid_pf_hv_extension_line a -SET s_nom_min = (CASE WHEN EXISTS (SELECT * FROM model_draft.ego_grid_pf_hv_extension_line b WHERE b.scn_name = 'decommissioning_nep2035_confirmed' AND a.project = b.project AND a.project_id = b.project_id) AND a.nova IN ('Netzverstärkung: Stromkreisauflage/Umbeseilung', 'Netzverstärkung: Neubau in bestehender Trasse' ) - THEN (SELECT MAX(s_nom) FROM model_draft.ego_grid_pf_hv_extension_line b WHERE b.scn_name = 'decommissioning_nep2035_confirmed' AND a.project = b.project AND a.project_id = b.project_id) +SET s_nom_min = (CASE WHEN EXISTS (SELECT * FROM model_draft.ego_grid_pf_hv_extension_line b WHERE +b.scn_name = 'decommissioning_nep2035_confirmed' AND a.project = b.project AND a.project_id = b.project_id) AND a.nova IN ('Netzverstärkung: Stromkreisauflage/Umbeseilung', 'Netzverstärkung: Neubau in bestehender Trasse' ) + THEN (SELECT MIN(s_nom) FROM model_draft.ego_grid_pf_hv_extension_line b WHERE b.scn_name = 'decommissioning_nep2035_confirmed' AND a.project = b.project AND a.project_id = b.project_id) ELSE 0 END), s_nom_max = s_nom WHERE scn_name = 'extension_nep2035_confirmed'; @@ -1397,7 +1006,7 @@ SELECT 'extension_nep2035_b2', topo FROM model_draft.ego_grid_pf_hv_extension_line WHERE scn_name = 'extension_nep2035_confirmed'; -INSERT INTO model_draft.ego_grid_pf_hv_extension_line (scn_name, line_id, project, bus0, bus1, x,s_nom , capital_cost, length,cables,frequency ,terrain_factor, geom ,topo ) +INSERT INTO model_draft.ego_grid_pf_hv_extension_line (scn_name, line_id, project, bus0, bus1, x,s_nom , capital_cost, length,cables,frequency ,terrain_factor, geom ,topo, v_nom, project_id ) SELECT 'decommissioning_nep2035_b2', line_id, project, @@ -1411,7 +1020,9 @@ SELECT 'decommissioning_nep2035_b2', frequency , terrain_factor, geom, - topo + topo, + v_nom, + project_id FROM model_draft.ego_grid_pf_hv_extension_line WHERE scn_name = 'decommissioning_nep2035_confirmed'; INSERT INTO model_draft.ego_grid_pf_hv_extension_link (scn_name, link_id, bus0, bus1, efficiency, p_nom, p_nom_min, p_nom_max, capital_cost, marginal_cost, length, terrain_factor, geom, topo) @@ -1448,6 +1059,52 @@ SELECT 'extension_nep2035_b2', s_nom_max FROM model_draft.ego_grid_pf_hv_extension_transformer WHERE scn_name = 'extension_nep2035_confirmed'; +INSERT INTO model_draft.ego_grid_pf_hv_extension_bus +SELECT 'extension_BE_NO_eGo 100', + bus_id, + v_nom, + current_type, + v_mag_pu_min, + v_mag_pu_max, + geom, + project, + bus_name +FROM model_draft.ego_grid_pf_hv_extension_bus WHERE scn_name = 'extension_BE_NO_NEP 2035'; + +INSERT INTO model_draft.ego_grid_pf_hv_extension_link (scn_name, link_id, bus0, bus1, efficiency, p_nom, p_nom_min, p_nom_max, capital_cost, marginal_cost, length, terrain_factor, geom, topo) +SELECT 'extension_BE_NO_eGo 100', + link_id, + bus0, + bus1, + efficiency, + p_nom, + p_nom_min, + p_nom_max, + capital_cost, + marginal_cost, + length, + terrain_factor, + geom, + topo +FROM model_draft.ego_grid_pf_hv_extension_link WHERE scn_name = 'extension_BE_NO_NEP 2035'; + +INSERT INTO model_draft.ego_grid_pf_hv_extension_transformer (scn_name, trafo_id, project, bus0, bus1, x, s_nom, tap_ratio, phase_shift, capital_cost, geom, topo, s_nom_min, s_nom_max) +SELECT 'extension_BE_NO_eGo 100', + trafo_id, + project, + bus0, + bus1, + x, + s_nom, + tap_ratio, + phase_shift, + capital_cost, + geom, + topo, + s_nom_min, + s_nom_max +FROM model_draft.ego_grid_pf_hv_extension_transformer WHERE scn_name = 'extension_BE_NO_NEP 2035'; + UPDATE model_draft.ego_grid_pf_hv_extension_bus SET current_type = 'AC'; @@ -1458,8 +1115,9 @@ AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_line WH AND bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_link WHERE scn_name = a.scn_name) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_link WHERE scn_name = a.scn_name) AND bus_id NOT IN (SELECT bus0 FROM model_draft.ego_grid_pf_hv_extension_transformer WHERE scn_name = a.scn_name) AND bus_id NOT IN (SELECT bus1 FROM model_draft.ego_grid_pf_hv_extension_transformer WHERE scn_name = a.scn_name); --- scenario log (project,version,io,schema_name,table_name,script_name,comment) +/*-- scenario log (project,version,io,schema_name,table_name,script_name,comment) SELECT scenario_log('eGo_DP', 'v0.4.5','output','model_draft','ego_grid_pf_hv_extension_bus','ego_pp_nep2035_grid_variations.sql',' '); SELECT scenario_log('eGo_DP', 'v0.4.5','output','model_draft','ego_grid_pf_hv_extension_line','ego_pp_nep2035_grid_variations.sql',' '); SELECT scenario_log('eGo_DP', 'v0.4.5','output','model_draft','ego_grid_pf_hv_extension_link','ego_pp_nep2035_grid_variations.sql',' '); SELECT scenario_log('eGo_DP', 'v0.4.5','output','model_draft','ego_grid_pf_hv_extension_transformer','ego_pp_nep2035_grid_variations.sql',' '); +*/ diff --git a/dataprocessing/sql_snippets/ego_pp_timeseries_be_no.sql b/dataprocessing/sql_snippets/ego_pp_timeseries_be_no.sql new file mode 100644 index 00000000..f45c3f4f --- /dev/null +++ b/dataprocessing/sql_snippets/ego_pp_timeseries_be_no.sql @@ -0,0 +1,491 @@ + + +--- NEP 2035 +-- Table: model_draft.ego_grid_pf_hv_extension_load +DROP TABLE IF EXISTS model_draft.ego_grid_pf_hv_extension_load CASCADE; + +CREATE TABLE model_draft.ego_grid_pf_hv_extension_load +( + scn_name character varying NOT NULL DEFAULT 'BE and NO'::character varying, + load_id bigint NOT NULL, + bus bigint, + sign double precision DEFAULT (-1), + e_annual double precision, + CONSTRAINT ext_load_data_pkey PRIMARY KEY (load_id, scn_name) +) +WITH ( + OIDS=FALSE +); +ALTER TABLE model_draft.ego_grid_pf_hv_extension_load + OWNER TO oeuser; + +--- Insert loads to the middle of belgium and norway +INSERT INTO model_draft.ego_grid_pf_hv_extension_load (scn_name, load_id, bus, sign) +VALUES ('extension_BE_NO_NEP 2035', 1000000, (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E61000003851291763E8114098865E2D305B4940' AND scn_name = 'extension_BE_NO_NEP 2035'), '-1'), + ('extension_BE_NO_NEP 2035', 1000001, (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E6100000351DBC74686A24405536F7CC1CFC4E40' AND scn_name = 'extension_BE_NO_NEP 2035'), '-1'); + + +-- Table: model_draft.ego_grid_pf_hv_extension_load_pq_set +DROP TABLE IF EXISTS model_draft.ego_grid_pf_hv_extension_load_pq_set CASCADE; + +CREATE TABLE model_draft.ego_grid_pf_hv_extension_load_pq_set +( + scn_name character varying NOT NULL DEFAULT 'Status Quo'::character varying, + load_id bigint NOT NULL, + temp_id integer NOT NULL, + p_set double precision[], + q_set double precision[], + CONSTRAINT extension_load_pq_set_pkey PRIMARY KEY (load_id, temp_id, scn_name), + CONSTRAINT extension_load_pq_set_temp_fkey FOREIGN KEY (temp_id) + REFERENCES model_draft.ego_grid_pf_hv_temp_resolution (temp_id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION +) +WITH ( + OIDS=FALSE +); +ALTER TABLE model_draft.ego_grid_pf_hv_extension_load_pq_set + OWNER TO oeuser; + +--- Insert load timeseries from opsd_hourly_timeseries --- +INSERT INTO model_draft.ego_grid_pf_hv_extension_load_pq_set (scn_name, load_id, temp_id, p_set, q_set) +VALUES('extension_BE_NO_NEP 2035' , + 1000000 , + 1, + (SELECT (array_agg (SQ.load_be ORDER BY SQ.timestamp)) + FROM model_draft.opsd_hourly_timeseries SQ + WHERE timestamp BETWEEN '2011-01-01 00:00:00' AND '2011-12-31 23:00:00' + ), + (SELECT (array_agg (0 *SQ.load_be ORDER BY SQ.timestamp)) + FROM model_draft.opsd_hourly_timeseries SQ + WHERE timestamp BETWEEN '2011-01-01 00:00:00' AND '2011-12-31 23:00:00' + )), + + ('extension_BE_NO_NEP 2035' , + 1000001 , + 1, + (SELECT (array_agg (SQ.load_no ORDER BY SQ.timestamp)) + FROM model_draftALT.opsd_hourly_timeseries SQ + WHERE timestamp BETWEEN '2011-01-01 00:00:00' AND '2011-12-31 23:00:00' + ), + (SELECT (array_agg (0*SQ.load_no ORDER BY SQ.timestamp)) + FROM model_draftALT.opsd_hourly_timeseries SQ + WHERE timestamp BETWEEN '2011-01-01 00:00:00' AND '2011-12-31 23:00:00' + )); + + +-- Table: model_draft.ego_grid_pf_hv_extension_generator +DROP TABLE IF EXISTS model_draft.ego_grid_pf_hv_extension_generator CASCADE; + +CREATE TABLE model_draft.ego_grid_pf_hv_extension_generator +( + scn_name character varying NOT NULL DEFAULT 'Status Quo'::character varying, + generator_id bigint NOT NULL, + bus bigint, + dispatch text DEFAULT 'flexible'::text, + control text DEFAULT 'PQ'::text, + p_nom double precision DEFAULT 0, + p_nom_extendable boolean DEFAULT false, + p_nom_min double precision DEFAULT 0, + p_nom_max double precision, + p_min_pu_fixed double precision DEFAULT 0, + p_max_pu_fixed double precision DEFAULT 1, + sign double precision DEFAULT 1, + source bigint, + marginal_cost double precision, + capital_cost double precision, + efficiency double precision, + CONSTRAINT generator_data_source_fkey FOREIGN KEY (source) + REFERENCES model_draft.ego_grid_pf_hv_source (source_id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION +) +WITH ( + OIDS=FALSE +); +ALTER TABLE model_draft.ego_grid_pf_hv_extension_generator + OWNER TO oeuser; + +DROP SEQUENCE IF EXISTS model_draft.ego_grid_hv_extension_generator_id CASCADE; +CREATE SEQUENCE model_draft.ego_grid_hv_extension_generator_id; +SELECT setval('model_draft.ego_grid_hv_extension_generator_id',210000); + +-- INSERT generator capacities +-- starting generator_id at 210000 +-- BE_NO_NEP 2035 +-- Source: ENTSOE2014a +---Description: 19:00pm values, Version 3 based on the EU longterm goals, See "Source". Original Data has been provided by ENTSO-E. + +INSERT INTO model_draft.ego_grid_pf_hv_extension_generator (scn_name, generator_id, bus, p_nom, source) +VALUES('extension_BE_NO_NEP 2035', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 2290, + 6), + ('extension_BE_NO_NEP 2035', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 15590, + 1), + ('extension_BE_NO_NEP 2035', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 4540, + 13), + ('extension_BE_NO_NEP 2035', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 4000, + 17), + ('extension_BE_NO_NEP 2035', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 5740, + 12), + ('extension_BE_NO_NEP 2035', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 130, + 9), + ('extension_BE_NO_NEP 2035', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + 1300, + 1), + ('extension_BE_NO_NEP 2035', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + 5000, + 13), + ('extension_BE_NO_NEP 2035', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT DISTINCT ON (bus_id) bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + 37200, + 9); + +UPDATE model_draft.ego_grid_pf_hv_extension_generator +SET dispatch='flexible' +WHERE source < 9; + +UPDATE model_draft.ego_grid_pf_hv_extension_generator +SET dispatch='variable' +WHERE source > 9; + +UPDATE model_draft.ego_grid_pf_hv_extension_generator +SET control='PV' +WHERE p_nom>50; + +UPDATE model_draft.ego_grid_pf_hv_extension_generator +SET p_nom_min = 0, +p_nom_max = NULL; + +UPDATE model_draft.ego_grid_pf_hv_extension_generator +SET marginal_cost = -- operating costs + fuel costs + CO2 crt cost +( +CASE source -- source / renpass_gis NEP 2014 +when 1 THEN (39.9344 + 2.0) -- gas / gas +when 2 THEN (13.2412 + 4.4) -- lignite / lignite +when 3 THEN (16.9297 + 23.0) -- waste / waste +when 4 THEN (67.3643 + 1.5) -- oil / oil +when 5 THEN (4.9781 + 0.5) -- uranium / uranium +when 6 THEN (27.5112 + 3.9) -- biomass / biomass +when 7 THEN (39.9344 + 2.0) -- eeg_gas / gas +when 8 THEN (20.7914 + 4.0) -- coal / hard_coal +ELSE 0 -- run_of_river/reservoir/pumped_storage/solar/wind/geothermal/other_non_renewable +END) +WHERE scn_name = 'extension_BE_NO_NEP 2035'; + + +-- Copy timeseries data +-- Table: model_draft.ego_grid_pf_hv_extension_generator_pq_set + +DROP TABLE IF EXISTS model_draft.ego_grid_pf_hv_extension_generator_pq_set CASCADE; + +CREATE TABLE model_draft.ego_grid_pf_hv_extension_generator_pq_set +( + scn_name character varying NOT NULL DEFAULT 'Status Quo'::character varying, + generator_id bigint NOT NULL, + temp_id integer NOT NULL, + p_set double precision[], + q_set double precision[], + p_min_pu double precision[], + p_max_pu double precision[], + CONSTRAINT generator_pq_set_temp_fkey FOREIGN KEY (temp_id) + REFERENCES model_draft.ego_grid_pf_hv_temp_resolution (temp_id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION +) +WITH ( + OIDS=FALSE +); +ALTER TABLE model_draft.ego_grid_pf_hv_extension_generator_pq_set + OWNER TO oeuser; + +-- import p_max_pu values from feedinlib-table +DROP MATERIALIZED VIEW IF EXISTS model_draft.extension_ren_feedin_foreign; +CREATE MATERIALIZED VIEW model_draft.extension_ren_feedin_foreign AS +SELECT +A.generator_id, B.feedin +FROM + (SELECT + feedin.w_id, + CASE + WHEN feedin.source LIKE '%%solar%%' THEN 12 + WHEN feedin.source LIKE '%%wind_onshore%%' THEN 13 + END AS source, + feedin.feedin + FROM + model_draft.ego_renewable_feedin AS feedin + WHERE power_class IN (0, 4) + ) AS B, + (SELECT + generators.generator_id, + generators.source, + buses.w_id + FROM + (SELECT + neighbours.bus_id AS bus_id, + weather.gid AS w_id + FROM (SELECT * FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name IN ('center BE', 'center NO')) AS neighbours, + climate.cosmoclmgrid AS weather + WHERE ST_Intersects(weather.geom, neighbours.geom)) + AS buses, + model_draft.ego_grid_pf_hv_extension_generator AS generators + WHERE generators.bus = buses.bus_id + AND generators.source IN (12, 13) + AND generators.generator_id > 210000 + AND generators.scn_name = 'extension_BE_NO_NEP 2035' + ) AS A +WHERE A.w_id = B.w_id +AND A.source = B.source; + + +INSERT INTO model_draft.ego_grid_pf_hv_extension_generator_pq_set (scn_name, temp_id, p_max_pu, generator_id) + +SELECT 'extension_BE_NO_NEP 2035',1, feedin.feedin, feedin.generator_id +FROM model_draft.extension_ren_feedin_foreign AS feedin, model_draft.ego_grid_pf_hv_extension_generator AS A +WHERE A.generator_id = feedin.generator_id; + +UPDATE model_draft.ego_grid_pf_hv_extension_generator_pq_set +SET p_set = p_max_pu; + +-- set p_max_pu for foreign offshore generators +DROP MATERIALIZED VIEW IF EXISTS model_draft.extension_offshore_feedin_foreign; +CREATE MATERIALIZED VIEW model_draft.extension_offshore_feedin_foreign AS +SELECT +generator_id, scn_name, feedin +FROM + (SELECT generator_id, + bus, + scn_name + FROM model_draft.ego_grid_pf_hv_extension_generator + WHERE generator_id > 210000 + AND source = 17) + AS gen + JOIN + (SELECT DISTINCT ON (bus_id) bus_id, + RIGHT(bus_name,2) AS cntr_id + FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name IN ('center NO', 'center BE')) + AS enb + ON (enb.bus_id = gen.bus) + JOIN + (SELECT cntr_id, + coastdat_id + FROM model_draft.ego_neighbours_offshore_point) + AS nop + ON (nop.cntr_id = enb.cntr_id) + JOIN + (SELECT w_id, + feedin + FROM model_draft.ego_renewable_feedin) + AS erf + ON (erf.w_id = nop.coastdat_id); + + +INSERT INTO model_draft.ego_grid_pf_hv_extension_generator_pq_set (scn_name, temp_id, p_max_pu, generator_id) +SELECT 'extension_BE_NO_NEP 2035',1, feedin.feedin, feedin.generator_id +FROM model_draft.extension_offshore_feedin_foreign AS feedin, model_draft.ego_grid_pf_hv_extension_generator AS A +WHERE A.generator_id = feedin.generator_id; + +DELETE FROM model_draft.ego_grid_pf_hv_extension_storage WHERE scn_name = 'extension_BE_NO_NEP 2035'; +DROP SEQUENCE IF EXISTS model_draft.ego_grid_hv_extension_storage_id CASCADE; +CREATE SEQUENCE model_draft.ego_grid_hv_extension_storage_id; +SELECT setval('model_draft.ego_grid_hv_extension_storage_id',210000); + +-- Insert storage capacitys in Belgium and Norway +INSERT into model_draft.ego_grid_pf_hv_extension_storage (scn_name,storage_id,bus,dispatch,control,p_nom, p_nom_extendable, p_nom_min,p_min_pu_fixed, + p_max_pu_fixed, sign, source, marginal_cost, capital_cost, efficiency, soc_initial, soc_cyclic, max_hours, efficiency_store, efficiency_dispatch, standing_loss) + + VALUES( + 'extension_BE_NO_NEP 2035', nextval('model_draft.ego_grid_hv_extension_storage_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name = 'center NO'), + 'flexible','PV' ,800,FALSE,0,-1,1,1,11,0,0,1,0,true,6,0.88,0.89,0.00052 + ), + + ('extension_BE_NO_NEP 2035', nextval('model_draft.ego_grid_hv_extension_storage_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name = 'center BE'), + 'flexible','PV',1890,FALSE,0,-1,1,1,11,0,0,1,0,true,6,0.88,0.89,0.00052 + ); + + + --- eGo 100 + + --- Insert loads to the middle of belgium and norway +INSERT INTO model_draft.ego_grid_pf_hv_extension_load (scn_name, load_id, bus, sign) +VALUES ('extension_BE_NO_eGo 100', 1000000, (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E61000003851291763E8114098865E2D305B4940' AND scn_name = 'extension_BE_NO_NEP 2035'), '-1'), + ('extension_BE_NO_eGo 100', 1000001, (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE geom = '0101000020E6100000351DBC74686A24405536F7CC1CFC4E40' AND scn_name = 'extension_BE_NO_NEP 2035'), '-1'); + + +INSERT INTO model_draft.ego_grid_pf_hv_extension_load_pq_set (scn_name, load_id, temp_id, p_set, q_set) +SELECT 'extension_BE_NO_eGo 100' , load_id, temp_id, p_set, q_set +FROM model_draft.ego_grid_pf_hv_extension_load_pq_set WHERE scn_name = 'extension_BE_NO_NEP 2035' + + +-- INSERT generator capacities +-- starting generator_id at 210000 +-- BE_NO_NEP 2035 +-- Source: eHighway 2050 +---Description: 100% RES scenario + +INSERT INTO model_draft.ego_grid_pf_hv_extension_generator (scn_name, generator_id, bus, p_nom, source) +VALUES('extension_BE_NO_eGo 100', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 4750, + 6), + ('extension_BE_NO_eGo 100', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 2500, + 1), + ('extension_BE_NO_eGo 100', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 10903, + 13), + ('extension_BE_NO_eGo 100', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 3000, + 17), + ('extension_BE_NO_eGo 100', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 24087, + 12), + ('extension_BE_NO_eGo 100', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + 332, + 9), + ('extension_BE_NO_eGo 100', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + 3000, + 17), + ('extension_BE_NO_eGo 100', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + 12175, + 13), + ('extension_BE_NO_eGo 100', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + 5364, + 12), + ('extension_BE_NO_eGo 100', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + 28414, + 9), + ('extension_BE_NO_eGo 100', + nextval('model_draft.ego_grid_hv_extension_generator_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + 42473, + 10); + +UPDATE model_draft.ego_grid_pf_hv_extension_generator +SET dispatch='flexible' +WHERE source < 9; + +UPDATE model_draft.ego_grid_pf_hv_extension_generator +SET dispatch='variable' +WHERE source > 9; + +UPDATE model_draft.ego_grid_pf_hv_extension_generator +SET control='PV' +WHERE p_nom>50; + +UPDATE model_draft.ego_grid_pf_hv_extension_generator +SET p_nom_min = 0, +p_nom_max = NULL; + +UPDATE model_draft.ego_grid_pf_hv_extension_generator +SET marginal_cost = -- operating costs + fuel costs + CO2 crt cost +( +CASE source -- source / renpass_gis NEP 2014 +when 1 THEN (56.06) -- gas / gas +when 6 THEN (31.63) -- biomass / biomass +ELSE 0 -- run_of_river/reservoir/pumped_storage/solar/wind/geothermal/other_non_renewable +END) +WHERE scn_name = 'extension_BE_NO_eGo 100'; + + +DROP MATERIALIZED VIEW IF EXISTS model_draft.extension_ren_feedin_foreign; +CREATE MATERIALIZED VIEW model_draft.extension_ren_feedin_foreign AS +SELECT +A.generator_id, B.feedin +FROM + (SELECT + feedin.w_id, + CASE + WHEN feedin.source LIKE '%%solar%%' THEN 12 + WHEN feedin.source LIKE '%%wind_onshore%%' THEN 13 + END AS source, + feedin.feedin + FROM + model_draft.ego_renewable_feedin AS feedin + WHERE power_class IN (0, 4) + ) AS B, + (SELECT + generators.generator_id, + generators.source, + buses.w_id + FROM + (SELECT + neighbours.bus_id AS bus_id, + weather.gid AS w_id + FROM (SELECT * FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name IN ('center BE', 'center NO')) AS neighbours, + climate.cosmoclmgrid AS weather + WHERE ST_Intersects(weather.geom, neighbours.geom)) + AS buses, + model_draft.ego_grid_pf_hv_extension_generator AS generators + WHERE generators.bus = buses.bus_id + AND generators.source IN (12, 13) + AND generators.generator_id > 210000 + AND generators.scn_name = 'extension_BE_NO_eGo 100' + ) AS A +WHERE A.w_id = B.w_id +AND A.source = B.source; + + +INSERT INTO model_draft.ego_grid_pf_hv_extension_generator_pq_set (scn_name, temp_id, p_max_pu, generator_id) + +SELECT 'extension_BE_NO_eGo 100',1, feedin.feedin, feedin.generator_id +FROM model_draft.extension_ren_feedin_foreign AS feedin, model_draft.ego_grid_pf_hv_extension_generator AS A +WHERE A.generator_id = feedin.generator_id; + +UPDATE model_draft.ego_grid_pf_hv_extension_generator_pq_set +SET p_set = p_max_pu; + + +-- Insert storage capacitys in Belgium and Norway +INSERT into model_draft.ego_grid_pf_hv_extension_storage (scn_name, storage_id, bus, dispatch, control, p_nom, + sign, source, marginal_cost, capital_cost, efficiency, soc_initial, soc_cyclic, max_hours, efficiency_store, efficiency_dispatch, standing_loss) + +VALUES('extension_BE_NO_eGo 100',nextval('model_draft.ego_grid_hv_extension_storage_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name = 'center NO'), + 'flexible','PV',17291,1,11,0,0,1,0,true,6,0.88,0.89,0.00052), ---PSP Norway + + ('extension_BE_NO_eGo 100',nextval('model_draft.ego_grid_hv_extension_storage_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name = 'center BE'), + 'flexible','PV',2308,1,11,0,0,1,0,true,6,0.88,0.89,0.00052); -- PSP Belgium + + \ No newline at end of file From de5c61af5b4443e68708e886654ed0a3961189ad Mon Sep 17 00:00:00 2001 From: ClaraBuettner Date: Mon, 27 May 2019 10:49:51 +0200 Subject: [PATCH 6/6] Fix bug in BE_NO_eGo 100 --- .../sql_snippets/ego_pp_timeseries_be_no.sql | 96 +++++++++++++++---- .../simple_feedin/simple_feedin.py | 7 +- 2 files changed, 80 insertions(+), 23 deletions(-) diff --git a/dataprocessing/sql_snippets/ego_pp_timeseries_be_no.sql b/dataprocessing/sql_snippets/ego_pp_timeseries_be_no.sql index f45c3f4f..7f195fad 100644 --- a/dataprocessing/sql_snippets/ego_pp_timeseries_be_no.sql +++ b/dataprocessing/sql_snippets/ego_pp_timeseries_be_no.sql @@ -243,7 +243,7 @@ FROM (SELECT neighbours.bus_id AS bus_id, weather.gid AS w_id - FROM (SELECT * FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name IN ('center BE', 'center NO')) AS neighbours, + FROM (SELECT * FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name IN ('center BE', 'center NO') AND scn_name = 'extension_BE_NO_NEP 2035') AS neighbours, climate.cosmoclmgrid AS weather WHERE ST_Intersects(weather.geom, neighbours.geom)) AS buses, @@ -256,6 +256,7 @@ FROM WHERE A.w_id = B.w_id AND A.source = B.source; +DELETE FROM model_draft.ego_grid_pf_hv_extension_generator_pq_set WHERE scn_name = 'extension_BE_NO_NEP 2035'; INSERT INTO model_draft.ego_grid_pf_hv_extension_generator_pq_set (scn_name, temp_id, p_max_pu, generator_id) @@ -335,7 +336,7 @@ VALUES ('extension_BE_NO_eGo 100', 1000000, (SELECT bus_id FROM model_draft.ego INSERT INTO model_draft.ego_grid_pf_hv_extension_load_pq_set (scn_name, load_id, temp_id, p_set, q_set) SELECT 'extension_BE_NO_eGo 100' , load_id, temp_id, p_set, q_set -FROM model_draft.ego_grid_pf_hv_extension_load_pq_set WHERE scn_name = 'extension_BE_NO_NEP 2035' +FROM model_draft.ego_grid_pf_hv_extension_load_pq_set WHERE scn_name = 'extension_BE_NO_NEP 2035'; -- INSERT generator capacities @@ -343,64 +344,68 @@ FROM model_draft.ego_grid_pf_hv_extension_load_pq_set WHERE scn_name = 'extensio -- BE_NO_NEP 2035 -- Source: eHighway 2050 ---Description: 100% RES scenario - +DELETE FROM model_draft.ego_grid_pf_hv_extension_generator WHERE scn_name = 'extension_BE_NO_eGo 100'; INSERT INTO model_draft.ego_grid_pf_hv_extension_generator (scn_name, generator_id, bus, p_nom, source) VALUES('extension_BE_NO_eGo 100', nextval('model_draft.ego_grid_hv_extension_generator_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE' AND scn_name = 'extension_BE_NO_eGo 100'), 4750, 6), ('extension_BE_NO_eGo 100', nextval('model_draft.ego_grid_hv_extension_generator_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE' AND scn_name = 'extension_BE_NO_eGo 100'), 2500, 1), ('extension_BE_NO_eGo 100', nextval('model_draft.ego_grid_hv_extension_generator_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE' AND scn_name = 'extension_BE_NO_eGo 100'), 10903, 13), ('extension_BE_NO_eGo 100', nextval('model_draft.ego_grid_hv_extension_generator_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE' AND scn_name = 'extension_BE_NO_eGo 100'), 3000, 17), ('extension_BE_NO_eGo 100', nextval('model_draft.ego_grid_hv_extension_generator_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE' AND scn_name = 'extension_BE_NO_eGo 100'), 24087, 12), ('extension_BE_NO_eGo 100', nextval('model_draft.ego_grid_hv_extension_generator_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center BE' AND scn_name = 'extension_BE_NO_eGo 100'), 332, 9), ('extension_BE_NO_eGo 100', nextval('model_draft.ego_grid_hv_extension_generator_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO' AND scn_name = 'extension_BE_NO_eGo 100'), 3000, 17), ('extension_BE_NO_eGo 100', nextval('model_draft.ego_grid_hv_extension_generator_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO' AND scn_name = 'extension_BE_NO_eGo 100'), 12175, 13), ('extension_BE_NO_eGo 100', nextval('model_draft.ego_grid_hv_extension_generator_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO' AND scn_name = 'extension_BE_NO_eGo 100'), 5364, 12), ('extension_BE_NO_eGo 100', nextval('model_draft.ego_grid_hv_extension_generator_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO' AND scn_name = 'extension_BE_NO_eGo 100'), 28414, 9), ('extension_BE_NO_eGo 100', nextval('model_draft.ego_grid_hv_extension_generator_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name='center NO' AND scn_name = 'extension_BE_NO_eGo 100'), 42473, 10); +UPDATE model_draft.ego_grid_pf_hv_extension_generator +SET p_min_pu_fixed = 0.65 +WHERE source = 9; + UPDATE model_draft.ego_grid_pf_hv_extension_generator SET dispatch='flexible' WHERE source < 9; @@ -452,40 +457,91 @@ FROM (SELECT neighbours.bus_id AS bus_id, weather.gid AS w_id - FROM (SELECT * FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name IN ('center BE', 'center NO')) AS neighbours, + FROM (SELECT * FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name IN ('center BE', 'center NO') AND scn_name = 'extension_BE_NO_eGo 100') AS neighbours, climate.cosmoclmgrid AS weather WHERE ST_Intersects(weather.geom, neighbours.geom)) AS buses, model_draft.ego_grid_pf_hv_extension_generator AS generators WHERE generators.bus = buses.bus_id AND generators.source IN (12, 13) - AND generators.generator_id > 210000 AND generators.scn_name = 'extension_BE_NO_eGo 100' ) AS A WHERE A.w_id = B.w_id AND A.source = B.source; +DELETE FROM model_draft.ego_grid_pf_hv_extension_generator_pq_set WHERE scn_name = 'extension_BE_NO_eGo 100'; INSERT INTO model_draft.ego_grid_pf_hv_extension_generator_pq_set (scn_name, temp_id, p_max_pu, generator_id) - SELECT 'extension_BE_NO_eGo 100',1, feedin.feedin, feedin.generator_id FROM model_draft.extension_ren_feedin_foreign AS feedin, model_draft.ego_grid_pf_hv_extension_generator AS A WHERE A.generator_id = feedin.generator_id; + +DROP MATERIALIZED VIEW IF EXISTS model_draft.extension_offshore_feedin_foreign; +CREATE MATERIALIZED VIEW model_draft.extension_offshore_feedin_foreign AS +SELECT +generator_id, scn_name, feedin +FROM + (SELECT generator_id, + bus, + scn_name + FROM model_draft.ego_grid_pf_hv_extension_generator + WHERE generator_id > 210000 + AND source = 17 + AND scn_name='extension_BE_NO_eGo 100') + AS gen + JOIN + (SELECT bus_id, + RIGHT(bus_name,2) AS cntr_id + FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name IN ('center NO', 'center BE') AND scn_name='extension_BE_NO_eGo 100') + AS enb + ON (enb.bus_id = gen.bus) + JOIN + (SELECT cntr_id, + coastdat_id + FROM model_draft.ego_neighbours_offshore_point) + AS nop + ON (nop.cntr_id = enb.cntr_id) + JOIN + (SELECT w_id, + feedin + FROM model_draft.ego_renewable_feedin) + AS erf + ON (erf.w_id = nop.coastdat_id); + + +INSERT INTO model_draft.ego_grid_pf_hv_extension_generator_pq_set (scn_name, temp_id, p_max_pu, generator_id) +SELECT 'extension_BE_NO_eGo 100',1, feedin.feedin, feedin.generator_id +FROM model_draft.extension_offshore_feedin_foreign AS feedin, model_draft.ego_grid_pf_hv_extension_generator AS A +WHERE A.generator_id = feedin.generator_id; + UPDATE model_draft.ego_grid_pf_hv_extension_generator_pq_set SET p_set = p_max_pu; +DELETE FROM model_draft.ego_grid_pf_hv_extension_storage WHERE scn_name = 'extension_BE_NO_eGo 100'; -- Insert storage capacitys in Belgium and Norway INSERT into model_draft.ego_grid_pf_hv_extension_storage (scn_name, storage_id, bus, dispatch, control, p_nom, sign, source, marginal_cost, capital_cost, efficiency, soc_initial, soc_cyclic, max_hours, efficiency_store, efficiency_dispatch, standing_loss) VALUES('extension_BE_NO_eGo 100',nextval('model_draft.ego_grid_hv_extension_storage_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name = 'center NO'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name = 'center NO' AND scn_name = 'extension_BE_NO_eGo 100'), 'flexible','PV',17291,1,11,0,0,1,0,true,6,0.88,0.89,0.00052), ---PSP Norway ('extension_BE_NO_eGo 100',nextval('model_draft.ego_grid_hv_extension_storage_id'), - (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name = 'center BE'), - 'flexible','PV',2308,1,11,0,0,1,0,true,6,0.88,0.89,0.00052); -- PSP Belgium + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name = 'center BE' AND scn_name = 'extension_BE_NO_eGo 100'), + 'flexible','PV',2308,1,11,0,0,1,0,true,6,0.88,0.89,0.00052), -- PSP Belgium + ('extension_BE_NO_eGo 100',nextval('model_draft.ego_grid_hv_extension_storage_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name = 'center BE' AND scn_name = 'extension_BE_NO_eGo 100'), + 'flexible','PV', 1807.41,1,18,0,0,1,0,true,168,0.785,0.57,0.000694), -- Hydro Belgium + + ('extension_BE_NO_eGo 100',nextval('model_draft.ego_grid_hv_extension_storage_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name = 'center NO' AND scn_name = 'extension_BE_NO_eGo 100'), + 'flexible','PV', 0.08,1,19,0,0,1,0,true,6,0.9487,0.9487,0.000417), -- Battery Norway + + ('extension_BE_NO_eGo 100',nextval('model_draft.ego_grid_hv_extension_storage_id'), + (SELECT bus_id FROM model_draft.ego_grid_pf_hv_extension_bus WHERE bus_name = 'center BE' AND scn_name = 'extension_BE_NO_eGo 100'), + 'flexible','PV',328.29 ,1,19,0,0,1,0,true,6,0.9487,0.9487,0.000417); -- Battery Beligum + \ No newline at end of file diff --git a/preprocessing/python_scripts/renpass_gis/simple_feedin/simple_feedin.py b/preprocessing/python_scripts/renpass_gis/simple_feedin/simple_feedin.py index 9a3bb70b..a25ff676 100644 --- a/preprocessing/python_scripts/renpass_gis/simple_feedin/simple_feedin.py +++ b/preprocessing/python_scripts/renpass_gis/simple_feedin/simple_feedin.py @@ -526,12 +526,13 @@ def main(): else: continue - #temp[(coastdat_id, type_of_generation)] = feedin.values + temp[(coastdat_id, type_of_generation)] = feedin.values df = pd.DataFrame(temp) - df_to_renewable_feedin(df, weather_year, weather_scenario_id) + # df_to_renewable_feedin(df, weather_year, weather_scenario_id) print('Done!') + return df if __name__ == '__main__': - main() + df = main()