ltbams

Power system generation scheduling and co-simulation with dynamics.

https://github.com/curent/ams

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: ieee.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

ams analysis curent curent-ltb dispatch library ltb package power-system power-system-analysis powerflow simulation tool

Keywords from Contributors

interactive co-simulation power-grids simulation-framework mesh interpretability profiles sequences generic projection
Last synced: 6 months ago · JSON representation ·

Repository

Power system generation scheduling and co-simulation with dynamics.

Basic Info
  • Host: GitHub
  • Owner: CURENT
  • License: other
  • Language: MATLAB
  • Default Branch: master
  • Homepage: https://ltb.curent.org
  • Size: 23.4 MB
Statistics
  • Stars: 18
  • Watchers: 2
  • Forks: 8
  • Open Issues: 15
  • Releases: 0
Topics
ams analysis curent curent-ltb dispatch library ltb package power-system power-system-analysis powerflow simulation tool
Created over 3 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

LTB AMS

CURENT ERC Logo

Python Software for Power System Scheduling Modeling and Co-Simulation with Dynamics, serving as the market simulator for the CURENT Largescale Testbed.

License: GPL-3.0 DOI:10.1109/TSTE.2025.3528027

| Badges | | | |---|---|---| | Repo | Project Status: Active | Repo Size | | Python | Python Versions | | Version | PyPI Version | Anaconda-Server Badge | | Tag | GitHub Tag | GitHub commits since latest release (branch) | | Documentation | Read the Docs | Read the Docs | | Download | PyPI - Downloads | Anaconda-Server Badge | | Quality | Codacy Badge | codebeat badge | | Coverage | Codacy Badge | codecov | | Last Commit | GitHub last commit (master) | GitHub last commit (develop) | | CI | Compatibility | Build Status | | CD | Publish | Build Status | | Structure | Structure | Ask DeepWiki | | Dependency | libraries | | | Try on Binder | Binder | |

Why AMS

AMS facilitates Dynamics Incorporated Scheduling and Scheduling-Dynamics Co-Simulation through an integrated interface with ANDES.

This package is helpful for power system engineers, researchers, and students conducting scheduling and transient stability studies at specific operating points. It also benefits those interested in developing new scheduling formulations and algorithms, particularly by extending existing formulations to include new decision variables, constraints, and objective functions.

AMS is a Modeling Framework that provides a descriptive way to formulate scheduling problems. The optimization problems are then handled by CVXPY and solved with third-party solvers.

AMS produces credible scheduling results and competitive performance. The following results show the comparison of DCOPF between AMS and other tools. In the table, AMS Gap is the difference between the AMS and MATPOWER results, and pandapower Gap is the difference between the pandapower and MATPOWER results.

| Case | MATPOWER [\$] | AMS Gap [\$] | pandapower Gap [\$] | |------------------|--------------|--------------|---------------------| | IEEE 14-Bus | 7,642.59 | 0.00 | 0.00 | | IEEE 39-Bus | 41,263.94 | 0.00 | 0.00 | | PEGASE 89-Bus | 5,733.37 | 0.00 | 0.00 | | IEEE 118-Bus | 125,947.88 | 0.00 | 0.00 | | NPCC 140-Bus | 810,033.37 | 0.00 | -17.31 | | WECC 179-Bus | 411,706.13 | 0.00 | 0.00 | | IEEE 300-Bus | 706,292.32 | 0.00 | 0.00 | | PEGASE 1354-Bus | 1,218,096.86 | 0.00 | 0.00 | | PEGASE 2869-Bus | 2,386,235.33 | 0.00 | 0.00 | | GOC 4020-Bus | 793,634.11 | 0.00 | 0.00 | | EPIGRIDS 5658-Bus| 1,195,466.12 | 0.00 | 0.00 | | EPIGRIDS 7336-Bus| 1,855,870.94 | 0.00 | 0.00 |

DCOPF Time

Figure: Computation time of OPF on medium to large cases.

In the bar chart, the gray bar labeled "AMS Symbolic Processing" represents the time spent on symbolic processing, while the wheat-colored bar "AMS Numeric Evaluation" represents the time spent on system matrices calculation and optimization model construction. The orange bar labeled "AMS GUROBI" represents the optimization-solving time using the GUROBI solver. Similarly, the red bar labeled "AMS MOSEK" and the pink bar labeled "AMS PIQP" represent the time used by the solvers MOSEK and PIQP, respectively. Regarding the baselines, the blue and green bars represent the running time of MATPOWER using solver MIPS and pandapower using solver PIPS, respectively. The results for AMS, pandapower, and matpower are the average time consumed over ten repeat tests.

DCOPF Time

Figure: Computation time distribution for multi-period economic dispatch and unit commitment using a 31,777-bus case.

To further demonstrate AMS's scalability, we validated multi-period economic dispatch and unit commitment on an ultra-large power system case with 31,777 buses, 4,664 generators, 41,573 transmission lines, and 5 time intervals. The computation time distribution for this case is shown in the figure below. Notably, the time spent on symbolic processing remains negligible even at this scale, highlighting AMS's efficiency for large-scale studies.

AMS is currently under active development. Use the following resources to get involved.

Installation

AMS is released as ltbams on PyPI and conda-forge. Install from PyPI using pip:

bash pip install ltbams

You can also install with optional dependencies, such as dev, docs, and nlp:

bash pip install ltbams[dev] pip install ltbams[docs] pip install ltbams[nlp]

Or install with all optional dependencies:

bash pip install ltbams[all]

Install from conda-forge using conda:

bash conda install conda-forge::ltbams

Install from GitHub source:

bash pip install git+https://github.com/CURENT/ams.git

NOTE: - cvxpy is distributed with the open source solvers CLARABEL, OSQP, and SCS, but MIP-capable solvers need separate installation - cvxpy versions below 1.5 are incompatible with numpy versions 2.0 and above - If the solver SCIP encounters an import error caused by a missing libscip.9.1.dylib, try reinstalling its Python interface by running pip install pyscipopt --no-binary scip --force - For the ImportError related to kvxopt, it is recommended to reinstall it via conda as sometimes pip struggles to set the correct path for compiled libraries. More details can be found in this closed issue Bug with dependency kvxopt 1.3.2.0 - Versions 1.0.0 and 1.0.1 are only available on PyPI - Version 0.9.9 has known issues and has been yanked from PyPI

Example Usage

```python import ams import andes

ss = ams.load(ams.getcase('ieee14/ieee14uced.xlsx'))

solve RTED

ss.RTED.run(solver='CLARABEL')

ss.RTED.pg.v

array([1.8743862, 0.3226138, 0.01 , 0.02 , 0.01 ])

convert to ANDES case

sa = ss.toandes(addfile=andes.getcase('ieee14/ieee14_full.xlsx'), setup=True, verify=False) sa

```

Here, RTED stands for Real-Time Economic Dispatch. For a full list of acronyms used in the library, please consult the Documentation - Routine Reference.

Citing AMS

If you use AMS for research or consulting, please cite the following paper in your publication that uses AMS:

J. Wang et al., "Dynamics-Incorporated Modeling Framework for Stability Constrained Scheduling Under High-Penetration of Renewable Energy," in IEEE Transactions on Sustainable Energy, vol. 16, no. 3, pp. 1673-1685, July 2025, doi: 10.1109/TSTE.2025.3528027.

Sponsors and Contributors

AMS is the scheduling simulation engine for the CURENT Largescale Testbed (LTB). More information about CURENT LTB can be found at the LTB Repository.

This work was supported in part by the Engineering Research Center Program of the National Science Foundation and the Department of Energy under NSF Award Number EEC-1041877 and the CURENT Industry Partnership Program.

This work was supported in part by the Advanced Grid Research and Development Program in the Office of Electricity at the U.S. Department of Energy.

See GitHub contributors for the contributor list.

License

AMS is licensed under the GPL v3 License.


Owner

  • Name: CURENT LTB
  • Login: CURENT
  • Kind: organization
  • Email: curent@utk.edu
  • Location: United States of America

CURENT Large Scale Testbed

Citation (CITATION.bib)

@article{10836855,
  author={Wang, Jinning and Li, Fangxing and Fang, Xin and Cui, Hantao and She, Buxin and Shuai, Hang and Zhang, Qiwei and Tomsovic, Kevin},
  journal={IEEE Transactions on Sustainable Energy}, 
  title={Dynamics-Incorporated Modeling Framework for Stability Constrained Scheduling Under High-Penetration of Renewable Energy}, 
  year={2025},
  volume={16},
  number={3},
  pages={1673-1685},
  doi={10.1109/TSTE.2025.3528027}}

GitHub Events

Total
  • Create event: 33
  • Issues event: 18
  • Release event: 19
  • Watch event: 10
  • Delete event: 11
  • Member event: 4
  • Issue comment event: 164
  • Push event: 308
  • Pull request review comment event: 36
  • Pull request review event: 44
  • Pull request event: 135
  • Fork event: 2
Last Year
  • Create event: 33
  • Issues event: 18
  • Release event: 19
  • Watch event: 10
  • Delete event: 11
  • Member event: 4
  • Issue comment event: 164
  • Push event: 308
  • Pull request review comment event: 36
  • Pull request review event: 44
  • Pull request event: 135
  • Fork event: 2

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 2,365
  • Total Committers: 3
  • Avg Commits per committer: 788.333
  • Development Distribution Score (DDS): 0.239
Past Year
  • Commits: 830
  • Committers: 2
  • Avg Commits per committer: 415.0
  • Development Distribution Score (DDS): 0.002
Top Committers
Name Email Commits
jinningwang j****m@g****m 1,799
jinningwang “****g 564
dependabot[bot] 4****] 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 22
  • Total pull requests: 270
  • Average time to close issues: 8 days
  • Average time to close pull requests: about 7 hours
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.41
  • Average comments per pull request: 1.48
  • Merged pull requests: 239
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 19
  • Pull requests: 131
  • Average time to close issues: 3 days
  • Average time to close pull requests: about 5 hours
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.42
  • Average comments per pull request: 2.05
  • Merged pull requests: 120
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • jinningwang (21)
Pull Request Authors
  • jinningwang (279)
  • dependabot[bot] (12)
Top Labels
Issue Labels
enhancement (11) low-priority (4) bug (4) documentation (1)
Pull Request Labels
dependencies (12) size:L (2) size:S (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 299 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 36
  • Total maintainers: 1
pypi.org: ltbams

Python software for scheduling modeling and co-simulation with dynamics.

  • Versions: 36
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 299 Last month
Rankings
Dependent packages count: 9.9%
Average: 37.8%
Dependent repos count: 65.6%
Maintainers (1)
Last synced: 6 months ago