Skip to content

Class: Line

A Line object in OpenDSS representing a power delivery line connecting two buses in the distribution system. If Switch=True the element is treated as a switching device instead.

URI: dss:Line

 classDiagram
    class Line
    click Line href "../Line/"
      Line : B0

      Line : B1

      Line : basefreq

      Line : bus1

      Line : bus2

      Line : C0

      Line : C1

      Line : cmatrix

      Line : cncables

      Line : conductors

      Line : EarthModel





        Line --> "0..1" EarthModelType : EarthModel
        click EarthModelType href "../EarthModelType/"



      Line : emergamps

      Line : enabled

      Line : EpsRmedium

      Line : faultrate

      Line : geometry

      Line : HeightOffset

      Line : HeightUnit





        Line --> "0..1" LengthUnit : HeightUnit
        click LengthUnit href "../LengthUnit/"



      Line : length

      Line : like

      Line : linecode

      Line : LineType





        Line --> "0..1" LineTypeCode : LineType
        click LineTypeCode href "../LineTypeCode/"



      Line : name

      Line : normamps

      Line : pct_perm

      Line : phases

      Line : r0

      Line : r1

      Line : Ratings

      Line : repair

      Line : Rg

      Line : rho

      Line : rmatrix

      Line : Seasons

      Line : spacing

      Line : Switch

      Line : tscables

      Line : units





        Line --> "0..1" LengthUnit : units
        click LengthUnit href "../LengthUnit/"



      Line : wires

      Line : x0

      Line : x1

      Line : Xg

      Line : xmatrix

Class Properties

Property Value
Class URI dss:Line

Slots

Name Cardinality and Range Description Inheritance
name 1
String
Object name direct
bus1 1
String
Name of bus to which first terminal is connected direct
bus2 0..1
String
Name of bus to which 2nd terminal is connected direct
linecode 0..1
String
Name of linecode object describing line impedances direct
length 0..1
Float
Length of line direct
phases 0..1
Integer
Number of phases, this line direct
r1 0..1
Float
Positive-sequence Resistance, ohms per unit length direct
x1 0..1
Float
Positive-sequence Reactance, ohms per unit length direct
r0 0..1
Float
Zero-sequence Resistance, ohms per unit length direct
x0 0..1
Float
Zero-sequence Reactance, ohms per unit length direct
C1 0..1
Float
Positive-sequence capacitance, nf per unit length direct
C0 0..1
Float
Zero-sequence capacitance, nf per unit length direct
rmatrix *
Float
Resistance matrix, lower triangle, ohms per unit length direct
xmatrix *
Float
Reactance matrix, lower triangle, ohms per unit length direct
cmatrix *
Float
Nodal Capacitance matrix, lower triangle, nf per unit length direct
Switch 0..1
Boolean
Designates this line as a switch for graphics and algorithmic purposes direct
Rg 0..1
Float
Carson earth return resistance per unit length used to compute impedance valu... direct
Xg 0..1
Float
Carson earth return reactance per unit length used to compute impedance value... direct
rho 0..1
Float
Earth resitivity used to compute earth correction factor direct
geometry 0..1
String
Geometry code for LineGeometry Object direct
units 0..1
LengthUnit
Length Units direct
spacing 0..1
String
Reference to a LineSpacing for use in a line constants calculation direct
cncables *
String
Array of CNData names for use in a cable constants calculation direct
tscables *
String
Array of TSData names for use in a cable constants calculation direct
wires *
String
Array of WireData names for use in an overhead line constants calculation direct
EarthModel 0..1
EarthModelType
Earth model to use for impedance calculations direct
B1 0..1
Float
Alternate way to specify C1 direct
B0 0..1
Float
Alternate way to specify C0 direct
Seasons 0..1
Integer
Defines the number of ratings to be defined for the wire, to be used only whe... direct
Ratings *
Float
An array of ratings to be used when the seasonal ratings flag is True direct
LineType 0..1
LineTypeCode
Code designating the type of line direct
EpsRmedium 0..1
Float
Relative Permittivity of the medium direct
HeightOffset 0..1
Float
Average Height (or depth) offset to be applied on top of coordinates of geome... direct
HeightUnit 0..1
LengthUnit
Height offset Units direct
conductors *
String
Array of conductor names for use in line constants calculation direct
normamps 0..1
Float
Normal rated current direct
emergamps 0..1
Float
Maximum or emerg current direct
faultrate 0..1
Float
Failure rate PER UNIT LENGTH per year direct
pct_perm 0..1
Float
Percent of failures that become permanent direct
repair 0..1
Float
Hours to repair direct
basefreq 0..1
Float
Base Frequency for ratings direct
enabled 0..1
Boolean
Indicates whether this element is enabled direct
like 0..1
String
Make like another object, e direct

Comments

  • OpenDSS Line maps to CIM ACLineSegment for normal lines. When Switch=True the converter routes to a LoadBreakSwitch (or Breaker/Fuse/Recloser when an associated protection device is present) — the ACLineSegment mapping does not apply in that case. Impedance may be given directly on the Line (r1/x1/r0/x0/C1/C0), as a phase matrix (rmatrix/xmatrix/cmatrix), by reference to a Linecode (PerLengthImpedance), or by a geometry/spacing + conductor specification (WireSpacingInfo + WireInfo); only one of these forms is used per line, in that priority order.

Identifier and Mapping Information

Schema Source

  • from schema: https://gridappsd.github.io/dss-graph/opendss

Mappings

Mapping Type Mapped Value
self dss:Line
native dss:Line
exact cim:ACLineSegment

LinkML Source

Direct

name: Line
description: A Line object in OpenDSS representing a power delivery line connecting
  two buses in the distribution system. If Switch=True the element is treated as a
  switching device instead.
comments:
- OpenDSS Line maps to CIM ACLineSegment for normal lines. When Switch=True the converter
  routes to a LoadBreakSwitch (or Breaker/Fuse/Recloser when an associated protection
  device is present) — the ACLineSegment mapping does not apply in that case. Impedance
  may be given directly on the Line (r1/x1/r0/x0/C1/C0), as a phase matrix (rmatrix/xmatrix/cmatrix),
  by reference to a Linecode (PerLengthImpedance), or by a geometry/spacing + conductor
  specification (WireSpacingInfo + WireInfo); only one of these forms is used per
  line, in that priority order.
from_schema: https://gridappsd.github.io/dss-graph/opendss
exact_mappings:
- cim:ACLineSegment
attributes:
  name:
    name: name
    description: Object name. Must be unique per object type.
    comments:
    - Direct name mapping; no conversion needed.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    exact_mappings:
    - cim:IdentifiedObject.name
    identifier: true
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Vsconverter
    - Windgen
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Capcontrol
    - Espvlcontrol
    - Expcontrol
    - Fuse
    - Gendispatcher
    - Invcontrol
    - Pycontrol
    - Recloser
    - Regcontrol
    - Relay
    - Storagecontroller
    - Swtcontrol
    - Upfccontrol
    - Cndata
    - Dynamicexp
    - Growthshape
    - Linecode
    - Linegeometry
    - Linespacing
    - Loadshape
    - Priceshape
    - Spectrum
    - TccCurve
    - Tsdata
    - Tshape
    - Wiredata
    - Xfmrcode
    - Xycurve
    - Energymeter
    - Fmonitor
    - Monitor
    - Sensor
    - Fault
    - Gicsource
    - Isource
    - Vsource
    range: string
    required: true
  bus1:
    name: bus1
    annotations:
      order:
        tag: order
        value: 1
    description: Name of bus to which first terminal is connected.
    comments:
    - 'Terminal 1 structural mapping: equipment.Terminals[0].ConnectivityNode.name.
      Phase suffix reconstructed from ACLineSegmentPhase objects ordered by SinglePhaseKind
      (A=1, B=2, C=3).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:Terminal.ConnectivityNode
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Windgen
    - Capacitor
    - Line
    - Reactor
    - Fault
    - Isource
    - Vsource
    range: string
    required: true
  bus2:
    name: bus2
    annotations:
      order:
        tag: order
        value: 2
    description: Name of bus to which 2nd terminal is connected.
    comments:
    - 'Terminal 2 structural mapping: equipment.Terminals[1].ConnectivityNode.name.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:Terminal.ConnectivityNode
    domain_of:
    - Gicline
    - Upfc
    - Capacitor
    - Line
    - Reactor
    - Fault
    - Vsource
    range: string
    required: false
  linecode:
    name: linecode
    annotations:
      order:
        tag: order
        value: 3
    description: Name of linecode object describing line impedances. If no line code
      or impedance data are specified, the line defaults to 336 MCM ACSR on 4 ft spacing.
    comments:
    - 'Import: resolved to a PerLengthSequenceImpedance or PerLengthPhaseImpedance
      by name lookup; ACLineSegment.PerLengthImpedance = that object. Export: ACLineSegment.PerLengthImpedance.name
      used to reconstruct linecode reference.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:PerLengthImpedance
    rank: 1000
    domain_of:
    - Line
    range: string
    required: false
  length:
    name: length
    annotations:
      order:
        tag: order
        value: 4
      dss_default:
        tag: dss_default
        value: float(1.0)
    description: Length of line. Default is 1.0. If units do not match the impedance
      data, specify units property.
    comments:
    - 'Import: ACLineSegment.length = Length(length, units_str)  unit from ''units''
      attribute. Export: length = ACLineSegment.length.to(units_str). CIM stores length
      in m (SI base); DSS default unit is ft when no units given.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    exact_mappings:
    - cim:Conductor.length
    rank: 1000
    domain_of:
    - Line
    range: float
    required: false
    minimum_value: 0.0
  phases:
    name: phases
    annotations:
      order:
        tag: order
        value: 5
      dss_default:
        tag: dss_default
        value: int(3)
    description: Number of phases, this line.
    comments:
    - 'Import: inferred from bus1 node suffix. Export: len(ACLineSegment.ACLineSegmentPhase).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:ACLineSegmentPhase
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Vsconverter
    - Windgen
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Xfmrcode
    - Fault
    - Gicsource
    - Isource
    - Vsource
    range: integer
    required: false
    minimum_value: 1
    maximum_value: 3
  r1:
    name: r1
    annotations:
      order:
        tag: order
        value: 6
    description: Positive-sequence Resistance, ohms per unit length. Setting any of
      R1, R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    todos:
    - 'Converter bug: DSS r1 is documented as ohms per unit length, but the direct-impedance
      path (no linecode) stores it as total ohms without multiplying by length. Roundtrips
      correctly within this converter, but a line authored elsewhere with a true per-length
      r1 and length != 1 would import with the wrong total resistance.'
    comments:
    - 'Only used when the line has no linecode/matrix/geometry/spacing reference.
      Import: ACLineSegment.r = Resistance(r1, ''ohm''), taken directly as ohms with
      no multiplication by length. Export: r1 = ACLineSegment.r.to(''ohm''). When
      a linecode is used instead, r1 is stored per-unit-length on the Linecode (see
      general/linecode.yaml).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.r
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  x1:
    name: x1
    annotations:
      order:
        tag: order
        value: 7
    description: Positive-sequence Reactance, ohms per unit length. Setting any of
      R1, R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    comments:
    - 'Same direct-impedance path as r1 (see r1 comments): taken as total ohms with
      no length scaling. Import: ACLineSegment.x = Reactance(x1, ''ohm''). Export:
      x1 = ACLineSegment.x.to(''ohm'').'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.x
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  r0:
    name: r0
    annotations:
      order:
        tag: order
        value: 8
    description: Zero-sequence Resistance, ohms per unit length. Setting any of R1,
      R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    comments:
    - 'Same direct-impedance path as r1 (see r1 comments): taken as total ohms with
      no length scaling, and only set when r1/x1 are also given. Import: ACLineSegment.r0
      = Resistance(r0, ''ohm''). Export: r0 = ACLineSegment.r0.to(''ohm'').'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.r0
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  x0:
    name: x0
    annotations:
      order:
        tag: order
        value: 9
    description: Zero-sequence Reactance, ohms per unit length. Setting any of R1,
      R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    comments:
    - 'Same direct-impedance path as r1 (see r1 comments): taken as total ohms with
      no length scaling, and only set when r1/x1 are also given. Import: ACLineSegment.x0
      = Reactance(x0, ''ohm''). Export: x0 = ACLineSegment.x0.to(''ohm'').'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.x0
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  C1:
    name: C1
    annotations:
      order:
        tag: order
        value: 10
    description: Positive-sequence capacitance, nf per unit length. Setting any of
      R1, R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    comments:
    - 'Only used on the direct-impedance path (no linecode/matrix/geometry/spacing;
      see r1 comments  same total-vs-per-length caveat applies to C1). Import: bch
      = Susceptance(2π × 60 × C1_nF × 1e-9, ''S'') (b = 2πfC, frequency hardcoded
      to 60 Hz). Export: C1 = bch.to(''S'') / (2π × 60) × 1e9 (back to nF).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.bch
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  C0:
    name: C0
    annotations:
      order:
        tag: order
        value: 11
    description: Zero-sequence capacitance, nf per unit length. Setting any of R1,
      R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    comments:
    - 'Same C→B conversion as C1 (see C1 comments), applied to the zero-sequence susceptance.
      Import: b0ch = Susceptance(2π × 60 × C0_nF × 1e-9, ''S''). Export: C0 = b0ch.to(''S'')
      / (2π × 60) × 1e9.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.b0ch
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  rmatrix:
    name: rmatrix
    annotations:
      order:
        tag: order
        value: 12
      dss_format:
        tag: dss_format
        value: matrix
    description: Resistance matrix, lower triangle, ohms per unit length. Order of
      the matrix is the number of phases. Using any of Rmatrix, Xmatrix, Cmatrix forces
      program to use matrix values for line impedance.
    comments:
    - 'Import: when both rmatrix and xmatrix are given, the converter synthesizes
      a temporary Linecode from the matrices and reuses the linecode importer, producing
      a PerLengthPhaseImpedance with one PhaseImpedanceData entry per (row, column)
      pair; ACLineSegment.PerLengthImpedance points to it. Export: PerLengthPhaseImpedance.PhaseImpedanceData.r
      values are reassembled into the pipe-delimited lower-triangle string DSS expects
      (see linecode exporter for the exact format).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:PerLengthPhaseImpedance
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
    multivalued: true
  xmatrix:
    name: xmatrix
    annotations:
      order:
        tag: order
        value: 13
      dss_format:
        tag: dss_format
        value: matrix
    description: Reactance matrix, lower triangle, ohms per unit length. Order of
      the matrix is the number of phases. Using any of Rmatrix, Xmatrix, Cmatrix forces
      program to use matrix values for line impedance.
    comments:
    - Same synthesized-Linecode path as rmatrix (see rmatrix comments); xmatrix values
      become PhaseImpedanceData.x entries. Only used together with rmatrix — xmatrix
      alone is not read.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:PerLengthPhaseImpedance
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
    multivalued: true
  cmatrix:
    name: cmatrix
    annotations:
      order:
        tag: order
        value: 14
      dss_format:
        tag: dss_format
        value: matrix
    description: Nodal Capacitance matrix, lower triangle, nf per unit length. Order
      of the matrix is the number of phases. Using any of Rmatrix, Xmatrix, Cmatrix
      forces program to use matrix values.
    comments:
    - Same synthesized-Linecode path as rmatrix (see rmatrix comments); optional alongside
      rmatrix/xmatrix. Diagonal cmatrix entries (nF/unit) become PhaseImpedanceData.b
      via b = 2πfC; off-diagonal capacitive coupling terms are preserved as separate
      PhaseImpedanceData entries, not lost, since PerLengthPhaseImpedance stores a
      full matrix.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:PerLengthPhaseImpedance
    domain_of:
    - Capacitor
    - Line
    - Linecode
    range: float
    required: false
    multivalued: true
  Switch:
    name: Switch
    annotations:
      order:
        tag: order
        value: 15
      dss_default:
        tag: dss_default
        value: 'false'
    description: 'Designates this line as a switch for graphics and algorithmic purposes.
      Default is false. SIDE EFFECT: Sets r1=1.0, x1=1.0, r0=1.0, x0=1.0, c1=1.1,
      c0=1.0, length=0.001.'
    comments:
    - When Switch=True the converter returns a LoadBreakSwitch (or Breaker/Fuse/Recloser
      when an associated protection device is present) instead of an ACLineSegment;
      the ACLineSegment class mapping is bypassed. On export, a switch-class CIM object
      is written back as Line with Switch=True.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:LoadBreakSwitch
    rank: 1000
    domain_of:
    - Line
    range: boolean
    required: false
  Rg:
    name: Rg
    annotations:
      order:
        tag: order
        value: 16
      dss_default:
        tag: dss_default
        value: float(0.01805)
    description: Carson earth return resistance per unit length used to compute impedance
      values at base frequency. Default is 0.01805 ohms per kft.
    comments:
    - 'OpenDSS-only (N/A): Carson earth model parameter used at line-constants calculation
      time; not persisted on CIM ACLineSegment.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  Xg:
    name: Xg
    annotations:
      order:
        tag: order
        value: 17
      dss_default:
        tag: dss_default
        value: float(0.155081)
    description: Carson earth return reactance per unit length used to compute impedance
      values at base frequency. Default is 0.155081 ohms per kft.
    comments:
    - 'OpenDSS-only (N/A): Carson earth model parameter; not persisted on CIM ACLineSegment.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  rho:
    name: rho
    annotations:
      order:
        tag: order
        value: 18
      dss_default:
        tag: dss_default
        value: float(100.0)
    description: Earth resitivity used to compute earth correction factor. Default
      is 100 meter ohms. Overrides Line geometry definition if specified.
    comments:
    - 'Import: EarthResistivity.rho stored as associated object if specified. Export:
      rho = EarthResistivity.rho. Units: ohm-m in both DSS and CIM.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    exact_mappings:
    - cim:EarthResistivity.rho
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  geometry:
    name: geometry
    annotations:
      order:
        tag: order
        value: 19
    description: 'Geometry code for LineGeometry Object. Supercedes any previous definition
      of line impedance. CAUTION: may alter number of phases.'
    comments:
    - 'Import: geometry name is resolved to a previously-converted LineGeometry result
      (spacing + per-conductor WireInfo list); ACLineSegment.WireSpacingInfo is set
      to the spacing object, and one ACLineSegmentPhase per conductor is created linking
      to its WireInfo. Export: DSS geometry is not reconstructed as a separate named
      object  the exporter instead emits the equivalent spacing + wires (see spacing/wires
      comments), which OpenDSS accepts in place of a geometry reference.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:WireSpacingInfo
    rank: 1000
    domain_of:
    - Line
    range: string
    required: false
  units:
    name: units
    annotations:
      order:
        tag: order
        value: 20
    description: Length Units. Default is None - assumes length units match impedance
      units.
    comments:
    - 'OpenDSS-only (N/A): consumed during import to scale ''length'' to SI meters
      for CIM storage; not persisted as a CIM attribute.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    domain_of:
    - Line
    - Linecode
    - Linegeometry
    - Linespacing
    range: LengthUnit
    required: false
  spacing:
    name: spacing
    annotations:
      order:
        tag: order
        value: 21
    description: Reference to a LineSpacing for use in a line constants calculation.
      Must be used in conjunction with the Wires property.
    comments:
    - 'Import: spacing name is resolved to a previously-converted WireSpacingInfo
      object; ACLineSegment.WireSpacingInfo is set to it, and the wires/cncables/tscables
      references (see their comments) are resolved to WireInfo objects and attached
      as ACLineSegmentPhase entries. Export: spacing = WireSpacingInfo.name (or the
      newer ConductorDistanceSpacing.name when that asset model is used).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:WireSpacingInfo
    rank: 1000
    domain_of:
    - Line
    - Linegeometry
    range: string
    required: false
  cncables:
    name: cncables
    annotations:
      order:
        tag: order
        value: 22
    description: Array of CNData names for use in a cable constants calculation. Must
      be used in conjunction with the Spacing property.
    comments:
    - 'Used together with spacing (see spacing comments). Import: each name is resolved
      to a ConcentricNeutralCableInfo and attached as an ACLineSegmentPhase.WireInfo.
      Export: only cables whose ConcentricNeutralCableInfo carries full neutral strand
      geometry (neutralStrandRadius/neutralStrandGmr) are written as cncables; cables
      imported without that geometry (e.g. from GLM, which only carries Rac/GMR) are
      exported into wires instead, since DSS needs the full geometry to compute CN
      impedance.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:ConcentricNeutralCableInfo
    rank: 1000
    domain_of:
    - Line
    - Linegeometry
    range: string
    required: false
    multivalued: true
  tscables:
    name: tscables
    annotations:
      order:
        tag: order
        value: 23
    description: Array of TSData names for use in a cable constants calculation. Must
      be used in conjunction with the Spacing property.
    comments:
    - 'Used together with spacing (see spacing comments). Import: each name is resolved
      to a TapeShieldCableInfo and attached as an ACLineSegmentPhase.WireInfo. Export:
      tscables = names of ACLineSegmentPhase.WireInfo objects that are TapeShieldCableInfo
      instances.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:TapeShieldCableInfo
    rank: 1000
    domain_of:
    - Line
    - Linegeometry
    range: string
    required: false
    multivalued: true
  wires:
    name: wires
    annotations:
      order:
        tag: order
        value: 24
    description: Array of WireData names for use in an overhead line constants calculation.
      Must be used in conjunction with the Spacing property.
    comments:
    - 'Used together with spacing (see spacing comments). Import: each name is resolved
      to a WireInfo (typically OverheadWireInfo) and attached as an ACLineSegmentPhase.WireInfo.
      Export: wires = names of ACLineSegmentPhase.WireInfo objects that are not concentric-neutral
      or tape-shield cable types (those go to cncables/tscables instead).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:OverheadWireInfo
    rank: 1000
    domain_of:
    - Line
    - Linegeometry
    range: string
    required: false
    multivalued: true
  EarthModel:
    name: EarthModel
    annotations:
      order:
        tag: order
        value: 25
    description: Earth model to use for impedance calculations. This is used to override
      the global value for this line. Applies only when geometry property is used.
    comments:
    - 'Import: EarthResistivity.earthModelType set from EarthModel enum value. Export:
      earthModelType  EarthModel enum string.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    exact_mappings:
    - cim:EarthResistivity.earthModelType
    rank: 1000
    domain_of:
    - Line
    range: EarthModelType
    required: false
  B1:
    name: B1
    annotations:
      order:
        tag: order
        value: 26
    description: Alternate way to specify C1. MicroS per unit length.
    todos:
    - B1 input path not yet implemented. B1 (µS/unit) → bch via bch = B1 × 1e-6 ×
      length. When present, should take precedence over C1 for bch calculation.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.bch
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  B0:
    name: B0
    annotations:
      order:
        tag: order
        value: 27
    description: Alternate way to specify C0. MicroS per unit length.
    todos:
    - B0 input path not yet implemented. B0 (µS/unit) → b0ch via b0ch = B0 × 1e-6
      × length.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.b0ch
    rank: 1000
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  Seasons:
    name: Seasons
    annotations:
      order:
        tag: order
        value: 28
    description: Defines the number of ratings to be defined for the wire, to be used
      only when defining seasonal ratings using the Ratings property.
    comments:
    - 'OpenDSS-only (N/A): seasonal ratings metadata; no direct CIM equivalent. Used
      alongside Ratings array.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    domain_of:
    - Line
    - Transformer
    - Storagecontroller
    - Cndata
    - Linecode
    - Linegeometry
    - Tsdata
    - Wiredata
    - Xfmrcode
    range: integer
    required: false
  Ratings:
    name: Ratings
    annotations:
      order:
        tag: order
        value: 29
    description: An array of ratings to be used when the seasonal ratings flag is
      True. Can be used to insert multiple ratings to change during a QSTS simulation.
    todos:
    - Seasonal ratings converter not yet implemented. Ratings array should map to
      multiple CurrentLimit objects on an OperationalLimitSet, one per season.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:OperationalLimit
    rank: 1000
    domain_of:
    - Line
    - Transformer
    - Cndata
    - Linecode
    - Linegeometry
    - Tsdata
    - Wiredata
    - Xfmrcode
    range: float
    required: false
    multivalued: true
  LineType:
    name: LineType
    annotations:
      order:
        tag: order
        value: 30
    description: Code designating the type of line. OpenDSS currently does not use
      this internally. Default is OH.
    todos:
    - LineType → PSRType mapping not yet implemented. DSS LineTypeCode (OH, UG, etc.)
      could be mapped to a PSRType classification on the ACLineSegment.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:PSRType
    rank: 1000
    domain_of:
    - Line
    - Linecode
    - Linegeometry
    range: LineTypeCode
    required: false
  EpsRmedium:
    name: EpsRmedium
    annotations:
      order:
        tag: order
        value: 31
      dss_default:
        tag: dss_default
        value: float(1.0)
    description: Relative Permittivity of the medium. Used by lines with a geometry
      definition. Default is 1.0 for air.
    comments:
    - 'OpenDSS-only (N/A): dielectric constant for line-constants calculation; no
      CIM equivalent in the standard profile.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    domain_of:
    - Line
    range: float
    required: false
  HeightOffset:
    name: HeightOffset
    annotations:
      order:
        tag: order
        value: 32
      dss_default:
        tag: dss_default
        value: float(0.0)
    description: Average Height (or depth) offset to be applied on top of coordinates
      of geometry or spacing. Use negative value for depth in underground lines. Default
      is 0.0.
    comments:
    - 'OpenDSS-only (N/A): geometry adjustment parameter; no CIM equivalent in the
      standard profile.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    domain_of:
    - Line
    range: float
    required: false
  HeightUnit:
    name: HeightUnit
    annotations:
      order:
        tag: order
        value: 33
    description: Height offset Units. If none is detected, meters is assumed.
    comments:
    - 'OpenDSS-only (N/A): unit for HeightOffset; no CIM equivalent.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    domain_of:
    - Line
    range: LengthUnit
    required: false
  conductors:
    name: conductors
    annotations:
      order:
        tag: order
        value: 34
    description: Array of conductor names for use in line constants calculation. Must
      be used in conjunction with the Spacing property. Specify conductor type followed
      by conductor name.
    todos:
    - Conductor converter not yet implemented. Names should resolve to WireInfo (OverheadWireInfo
      or CableInfo) objects.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:WireInfo
    rank: 1000
    domain_of:
    - Line
    - Linegeometry
    range: string
    required: false
    multivalued: true
  normamps:
    name: normamps
    annotations:
      order:
        tag: order
        value: 35
    description: Normal rated current.
    comments:
    - 'Import: CurrentLimit with limitType=normalOperating on an OperationalLimitSet
      linked to the ACLineSegment terminal. Export: normalOperating CurrentLimit value.
      DONE in converter.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:CurrentLimit
    domain_of:
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Cndata
    - Linecode
    - Linegeometry
    - Tsdata
    - Wiredata
    - Fault
    range: float
    required: false
  emergamps:
    name: emergamps
    annotations:
      order:
        tag: order
        value: 36
    description: Maximum or emerg current.
    comments:
    - 'Import: CurrentLimit with limitType=emergency on the OperationalLimitSet. Export:
      emergency CurrentLimit value. DONE in converter.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:CurrentLimit
    domain_of:
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Cndata
    - Linecode
    - Linegeometry
    - Tsdata
    - Wiredata
    - Fault
    range: float
    required: false
  faultrate:
    name: faultrate
    annotations:
      order:
        tag: order
        value: 37
      dss_default:
        tag: dss_default
        value: float(0.1)
    description: Failure rate PER UNIT LENGTH per year. Length must be same units
      as LENGTH property. Default is 0.1 fault per unit length per year.
    todos:
    - Requires CIM extension to roundtrip (e.g. on FailureStatistic or AssetFailureInfo).
    comments:
    - Reliability parameter; no CIM equivalent in the standard profile.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    domain_of:
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Linecode
    - Fault
    range: float
    required: false
  pct_perm:
    name: pct_perm
    annotations:
      order:
        tag: order
        value: 38
      dss_name:
        tag: dss_name
        value: pctperm
      dss_default:
        tag: dss_default
        value: float(20.0)
    description: Percent of failures that become permanent. Default is 20.
    todos:
    - Requires CIM extension to roundtrip.
    comments:
    - Reliability parameter; no CIM equivalent in the standard profile.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    domain_of:
    - Line
    - Transformer
    range: float
    required: false
  repair:
    name: repair
    annotations:
      order:
        tag: order
        value: 39
      dss_default:
        tag: dss_default
        value: float(3.0)
    description: Hours to repair. Default is 3 hr.
    todos:
    - Requires CIM extension to roundtrip.
    comments:
    - Reliability parameter; no CIM equivalent in the standard profile.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    domain_of:
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Linecode
    - Fault
    range: float
    required: false
  basefreq:
    name: basefreq
    annotations:
      order:
        tag: order
        value: 40
    description: Base Frequency for ratings.
    todos:
    - Extract base frequency from circuit-level CIM attributes for non-60 Hz systems.
    comments:
    - Not stored on CIM ACLineSegment; base frequency is circuit-level in CIM. The
      C1/C0 → bch conversion in the converter uses 60 Hz hardcoded; a non-60-Hz system
      would need this extracted from circuit context.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Vsconverter
    - Windgen
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Capcontrol
    - Espvlcontrol
    - Expcontrol
    - Fuse
    - Gendispatcher
    - Invcontrol
    - Pycontrol
    - Recloser
    - Regcontrol
    - Relay
    - Storagecontroller
    - Swtcontrol
    - Upfccontrol
    - Energymeter
    - Fmonitor
    - Monitor
    - Sensor
    - Fault
    - Gicsource
    - Isource
    - Vsource
    range: float
    required: false
  enabled:
    name: enabled
    annotations:
      order:
        tag: order
        value: 41
      dss_default:
        tag: dss_default
        value: 'true'
    description: Indicates whether this element is enabled.
    comments:
    - 'OpenDSS-only (N/A): if False, converter returns None and no CIM object is created.
      CIM ACLineSegment has no enabled/disabled flag.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Vsconverter
    - Windgen
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Capcontrol
    - Espvlcontrol
    - Expcontrol
    - Fuse
    - Gendispatcher
    - Invcontrol
    - Pycontrol
    - Recloser
    - Regcontrol
    - Relay
    - Storagecontroller
    - Swtcontrol
    - Upfccontrol
    - Energymeter
    - Fmonitor
    - Monitor
    - Sensor
    - Fault
    - Gicsource
    - Isource
    - Vsource
    range: boolean
    required: false
  like:
    name: like
    annotations:
      order:
        tag: order
        value: 42
    description: 'Make like another object, e.g.: New Capacitor.C2 like=c1 ...'
    comments:
    - 'OpenDSS-only (N/A): DSS template/copy directive resolved at parse time; no
      CIM equivalent.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Vsconverter
    - Windgen
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Capcontrol
    - Espvlcontrol
    - Expcontrol
    - Fuse
    - Gendispatcher
    - Invcontrol
    - Pycontrol
    - Recloser
    - Regcontrol
    - Relay
    - Storagecontroller
    - Swtcontrol
    - Upfccontrol
    - Cndata
    - Dynamicexp
    - Growthshape
    - Linecode
    - Linegeometry
    - Linespacing
    - Loadshape
    - Priceshape
    - Spectrum
    - TccCurve
    - Tsdata
    - Tshape
    - Wiredata
    - Xfmrcode
    - Xycurve
    - Energymeter
    - Fmonitor
    - Monitor
    - Sensor
    - Fault
    - Gicsource
    - Isource
    - Vsource
    range: string
    required: false
class_uri: dss:Line

Induced

name: Line
description: A Line object in OpenDSS representing a power delivery line connecting
  two buses in the distribution system. If Switch=True the element is treated as a
  switching device instead.
comments:
- OpenDSS Line maps to CIM ACLineSegment for normal lines. When Switch=True the converter
  routes to a LoadBreakSwitch (or Breaker/Fuse/Recloser when an associated protection
  device is present) — the ACLineSegment mapping does not apply in that case. Impedance
  may be given directly on the Line (r1/x1/r0/x0/C1/C0), as a phase matrix (rmatrix/xmatrix/cmatrix),
  by reference to a Linecode (PerLengthImpedance), or by a geometry/spacing + conductor
  specification (WireSpacingInfo + WireInfo); only one of these forms is used per
  line, in that priority order.
from_schema: https://gridappsd.github.io/dss-graph/opendss
exact_mappings:
- cim:ACLineSegment
attributes:
  name:
    name: name
    description: Object name. Must be unique per object type.
    comments:
    - Direct name mapping; no conversion needed.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    exact_mappings:
    - cim:IdentifiedObject.name
    identifier: true
    owner: Line
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Vsconverter
    - Windgen
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Capcontrol
    - Espvlcontrol
    - Expcontrol
    - Fuse
    - Gendispatcher
    - Invcontrol
    - Pycontrol
    - Recloser
    - Regcontrol
    - Relay
    - Storagecontroller
    - Swtcontrol
    - Upfccontrol
    - Cndata
    - Dynamicexp
    - Growthshape
    - Linecode
    - Linegeometry
    - Linespacing
    - Loadshape
    - Priceshape
    - Spectrum
    - TccCurve
    - Tsdata
    - Tshape
    - Wiredata
    - Xfmrcode
    - Xycurve
    - Energymeter
    - Fmonitor
    - Monitor
    - Sensor
    - Fault
    - Gicsource
    - Isource
    - Vsource
    range: string
    required: true
  bus1:
    name: bus1
    annotations:
      order:
        tag: order
        value: 1
    description: Name of bus to which first terminal is connected.
    comments:
    - 'Terminal 1 structural mapping: equipment.Terminals[0].ConnectivityNode.name.
      Phase suffix reconstructed from ACLineSegmentPhase objects ordered by SinglePhaseKind
      (A=1, B=2, C=3).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:Terminal.ConnectivityNode
    owner: Line
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Windgen
    - Capacitor
    - Line
    - Reactor
    - Fault
    - Isource
    - Vsource
    range: string
    required: true
  bus2:
    name: bus2
    annotations:
      order:
        tag: order
        value: 2
    description: Name of bus to which 2nd terminal is connected.
    comments:
    - 'Terminal 2 structural mapping: equipment.Terminals[1].ConnectivityNode.name.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:Terminal.ConnectivityNode
    owner: Line
    domain_of:
    - Gicline
    - Upfc
    - Capacitor
    - Line
    - Reactor
    - Fault
    - Vsource
    range: string
    required: false
  linecode:
    name: linecode
    annotations:
      order:
        tag: order
        value: 3
    description: Name of linecode object describing line impedances. If no line code
      or impedance data are specified, the line defaults to 336 MCM ACSR on 4 ft spacing.
    comments:
    - 'Import: resolved to a PerLengthSequenceImpedance or PerLengthPhaseImpedance
      by name lookup; ACLineSegment.PerLengthImpedance = that object. Export: ACLineSegment.PerLengthImpedance.name
      used to reconstruct linecode reference.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:PerLengthImpedance
    rank: 1000
    owner: Line
    domain_of:
    - Line
    range: string
    required: false
  length:
    name: length
    annotations:
      order:
        tag: order
        value: 4
      dss_default:
        tag: dss_default
        value: float(1.0)
    description: Length of line. Default is 1.0. If units do not match the impedance
      data, specify units property.
    comments:
    - 'Import: ACLineSegment.length = Length(length, units_str)  unit from ''units''
      attribute. Export: length = ACLineSegment.length.to(units_str). CIM stores length
      in m (SI base); DSS default unit is ft when no units given.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    exact_mappings:
    - cim:Conductor.length
    rank: 1000
    owner: Line
    domain_of:
    - Line
    range: float
    required: false
    minimum_value: 0.0
  phases:
    name: phases
    annotations:
      order:
        tag: order
        value: 5
      dss_default:
        tag: dss_default
        value: int(3)
    description: Number of phases, this line.
    comments:
    - 'Import: inferred from bus1 node suffix. Export: len(ACLineSegment.ACLineSegmentPhase).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:ACLineSegmentPhase
    owner: Line
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Vsconverter
    - Windgen
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Xfmrcode
    - Fault
    - Gicsource
    - Isource
    - Vsource
    range: integer
    required: false
    minimum_value: 1
    maximum_value: 3
  r1:
    name: r1
    annotations:
      order:
        tag: order
        value: 6
    description: Positive-sequence Resistance, ohms per unit length. Setting any of
      R1, R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    todos:
    - 'Converter bug: DSS r1 is documented as ohms per unit length, but the direct-impedance
      path (no linecode) stores it as total ohms without multiplying by length. Roundtrips
      correctly within this converter, but a line authored elsewhere with a true per-length
      r1 and length != 1 would import with the wrong total resistance.'
    comments:
    - 'Only used when the line has no linecode/matrix/geometry/spacing reference.
      Import: ACLineSegment.r = Resistance(r1, ''ohm''), taken directly as ohms with
      no multiplication by length. Export: r1 = ACLineSegment.r.to(''ohm''). When
      a linecode is used instead, r1 is stored per-unit-length on the Linecode (see
      general/linecode.yaml).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.r
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  x1:
    name: x1
    annotations:
      order:
        tag: order
        value: 7
    description: Positive-sequence Reactance, ohms per unit length. Setting any of
      R1, R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    comments:
    - 'Same direct-impedance path as r1 (see r1 comments): taken as total ohms with
      no length scaling. Import: ACLineSegment.x = Reactance(x1, ''ohm''). Export:
      x1 = ACLineSegment.x.to(''ohm'').'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.x
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  r0:
    name: r0
    annotations:
      order:
        tag: order
        value: 8
    description: Zero-sequence Resistance, ohms per unit length. Setting any of R1,
      R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    comments:
    - 'Same direct-impedance path as r1 (see r1 comments): taken as total ohms with
      no length scaling, and only set when r1/x1 are also given. Import: ACLineSegment.r0
      = Resistance(r0, ''ohm''). Export: r0 = ACLineSegment.r0.to(''ohm'').'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.r0
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  x0:
    name: x0
    annotations:
      order:
        tag: order
        value: 9
    description: Zero-sequence Reactance, ohms per unit length. Setting any of R1,
      R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    comments:
    - 'Same direct-impedance path as r1 (see r1 comments): taken as total ohms with
      no length scaling, and only set when r1/x1 are also given. Import: ACLineSegment.x0
      = Reactance(x0, ''ohm''). Export: x0 = ACLineSegment.x0.to(''ohm'').'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.x0
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  C1:
    name: C1
    annotations:
      order:
        tag: order
        value: 10
    description: Positive-sequence capacitance, nf per unit length. Setting any of
      R1, R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    comments:
    - 'Only used on the direct-impedance path (no linecode/matrix/geometry/spacing;
      see r1 comments  same total-vs-per-length caveat applies to C1). Import: bch
      = Susceptance(2π × 60 × C1_nF × 1e-9, ''S'') (b = 2πfC, frequency hardcoded
      to 60 Hz). Export: C1 = bch.to(''S'') / (2π × 60) × 1e9 (back to nF).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.bch
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  C0:
    name: C0
    annotations:
      order:
        tag: order
        value: 11
    description: Zero-sequence capacitance, nf per unit length. Setting any of R1,
      R0, X1, X0, C1, C0 forces the program to use the symmetrical component line
      definition.
    comments:
    - 'Same C→B conversion as C1 (see C1 comments), applied to the zero-sequence susceptance.
      Import: b0ch = Susceptance(2π × 60 × C0_nF × 1e-9, ''S''). Export: C0 = b0ch.to(''S'')
      / (2π × 60) × 1e9.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.b0ch
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  rmatrix:
    name: rmatrix
    annotations:
      order:
        tag: order
        value: 12
      dss_format:
        tag: dss_format
        value: matrix
    description: Resistance matrix, lower triangle, ohms per unit length. Order of
      the matrix is the number of phases. Using any of Rmatrix, Xmatrix, Cmatrix forces
      program to use matrix values for line impedance.
    comments:
    - 'Import: when both rmatrix and xmatrix are given, the converter synthesizes
      a temporary Linecode from the matrices and reuses the linecode importer, producing
      a PerLengthPhaseImpedance with one PhaseImpedanceData entry per (row, column)
      pair; ACLineSegment.PerLengthImpedance points to it. Export: PerLengthPhaseImpedance.PhaseImpedanceData.r
      values are reassembled into the pipe-delimited lower-triangle string DSS expects
      (see linecode exporter for the exact format).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:PerLengthPhaseImpedance
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
    multivalued: true
  xmatrix:
    name: xmatrix
    annotations:
      order:
        tag: order
        value: 13
      dss_format:
        tag: dss_format
        value: matrix
    description: Reactance matrix, lower triangle, ohms per unit length. Order of
      the matrix is the number of phases. Using any of Rmatrix, Xmatrix, Cmatrix forces
      program to use matrix values for line impedance.
    comments:
    - Same synthesized-Linecode path as rmatrix (see rmatrix comments); xmatrix values
      become PhaseImpedanceData.x entries. Only used together with rmatrix — xmatrix
      alone is not read.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:PerLengthPhaseImpedance
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
    multivalued: true
  cmatrix:
    name: cmatrix
    annotations:
      order:
        tag: order
        value: 14
      dss_format:
        tag: dss_format
        value: matrix
    description: Nodal Capacitance matrix, lower triangle, nf per unit length. Order
      of the matrix is the number of phases. Using any of Rmatrix, Xmatrix, Cmatrix
      forces program to use matrix values.
    comments:
    - Same synthesized-Linecode path as rmatrix (see rmatrix comments); optional alongside
      rmatrix/xmatrix. Diagonal cmatrix entries (nF/unit) become PhaseImpedanceData.b
      via b = 2πfC; off-diagonal capacitive coupling terms are preserved as separate
      PhaseImpedanceData entries, not lost, since PerLengthPhaseImpedance stores a
      full matrix.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:PerLengthPhaseImpedance
    owner: Line
    domain_of:
    - Capacitor
    - Line
    - Linecode
    range: float
    required: false
    multivalued: true
  Switch:
    name: Switch
    annotations:
      order:
        tag: order
        value: 15
      dss_default:
        tag: dss_default
        value: 'false'
    description: 'Designates this line as a switch for graphics and algorithmic purposes.
      Default is false. SIDE EFFECT: Sets r1=1.0, x1=1.0, r0=1.0, x0=1.0, c1=1.1,
      c0=1.0, length=0.001.'
    comments:
    - When Switch=True the converter returns a LoadBreakSwitch (or Breaker/Fuse/Recloser
      when an associated protection device is present) instead of an ACLineSegment;
      the ACLineSegment class mapping is bypassed. On export, a switch-class CIM object
      is written back as Line with Switch=True.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:LoadBreakSwitch
    rank: 1000
    owner: Line
    domain_of:
    - Line
    range: boolean
    required: false
  Rg:
    name: Rg
    annotations:
      order:
        tag: order
        value: 16
      dss_default:
        tag: dss_default
        value: float(0.01805)
    description: Carson earth return resistance per unit length used to compute impedance
      values at base frequency. Default is 0.01805 ohms per kft.
    comments:
    - 'OpenDSS-only (N/A): Carson earth model parameter used at line-constants calculation
      time; not persisted on CIM ACLineSegment.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  Xg:
    name: Xg
    annotations:
      order:
        tag: order
        value: 17
      dss_default:
        tag: dss_default
        value: float(0.155081)
    description: Carson earth return reactance per unit length used to compute impedance
      values at base frequency. Default is 0.155081 ohms per kft.
    comments:
    - 'OpenDSS-only (N/A): Carson earth model parameter; not persisted on CIM ACLineSegment.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  rho:
    name: rho
    annotations:
      order:
        tag: order
        value: 18
      dss_default:
        tag: dss_default
        value: float(100.0)
    description: Earth resitivity used to compute earth correction factor. Default
      is 100 meter ohms. Overrides Line geometry definition if specified.
    comments:
    - 'Import: EarthResistivity.rho stored as associated object if specified. Export:
      rho = EarthResistivity.rho. Units: ohm-m in both DSS and CIM.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    exact_mappings:
    - cim:EarthResistivity.rho
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  geometry:
    name: geometry
    annotations:
      order:
        tag: order
        value: 19
    description: 'Geometry code for LineGeometry Object. Supercedes any previous definition
      of line impedance. CAUTION: may alter number of phases.'
    comments:
    - 'Import: geometry name is resolved to a previously-converted LineGeometry result
      (spacing + per-conductor WireInfo list); ACLineSegment.WireSpacingInfo is set
      to the spacing object, and one ACLineSegmentPhase per conductor is created linking
      to its WireInfo. Export: DSS geometry is not reconstructed as a separate named
      object  the exporter instead emits the equivalent spacing + wires (see spacing/wires
      comments), which OpenDSS accepts in place of a geometry reference.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:WireSpacingInfo
    rank: 1000
    owner: Line
    domain_of:
    - Line
    range: string
    required: false
  units:
    name: units
    annotations:
      order:
        tag: order
        value: 20
    description: Length Units. Default is None - assumes length units match impedance
      units.
    comments:
    - 'OpenDSS-only (N/A): consumed during import to scale ''length'' to SI meters
      for CIM storage; not persisted as a CIM attribute.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    - Linegeometry
    - Linespacing
    range: LengthUnit
    required: false
  spacing:
    name: spacing
    annotations:
      order:
        tag: order
        value: 21
    description: Reference to a LineSpacing for use in a line constants calculation.
      Must be used in conjunction with the Wires property.
    comments:
    - 'Import: spacing name is resolved to a previously-converted WireSpacingInfo
      object; ACLineSegment.WireSpacingInfo is set to it, and the wires/cncables/tscables
      references (see their comments) are resolved to WireInfo objects and attached
      as ACLineSegmentPhase entries. Export: spacing = WireSpacingInfo.name (or the
      newer ConductorDistanceSpacing.name when that asset model is used).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:WireSpacingInfo
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linegeometry
    range: string
    required: false
  cncables:
    name: cncables
    annotations:
      order:
        tag: order
        value: 22
    description: Array of CNData names for use in a cable constants calculation. Must
      be used in conjunction with the Spacing property.
    comments:
    - 'Used together with spacing (see spacing comments). Import: each name is resolved
      to a ConcentricNeutralCableInfo and attached as an ACLineSegmentPhase.WireInfo.
      Export: only cables whose ConcentricNeutralCableInfo carries full neutral strand
      geometry (neutralStrandRadius/neutralStrandGmr) are written as cncables; cables
      imported without that geometry (e.g. from GLM, which only carries Rac/GMR) are
      exported into wires instead, since DSS needs the full geometry to compute CN
      impedance.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:ConcentricNeutralCableInfo
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linegeometry
    range: string
    required: false
    multivalued: true
  tscables:
    name: tscables
    annotations:
      order:
        tag: order
        value: 23
    description: Array of TSData names for use in a cable constants calculation. Must
      be used in conjunction with the Spacing property.
    comments:
    - 'Used together with spacing (see spacing comments). Import: each name is resolved
      to a TapeShieldCableInfo and attached as an ACLineSegmentPhase.WireInfo. Export:
      tscables = names of ACLineSegmentPhase.WireInfo objects that are TapeShieldCableInfo
      instances.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:TapeShieldCableInfo
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linegeometry
    range: string
    required: false
    multivalued: true
  wires:
    name: wires
    annotations:
      order:
        tag: order
        value: 24
    description: Array of WireData names for use in an overhead line constants calculation.
      Must be used in conjunction with the Spacing property.
    comments:
    - 'Used together with spacing (see spacing comments). Import: each name is resolved
      to a WireInfo (typically OverheadWireInfo) and attached as an ACLineSegmentPhase.WireInfo.
      Export: wires = names of ACLineSegmentPhase.WireInfo objects that are not concentric-neutral
      or tape-shield cable types (those go to cncables/tscables instead).'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:OverheadWireInfo
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linegeometry
    range: string
    required: false
    multivalued: true
  EarthModel:
    name: EarthModel
    annotations:
      order:
        tag: order
        value: 25
    description: Earth model to use for impedance calculations. This is used to override
      the global value for this line. Applies only when geometry property is used.
    comments:
    - 'Import: EarthResistivity.earthModelType set from EarthModel enum value. Export:
      earthModelType  EarthModel enum string.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    exact_mappings:
    - cim:EarthResistivity.earthModelType
    rank: 1000
    owner: Line
    domain_of:
    - Line
    range: EarthModelType
    required: false
  B1:
    name: B1
    annotations:
      order:
        tag: order
        value: 26
    description: Alternate way to specify C1. MicroS per unit length.
    todos:
    - B1 input path not yet implemented. B1 (µS/unit) → bch via bch = B1 × 1e-6 ×
      length. When present, should take precedence over C1 for bch calculation.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.bch
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  B0:
    name: B0
    annotations:
      order:
        tag: order
        value: 27
    description: Alternate way to specify C0. MicroS per unit length.
    todos:
    - B0 input path not yet implemented. B0 (µS/unit) → b0ch via b0ch = B0 × 1e-6
      × length.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    close_mappings:
    - cim:ACLineSegment.b0ch
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    range: float
    required: false
  Seasons:
    name: Seasons
    annotations:
      order:
        tag: order
        value: 28
    description: Defines the number of ratings to be defined for the wire, to be used
      only when defining seasonal ratings using the Ratings property.
    comments:
    - 'OpenDSS-only (N/A): seasonal ratings metadata; no direct CIM equivalent. Used
      alongside Ratings array.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Transformer
    - Storagecontroller
    - Cndata
    - Linecode
    - Linegeometry
    - Tsdata
    - Wiredata
    - Xfmrcode
    range: integer
    required: false
  Ratings:
    name: Ratings
    annotations:
      order:
        tag: order
        value: 29
    description: An array of ratings to be used when the seasonal ratings flag is
      True. Can be used to insert multiple ratings to change during a QSTS simulation.
    todos:
    - Seasonal ratings converter not yet implemented. Ratings array should map to
      multiple CurrentLimit objects on an OperationalLimitSet, one per season.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:OperationalLimit
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Transformer
    - Cndata
    - Linecode
    - Linegeometry
    - Tsdata
    - Wiredata
    - Xfmrcode
    range: float
    required: false
    multivalued: true
  LineType:
    name: LineType
    annotations:
      order:
        tag: order
        value: 30
    description: Code designating the type of line. OpenDSS currently does not use
      this internally. Default is OH.
    todos:
    - LineType → PSRType mapping not yet implemented. DSS LineTypeCode (OH, UG, etc.)
      could be mapped to a PSRType classification on the ACLineSegment.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:PSRType
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linecode
    - Linegeometry
    range: LineTypeCode
    required: false
  EpsRmedium:
    name: EpsRmedium
    annotations:
      order:
        tag: order
        value: 31
      dss_default:
        tag: dss_default
        value: float(1.0)
    description: Relative Permittivity of the medium. Used by lines with a geometry
      definition. Default is 1.0 for air.
    comments:
    - 'OpenDSS-only (N/A): dielectric constant for line-constants calculation; no
      CIM equivalent in the standard profile.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    owner: Line
    domain_of:
    - Line
    range: float
    required: false
  HeightOffset:
    name: HeightOffset
    annotations:
      order:
        tag: order
        value: 32
      dss_default:
        tag: dss_default
        value: float(0.0)
    description: Average Height (or depth) offset to be applied on top of coordinates
      of geometry or spacing. Use negative value for depth in underground lines. Default
      is 0.0.
    comments:
    - 'OpenDSS-only (N/A): geometry adjustment parameter; no CIM equivalent in the
      standard profile.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    owner: Line
    domain_of:
    - Line
    range: float
    required: false
  HeightUnit:
    name: HeightUnit
    annotations:
      order:
        tag: order
        value: 33
    description: Height offset Units. If none is detected, meters is assumed.
    comments:
    - 'OpenDSS-only (N/A): unit for HeightOffset; no CIM equivalent.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    owner: Line
    domain_of:
    - Line
    range: LengthUnit
    required: false
  conductors:
    name: conductors
    annotations:
      order:
        tag: order
        value: 34
    description: Array of conductor names for use in line constants calculation. Must
      be used in conjunction with the Spacing property. Specify conductor type followed
      by conductor name.
    todos:
    - Conductor converter not yet implemented. Names should resolve to WireInfo (OverheadWireInfo
      or CableInfo) objects.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:WireInfo
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Linegeometry
    range: string
    required: false
    multivalued: true
  normamps:
    name: normamps
    annotations:
      order:
        tag: order
        value: 35
    description: Normal rated current.
    comments:
    - 'Import: CurrentLimit with limitType=normalOperating on an OperationalLimitSet
      linked to the ACLineSegment terminal. Export: normalOperating CurrentLimit value.
      DONE in converter.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:CurrentLimit
    owner: Line
    domain_of:
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Cndata
    - Linecode
    - Linegeometry
    - Tsdata
    - Wiredata
    - Fault
    range: float
    required: false
  emergamps:
    name: emergamps
    annotations:
      order:
        tag: order
        value: 36
    description: Maximum or emerg current.
    comments:
    - 'Import: CurrentLimit with limitType=emergency on the OperationalLimitSet. Export:
      emergency CurrentLimit value. DONE in converter.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    related_mappings:
    - cim:CurrentLimit
    owner: Line
    domain_of:
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Cndata
    - Linecode
    - Linegeometry
    - Tsdata
    - Wiredata
    - Fault
    range: float
    required: false
  faultrate:
    name: faultrate
    annotations:
      order:
        tag: order
        value: 37
      dss_default:
        tag: dss_default
        value: float(0.1)
    description: Failure rate PER UNIT LENGTH per year. Length must be same units
      as LENGTH property. Default is 0.1 fault per unit length per year.
    todos:
    - Requires CIM extension to roundtrip (e.g. on FailureStatistic or AssetFailureInfo).
    comments:
    - Reliability parameter; no CIM equivalent in the standard profile.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    owner: Line
    domain_of:
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Linecode
    - Fault
    range: float
    required: false
  pct_perm:
    name: pct_perm
    annotations:
      order:
        tag: order
        value: 38
      dss_name:
        tag: dss_name
        value: pctperm
      dss_default:
        tag: dss_default
        value: float(20.0)
    description: Percent of failures that become permanent. Default is 20.
    todos:
    - Requires CIM extension to roundtrip.
    comments:
    - Reliability parameter; no CIM equivalent in the standard profile.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    rank: 1000
    owner: Line
    domain_of:
    - Line
    - Transformer
    range: float
    required: false
  repair:
    name: repair
    annotations:
      order:
        tag: order
        value: 39
      dss_default:
        tag: dss_default
        value: float(3.0)
    description: Hours to repair. Default is 3 hr.
    todos:
    - Requires CIM extension to roundtrip.
    comments:
    - Reliability parameter; no CIM equivalent in the standard profile.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    owner: Line
    domain_of:
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Linecode
    - Fault
    range: float
    required: false
  basefreq:
    name: basefreq
    annotations:
      order:
        tag: order
        value: 40
    description: Base Frequency for ratings.
    todos:
    - Extract base frequency from circuit-level CIM attributes for non-60 Hz systems.
    comments:
    - Not stored on CIM ACLineSegment; base frequency is circuit-level in CIM. The
      C1/C0 → bch conversion in the converter uses 60 Hz hardcoded; a non-60-Hz system
      would need this extracted from circuit context.
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    owner: Line
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Vsconverter
    - Windgen
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Capcontrol
    - Espvlcontrol
    - Expcontrol
    - Fuse
    - Gendispatcher
    - Invcontrol
    - Pycontrol
    - Recloser
    - Regcontrol
    - Relay
    - Storagecontroller
    - Swtcontrol
    - Upfccontrol
    - Energymeter
    - Fmonitor
    - Monitor
    - Sensor
    - Fault
    - Gicsource
    - Isource
    - Vsource
    range: float
    required: false
  enabled:
    name: enabled
    annotations:
      order:
        tag: order
        value: 41
      dss_default:
        tag: dss_default
        value: 'true'
    description: Indicates whether this element is enabled.
    comments:
    - 'OpenDSS-only (N/A): if False, converter returns None and no CIM object is created.
      CIM ACLineSegment has no enabled/disabled flag.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    owner: Line
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Vsconverter
    - Windgen
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Capcontrol
    - Espvlcontrol
    - Expcontrol
    - Fuse
    - Gendispatcher
    - Invcontrol
    - Pycontrol
    - Recloser
    - Regcontrol
    - Relay
    - Storagecontroller
    - Swtcontrol
    - Upfccontrol
    - Energymeter
    - Fmonitor
    - Monitor
    - Sensor
    - Fault
    - Gicsource
    - Isource
    - Vsource
    range: boolean
    required: false
  like:
    name: like
    annotations:
      order:
        tag: order
        value: 42
    description: 'Make like another object, e.g.: New Capacitor.C2 like=c1 ...'
    comments:
    - 'OpenDSS-only (N/A): DSS template/copy directive resolved at parse time; no
      CIM equivalent.'
    from_schema: https://gridappsd.github.io/dss-graph/pde/line
    owner: Line
    domain_of:
    - Load
    - Generator
    - Generic5
    - Gicline
    - Indmach012
    - Pvsystem
    - Storage
    - Upfc
    - Vccs
    - Vsconverter
    - Windgen
    - Autotrans
    - Capacitor
    - Gictransformer
    - Line
    - Reactor
    - Transformer
    - Capcontrol
    - Espvlcontrol
    - Expcontrol
    - Fuse
    - Gendispatcher
    - Invcontrol
    - Pycontrol
    - Recloser
    - Regcontrol
    - Relay
    - Storagecontroller
    - Swtcontrol
    - Upfccontrol
    - Cndata
    - Dynamicexp
    - Growthshape
    - Linecode
    - Linegeometry
    - Linespacing
    - Loadshape
    - Priceshape
    - Spectrum
    - TccCurve
    - Tsdata
    - Tshape
    - Wiredata
    - Xfmrcode
    - Xycurve
    - Energymeter
    - Fmonitor
    - Monitor
    - Sensor
    - Fault
    - Gicsource
    - Isource
    - Vsource
    range: string
    required: false
class_uri: dss:Line