A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

energyRt

Making Energy Systems Modeling as simple as a linear regression in R.
https://github.com/optimal2050/energyRt

Keywords

energy-models gams glpk julia pyomo

Last synced: 3 days ago
JSON representation

Acceptance Criteria

Repository metadata

Making Energy Systems Modeling as simple as a linear regression in R

README.md

energyRt

energyRt (energy system modeling R-toolbox /ˈɛnərdʒi ɑrt/) is a
set of classes, methods, and functions that define a macro-language for
energy system modeling within the R environment. This package offers a
high-level, user-friendly interface that simplifies the development and
analysis of complex energy models. By abstracting much of the underlying
complexity, energyRt allows users to concentrate on strategic and
analytical aspects rather than the technical details of coding.

Key Features:

  • User-Friendly Interface: energyRt enables users to define energy
    systems, input data, and configure scenarios using intuitive,
    domain-specific commands. It is designed to be accessible for both
    experienced modelers and those new to the field.
  • Seamless R Integration: The package integrates seamlessly with
    R’s extensive ecosystem of packages, allowing users to utilize
    powerful data handling and visualization tools within their energy
    modeling projects.
  • The energyRt optimization
    model is implemented
    in four widely-used mathematical programming languages, both
    proprietary and open-source: GAMS,
    GLPK/Mathprog,
    Python/Pyomo,
    Julia/JuMP. The package
    is designed to work seamlessly with any of these versions, allowing
    users to solve models using their preferred software while ensuring
    consistent and equivalent results across all platforms.
  • Modular Model Construction: energyRt supports the construction
    of models in a modular fashion, enabling incremental development,
    individual component testing, and code reuse across different
    projects. This modularity, combined with R’s interactive
    environment, promotes an iterative approach to modeling where
    assumptions can be tested, and results explored in real-time.
  • Applications: energyRt is designed to facilitate the creation of
    sophisticated energy system models, offering both flexibility and
    depth for detailed analysis. It is an essential tool for
    researchers, policymakers, and industry professionals engaged in
    long-term energy system planning, energy transition, and
    decarbonization efforts.

The package website: https://energyrt.org
Documentation in progress: https://energyrt.github.io/book/

Development status

energyRt is currently in preparation for its first release and
publication on CRAN. The major milestone
for the package is the version v0.50 ("half-way-there"), a proof
of concept with a full-featured and efficient model written in four
math-prog languages, with R-interface for the model design, processing
results, and producing reports. This version will have frozen model
code, classes and methods. Any updates will address only potential fixes
and new features with minimal impact on already existing modeling
projects.

Further development, versions starting from v0.9 towards the
v1.0 will have fully reviewed model and classes with the goal to
further increase efficiency, reduce memory footprint and computational
burden for both the model and its R interface, and significantly extend
features.

Installation

Assuming that R is already installed (if not, please download and
install from https://www.r-project.org/), we also recommend RStudio
(https://www.rstudio.com/), a powerful IDE (Integrated Development
Environment) for R. The installation of the package is done via the
pak or remotes packages:

pak::pkg_install("energyRt/[email protected]")
or
remotes::install_github("energyRt/energyRt", ref = "v0.50")

The next step would be to install at least one of the solvers: GAMS,
GLPK, Python/Pyomo, Julia/JuMP. Please refer to the respective websites
for installation instructions. More detaileds is available on the
IDEEA model
website, a project based on the energyRt package.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 1,323
Total Committers: 7
Avg Commits per committer: 189.0
Development Distribution Score (DDS): 0.268

Commits in past year: 41
Committers in past year: 3
Avg Commits per committer in past year: 13.667
Development Distribution Score (DDS) in past year: 0.195

Name Email Commits
vpotashnikov p****u@g****m 969
olugovoy o****y@g****m 315
“olugovoy” “****y@g****” 22
ideea-model o****y@e****g 8
energyRt 5****t 7
Michaja Pehl p****l@p****e 1
VZhikhareva v****a@g****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 5 days ago

Total issues: 13
Total pull requests: 81
Average time to close issues: 9 months
Average time to close pull requests: 7 days
Total issue authors: 6
Total pull request authors: 4
Average comments per issue: 2.38
Average comments per pull request: 0.23
Merged pull request: 76
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 13
Past year average time to close issues: N/A
Past year average time to close pull requests: 1 minute
Past year issue authors: 0
Past year pull request authors: 2
Past year average comments per issue: 0
Past year average comments per pull request: 0.0
Past year merged pull request: 13
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/optimal2050/energyRt

Top Issue Authors

  • AboodaA (4)
  • awanyulianto (3)
  • olugovoy (2)
  • charliemsl (2)
  • BjoernLaemmerzahl (1)
  • infsum (1)

Top Pull Request Authors

  • olugovoy (58)
  • optimal2050 (11)
  • vpotashnikov (9)
  • michaja (3)

Top Issue Labels

Top Pull Request Labels


Dependencies

DESCRIPTION cran
  • R >= 3.6 depends
  • parallel * depends
  • DBI * imports
  • RSQLite * imports
  • data.table * imports
  • rpivotTable * imports
  • tidyverse * imports
  • knitr * suggests
  • rmarkdown * suggests
  • sp * suggests

Score: 5.081404364984463