Solar Equipment#
- pydantic model gdm.distribution.equipment.SolarEquipment#
Data model for Solar Model.
Show JSON schema
{ "title": "SolarEquipment", "description": "Data model for Solar Model.", "type": "object", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "rated_power": { "default": "0 kilovar", "description": "Maximum power of the PV array for 1.0 kW/m^2 irradiance.", "title": "Rated Power", "type": "string" }, "power_temp_curve": { "anyOf": [ { "$ref": "#/$defs/Curve" }, { "type": "null" } ], "default": null, "description": "The power temperature curve for the PV array." }, "resistance": { "description": "Percentage internal resistance for the PV array.", "maximum": 100.0, "minimum": 0.0, "title": "Resistance", "type": "number" }, "reactance": { "description": "Percentage internal reactance for the PV array.", "maximum": 100.0, "minimum": 0.0, "title": "Reactance", "type": "number" }, "rated_voltage": { "description": "Rated voltage for this solar equipment.", "title": "Rated Voltage" }, "voltage_type": { "$ref": "#/$defs/VoltageTypes", "description": "Rated voltage is line to line or line to neutral." } }, "$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" }, "VoltageTypes": { "description": "Identifier of voltage types referenced in distribution models.", "enum": [ "line-to-line", "line-to-ground" ], "title": "VoltageTypes", "type": "string" } }, "additionalProperties": false, "required": [ "name", "rated_power", "resistance", "reactance", "rated_voltage", "voltage_type" ] }
- 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:
name (str)
power_temp_curve (gdm.distribution.common.curve.Curve | None)
rated_power (gdm.quantities.PositiveActivePower)
rated_voltage (gdm.quantities.PositiveVoltage)
reactance (float)
resistance (float)
uuid (uuid.UUID)
voltage_type (gdm.distribution.enums.VoltageTypes)
- field power_temp_curve: Annotated[Curve | None, FieldInfo(annotation=NoneType, required=False, default=None, description='The power temperature curve for the PV array.')] = None#
The power temperature curve for the PV array.
- field rated_power: ')] [Required]#
Maximum power of the PV array for 1.0 kW/m^2 irradiance.
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: ‘0 kilovar’}
- field rated_voltage: Annotated[PositiveVoltage, FieldInfo(annotation=NoneType, required=True, description='Rated voltage for this solar equipment.')] [Required]#
Rated voltage for this solar equipment.
- field reactance: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Percentage internal reactance for the PV array.', metadata=[Strict(strict=True), Ge(ge=0), Le(le=100)])] [Required]#
Percentage internal reactance for the PV array.
- Constraints:
strict = True
ge = 0
le = 100
- field resistance: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Percentage internal resistance for the PV array.', metadata=[Strict(strict=True), Ge(ge=0), Le(le=100)])] [Required]#
Percentage internal resistance for the PV array.
- Constraints:
strict = True
ge = 0
le = 100
- field voltage_type: Annotated[VoltageTypes, FieldInfo(annotation=NoneType, required=True, description='Rated voltage is line to line or line to neutral.')] [Required]#
Rated voltage is line to line or line to neutral.