diff --git a/.zenodo.json b/.zenodo.json index d168048..9a78a92 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -1,7 +1,7 @@ { "description": "IEEH Power System Data Model provides a schema to describe the elements of an electrical power system. It provides a hierarchical structure/schema to describe unique entity relations as well as parameter sets.", "title": "Power System Data Model - A data model for the description of electrical power systems", - "version": "1.5.0", + "version": "1.5.1", "upload_type": "software", "keywords": [ "Power System Modeling", @@ -9,7 +9,7 @@ "Python", "Data Model" ], - "publication_date": "2023-07-06", + "publication_date": "2023-07-25", "creators": [ { "name": "Institute of Electrical Power Systems and High Voltage Engineering - TU Dresden" @@ -21,7 +21,7 @@ "related_identifiers": [ { "scheme": "url", - "identifier": "https://github.com/ieeh-tu-dresden/power-system-data-model/tree/1.5.0", + "identifier": "https://github.com/ieeh-tu-dresden/power-system-data-model/tree/1.5.1", "relation": "isSupplementTo" } ] diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d95558..18bfe12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 1.5.1 (2023-07-25) + +### Fix + +- missing control type information in controller + ## 1.5.0 (2023-07-06) ### Feat diff --git a/CITATION.cff b/CITATION.cff index f1d3f0b..49bde6b 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,4 +1,4 @@ -cff-version: 1.5.0 +cff-version: 1.5.1 message: "If you use this software, please cite it as below." authors: - family-names: "Institute of Electrical Power Systems and High Voltage Engineering - TU Dresden" diff --git a/psdm/meta.py b/psdm/meta.py index 3a5d1cc..3736edd 100644 --- a/psdm/meta.py +++ b/psdm/meta.py @@ -12,7 +12,7 @@ from psdm.base import Base -VERSION = "1.5.0" +VERSION = "1.5.1" class Meta(Base): diff --git a/pyproject.toml b/pyproject.toml index 5d1fbe8..c58038b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ name = "ieeh-power-system-data-model" readme = "README.md" requires-python = ">=3.10" - version = "1.5.0" + version = "1.5.1" [project.urls] Source = "https://github.com/ieeh-tu-dresden/power-system-data-model" @@ -86,7 +86,7 @@ [tool.commitizen] name = "cz_conventional_commits" tag_format = "$version" - version = "1.5.0" + version = "1.5.1" version_files = [ ".zenodo.json:version", "CITATION.cff:cff-version", diff --git a/schema/1.5.1/steady_state_case.json b/schema/1.5.1/steady_state_case.json new file mode 100644 index 0000000..958eb9f --- /dev/null +++ b/schema/1.5.1/steady_state_case.json @@ -0,0 +1,645 @@ +{ + "$defs": { + "ActivePower": { + "properties": { + "value": { + "title": "Value", + "type": "number" + }, + "value_a": { + "title": "Value A", + "type": "number" + }, + "value_b": { + "title": "Value B", + "type": "number" + }, + "value_c": { + "title": "Value C", + "type": "number" + }, + "is_symmetrical": { + "title": "Is Symmetrical", + "type": "boolean" + } + }, + "required": [ + "value", + "value_a", + "value_b", + "value_c", + "is_symmetrical" + ], + "title": "ActivePower", + "type": "object" + }, + "ControlCosphiConst": { + "properties": { + "cosphi_dir": { + "$ref": "#/$defs/CosphiDir" + }, + "cosphi": { + "maximum": 1, + "minimum": 0, + "title": "Cosphi", + "type": "number" + }, + "control_strategy": { + "allOf": [ + { + "$ref": "#/$defs/ControlStrategy" + } + ], + "default": "COSPHI_CONST" + } + }, + "required": [ + "cosphi_dir", + "cosphi" + ], + "title": "ControlCosphiConst", + "type": "object" + }, + "ControlCosphiP": { + "properties": { + "cosphi_ue": { + "maximum": 1, + "minimum": 0, + "title": "Cosphi Ue", + "type": "number" + }, + "cosphi_oe": { + "maximum": 1, + "minimum": 0, + "title": "Cosphi Oe", + "type": "number" + }, + "p_threshold_ue": { + "maximum": 0, + "title": "P Threshold Ue", + "type": "number" + }, + "p_threshold_oe": { + "maximum": 0, + "title": "P Threshold Oe", + "type": "number" + }, + "control_strategy": { + "allOf": [ + { + "$ref": "#/$defs/ControlStrategy" + } + ], + "default": "COSPHI_P" + } + }, + "required": [ + "cosphi_ue", + "cosphi_oe", + "p_threshold_ue", + "p_threshold_oe" + ], + "title": "ControlCosphiP", + "type": "object" + }, + "ControlCosphiU": { + "properties": { + "cosphi_ue": { + "maximum": 1, + "minimum": 0, + "title": "Cosphi Ue", + "type": "number" + }, + "cosphi_oe": { + "maximum": 1, + "minimum": 0, + "title": "Cosphi Oe", + "type": "number" + }, + "u_threshold_ue": { + "minimum": 0, + "title": "U Threshold Ue", + "type": "number" + }, + "u_threshold_oe": { + "minimum": 0, + "title": "U Threshold Oe", + "type": "number" + }, + "control_strategy": { + "allOf": [ + { + "$ref": "#/$defs/ControlStrategy" + } + ], + "default": "COSPHI_U" + } + }, + "required": [ + "cosphi_ue", + "cosphi_oe", + "u_threshold_ue", + "u_threshold_oe" + ], + "title": "ControlCosphiU", + "type": "object" + }, + "ControlQConst": { + "properties": { + "q_set": { + "title": "Q Set", + "type": "number" + }, + "control_strategy": { + "allOf": [ + { + "$ref": "#/$defs/ControlStrategy" + } + ], + "default": "Q_CONST" + } + }, + "required": [ + "q_set" + ], + "title": "ControlQConst", + "type": "object" + }, + "ControlQP": { + "properties": { + "q_p_characteristic_name": { + "title": "Q P Characteristic Name", + "type": "string" + }, + "q_max_ue": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Q Max Ue" + }, + "q_max_oe": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Q Max Oe" + }, + "control_strategy": { + "allOf": [ + { + "$ref": "#/$defs/ControlStrategy" + } + ], + "default": "Q_P" + } + }, + "required": [ + "q_p_characteristic_name" + ], + "title": "ControlQP", + "type": "object" + }, + "ControlQU": { + "properties": { + "m_tg_2015": { + "minimum": 0, + "title": "M Tg 2015", + "type": "number" + }, + "m_tg_2018": { + "minimum": 0, + "title": "M Tg 2018", + "type": "number" + }, + "u_q0": { + "minimum": 0, + "title": "U Q0", + "type": "number" + }, + "u_deadband_up": { + "minimum": 0, + "title": "U Deadband Up", + "type": "number" + }, + "u_deadband_low": { + "minimum": 0, + "title": "U Deadband Low", + "type": "number" + }, + "q_max_ue": { + "minimum": 0, + "title": "Q Max Ue", + "type": "number" + }, + "q_max_oe": { + "minimum": 0, + "title": "Q Max Oe", + "type": "number" + }, + "control_strategy": { + "allOf": [ + { + "$ref": "#/$defs/ControlStrategy" + } + ], + "default": "Q_U" + } + }, + "required": [ + "m_tg_2015", + "m_tg_2018", + "u_q0", + "u_deadband_up", + "u_deadband_low", + "q_max_ue", + "q_max_oe" + ], + "title": "ControlQU", + "type": "object" + }, + "ControlStrategy": { + "enum": [ + "U_CONST", + "COSPHI_CONST", + "Q_CONST", + "Q_U", + "Q_P", + "COSPHI_P", + "COSPHI_U", + "TANPHI_CONST", + "ND" + ], + "title": "ControlStrategy", + "type": "string" + }, + "ControlTanphiConst": { + "properties": { + "cosphi_dir": { + "$ref": "#/$defs/CosphiDir" + }, + "cosphi": { + "maximum": 1, + "minimum": 0, + "title": "Cosphi", + "type": "number" + }, + "control_strategy": { + "allOf": [ + { + "$ref": "#/$defs/ControlStrategy" + } + ], + "default": "TANPHI_CONST" + } + }, + "required": [ + "cosphi_dir", + "cosphi" + ], + "title": "ControlTanphiConst", + "type": "object" + }, + "ControlUConst": { + "properties": { + "u_set": { + "minimum": 0, + "title": "U Set", + "type": "number" + }, + "u_meas_ref": { + "allOf": [ + { + "$ref": "#/$defs/ControlledVoltageRef" + } + ], + "default": "POS_SEQ" + }, + "control_strategy": { + "allOf": [ + { + "$ref": "#/$defs/ControlStrategy" + } + ], + "default": "U_CONST" + } + }, + "required": [ + "u_set" + ], + "title": "ControlUConst", + "type": "object" + }, + "ControlledVoltageRef": { + "enum": [ + "POS_SEQ", + "AVG", + "A", + "B", + "C", + "AB", + "BC", + "CA" + ], + "title": "ControlledVoltageRef", + "type": "string" + }, + "Controller": { + "properties": { + "node_target": { + "title": "Node Target", + "type": "string" + }, + "control_type": { + "anyOf": [ + { + "$ref": "#/$defs/ControlQConst" + }, + { + "$ref": "#/$defs/ControlUConst" + }, + { + "$ref": "#/$defs/ControlTanphiConst" + }, + { + "$ref": "#/$defs/ControlCosphiConst" + }, + { + "$ref": "#/$defs/ControlCosphiP" + }, + { + "$ref": "#/$defs/ControlCosphiU" + }, + { + "$ref": "#/$defs/ControlQU" + }, + { + "$ref": "#/$defs/ControlQP" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Control Type" + }, + "external_controller_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "External Controller Name" + } + }, + "required": [ + "node_target" + ], + "title": "Controller", + "type": "object" + }, + "CosphiDir": { + "enum": [ + "UE", + "OE" + ], + "title": "CosphiDir", + "type": "string" + }, + "ExternalGrid": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "u_0": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "U 0" + }, + "phi_0": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Phi 0" + }, + "p_0": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "P 0" + }, + "q_0": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Q 0" + } + }, + "required": [ + "name" + ], + "title": "ExternalGrid", + "type": "object" + }, + "Load": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "active_power": { + "$ref": "#/$defs/ActivePower" + }, + "reactive_power": { + "$ref": "#/$defs/ReactivePower" + } + }, + "required": [ + "name", + "active_power", + "reactive_power" + ], + "title": "Load", + "type": "object" + }, + "Meta": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "date": { + "format": "date", + "title": "Date", + "type": "string" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "project": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Project" + } + }, + "required": [ + "name", + "date" + ], + "title": "Meta", + "type": "object" + }, + "ReactivePower": { + "properties": { + "value": { + "title": "Value", + "type": "number" + }, + "value_a": { + "title": "Value A", + "type": "number" + }, + "value_b": { + "title": "Value B", + "type": "number" + }, + "value_c": { + "title": "Value C", + "type": "number" + }, + "is_symmetrical": { + "title": "Is Symmetrical", + "type": "boolean" + }, + "controller": { + "anyOf": [ + { + "$ref": "#/$defs/Controller" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "value", + "value_a", + "value_b", + "value_c", + "is_symmetrical" + ], + "title": "ReactivePower", + "type": "object" + }, + "Transformer": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "tap_pos": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Tap Pos" + } + }, + "required": [ + "name" + ], + "title": "Transformer", + "type": "object" + } + }, + "properties": { + "meta": { + "$ref": "#/$defs/Meta" + }, + "loads": { + "items": { + "$ref": "#/$defs/Load" + }, + "title": "Loads", + "type": "array" + }, + "transformers": { + "items": { + "$ref": "#/$defs/Transformer" + }, + "title": "Transformers", + "type": "array" + }, + "external_grids": { + "items": { + "$ref": "#/$defs/ExternalGrid" + }, + "title": "External Grids", + "type": "array" + } + }, + "required": [ + "meta", + "loads", + "transformers", + "external_grids" + ], + "title": "Case", + "type": "object" +} \ No newline at end of file diff --git a/schema/1.5.1/topology.json b/schema/1.5.1/topology.json new file mode 100644 index 0000000..c1c181c --- /dev/null +++ b/schema/1.5.1/topology.json @@ -0,0 +1,1187 @@ +{ + "$defs": { + "ActivePower": { + "properties": { + "load_model": { + "anyOf": [ + { + "$ref": "#/$defs/LoadModel" + }, + { + "type": "null" + } + ], + "default": null + }, + "characteristic": { + "anyOf": [ + { + "$ref": "#/$defs/Characteristic" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "title": "ActivePower", + "type": "object" + }, + "Branch": { + "properties": { + "node_1": { + "title": "Node 1", + "type": "string" + }, + "node_2": { + "title": "Node 2", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "u_n": { + "title": "U N", + "type": "number" + }, + "i_r": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "I R" + }, + "r1": { + "title": "R1", + "type": "number" + }, + "x1": { + "title": "X1", + "type": "number" + }, + "g1": { + "title": "G1", + "type": "number" + }, + "b1": { + "title": "B1", + "type": "number" + }, + "type": { + "$ref": "#/$defs/BranchType" + }, + "voltage_system_type": { + "$ref": "#/$defs/VoltageSystemType" + }, + "r0": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "R0" + }, + "x0": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "X0" + }, + "g0": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "G0" + }, + "b0": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "B0" + }, + "f_n": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "F N" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Description" + }, + "energized": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Energized" + }, + "length": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Length" + }, + "rn": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Rn" + }, + "xn": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Xn" + }, + "gn": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Gn" + }, + "bn": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Bn" + }, + "rpn": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Rpn" + }, + "xpn": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Xpn" + }, + "gpn": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Gpn" + }, + "bpn": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Bpn" + } + }, + "required": [ + "node_1", + "node_2", + "name", + "u_n", + "i_r", + "r1", + "x1", + "g1", + "b1", + "type", + "voltage_system_type" + ], + "title": "Branch", + "type": "object" + }, + "BranchType": { + "enum": [ + "LINE", + "COUPLER", + "FUSE" + ], + "title": "BranchType", + "type": "string" + }, + "Characteristic": { + "properties": { + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Description" + } + }, + "title": "Characteristic", + "type": "object" + }, + "ConnectedPhases": { + "properties": { + "phases_a": { + "anyOf": [ + { + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "$ref": "#/$defs/Phase" + }, + { + "$ref": "#/$defs/Phase" + } + ], + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Phases A" + }, + "phases_b": { + "anyOf": [ + { + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "$ref": "#/$defs/Phase" + }, + { + "$ref": "#/$defs/Phase" + } + ], + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Phases B" + }, + "phases_c": { + "anyOf": [ + { + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "$ref": "#/$defs/Phase" + }, + { + "$ref": "#/$defs/Phase" + } + ], + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Phases C" + } + }, + "required": [ + "phases_a", + "phases_b", + "phases_c" + ], + "title": "ConnectedPhases", + "type": "object" + }, + "ExternalGrid": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "node": { + "title": "Node", + "type": "string" + }, + "type": { + "$ref": "#/$defs/GridType" + }, + "short_circuit_power_max": { + "title": "Short Circuit Power Max", + "type": "number" + }, + "short_circuit_power_min": { + "title": "Short Circuit Power Min", + "type": "number" + } + }, + "required": [ + "name", + "description", + "node", + "type", + "short_circuit_power_max", + "short_circuit_power_min" + ], + "title": "ExternalGrid", + "type": "object" + }, + "GridType": { + "enum": [ + "SL", + "PV", + "PQ" + ], + "title": "GridType", + "type": "string" + }, + "Load": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "node": { + "title": "Node", + "type": "string" + }, + "u_n": { + "title": "U N", + "type": "number" + }, + "rated_power": { + "$ref": "#/$defs/RatedPower" + }, + "active_power": { + "$ref": "#/$defs/ActivePower" + }, + "reactive_power": { + "$ref": "#/$defs/ReactivePower" + }, + "type": { + "$ref": "#/$defs/LoadType" + }, + "connected_phases": { + "$ref": "#/$defs/ConnectedPhases" + }, + "system_type": { + "$ref": "#/$defs/SystemType" + }, + "phase_connection_type": { + "$ref": "#/$defs/PhaseConnectionType" + }, + "voltage_system_type": { + "$ref": "#/$defs/VoltageSystemType" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Description" + } + }, + "required": [ + "name", + "node", + "u_n", + "rated_power", + "active_power", + "reactive_power", + "type", + "connected_phases", + "system_type", + "phase_connection_type", + "voltage_system_type" + ], + "title": "Load", + "type": "object" + }, + "LoadModel": { + "description": "Load Representation Based on Polynomial Model.\n\n Load = Load0*(k_p*(U/U_0)^exp_p + k_i*(U/U_0)^exp_i + (1 - c_p - c_i)*(U/U_0)^exp_z)\n ", + "properties": { + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Name" + }, + "c_p": { + "default": 1.0, + "maximum": 1, + "minimum": 0, + "title": "C P", + "type": "number" + }, + "c_i": { + "default": 0.0, + "maximum": 1, + "minimum": 0, + "title": "C I", + "type": "number" + }, + "exp_p": { + "default": 0, + "title": "Exp P", + "type": "integer" + }, + "exp_i": { + "default": 1, + "title": "Exp I", + "type": "integer" + }, + "exp_z": { + "default": 2, + "title": "Exp Z", + "type": "integer" + } + }, + "title": "LoadModel", + "type": "object" + }, + "LoadType": { + "enum": [ + "CONSUMER", + "PRODUCER", + "STORAGE" + ], + "title": "LoadType", + "type": "string" + }, + "Meta": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "date": { + "format": "date", + "title": "Date", + "type": "string" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "project": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Project" + } + }, + "required": [ + "name", + "date" + ], + "title": "Meta", + "type": "object" + }, + "Node": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "u_n": { + "title": "U N", + "type": "number" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Description" + } + }, + "required": [ + "name", + "u_n" + ], + "title": "Node", + "type": "object" + }, + "Phase": { + "enum": [ + "A", + "B", + "C", + "N" + ], + "title": "Phase", + "type": "string" + }, + "PhaseConnectionType": { + "enum": [ + "THREE_PH_D", + "THREE_PH_PH_E", + "THREE_PH_YN", + "TWO_PH_PH_E", + "TWO_PH_YN", + "ONE_PH_PH_PH", + "ONE_PH_PH_E", + "ONE_PH_PH_N" + ], + "title": "PhaseConnectionType", + "type": "string" + }, + "PowerType": { + "enum": [ + "AC_APPARENT", + "AC_ACTIVE", + "AC_REACTIVE", + "DC", + "THERMAL", + "GAS", + "MECHANICAL" + ], + "title": "PowerType", + "type": "string" + }, + "RatedPower": { + "properties": { + "value": { + "minimum": 0, + "title": "Value", + "type": "number" + }, + "value_a": { + "minimum": 0, + "title": "Value A", + "type": "number" + }, + "value_b": { + "minimum": 0, + "title": "Value B", + "type": "number" + }, + "value_c": { + "minimum": 0, + "title": "Value C", + "type": "number" + }, + "is_symmetrical": { + "title": "Is Symmetrical", + "type": "boolean" + }, + "cosphi": { + "default": 1, + "maximum": 1, + "minimum": 0, + "title": "Cosphi", + "type": "number" + }, + "cosphi_a": { + "default": 1, + "maximum": 1, + "minimum": 0, + "title": "Cosphi A", + "type": "number" + }, + "cosphi_b": { + "default": 1, + "maximum": 1, + "minimum": 0, + "title": "Cosphi B", + "type": "number" + }, + "cosphi_c": { + "default": 1, + "maximum": 1, + "minimum": 0, + "title": "Cosphi C", + "type": "number" + }, + "power_type": { + "$ref": "#/$defs/PowerType" + } + }, + "required": [ + "value", + "value_a", + "value_b", + "value_c", + "is_symmetrical", + "power_type" + ], + "title": "RatedPower", + "type": "object" + }, + "ReactivePower": { + "properties": { + "load_model": { + "anyOf": [ + { + "$ref": "#/$defs/LoadModel" + }, + { + "type": "null" + } + ], + "default": null + }, + "external_controller_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "External Controller Name" + } + }, + "title": "ReactivePower", + "type": "object" + }, + "SystemType": { + "enum": [ + "COAL", + "OIL", + "GAS", + "DIESEL", + "NUCLEAR", + "HYDRO", + "PUMP_STORAGE", + "WIND", + "BIOGAS", + "SOLAR", + "PV", + "RENEWABLE_ENERGY", + "FUELCELL", + "PEAT", + "STAT_GEN", + "HVDC", + "REACTIVE_POWER_COMPENSATOR", + "BATTERY_STORAGE", + "EXTERNAL_GRID_EQUIVALENT", + "OTHER", + "NIGHT_STORAGE", + "FIXED_CONSUMPTION", + "VARIABLE_CONSUMPTION" + ], + "title": "SystemType", + "type": "string" + }, + "TapSide": { + "enum": [ + "HV", + "MV", + "LV" + ], + "title": "TapSide", + "type": "string" + }, + "Transformer": { + "properties": { + "node_1": { + "title": "Node 1", + "type": "string" + }, + "node_2": { + "title": "Node 2", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "number": { + "title": "Number", + "type": "integer" + }, + "vector_group": { + "$ref": "#/$defs/psdm__topology__transformer__VectorGroup" + }, + "i_0": { + "title": "I 0", + "type": "number" + }, + "p_fe": { + "title": "P Fe", + "type": "number" + }, + "windings": { + "items": { + "$ref": "#/$defs/Winding" + }, + "title": "Windings", + "type": "array" + }, + "phase_technology_type": { + "anyOf": [ + { + "$ref": "#/$defs/TransformerPhaseTechnologyType" + }, + { + "type": "null" + } + ], + "default": null + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Description" + }, + "tap_u_abs": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Tap U Abs" + }, + "tap_u_phi": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Tap U Phi" + }, + "tap_max": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Tap Max" + }, + "tap_min": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Tap Min" + }, + "tap_neutral": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Tap Neutral" + }, + "tap_side": { + "anyOf": [ + { + "$ref": "#/$defs/TapSide" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "node_1", + "node_2", + "name", + "number", + "vector_group", + "i_0", + "p_fe", + "windings" + ], + "title": "Transformer", + "type": "object" + }, + "TransformerPhaseTechnologyType": { + "enum": [ + "SINGLE_PH_E", + "SINGLE_PH", + "THREE_PH" + ], + "title": "TransformerPhaseTechnologyType", + "type": "string" + }, + "VoltageSystemType": { + "enum": [ + "AC", + "DC" + ], + "title": "VoltageSystemType", + "type": "string" + }, + "Winding": { + "properties": { + "node": { + "title": "Node", + "type": "string" + }, + "s_r": { + "title": "S R", + "type": "number" + }, + "u_n": { + "title": "U N", + "type": "number" + }, + "u_r": { + "title": "U R", + "type": "number" + }, + "r1": { + "title": "R1", + "type": "number" + }, + "x1": { + "title": "X1", + "type": "number" + }, + "r0": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "R0" + }, + "x0": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "X0" + }, + "re": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Re" + }, + "xe": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Xe" + }, + "phase_angle_clock": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Phase Angle Clock" + }, + "vector_group": { + "anyOf": [ + { + "$ref": "#/$defs/psdm__topology__windings__VectorGroup" + }, + { + "type": "null" + } + ], + "default": null + }, + "neutral_connected": { + "default": false, + "title": "Neutral Connected", + "type": "boolean" + } + }, + "required": [ + "node", + "s_r", + "u_n", + "u_r", + "r1", + "x1" + ], + "title": "Winding", + "type": "object" + }, + "psdm__topology__transformer__VectorGroup": { + "enum": [ + "Dd0", + "Yy0", + "YNy0", + "Yyn0", + "YNyn0", + "Dz0", + "Dzn0", + "Zd0", + "ZNd0", + "Dyn1", + "Dy5", + "Dyn5", + "Yd5", + "YNd5", + "Yz5", + "YNz5", + "Yzn5", + "YNzn5", + "Dd6", + "Yy6", + "YNy6", + "Yyn6", + "YNyn6", + "Dz6", + "Dzn6", + "Zd6", + "ZNd6", + "Dyn7", + "Dy11", + "Dyn11", + "Yd11", + "YNd11", + "Yz11", + "YNz11", + "Yzn11", + "YNzn11" + ], + "title": "VectorGroup", + "type": "string" + }, + "psdm__topology__windings__VectorGroup": { + "enum": [ + "Y", + "YN", + "Z", + "ZN", + "D" + ], + "title": "VectorGroup", + "type": "string" + } + }, + "properties": { + "meta": { + "$ref": "#/$defs/Meta" + }, + "branches": { + "items": { + "$ref": "#/$defs/Branch" + }, + "title": "Branches", + "type": "array" + }, + "nodes": { + "items": { + "$ref": "#/$defs/Node" + }, + "title": "Nodes", + "type": "array" + }, + "loads": { + "items": { + "$ref": "#/$defs/Load" + }, + "title": "Loads", + "type": "array" + }, + "transformers": { + "items": { + "$ref": "#/$defs/Transformer" + }, + "title": "Transformers", + "type": "array" + }, + "external_grids": { + "items": { + "$ref": "#/$defs/ExternalGrid" + }, + "title": "External Grids", + "type": "array" + } + }, + "required": [ + "meta", + "branches", + "nodes", + "loads", + "transformers", + "external_grids" + ], + "title": "Topology", + "type": "object" +} \ No newline at end of file diff --git a/schema/1.5.1/topology_case.json b/schema/1.5.1/topology_case.json new file mode 100644 index 0000000..57e708e --- /dev/null +++ b/schema/1.5.1/topology_case.json @@ -0,0 +1,83 @@ +{ + "$defs": { + "ElementState": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "disabled": { + "default": false, + "title": "Disabled", + "type": "boolean" + }, + "open_switches": { + "items": { + "type": "string" + }, + "title": "Open Switches", + "type": "array" + } + }, + "required": [ + "name" + ], + "title": "ElementState", + "type": "object" + }, + "Meta": { + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "date": { + "format": "date", + "title": "Date", + "type": "string" + }, + "id": { + "format": "uuid", + "title": "Id", + "type": "string" + }, + "project": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Project" + } + }, + "required": [ + "name", + "date" + ], + "title": "Meta", + "type": "object" + } + }, + "properties": { + "meta": { + "$ref": "#/$defs/Meta" + }, + "elements": { + "items": { + "$ref": "#/$defs/ElementState" + }, + "title": "Elements", + "type": "array" + } + }, + "required": [ + "meta", + "elements" + ], + "title": "Case", + "type": "object" +} \ No newline at end of file