From b860a49eda26dbd19ff98d38152aacddb4bc6b54 Mon Sep 17 00:00:00 2001 From: dusanparipovic Date: Fri, 13 Feb 2026 12:41:43 +0100 Subject: [PATCH] feat(pypsa -> gems): remove pypsa-> gems converter and related files --- pyproject.toml | 1 - requirements-dev.txt | 2 - requirements.in | 3 +- requirements.txt | 2 - src/gems/libs/pypsa_models/pypsa_models.yml | 507 ------------- src/gems/pypsa_converter/__init__.py | 0 src/gems/pypsa_converter/models/__init__.py | 1 - .../gems_system_yaml_schema/__init__.py | 4 - .../gems_area_connection.py | 7 - .../gems_system_yaml_schema/gems_component.py | 10 - .../gems_component_parameter.py | 10 - .../gems_port_connection.py | 8 - .../gems_system_yaml_schema/gems_system.py | 15 - .../models/modified_base_model.py | 8 - .../models/pypsa_model_schema/__init__.py | 2 - .../pypsa_component_data.py | 24 - .../pypsa_global_constraint_data.py | 13 - src/gems/pypsa_converter/parsing.py | 91 --- src/gems/pypsa_converter/pypsa_converter.py | 566 -------------- src/gems/pypsa_converter/utils.py | 38 - .../e2e/models/systems/pypsa_basic_system.yml | 125 --- tests/e2e/models/test_pypsa_models.py | 85 --- tests/pypsa_converter/__init__.py | 0 tests/pypsa_converter/conftest.py | 40 - .../pypsa_input_files/base_s_4_elec.nc | Bin 2873703 -> 0 bytes .../pypsa_input_files/base_s_6_elec_lvopt_.nc | Bin 401781 -> 0 bytes .../pypsa_input_files/simple.nc | Bin 38714 -> 0 bytes tests/pypsa_converter/systems/pypsa_study.yml | 237 ------ .../test_advanced_pypsa_cases.py | 211 ------ tests/pypsa_converter/test_pypsa_converter.py | 711 ------------------ tests/pypsa_converter/utils.py | 58 -- .../simulation/test_simulation_table.py | 67 -- 32 files changed, 1 insertion(+), 2845 deletions(-) delete mode 100644 src/gems/libs/pypsa_models/pypsa_models.yml delete mode 100644 src/gems/pypsa_converter/__init__.py delete mode 100644 src/gems/pypsa_converter/models/__init__.py delete mode 100644 src/gems/pypsa_converter/models/gems_system_yaml_schema/__init__.py delete mode 100644 src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_area_connection.py delete mode 100644 src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_component.py delete mode 100644 src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_component_parameter.py delete mode 100644 src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_port_connection.py delete mode 100644 src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_system.py delete mode 100644 src/gems/pypsa_converter/models/modified_base_model.py delete mode 100644 src/gems/pypsa_converter/models/pypsa_model_schema/__init__.py delete mode 100644 src/gems/pypsa_converter/models/pypsa_model_schema/pypsa_component_data.py delete mode 100644 src/gems/pypsa_converter/models/pypsa_model_schema/pypsa_global_constraint_data.py delete mode 100644 src/gems/pypsa_converter/parsing.py delete mode 100644 src/gems/pypsa_converter/pypsa_converter.py delete mode 100644 src/gems/pypsa_converter/utils.py delete mode 100644 tests/e2e/models/systems/pypsa_basic_system.yml delete mode 100644 tests/e2e/models/test_pypsa_models.py delete mode 100644 tests/pypsa_converter/__init__.py delete mode 100644 tests/pypsa_converter/conftest.py delete mode 100644 tests/pypsa_converter/pypsa_input_files/base_s_4_elec.nc delete mode 100644 tests/pypsa_converter/pypsa_input_files/base_s_6_elec_lvopt_.nc delete mode 100644 tests/pypsa_converter/pypsa_input_files/simple.nc delete mode 100644 tests/pypsa_converter/systems/pypsa_study.yml delete mode 100644 tests/pypsa_converter/test_advanced_pypsa_cases.py delete mode 100644 tests/pypsa_converter/test_pypsa_converter.py delete mode 100644 tests/pypsa_converter/utils.py delete mode 100644 tests/unittests/simulation/test_simulation_table.py diff --git a/pyproject.toml b/pyproject.toml index 3fb1e8be..3e8347df 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,6 @@ dependencies = [ "pydantic>=2.0", "antares_craft>=0.3", "anytree>=2.12", - "pypsa", ] classifiers = [ # Classifiers here: https://pypi.org/classifiers/ diff --git a/requirements-dev.txt b/requirements-dev.txt index 8efc1733..d256bdef 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -261,8 +261,6 @@ pyproj==3.7.1 # via # -r requirements.txt # geopandas -pypsa==0.34.1 - # via -r requirements.txt pytest==7.0.1 # via # -r requirements-dev.in diff --git a/requirements.in b/requirements.in index 78a4b282..db8b30ab 100644 --- a/requirements.in +++ b/requirements.in @@ -5,5 +5,4 @@ antlr4-python3-runtime==4.13.1 PyYAML~=6.0.1 pydantic antares_craft>=0.3 -anytree==2.12.1 -pypsa \ No newline at end of file +anytree==2.12.1 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index bf4b7ca2..8fcd7bbf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -140,8 +140,6 @@ pyparsing==3.2.3 # via matplotlib pyproj==3.7.1 # via geopandas -pypsa==0.34.1 - # via -r requirements.in python-dateutil==2.9.0.post0 # via # matplotlib diff --git a/src/gems/libs/pypsa_models/pypsa_models.yml b/src/gems/libs/pypsa_models/pypsa_models.yml deleted file mode 100644 index 02b9bfed..00000000 --- a/src/gems/libs/pypsa_models/pypsa_models.yml +++ /dev/null @@ -1,507 +0,0 @@ -# Copyright (c) 2025, RTE (https://www.rte-france.com) -# -# See AUTHORS.txt -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# SPDX-License-Identifier: MPL-2.0 -# -# This file is part of the Antares project. - -# Library of models for the emulation of PyPSA -# References for PyPSA -# T. Brown, J. Hörsch, D. Schlachtberger, PyPSA: Python for Power System Analysis, 2018, Journal of Open Research Software, 6(1), arXiv:1707.09913, DOI:10.5334/jors.188 -# https://pypsa.readthedocs.io/en/latest/ - -library: - id: pypsa_models - description: PyPSA model library - #https://pypsa.readthedocs.io/en/latest/user-guide/components.html# - - port-types: - - id: flow - description: A port which transfers power flow - fields: - - id: flow - - id: emission - description: A port which accounts for CO2 emissions - fields: - - id: emission - - models: - - id: bus - #Model for PyPSA bus: https://pypsa.readthedocs.io/en/latest/user-guide/components.html#bus - parameters: - - id: v_nom - time-dependent: false - scenario-dependent: false - #- id: type # This parameter is not used in the Gems model - - id: x - time-dependent: false - scenario-dependent: false - - id: y - time-dependent: false - scenario-dependent: false - #- id : carrier # This parameter is not used in the Gems model - #- id : unit # This parameter is not used in the Gems model - #- id : location # This parameter is not used in the Gems model - - id: v_mag_pu_set - time-dependent: true - scenario-dependent: false - - id: v_mag_pu_min - time-dependent: false - scenario-dependent: false - - id: v_mag_pu_max - time-dependent: false - scenario-dependent: false - ports: - - id: p_balance_port - type: flow - - id: q_balance_port - type: flow - binding-constraints: - - id: p_balance - expression: sum_connections(p_balance_port.flow) = 0 - - id: q_balance - expression: sum_connections(q_balance_port.flow) = 0 - - - id: load - #Model for PyPSA load: https://pypsa.readthedocs.io/en/latest/user-guide/components.html#load - parameters: - #- id : carrier # This parameter is not used in the Gems model - #- id : type # This parameter is not used in the Gems model - - id: p_set - time-dependent: true - scenario-dependent: false # Since PyPSA v0.x does not manage simultaneous scenarios at this point - - id: q_set - time-dependent: true - scenario-dependent: false # Since PyPSA v0.x does not manage simultaneous scenarios at this point - - id: sign #default value = -1 - time-dependent: false - scenario-dependent: false - #- id: active #Parameter that is not instantiated: only active components are built by the data converter. - ports: - - id: p_balance_port - type: flow - - id: q_balance_port - type: flow - port-field-definitions: - - port: p_balance_port - field: flow - definition: sign * p_set - - port: q_balance_port - field: flow - definition: sign * q_set - - - id: generator - #Model for PyPSA generator: https://pypsa.readthedocs.io/en/latest/user-guide/components.html#generator - parameters: - #- id: control #Parameter not instantiated for now - #- id: type # This parameter is not used in the Gems model - #- id: p_nom_mod #Parameter not instantiated for now - #- id: p_nom_extendable #Parameter that is not used in Gems model: p_nom_min and p_nom_max are used to possibly fix the value of p_nom - - id: p_nom_min - time-dependent: false - scenario-dependent: false - - id: p_nom_max - time-dependent: false - scenario-dependent: false - - id: p_min_pu - time-dependent: true - scenario-dependent: false - - id: p_max_pu - time-dependent: true - scenario-dependent: false - #- id: p_set #Parameter not instantiated for now - #- id: q_set #Parameter not instantiated for now - - id: e_sum_min - time-dependent: false - scenario-dependent: false - - id: e_sum_max - time-dependent: false - scenario-dependent: false - - id: sign #default value = 1 - time-dependent: false - scenario-dependent: false - #- id: carrier # This parameter is not used in the Gems model - - id: marginal_cost - time-dependent: true - scenario-dependent: false - #- id: marginal_cost_quadratic #Parameter not instantiated for now - #- id: active #Parameter that is not instantiated: only active components are built by the data converter. - #- id: build_year #Parameter not instantiated for now - #- id: lifetime #Parameter not instantiated for now - - id: capital_cost - time-dependent: false - scenario-dependent: false - - id: efficiency - time-dependent: true - scenario-dependent: false - #- id: committable #Parameter not instantiated for now - #- id: start_up_cost #Parameter not instantiated for now - #- id: shut_down_cost #Parameter not instantiated for now - #- id: stand_by_cost #Parameter not instantiated for now - #- id: min_up_time #Parameter not instantiated for now - #- id: min_down_time #Parameter not instantiated for now - #- id: up_time_before #Parameter not instantiated for now - #- id: down_time_before #Parameter not instantiated for now - #- id: ramp_limit_up #Parameter not instantiated for now - #- id: ramp_limit_down #Parameter not instantiated for now - #- id: ramp_limit_start_up #Parameter not instantiated for now - #- id: ramp_limit_shut_down #Parameter not instantiated for now - #- id: weight #Parameter not instantiated for now - ##Additional parameters that are not stored in the PyPSA object, but in a Carrier object - - id: emission_factor - time-dependent: false - scenario-dependent: false - - variables: - - id: p_nom - lower-bound: p_nom_min - upper-bound: p_nom_max - time-dependent: false - scenario-dependent: false - - id: p - #- id: q - ports: - - id: p_balance_port - type: flow - - id: emission_port - type: emission - #- id: q_balance_port - # type: flow - port-field-definitions: - - port: p_balance_port - field: flow - definition: p*sign - - port: emission_port - field: emission - definition: p*emission_factor/efficiency - #- port: q_balance_port - # field: flow - # definition: q*sign - constraints: - - id: min_dispatch - expression: p >=p_nom * p_min_pu - - id: max_dispatch - expression: p <=p_nom * p_max_pu - - id: min_production - expression: sum(p) >= e_sum_min - - id: max_production - expression: sum(p) <= e_sum_max - objective-contributions: - - id: obj - expression: expec(sum(marginal_cost * p)) + p_nom * capital_cost - - - id: link - #Model for PyPSA link: https://pypsa.readthedocs.io/en/latest/user-guide/components.html#link - parameters: - #- id: type # This parameter is not used in the Gems model - #- id: carrier # This parameter is not used in the Gems model - - id: efficiency - time-dependent: true - scenario-dependent: false - #- id: active #Parameter that is not instantiated: only active components are built by the data converter. - #- id: build_year #Parameter not instantiated for now - #- id: lifetime #Parameter not instantiated for now - #- id: p_nom_mod #Parameter not instantiated for now - #- id: p_nom_extendable #Parameter that is not instantiated: p_nom_min and p_nom_max are used to possibly fix the value of p_nom - - id: p_nom_min - time-dependent: false - scenario-dependent: false - - id: p_nom_max - time-dependent: false - scenario-dependent: false - #- id: p_set #Parameter not instantiated for now - - id: p_min_pu - time-dependent: true - scenario-dependent: false - - id: p_max_pu - time-dependent: true - scenario-dependent: false - - id: capital_cost - time-dependent: false - scenario-dependent: false - - id: marginal_cost - time-dependent: true - scenario-dependent: false - #- id: marginal_cost_quadratic #Parameter not instantiated for now - #- id: stand_by_cost #Parameter not instantiated for now - #- id: length #Parameter not instantiated for now - #- id: terrain_factor #Parameter not instantiated for now - #- id: committable #Parameter not instantiated for now - #- id: start_up_cost #Parameter not instantiated for now - #- id: shut_down_cost #Parameter not instantiated for now - #- id: min_up_time #Parameter not instantiated for now - #- id: min_down_time #Parameter not instantiated for now - #- id: up_time_before #Parameter not instantiated for now - #- id: down_time_before #Parameter not instantiated for now - #- id: ramp_limit_up #Parameter not instantiated for now - #- id: ramp_limit_down #Parameter not instantiated for now - #- id: ramp_limit_start_up #Parameter not instantiated for now - #- id: ramp_limit_shut_down #Parameter not instantiated for now - variables: - - id: p_nom - time-dependent: false - scenario-dependent: false - lower-bound: p_nom_min - upper-bound: p_nom_max - - id: p0 - #- id: p_nom_opt - #- id: status - #- id: start_up - #- id: shut_down - ports: - - id: p0_port - type: flow - #- id: q_0_port - # type: flow - - id: p1_port - type: flow - #- id: q_1_port - # type: flow - port-field-definitions: - - port: p0_port - field: flow - definition: -p0 - - port: p1_port - field: flow - definition: efficiency * p0 - #- port: q_balance_port - # field: flow - # definition: q - constraints: - - id: p0_upper - expression: p0 <= p_max_pu * p_nom - - id: p0_lower - expression: p0 >= p_min_pu * p_nom - objective-contributions: - - id: obj - expression: expec(sum(marginal_cost * p0)) + capital_cost * p_nom - - - - id: storage_unit - #Model for PyPSA storage unit: https://pypsa.readthedocs.io/en/latest/user-guide/components.html#storage-unit - parameters: - #- id: control #Parameter not instantiated for now - #- id: type # This parameter is not used in the Gems model - #- id: p_nom_mod #Parameter not instantiated for now - #- id: p_nom_extendable #Parameter that is not instantiated: p_nom_min and p_nom_max are used to possibly fix the value of p_nom - - id: p_nom_min - time-dependent: false - scenario-dependent: false - - id: p_nom_max - time-dependent: false - scenario-dependent: false - - id: p_min_pu - time-dependent: true - scenario-dependent: false - - id: p_max_pu - time-dependent: true - scenario-dependent: false - #- id: p_set #Parameter not instantiated for now - #- id: q_set #Parameter not instantiated for now - - id: sign #default value = 1 - time-dependent: false - scenario-dependent: false - #- id: carrier # This parameter is not used in the Gems model - - id: spill_cost #Parameter not instantiated for now - time-dependent: true - scenario-dependent: false - - id: marginal_cost - time-dependent: true - scenario-dependent: false - #- id: marginal_cost_quadratic #Parameter not instantiated for now - - id: marginal_cost_storage - time-dependent: true - scenario-dependent: false - - id: capital_cost - time-dependent: false - scenario-dependent: false - #- id: active #Parameter that is not instantiated: only active components are built by the data converter. - #- id: build_year #Parameter not instantiated for now - #- id: lifetime #Parameter not instantiated for now - #- id: state_of_charge_initial #Parameter not instantiated for now - #- id: state_of_charge_initial_per_period #Parameter not instantiated for now - #- id: state_pf_charge_set #Parameter not instantiated for now - #- id: cyclic_state_of_charge #Parameter not instantiated for now - #- id: cyclic_state_of_charge_per_period #Parameter not instantiated for now - - id: max_hours - time-dependent: false - scenario-dependent: false - - id: efficiency_store - time-dependent: true - scenario-dependent: false - - id: efficiency_dispatch - time-dependent: true - scenario-dependent: false - - id: standing_loss - time-dependent: true - scenario-dependent: false - - id: inflow - time-dependent: true - scenario-dependent: false - ##Additional parameters that are not stored in the PyPSA object, but in a Carrier object - - id: emission_factor - time-dependent: false - scenario-dependent: false - variables: - - id: p_nom - time-dependent: false - scenario-dependent: false - lower-bound: p_nom_min - upper-bound: p_nom_max - - id: p_store - lower-bound: 0 - upper-bound: p_max_pu * p_nom_max - - id: p_dispatch - lower-bound: 0 - upper-bound: p_max_pu * p_nom_max - - id: state_of_charge - lower-bound: 0 - upper-bound: max_hours * p_nom_max - - id: spill - lower-bound: 0 - ports: - - id: p_balance_port - type: flow - - id: emission_port - type: emission - port-field-definitions: - - port: p_balance_port - field: flow - definition: p_dispatch - p_store - - port: emission_port - field: emission - definition: emission_factor * 0 #Since we assume here cyclity of StorageUnits. In the future, for non-cyclic Store: (e[-1] - e[T-1])*emission_factor - constraints: - - id: p_store_upper - expression: p_store <= p_max_pu * p_nom - - id: p_dispatch_upper - expression: p_dispatch <= p_max_pu * p_nom - - id: state_of_charge_upper - expression: state_of_charge <= max_hours * p_nom - - id: state_of_charge_balance - expression: state_of_charge = (1- standing_loss) * state_of_charge[t-1] + efficiency_store * p_store - p_dispatch / efficiency_dispatch + inflow - spill - objective-contributions: - - id: obj - expression: expec(sum(marginal_cost * p_dispatch + spill_cost*spill + marginal_cost_storage * state_of_charge)) + capital_cost * p_nom - - - id: store - #Model for PyPSA store: https://pypsa.readthedocs.io/en/latest/user-guide/components.html#store - parameters: - #- id: type # This parameter is not used in the Gems model - #- id: carrier # This parameter is not used in the Gems model - #- id: e_nom_mod #Parameter not instantiated for now - #- id: e_nom_extendable #Parameter that is not instantiated: e_nom_min and e_nom_max are used to possibly fix the value of e_nom - - id: e_nom_min - time-dependent: false - scenario-dependent: false - - id: e_nom_max - time-dependent: false - scenario-dependent: false - - id: e_min_pu - time-dependent: true - scenario-dependent: false - - id: e_max_pu - time-dependent: true - scenario-dependent: false - #- id: e_initial #Parameter not instantiated for now - #- id: e_initial_per_period #Parameter not instantiated for now - #- id: e_cyclic #Parameter not instantiated for now - #- id: e_cyclic_per_period #Parameter not instantiated for now - #- id: p_set #Parameter not instantiated for now - #- id: q_set #Parameter not instantiated for now - - id: sign #default value = 1 - time-dependent: false - scenario-dependent: false - - id: marginal_cost - time-dependent: true - scenario-dependent: false - #- id: marginal_cost_quadratic #Parameter not instantiated for now - - id: marginal_cost_storage - time-dependent: true - scenario-dependent: false - - id: capital_cost - time-dependent: false - scenario-dependent: false - - id: standing_loss - time-dependent: true - scenario-dependent: false - #- id: active #Parameter that is not instantiated: only active components are built by the data converter. - #- id: build_year #Parameter not instantiated for now - #- id: lifetime #Parameter not instantiated for now - ##Additional parameters that are not stored in the PyPSA object, but in a Carrier object - - id: emission_factor - time-dependent: false - scenario-dependent: false - variables: - - id: e_nom - time-dependent: false - scenario-dependent: false - lower-bound: e_nom_min - upper-bound: e_nom_max - - id: e - - id: p - ports: - - id: p_balance_port - type: flow - - id: emission_port - type: emission - port-field-definitions: - - port: p_balance_port - field: flow - definition: p - - port: emission_port - field: emission - definition: emission_factor * 0 #Since we assume here cyclity of stores. In the future, for non-cyclic Store: (e[-1] - e[T-1])*emission_factor - constraints: - - id: e_upper - expression: e <= e_max_pu * e_nom - - id: e_lower - expression: e >= e_min_pu * e_nom - - id: energy_balance - expression: e = (1 - standing_loss) * e[t-1] - p - objective-contributions: - - id: obj - expression: expec(sum(marginal_cost * p + marginal_cost_storage * e)) + capital_cost * e_nom - - - -#### Models for PyPSA global constraint: https://pypsa.readthedocs.io/en/latest/user-guide/components.html#global-constraint ### - - - id: global_constraint_co2_max - #Model for PyPSA global constraint: https://pypsa.readthedocs.io/en/latest/user-guide/components.html#global-constraint - # Case CO2, <= - parameters: - #-type = Primary energy - #-carrier_attribute = CO2_emissions - #sense = <= - - id: quota - time-dependent: false - scenario-dependent: false - ports: - - id: emission_port - type: emission - binding-constraints: - - id: constraint_expression - expression: sum(sum_connections(emission_port.emission)) <= quota - - - id: global_constraint_co2_eq - #Model for PyPSA global constraint: https://pypsa.readthedocs.io/en/latest/user-guide/components.html#global-constraint - # Case CO2, == - parameters: - #-type = Primary energy - #-carrier_attribute = CO2_emissions - #sense = == - - id: quota - time-dependent: false - scenario-dependent: false - ports: - - id: emission_port - type: emission - binding-constraints: - - id: constraint_expression - expression: sum(sum_connections(emission_port.emission)) = quota diff --git a/src/gems/pypsa_converter/__init__.py b/src/gems/pypsa_converter/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/gems/pypsa_converter/models/__init__.py b/src/gems/pypsa_converter/models/__init__.py deleted file mode 100644 index 29887278..00000000 --- a/src/gems/pypsa_converter/models/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .modified_base_model import ModifiedBaseModel diff --git a/src/gems/pypsa_converter/models/gems_system_yaml_schema/__init__.py b/src/gems/pypsa_converter/models/gems_system_yaml_schema/__init__.py deleted file mode 100644 index 844a751d..00000000 --- a/src/gems/pypsa_converter/models/gems_system_yaml_schema/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from .gems_component import GemsComponent -from .gems_component_parameter import GemsComponentParameter -from .gems_port_connection import GemsPortConnection -from .gems_system import GemsSystem diff --git a/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_area_connection.py b/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_area_connection.py deleted file mode 100644 index 33e56f74..00000000 --- a/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_area_connection.py +++ /dev/null @@ -1,7 +0,0 @@ -from ..modified_base_model import ModifiedBaseModel - - -class GemsAreaConnection(ModifiedBaseModel): - component: str - port: str - area: str diff --git a/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_component.py b/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_component.py deleted file mode 100644 index c14e9bb7..00000000 --- a/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_component.py +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Optional, List -from ..modified_base_model import ModifiedBaseModel -from .gems_component_parameter import GemsComponentParameter - - -class GemsComponent(ModifiedBaseModel): - id: str - model: str - scenario_group: Optional[str] = None - parameters: Optional[List[GemsComponentParameter]] = None diff --git a/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_component_parameter.py b/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_component_parameter.py deleted file mode 100644 index c2a0a60a..00000000 --- a/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_component_parameter.py +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Optional, Union -from ..modified_base_model import ModifiedBaseModel - - -class GemsComponentParameter(ModifiedBaseModel): - id: str - time_dependent: bool = False - scenario_dependent: bool = False - value: Union[float, str] - scenario_group: Optional[str] = None diff --git a/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_port_connection.py b/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_port_connection.py deleted file mode 100644 index 6b4bc786..00000000 --- a/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_port_connection.py +++ /dev/null @@ -1,8 +0,0 @@ -from ..modified_base_model import ModifiedBaseModel - - -class GemsPortConnection(ModifiedBaseModel): - component1: str - port1: str - component2: str - port2: str diff --git a/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_system.py b/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_system.py deleted file mode 100644 index 9cb5d9c0..00000000 --- a/src/gems/pypsa_converter/models/gems_system_yaml_schema/gems_system.py +++ /dev/null @@ -1,15 +0,0 @@ -from typing import List, Optional -from pydantic import Field -from ..modified_base_model import ModifiedBaseModel -from .gems_component import GemsComponent -from .gems_port_connection import GemsPortConnection -from .gems_area_connection import GemsAreaConnection - - -class GemsSystem(ModifiedBaseModel): - id: Optional[str] = None - model_libraries: Optional[str] = None # Parsed but unused for n - components: List[GemsComponent] = Field(default_factory=list) - connections: Optional[List[GemsPortConnection]] = None - area_connections: Optional[List[GemsAreaConnection]] = None - nodes: Optional[List[GemsComponent]] = [] diff --git a/src/gems/pypsa_converter/models/modified_base_model.py b/src/gems/pypsa_converter/models/modified_base_model.py deleted file mode 100644 index 9e220762..00000000 --- a/src/gems/pypsa_converter/models/modified_base_model.py +++ /dev/null @@ -1,8 +0,0 @@ -from pydantic import BaseModel - - -class ModifiedBaseModel(BaseModel): - class Config: - alias_generator = lambda snake: snake.replace("_", "-") - extra = "forbid" - populate_by_name = True diff --git a/src/gems/pypsa_converter/models/pypsa_model_schema/__init__.py b/src/gems/pypsa_converter/models/pypsa_model_schema/__init__.py deleted file mode 100644 index 970e415a..00000000 --- a/src/gems/pypsa_converter/models/pypsa_model_schema/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from .pypsa_component_data import PyPSAComponentData -from .pypsa_global_constraint_data import PyPSAGlobalConstraintData diff --git a/src/gems/pypsa_converter/models/pypsa_model_schema/pypsa_component_data.py b/src/gems/pypsa_converter/models/pypsa_model_schema/pypsa_component_data.py deleted file mode 100644 index b6699084..00000000 --- a/src/gems/pypsa_converter/models/pypsa_model_schema/pypsa_component_data.py +++ /dev/null @@ -1,24 +0,0 @@ -from dataclasses import dataclass -import pandas as pd - - -@dataclass -class PyPSAComponentData: - pypsa_model_id: str - constant_data: pd.DataFrame - time_dependent_data: dict[str, pd.DataFrame] - gems_model_id: str - pypsa_params_to_gems_params: dict[str, str] - pypsa_params_to_gems_connections: dict[str, tuple[str, str]] - - def check_params_consistency(self) -> None: - for key in self.pypsa_params_to_gems_params: - self._check_key_in_constant_data(key) - for key in self.pypsa_params_to_gems_connections: - self._check_key_in_constant_data(key) - - def _check_key_in_constant_data(self, key: str) -> None: - if key not in self.constant_data.columns: - raise ValueError( - f"Parameter {key} not available in constant data, defining all available parameters for model {self.pypsa_model_id}" - ) diff --git a/src/gems/pypsa_converter/models/pypsa_model_schema/pypsa_global_constraint_data.py b/src/gems/pypsa_converter/models/pypsa_model_schema/pypsa_global_constraint_data.py deleted file mode 100644 index 89c45505..00000000 --- a/src/gems/pypsa_converter/models/pypsa_model_schema/pypsa_global_constraint_data.py +++ /dev/null @@ -1,13 +0,0 @@ -from dataclasses import dataclass - - -@dataclass -class PyPSAGlobalConstraintData: - pypsa_name: str - # pypsa_investment_period - pypsa_carrier_attribute: str - pypsa_sense: str - pypsa_constant: float - gems_model_id: str # gems model for this GlobalConstraint - gems_port_id: str # gems port for this GlobalConstraint - gems_components_and_ports: list[tuple[str, str]] diff --git a/src/gems/pypsa_converter/parsing.py b/src/gems/pypsa_converter/parsing.py deleted file mode 100644 index 7ed5e91b..00000000 --- a/src/gems/pypsa_converter/parsing.py +++ /dev/null @@ -1,91 +0,0 @@ -# Copyright (c) 2024, RTE (https://www.rte-france.com) -# -# See AUTHORS.txt -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# SPDX-License-Identifier: MPL-2.0 -# -# This file is part of the Antares project. - -import argparse -import os -from dataclasses import dataclass -from pathlib import Path -from typing import List, TextIO - -import pandas as pd -from yaml import safe_load - -from gems.pypsa_converter.models.gems_system_yaml_schema import GemsSystem - - -def parse_yaml_components(input_study: TextIO) -> GemsSystem: - tree = safe_load(input_study) - return GemsSystem.model_validate(tree["system"]) - - -def parse_scenario_builder(file: Path) -> pd.DataFrame: - sb = pd.read_csv(file, names=("name", "year", "scenario")) - sb.rename(columns={0: "name", 1: "year", 2: "scenario"}) - return sb - - -@dataclass(frozen=True) -class ParsedArguments: - models_path: List[Path] - components_path: Path - timeseries_path: Path - duration: int - nb_scenarios: int - - -def parse_cli() -> ParsedArguments: - parser = argparse.ArgumentParser() - parser.add_argument( - "--study", type=Path, help="path to the root directory of the study" - ) - parser.add_argument( - "--models", nargs="+", type=Path, help="list of path to model file, *.yml" - ) - parser.add_argument( - "--component", type=Path, help="path to the component file, *.yml" - ) - parser.add_argument( - "--timeseries", type=Path, help="path to the timeseries directory" - ) - parser.add_argument( - "--duration", type=int, help="duration of the simulation", default=1 - ) - parser.add_argument( - "--scenario", type=int, help="number of scenario of the simulation", default=1 - ) - - args = parser.parse_args() - - if args.study: - if args.models or args.component or args.timeseries: - parser.error( - "--study flag can't be use with --models, --component and --timeseries" - ) - - components_path = args.study / "input" / "components" / "components.yml" - timeseries_dir = args.study / "input" / "components" / "series" - model_paths = [ - args.study / "input" / "models" / file - for file in os.listdir(args.study / "input" / "models") - ] - - else: - if not args.models or not args.component: - parser.error("--models and --component must be entered") - - components_path = args.component - timeseries_dir = args.timeseries - model_paths = args.models - - return ParsedArguments( - model_paths, components_path, timeseries_dir, args.duration, args.scenario - ) diff --git a/src/gems/pypsa_converter/pypsa_converter.py b/src/gems/pypsa_converter/pypsa_converter.py deleted file mode 100644 index 10d0920d..00000000 --- a/src/gems/pypsa_converter/pypsa_converter.py +++ /dev/null @@ -1,566 +0,0 @@ -# Copyright (c) 2024, RTE (https://www.rte-france.com) -# -# See AUTHORS.txt -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# SPDX-License-Identifier: MPL-2.0 -# -# This file is part of the Antares project. -import logging -from math import inf -from pathlib import Path - -import pandas as pd -from pypsa import Network - -from gems.pypsa_converter.utils import any_to_float -from gems.pypsa_converter.models.pypsa_model_schema import ( - PyPSAComponentData, - PyPSAGlobalConstraintData, -) - -from gems.pypsa_converter.models.gems_system_yaml_schema import ( - GemsComponent, - GemsComponentParameter, - GemsPortConnection, - GemsSystem, -) - - -class PyPSAStudyConverter: - def __init__( - self, - pypsa_network: Network, - logger: logging.Logger, - system_dir: Path, - series_dir: Path, - series_file_format: str, - ): - """ - Initialize processor - """ - self.logger = logger - self.system_dir = system_dir - self.series_dir = series_dir - self.pypsa_network = pypsa_network - self.pypsalib_id = "pypsa_models" - self.null_carrier_id = "null" - self.system_name = pypsa_network.name - self.series_file_format = series_file_format - - self.pypsa_components = [ - "buses", - "loads", - "generators", - "stores", - "storage_units", - "links", - "lines", - "transformers", - ] - self._pypsa_network_assertion() - self._pypsa_network_preprocessing() - self._preprocess_pypsa_components("loads", False, "/") - self._preprocess_pypsa_components("generators", True, "p_nom") - self._preprocess_pypsa_components("stores", True, "e_nom") - self._preprocess_pypsa_components("storage_units", True, "p_nom") - self._preprocess_pypsa_components("links", True, "p_nom") - - self.pypsa_components_data: dict[str, PyPSAComponentData] = {} - self._register_pypsa_components() - self.pypsa_globalconstraints_data: dict[str, PyPSAGlobalConstraintData] = {} - self._register_pypsa_globalconstraints() - - def _pypsa_network_assertion(self) -> None: - """Assertion function to keep trace of the limitations of the converter""" - assert len(self.pypsa_network.investment_periods) == 0 - assert (self.pypsa_network.snapshot_weightings.values == 1.0).all() - ### PyPSA components : Generators - if not (all((self.pypsa_network.generators["marginal_cost_quadratic"] == 0))): - raise ValueError(f"Converter supports only Generators with linear cost") - if not (all((self.pypsa_network.generators["active"] == 1))): - raise ValueError(f"Converter supports only Generators with active = 1") - if not (all((self.pypsa_network.generators["committable"] == False))): - raise ValueError( - f"Converter supports only Generators with commitable = False" - ) - ### PyPSA components : Loads - if not (all((self.pypsa_network.loads["active"] == 1))): - raise ValueError(f"Converter supports only Loads with active = 1") - ### PyPSA components : Links - if not (all((self.pypsa_network.links["active"] == 1))): - raise ValueError(f"Converter supports only Links with active = 1") - ### PyPSA components : Lines - if not len(self.pypsa_network.lines) == 0: - raise ValueError(f"Converter does not support Lines yet") - ### PyPSA components : Storage Units - if not (all((self.pypsa_network.links["active"] == 1))): - raise ValueError(f"Converter supports only Storage Units with active = 1") - if not (all((self.pypsa_network.storage_units["sign"] == 1))): - raise ValueError(f"Converter supports only Storage Units with sign = 1") - if not (all((self.pypsa_network.storage_units["cyclic_state_of_charge"] == 1))): - raise ValueError( - f"Converter supports only Storage Units with cyclic_state_of_charge" - ) - if not ( - all((self.pypsa_network.storage_units["marginal_cost_quadratic"] == 0)) - ): - raise ValueError(f"Converter supports only Storage Units with linear cost") - ### PyPSA components : Stores - if not (all((self.pypsa_network.links["active"] == 1))): - raise ValueError(f"Converter supports only Stores with active = 1") - if not (all((self.pypsa_network.stores["sign"] == 1))): - raise ValueError(f"Converter supports only Stores with sign = 1") - if not (all((self.pypsa_network.stores["e_cyclic"] == 1))): - raise ValueError(f"Converter supports only Stores with e_cyclic = True") - if not (all((self.pypsa_network.stores["marginal_cost_quadratic"] == 0))): - raise ValueError(f"Converter supports only Stores with linear cost") - ### PyPSA components : GlobalConstraint - for pypsa_model_id in self.pypsa_network.global_constraints.index: - assert ( - self.pypsa_network.global_constraints.loc[pypsa_model_id, "type"] - == "primary_energy" - ) - assert ( - self.pypsa_network.global_constraints.loc[ - pypsa_model_id, "carrier_attribute" - ] - == "co2_emissions" - ) - - def _rename_buses(self) -> None: - ### Rename PyPSA buses, to delete spaces - if len(self.pypsa_network.buses) > 0: - self.pypsa_network.buses.index = self.pypsa_network.buses.index.str.replace( - " ", "_" - ) - for _, val in self.pypsa_network.buses_t.items(): - val.columns = val.columns.str.replace(" ", "_") - ### Update the 'bus' columns for the different types of PyPSA components - for component_type in self.pypsa_components: - df = getattr(self.pypsa_network, component_type) - if len(df) > 0: - for col in ["bus", "bus0", "bus1"]: - if col in df.columns: - df[col] = df[col].str.replace(" ", "_") - - def _pypsa_network_preprocessing(self) -> None: - ###Add fictitious carrier - self.pypsa_network.add( - "Carrier", - self.null_carrier_id, - co2_emissions=0, - max_growth=any_to_float(inf), - ) - self.pypsa_network.carriers[ - "carrier" - ] = self.pypsa_network.carriers.index.values - self._rename_buses() - - def _rename_pypsa_components(self, component_type: str) -> None: - df = getattr(self.pypsa_network, component_type) - if len(df) == 0: - return - ### Rename PyPSA components, to make sure that the names are uniques (used as id in the Gems model) - prefix = component_type[:-1] - df.index = prefix + "_" + df.index.str.replace(" ", "_") - dictionnary = getattr(self.pypsa_network, component_type + "_t") - for _, val in dictionnary.items(): - val.columns = prefix + "_" + val.columns.str.replace(" ", "_") - - def _fix_capacities(self, component_type: str, capa_str: str) -> None: - df = getattr(self.pypsa_network, component_type) - if len(df) == 0: - return - ### Adding min and max capacities to non-extendable objects - for field in [capa_str + "_min", capa_str + "_max"]: - df.loc[df[capa_str + "_extendable"] == False, field] = df[capa_str] - df.loc[df[capa_str + "_extendable"] == False, "capital_cost"] = 0.0 - - def _preprocess_pypsa_components( - self, component_type: str, extendable: bool, capa_str: str - ) -> None: - ### Handling PyPSA objects without carriers - df = getattr(self.pypsa_network, component_type) - for comp in df.index: - if len(df.loc[comp, "carrier"]) == 0: - df.loc[comp, "carrier"] = self.null_carrier_id - setattr( - self.pypsa_network, - component_type, - df.join( - self.pypsa_network.carriers, - on="carrier", - how="left", - rsuffix="_carrier", - ), - ) - self._rename_pypsa_components(component_type) - if extendable: - self._fix_capacities(component_type, capa_str) - - def _register_pypsa_components(self) -> None: - ### PyPSA components : Generators - self._register_pypsa_components_of_given_model( - "generators", - self.pypsa_network.generators, - self.pypsa_network.generators_t, - "generator", - { - "p_nom_min": "p_nom_min", - "p_nom_max": "p_nom_max", - "p_min_pu": "p_min_pu", - "p_max_pu": "p_max_pu", - "marginal_cost": "marginal_cost", - "capital_cost": "capital_cost", - "e_sum_min": "e_sum_min", - "e_sum_max": "e_sum_max", - "sign": "sign", - "efficiency": "efficiency", - "co2_emissions": "emission_factor", - }, - {"bus": ("p_balance_port", "p_balance_port")}, - ) - ### PyPSA components : Loads - self._register_pypsa_components_of_given_model( - "loads", - self.pypsa_network.loads, - self.pypsa_network.loads_t, - "load", - { - "p_set": "p_set", - "q_set": "q_set", - "sign": "sign", - }, - {"bus": ("p_balance_port", "p_balance_port")}, - ) - ### PyPSA components : Buses - self._register_pypsa_components_of_given_model( - "buses", - self.pypsa_network.buses, - self.pypsa_network.buses_t, - "bus", - { - "v_nom": "v_nom", - "x": "x", - "y": "y", - "v_mag_pu_set": "v_mag_pu_set", - "v_mag_pu_min": "v_mag_pu_min", - "v_mag_pu_max": "v_mag_pu_max", - }, - {}, - ) - ### PyPSA components : Links - self._register_pypsa_components_of_given_model( - "links", - self.pypsa_network.links, - self.pypsa_network.links_t, - "link", - { - "efficiency": "efficiency", - "p_nom_min": "p_nom_min", - "p_nom_max": "p_nom_max", - "p_min_pu": "p_min_pu", - "p_max_pu": "p_max_pu", - "marginal_cost": "marginal_cost", - "capital_cost": "capital_cost", - }, - { - "bus0": ("p0_port", "p_balance_port"), - "bus1": ("p1_port", "p_balance_port"), - }, - ) - ### PyPSA components : Storage Units - self._register_pypsa_components_of_given_model( - "storage_units", - self.pypsa_network.storage_units, - self.pypsa_network.storage_units_t, - "storage_unit", - { - "p_nom_min": "p_nom_min", - "p_nom_max": "p_nom_max", - "p_min_pu": "p_min_pu", - "p_max_pu": "p_max_pu", - "sign": "sign", - "efficiency_store": "efficiency_store", - "efficiency_dispatch": "efficiency_dispatch", - "standing_loss": "standing_loss", - "max_hours": "max_hours", - "marginal_cost": "marginal_cost", - "capital_cost": "capital_cost", - "marginal_cost_storage": "marginal_cost_storage", - "spill_cost": "spill_cost", - "inflow": "inflow", - "co2_emissions": "emission_factor", - }, - {"bus": ("p_balance_port", "p_balance_port")}, - ) - ### PyPSA components : Stores - self._register_pypsa_components_of_given_model( - "stores", - self.pypsa_network.stores, - self.pypsa_network.stores_t, - "store", - { - "sign": "sign", - "e_nom_min": "e_nom_min", - "e_nom_max": "e_nom_max", - "e_min_pu": "e_min_pu", - "e_max_pu": "e_max_pu", - "standing_loss": "standing_loss", - "marginal_cost": "marginal_cost", - "capital_cost": "capital_cost", - "marginal_cost_storage": "marginal_cost_storage", - "co2_emissions": "emission_factor", - }, - {"bus": ("p_balance_port", "p_balance_port")}, - ) - - def _add_contributors_to_globalconstraints( - self, gems_components_and_ports: list[tuple[str, str]], component_type: str - ) -> list[tuple[str, str]]: - df = getattr(self.pypsa_network, component_type) - gems_components_and_ports += [ - (comp, "emission_port") - for comp in df[df["carrier"] != self.null_carrier_id].index - ] - return gems_components_and_ports - - def _register_pypsa_globalconstraints(self) -> None: - gems_components_and_ports: list[tuple[str, str]] = [] - for component_type in ["generators", "stores", "storage_units"]: - gems_components_and_ports = self._add_contributors_to_globalconstraints( - gems_components_and_ports, component_type - ) - - for pypsa_model_id in self.pypsa_network.global_constraints.index: - name, sense, carrier_attribute = ( - pypsa_model_id, - self.pypsa_network.global_constraints.loc[pypsa_model_id, "sense"], - self.pypsa_network.global_constraints.loc[ - pypsa_model_id, "carrier_attribute" - ], - ) - if carrier_attribute == "co2_emissions" and sense == "<=": - self.pypsa_globalconstraints_data[ - pypsa_model_id - ] = PyPSAGlobalConstraintData( - name, - carrier_attribute, - sense, - self.pypsa_network.global_constraints.loc[ - pypsa_model_id, "constant" - ], - "global_constraint_co2_max", - "emission_port", - gems_components_and_ports, - ) - elif carrier_attribute == "co2_emissions" and sense == "==": - self.pypsa_globalconstraints_data[ - pypsa_model_id - ] = PyPSAGlobalConstraintData( - name, - carrier_attribute, - sense, - self.pypsa_network.global_constraints.loc[ - pypsa_model_id, "constant" - ], - "global_constraint_co2_eq", - "emission_port", - gems_components_and_ports, - ) - else: - raise ValueError("Type of GlobalConstraint not supported.") - - def _register_pypsa_components_of_given_model( - self, - pypsa_model_id: str, - constant_data: pd.DataFrame, - time_dependent_data: dict[str, pd.DataFrame], - gems_model_id: str, - pypsa_params_to_gems_params: dict[str, str], - pypsa_params_to_gems_connections: dict[str, tuple[str, str]], - ) -> None: - if pypsa_model_id in self.pypsa_components_data: - raise ValueError(f"{pypsa_model_id} already registered !") - - self.pypsa_components_data[pypsa_model_id] = PyPSAComponentData( - pypsa_model_id, - constant_data, - time_dependent_data, - gems_model_id, - pypsa_params_to_gems_params, - pypsa_params_to_gems_connections, - ) - - def to_gems_study(self) -> GemsSystem: - """Main function, to export PyPSA as Gems system""" - - self.logger.info("Study conversion started") - list_components, list_connections = [], [] - - for pypsa_components_data in self.pypsa_components_data.values(): - components, connections = self._convert_pypsa_components_of_given_model( - pypsa_components_data - ) - list_components.extend(components) - list_connections.extend(connections) - - for pypsa_global_constraint_data in self.pypsa_globalconstraints_data.values(): - ( - components, - connections, - ) = self._convert_pypsa_globalconstraint_of_given_model( - pypsa_global_constraint_data - ) - list_components.extend(components) - list_connections.extend(connections) - - return GemsSystem( - nodes=[], components=list_components, connections=list_connections - ) - - def _convert_pypsa_components_of_given_model( - self, pypsa_components_data: PyPSAComponentData - ) -> tuple[list[GemsComponent], list[GemsPortConnection]]: - """ - Generic function to handle the different PyPSA classes - - """ - - self.logger.info( - f"Creating objects of type: {pypsa_components_data.gems_model_id}. " - ) - - # We test whether the keys of the conversion dictionary are allowed in the PyPSA model : all authorized parameters are columns in the constant data frame (even though they are specified as time-varying values in the time-varying data frame) - pypsa_components_data.check_params_consistency() - - # List of params that may be time-dependent in the pypsa model, among those we want to keep - time_dependent_params = set( - pypsa_components_data.pypsa_params_to_gems_params - ).intersection(set(pypsa_components_data.time_dependent_data.keys())) - # Save time series and memorize the time-dependent parameters - comp_param_to_timeseries_name = self._write_and_register_timeseries( - pypsa_components_data.time_dependent_data, time_dependent_params - ) - - connections = self._create_gems_connections( - pypsa_components_data.constant_data, - pypsa_components_data.pypsa_params_to_gems_connections, - ) - - components = self._create_gems_components( - pypsa_components_data.constant_data, - pypsa_components_data.gems_model_id, - pypsa_components_data.pypsa_params_to_gems_params, - comp_param_to_timeseries_name, - ) - return components, connections - - def _convert_pypsa_globalconstraint_of_given_model( - self, pypsa_gc_data: PyPSAGlobalConstraintData - ) -> tuple[list[GemsComponent], list[GemsPortConnection]]: - self.logger.info( - f"Creating PyPSA GlobalConstraint of type: {pypsa_gc_data.gems_model_id}. " - ) - components = [ - GemsComponent( - id=pypsa_gc_data.pypsa_name, - model=f"{self.pypsalib_id}.{pypsa_gc_data.gems_model_id}", - parameters=[ - GemsComponentParameter( - id="quota", - time_dependent=False, - scenario_dependent=False, - value=pypsa_gc_data.pypsa_constant, - ) - ], - ) - ] - connections = [] - for component_id, port_id in pypsa_gc_data.gems_components_and_ports: - connections.append( - GemsPortConnection( - component1=pypsa_gc_data.pypsa_name, - port1=pypsa_gc_data.gems_port_id, - component2=component_id, - port2=port_id, - ) - ) - - return components, connections - - def _write_and_register_timeseries( - self, - time_dependent_data: dict[str, pd.DataFrame], - time_dependent_params: set[str], - ) -> dict[tuple[str, str], str]: - comp_param_to_timeseries_name = dict() - for param in time_dependent_params: - param_df = time_dependent_data[param] - for component in param_df.columns: - timeseries_name = self.system_name + "_" + component + "_" + param - comp_param_to_timeseries_name[(component, param)] = timeseries_name - param_df[[component]].to_csv( - self.series_dir / Path(timeseries_name + self.series_file_format), - index=False, - header=False, - ) - - return comp_param_to_timeseries_name - - def _create_gems_components( - self, - constant_data: pd.DataFrame, - gems_model_id: str, - pypsa_params_to_gems_params: dict[str, str], - comp_param_to_timeseries_name: dict[tuple[str, str], str], - ) -> list[GemsComponent]: - components = [] - for component in constant_data.index: - components.append( - GemsComponent( - id=component, - model=f"{self.pypsalib_id}.{gems_model_id}", - parameters=[ - GemsComponentParameter( - id=pypsa_params_to_gems_params[param], - time_dependent=(component, param) - in comp_param_to_timeseries_name, - scenario_dependent=False, - value=( - comp_param_to_timeseries_name[(component, param)] - if (component, param) in comp_param_to_timeseries_name - else any_to_float(constant_data.loc[component, param]) - ), - ) - for param in pypsa_params_to_gems_params - ], - ) - ) - return components - - def _create_gems_connections( - self, - constant_data: pd.DataFrame, - pypsa_params_to_gems_connections: dict[str, tuple[str, str]], - ) -> list[GemsPortConnection]: - connections = [] - for bus_id, ( - model_port, - bus_port, - ) in pypsa_params_to_gems_connections.items(): - buses = constant_data[bus_id].values - for component_id, component in enumerate(constant_data.index): - connections.append( - GemsPortConnection( - component1=buses[component_id], - port1=bus_port, - component2=component, - port2=model_port, - ) - ) - return connections diff --git a/src/gems/pypsa_converter/utils.py b/src/gems/pypsa_converter/utils.py deleted file mode 100644 index e98f0685..00000000 --- a/src/gems/pypsa_converter/utils.py +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (c) 2024, RTE (https://www.rte-france.com) -# -# See AUTHORS.txt -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# SPDX-License-Identifier: MPL-2.0 -# -# This file is part of the Antares project. - -from typing import Any - -import numpy as np -import yaml -from pydantic import BaseModel - -PYPSA_CONVERTER_MAX_FLOAT = 100000000000 - - -def any_to_float(el: Any) -> float: - """Auxiliary function for type consistency""" - try: - return max( - min(float(el), PYPSA_CONVERTER_MAX_FLOAT), PYPSA_CONVERTER_MAX_FLOAT * -1 - ) - except: - raise TypeError(f"Could not convert {el} to float") - - -def transform_to_yaml(model: BaseModel, output_path: str) -> None: - with open(output_path, "w", encoding="utf-8") as yaml_file: - yaml.dump( - {"system": model.model_dump(by_alias=True, exclude_unset=True)}, - yaml_file, - allow_unicode=True, - ) diff --git a/tests/e2e/models/systems/pypsa_basic_system.yml b/tests/e2e/models/systems/pypsa_basic_system.yml deleted file mode 100644 index 0cde8588..00000000 --- a/tests/e2e/models/systems/pypsa_basic_system.yml +++ /dev/null @@ -1,125 +0,0 @@ -# Copyright (c) 2024, RTE (https://www.rte-france.com) -# -# See AUTHORS.txt -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# SPDX-License-Identifier: MPL-2.0 -# -# This file is part of the Antares project. - -# Basic study to test yml model library for PyPSA emulation -# -# - -system: - model-libraries: pypsa_models - - components: - - - id: pypsatown - model: pypsa_models.bus - parameters: - - id: v_nom - time-dependent: false - scenario-dependent: false - value: 1.0 - - id: x - time-dependent: false - scenario-dependent: false - value: 0.0 - - id: y - time-dependent: false - scenario-dependent: false - value: 0.0 - - id: v_mag_pu_set - time-dependent: false - scenario-dependent: false - value: 1.0 - - id: v_mag_pu_min - time-dependent: false - scenario-dependent: false - value: 1.0 - - id: v_mag_pu_max - time-dependent: false - scenario-dependent: false - value: 1.0 - - - id: pypsaload - model: pypsa_models.load - parameters: - - id: p_set - time-dependent: true - scenario-dependent: false - value: basic_load - - id: q_set - time-dependent: false - scenario-dependent: false - value: 0 - - id: sign - time-dependent: false - scenario-dependent: false - value: -1 - - id: active - time-dependent: false - scenario-dependent: false - value: 1 - - id: pypsagenerator - model: pypsa_models.generator - parameters: - - id: p_nom_min - time-dependent: false - scenario-dependent: false - value: 200.0 - - id: p_nom_max - time-dependent: false - scenario-dependent: false - value: 200.0 - - id: marginal_cost - time-dependent: false - scenario-dependent: false - value: 50.0 - - id: capital_cost - time-dependent: false - scenario-dependent: false - value: 0.0 - - id: p_min_pu - time-dependent: false - scenario-dependent: false - value: 0.0 - - id: p_max_pu - time-dependent: false - scenario-dependent: false - value: 1.0 - - id: sign - time-dependent: false - scenario-dependent: false - value: 1 - - id: e_sum_min - time-dependent: false - scenario-dependent: false - value: 0.0 - - id: e_sum_max - time-dependent: false - scenario-dependent: false - value: 100000000 - - id: efficiency - time_dependent: false - scenario_dependent: false - value: 1 - - id: emission_factor - time_dependent: false - scenario_dependent: false - value: 0 - connections: - - component1: pypsatown - port1: p_balance_port - component2: pypsaload - port2: p_balance_port - - - component1: pypsatown - port1: p_balance_port - component2: pypsagenerator - port2: p_balance_port \ No newline at end of file diff --git a/tests/e2e/models/test_pypsa_models.py b/tests/e2e/models/test_pypsa_models.py deleted file mode 100644 index 88eeb44d..00000000 --- a/tests/e2e/models/test_pypsa_models.py +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (c) 2024, RTE (https://www.rte-france.com) -# -# See AUTHORS.txt -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# SPDX-License-Identifier: MPL-2.0 -# -# This file is part of the Antares project. - -import math -from pathlib import Path - -import pytest - -from gems.model.parsing import parse_yaml_library -from gems.model.resolve_library import resolve_library -from gems.simulation.optimization import build_problem -from gems.simulation.time_block import TimeBlock -from gems.study.parsing import parse_yaml_components -from gems.study.resolve_components import build_data_base, build_network, resolve_system - - -@pytest.fixture -def data_dir() -> Path: - return Path(__file__).parent - - -@pytest.fixture -def systems_dir(data_dir: Path) -> Path: - return data_dir / "systems" - - -@pytest.fixture -def series_dir(data_dir: Path) -> Path: - return data_dir / "series" - - -@pytest.mark.parametrize( - "system_file, timespan, target_value, relative_accuracy", - [ - ( - "pypsa_basic_system.yml", - 2, - 7500, - 1e-6, - ), - ], -) -def test_model_behaviour( - system_file: str, - systems_dir: Path, - series_dir: Path, - timespan: float, - target_value: float, - relative_accuracy: float, -) -> None: - scenarios = 1 - - with open(systems_dir / system_file) as compo_file: - input_component = parse_yaml_components(compo_file) - - with open("src/gems/libs/pypsa_models/pypsa_models.yml") as lib_file1: - input_libraries = [parse_yaml_library(lib_file1)] - - result_lib = resolve_library(input_libraries) - components_input = resolve_system(input_component, result_lib) - database = build_data_base(input_component, Path(series_dir)) - network = build_network(components_input) - problem = build_problem( - network, - database, - TimeBlock(1, [i for i in range(0, timespan)]), - scenarios, - ) - status = problem.solver.Solve() - print(problem.solver.Objective().Value()) - assert status == problem.solver.OPTIMAL - assert math.isclose( - target_value, - problem.solver.Objective().Value(), - rel_tol=relative_accuracy, - ) diff --git a/tests/pypsa_converter/__init__.py b/tests/pypsa_converter/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/pypsa_converter/conftest.py b/tests/pypsa_converter/conftest.py deleted file mode 100644 index ba1740b1..00000000 --- a/tests/pypsa_converter/conftest.py +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (c) 2024, RTE (https://www.rte-france.com) -# -# See AUTHORS.txt -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# SPDX-License-Identifier: MPL-2.0 -# -# This file is part of the Antares project. -from pathlib import Path - -import pytest - - -@pytest.fixture -def data_dir(tmp_path: Path) -> Path: - return tmp_path - - -@pytest.fixture -def results_dir(data_dir: Path) -> Path: - results_dir = data_dir / "results" - results_dir.mkdir(parents=True, exist_ok=True) - return results_dir - - -@pytest.fixture -def systems_dir(data_dir: Path) -> Path: - systems_dir = data_dir / "systems" - systems_dir.mkdir(parents=True, exist_ok=True) - return systems_dir - - -@pytest.fixture -def series_dir(data_dir: Path) -> Path: - series_dir = data_dir / "series" - series_dir.mkdir(parents=True, exist_ok=True) - return series_dir diff --git a/tests/pypsa_converter/pypsa_input_files/base_s_4_elec.nc b/tests/pypsa_converter/pypsa_input_files/base_s_4_elec.nc deleted file mode 100644 index 86fd05153c57e3d5d84e00623fb3300ca0c718d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2873703 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ŒN+}R2lc%RFUDd3*V!HfdUX!yJ;?t_Zte6vn1k>zejBT-HZnE_e3suEZsSa zcyebnvNiF34Uhb-TZcB5gR|%OxxEZBnA%R51S6ijjv3d-XOn`$)=`h^!Y^U1Sko&vm$uXG1x>p6IFZMSi2H zxP(i*T}7b&T=KbsnmzhWncb9_RoT6bm% z@zP#|B~l!bze!{8r7hM!#$$%+>RA7r=ed@X%To+C^YI0QC&;JU6_;(fy&SrDHrL}0 zA?zR7A)UPs@iN&cZkNdRSPu=9zd`w}(cSs$`p6J?-ZRcjr5MgBXH!mv+JoZ8^*u%S zeI#qwsle}(Y^~$BUN44YNrILI3CO=Sd6vDOw;a|L>hAPzAj5KQah=%${6xV^HAQO-jFQS)v;8DFe1z`67Ro*A;_WZRF3o_?hy_;S;`p<)o=w4f1g_!B6=) z1`y;I3$MM!@o^-r@J$xO1vxmm@SU+ADb$@#q>ql2|^yv>ji$NxGUOJ`D z9@u!o4o!|Tz>eEZr1&MS4@dFg)4yh;|%YdFc<~C0w z(7sn4xx`oS`SJV0Qz$?Bd9&-kP6muo*xxOMkU^U7h=0;rG2$yvLS?f(R9%_BE!N6_ z^<9JX+ks@57G3H1!c+p*59vc+TI^wJm_0_gkpZ8>g1xQqev9(i(Qc9TCGb!D5A9zo z>PIP2PpFOoKOX*2Jm`o1FN`F2fwcsv={JT<+mW9wJ*Bj*3hT!&Ke|hO$N=~M9kXUD zfm|bp$hIzfSgMoO*;CE{_v1U(G(3?Xtgt1Bdt(WnlgzsB*k=!?g1ldamSX*UOGk3# z2^qM>2WK8~lmO#$)xXPwi0>(N;H)K;0TQ$I0jwxjoc;AlY*PswfNjflynCXVN z{6l=xEz2WKxc;B5_Np)8`k(P9oEBCpfgU}-Lp>bGKl7beIc|mld$&pΝ2D3+~DC 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