Inverter Equipment#
- pydantic model gdm.distribution.equipment.InverterEquipment#
Data model for inverter equipment.
Show JSON schema
{ "title": "InverterEquipment", "description": "Data model for inverter equipment.", "type": "object", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "default": "", "description": "Name of the inverter controller.", "title": "Name", "type": "string" }, "rated_apparent_power": { "default": "0 ohm", "description": "Apparent power rating for the inverter.", "title": "Rated Apparent Power", "type": "string" }, "rise_limit": { "default": "0 ohm", "description": "The rise in power output allowed per unit of time", "title": "Rise Limit", "type": "string" }, "fall_limit": { "default": "0 ohm", "description": "The fall in power output allowed per unit of time", "title": "Fall Limit", "type": "string" }, "cutout_percent": { "description": "If the per-unit power drops below this value the PV output is turned off.", "maximum": 100.0, "minimum": 0.0, "title": "Cutout Percent", "type": "number" }, "cutin_percent": { "description": "If the per-unit power rises above this value the PV output is turned on.", "maximum": 100.0, "minimum": 0.0, "title": "Cutin Percent", "type": "number" }, "dc_to_ac_efficiency": { "description": "DC to AC efficiency of the inverter.", "maximum": 100.0, "minimum": 0.0, "title": "Dc To Ac Efficiency", "type": "number" }, "eff_curve": { "anyOf": [ { "$ref": "#/$defs/Curve" }, { "type": "null" } ], "default": null, "description": "Efficency curve for inverter." } }, "$defs": { "Curve": { "additionalProperties": false, "description": "An interface for representing a curve using x and y points. e.g for volt-var and volt-watt curves.\n\nExamples\n--------\n\nExample of a Curve (Volt-Var IEEE-1547 standard).\n\n>>> Curve(\n curve_x=[0.5, 0.92, 0.98, 1.02, 1.08, 1.5], curve_y=[1.0, 1.0, 0.0, 0.0, -1.0, -1.0]\n )\n\nExample of a Curve (Volt-Var Volt-Watt IEEE-1547 standard)\n\n>>> Curve(curve_x=[0.5, 1.06, 1.1, 1.5], curve_y=[1.0, 1.0, 0.0, 0.0])", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "default": "", "description": "Name of the curve.", "title": "Name", "type": "string" }, "curve_x": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, {} ], "description": "The x values of the curve", "title": "Curve X" }, "curve_y": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, {} ], "description": "The y values of the curve", "title": "Curve Y" } }, "required": [ "curve_x", "curve_y" ], "title": "Curve", "type": "object" } }, "additionalProperties": false, "required": [ "rated_apparent_power", "rise_limit", "fall_limit", "cutout_percent", "cutin_percent", "dc_to_ac_efficiency" ] }
- Config:
str_strip_whitespace: bool = True
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
use_enum_values: bool = False
arbitrary_types_allowed: bool = True
populate_by_name: bool = True
- Fields:
cutin_percent (float)
cutout_percent (float)
dc_to_ac_efficiency (float)
eff_curve (gdm.distribution.common.curve.Curve | None)
fall_limit (gdm.quantities.ActivePowerOverTime | None)
name (str)
rated_apparent_power (gdm.quantities.PositiveApparentPower)
rise_limit (gdm.quantities.ActivePowerOverTime | None)
uuid (uuid.UUID)
- field cutin_percent: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='If the per-unit power rises above this value the PV output is turned on.', metadata=[Ge(ge=0), Le(le=100)])] [Required]#
If the per-unit power rises above this value the PV output is turned on.
- Constraints:
ge = 0
le = 100
- field cutout_percent: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='If the per-unit power drops below this value the PV output is turned off.', metadata=[Ge(ge=0), Le(le=100)])] [Required]#
If the per-unit power drops below this value the PV output is turned off.
- Constraints:
ge = 0
le = 100
- field dc_to_ac_efficiency: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='DC to AC efficiency of the inverter.', metadata=[Ge(ge=0), Le(le=100)])] [Required]#
DC to AC efficiency of the inverter.
- Constraints:
ge = 0
le = 100
- field eff_curve: Annotated[Curve | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Efficency curve for inverter.')] = None#
Efficency curve for inverter.
- field fall_limit: WithJsonSchema(json_schema={'type': 'string', 'default': '0 ohm'}, mode=None), FieldInfo(annotation=NoneType, required=True, description='The fall in power output allowed per unit of time')] [Required]#
The fall in power output allowed per unit of time
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: ‘0 ohm’}
- field name: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='', description='Name of the inverter controller.')] = ''#
Name of the inverter controller.
- field rated_apparent_power: ')] [Required]#
Apparent power rating for the inverter.
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: ‘0 ohm’}
- field rise_limit: WithJsonSchema(json_schema={'type': 'string', 'default': '0 ohm'}, mode=None), FieldInfo(annotation=NoneType, required=True, description='The rise in power output allowed per unit of time')] [Required]#
The rise in power output allowed per unit of time
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: ‘0 ohm’}