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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4be92f93a982acc859bd7f2cf8c6653f43a358a1de93dbd09c0ec637a706ef19
|
|
| MD5 |
0dd89fd6f8b54c466d6bc99eec2a0f4c
|
|
| BLAKE2b-256 |
448a51df9ec41efe9c30e4a77a3fbf6a8de81d0c74d55f3fdaea1c22ceeb7eb8
|
Provenance
The following attestation bundles were made for refa-0.1.1.tar.gz:
Publisher:
publish.yml on LBNLgrid/refamodule
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
refa-0.1.1.tar.gz -
Subject digest:
4be92f93a982acc859bd7f2cf8c6653f43a358a1de93dbd09c0ec637a706ef19 - Sigstore transparency entry: 1477983352
- Sigstore integration time:
-
Permalink:
LBNLgrid/refamodule@0a31003fd70427d008c2a75dfb34e81285aa13e2 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/LBNLgrid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0a31003fd70427d008c2a75dfb34e81285aa13e2 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cdd6d724b76f93bf44a80584a2ce84acb933c292f15abf2a245fcf731c83961
|
|
| MD5 |
efa30806fec96a307b0e3ce52c586b3e
|
|
| BLAKE2b-256 |
5e010192dc3521f9e84e47bb8e2ef2cad2033affaf59af1d4b5bfdb76f70ab67
|
Provenance
The following attestation bundles were made for refa-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on LBNLgrid/refamodule
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
refa-0.1.1-py3-none-any.whl -
Subject digest:
3cdd6d724b76f93bf44a80584a2ce84acb933c292f15abf2a245fcf731c83961 - Sigstore transparency entry: 1477983463
- Sigstore integration time:
-
Permalink:
LBNLgrid/refamodule@0a31003fd70427d008c2a75dfb34e81285aa13e2 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/LBNLgrid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0a31003fd70427d008c2a75dfb34e81285aa13e2 -
Trigger Event:
release
-
Statement type: