Skip to main content

Techno-economic analysis of capacity upgrade projects in transmission overhead lines

Project description

refa

Reconductoring Economic and Financial Analysis (REFA) Tool.

The refa python module, based on the publicaly-available REFA tool, aims to unlock more flexible cases of project cost evaluation and enable advanced extensions by developers.

The REFA tool helps grid planners and policy makers understand the financial and economic costs of different capacity upgrade projects. The tool compares projects under the same economic basis by evaluating the net-present value of costs (NPC), while considering both conventional and advanced conductors.

Features

  • Techno-economic Analysis — NPC analysis considering key economic parameters, e.g. cost of capital, inflation, and replacement of structures and conductors
  • Ampacity — IEEE 738 steady-state thermal rating
  • Temperature and Resistance — IEEE 738 steady-state temperature and resistance at specified current
  • Sag-tension — CIGRÉ TB-324 with NESC 250B loading profiles
  • Resistive Line Losses — Resistive line losses based on calculated condutor resistance and user-specified load factor
  • Congestion — Modeling of congestion due to ampacity limits
  • Conductor database — Example conductors
  • Corona Discharge — Inception voltage and voltage gradient calculations
  • AC and DC — Separate models for AC and HVDC lines

Installation

pip install refa

Quick Start

from refa import Line, LineDesign, Conductor, Environment
from refa.defaults import default_conductor, default_clear_environment, acsr_795_0_drake
from refa.standards import nesc_250b_heavy

# Build a line
env = default_clear_environment()
conductor = default_conductor()
print(conductor)
line_design = LineDesign(
    nbr_circuits=1,
    nbr_bundles=3,
    nbr_conds_per_bundle=1,
    length_km=25,
    avg_span_m=300,
    max_span_m=350,
    environment=env,
)
line = Line(line_design=line_design, conductor=conductor)

# Check ampacity
print(line.ampacity_at_environment())

# Check feasibility
print(line.is_ampacity_feasible(current_a=1500))
print(line.is_sag_feasible(current_a=1500, max_sag_m=7, loading_conditions=nesc_250b_heavy()))

# Load a typical conductor 
drake = acsr_795_0_drake()

Project Analysis

from refa import Reconductoring, Economics
from refa.defaults import default_economics, acsr_795_0_drake, acsr_556_5_dove

economics = default_economics()

project = Reconductoring(
    conductor_list=[acsr_795_0_drake(), acsr_556_5_dove()],
    line_design=line_design,
    economics=economics,
    power_mw=150,
    voltage_kv=115,
    structure_remaining_life=25
)

results = project.total_costs(time_horizon=65)

Standards Supported

  • IEEE 738 — Standard for calculating the current-temperature relationship of bare overhead conductors
  • CIGRÉ 324 — Sag-tension calculation methods for overhead lines
  • NESC 250B — National Electrical Safety Code loading districts (heavy, medium, light, warm islands)

Project Structure

refamodule/
├── src/refa/                   # Package source
│   ├── _version.py
│   ├── conductor.py
│   ├── economics.py
│   ├── environment.py
│   ├── line.py
│   ├── line_design.py
│   ├── loading.py
│   ├── project.py
│   ├── structure_config.py
│   ├── data/
│   │   └── conductors.csv      # Bundled conductor database
│   ├── defaults/               # Default configurations
│   └── standards/              # NESC loading profiles
├── examples/
│   └── refa_module_workflow.ipynb
├── tests/
├── pyproject.toml
├── README.md
├── LICENSE
└── CHANGELOG.md

License

See LICENSE — REFA is licensed under the Lawrence Berkeley National Laboratory End User License Agreement (EULA). Use of this software constitutes acceptance of those terms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

refa-0.1.1.tar.gz (70.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

refa-0.1.1-py3-none-any.whl (63.8 kB view details)

Uploaded Python 3

File details

Details for the file refa-0.1.1.tar.gz.

File metadata

  • Download URL: refa-0.1.1.tar.gz
  • Upload date:
  • Size: 70.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for refa-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4be92f93a982acc859bd7f2cf8c6653f43a358a1de93dbd09c0ec637a706ef19
MD5 0dd89fd6f8b54c466d6bc99eec2a0f4c
BLAKE2b-256 448a51df9ec41efe9c30e4a77a3fbf6a8de81d0c74d55f3fdaea1c22ceeb7eb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for refa-0.1.1.tar.gz:

Publisher: publish.yml on LBNLgrid/refamodule

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file refa-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: refa-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 63.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for refa-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3cdd6d724b76f93bf44a80584a2ce84acb933c292f15abf2a245fcf731c83961
MD5 efa30806fec96a307b0e3ce52c586b3e
BLAKE2b-256 5e010192dc3521f9e84e47bb8e2ef2cad2033affaf59af1d4b5bfdb76f70ab67

See more details on using hashes here.

Provenance

The following attestation bundles were made for refa-0.1.1-py3-none-any.whl:

Publisher: publish.yml on LBNLgrid/refamodule

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page