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

REopt_API

Offers a subset of features from NREL's more comprehensive REopt model. Both models provide concurrent, multiple technology integration and optimization capabilities to help organizations meet their cost savings and energy performance goals.
https://github.com/NREL/REopt_API

Category: Energy Systems
Sub Category: Energy System Modeling Frameworks

Keywords

nrel optimization renewable-energy reopt-api reopt-lite-api reoptjl

Keywords from Contributors

transforms measur archiving observation conversion generic optimize projection compose animals

Last synced: about 10 hours ago
JSON representation

Repository metadata

The model for the REopt API, which is used as the back-end for the REopt Webtool (reopt.nrel.gov/tool), and can be accessed directly via the NREL Developer Network (https://developer.nrel.gov/docs/energy-optimization/reopt)

README.md

REopt® API

The REopt® model in this repository is a free, open-source, development version of the REopt API. A production version of the REopt API lies behind the REopt Web Tool.

The REopt API provides concurrent, multiple technology integration and optimization capabilities to help organizations meet their cost savings, energy performance, resilience, and emissions reduction goals. Formulated as a mixed integer linear program, the REopt model recommends an optimally sized mix of renewable energy, conventional generation, and energy storage technologies; estimates the net present value of implementing those technologies; and provides a dispatch strategy for operating the technology mix at maximum economic efficiency. A list of the REopt model capabilities is provided here. Example projects using REopt can be viewed here.

Should I be using or modifying the REopt API or the REopt Julia Package?

The REopt Julia package will soon become the backend of the REopt API. That means that the optimization model will be contained in REopt.jl, and that a user could supply the same inputs to the API and Julia package and get the same results. So which should you use?

1. When and how to use the REopt Julia package:

  • You want to be able to use the REopt model without incorporating an API call (and associated rate limits).
  • You want slightly more flexibility in how you interact with model inputs, optimization parameters, and run types.
  • You can install an optimization solver for use with REopt.
  • You do not need your results saved in an external database.
  • How do I use the REopt Julia package?: see instructions here.

2. When and how to modify the REopt Julia package:

  • You want to make changes to the REopt model beyond modifying input values (e.g., add a new technology).
  • You want to suggest a bug fix in the REopt model.
  • How do I modify the REopt Julia package?: get the (free, open-source) model here and see additional instructions here.

3. When and how to use the REopt_API:

  • You do not want to modify the code or host the API on your own server.
  • You do not want to install or use your own optimization solver (simply POSTing to the REopt API does not require a solver, whereas using the Julia package does).
  • You want to be able to access or share results saved in a database using a runuuid.
  • How do I use the REopt API?: you can access our production version of the API via the NREL Developer Network. You can view examples of using the API in the REopt-Analysis-Scripts Repo.

4. When and how to modify the REopt_API:

  • You have made changes to the REopt Julia package that include modified inputs or outputs, and want to reflect those in the REopt API.
  • You want to suggest a bug fix in the REopt API or add or modify validation or API endpoints.
  • You want to host the API on your own servers.
  • How do I modify the REopt API?: See this repo's Wiki for detailed instructions on installing and developing the API. Also, our contributing guidelines provide guidelines for suggesting improvements, creating pull requests, and more.

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 4,416
Total Committers: 21
Avg Commits per committer: 210.286
Development Distribution Score (DDS): 0.747

Commits in past year: 359
Committers in past year: 7
Avg Commits per committer in past year: 51.286
Development Distribution Score (DDS) in past year: 0.724

Name Email Commits
bill-becker W****r@n****v 1118
Nick Laws n****s@n****v 1001
hdunham 7****m 715
zolanaj a****n@n****v 495
adfarth a****h@u****u 353
Rathod, Bhavesh B****d@n****v 147
t-kwasnik t****k@g****m 133
ted t****k@n****v 104
kkrah k****h@n****v 68
Sakshi Mishra s****m@o****m 63
Byron Pullutasig 1****a 60
lixiangk1 7****1 44
Nick Muerdter 1****I 39
jpohl j****l@l****m 32
dependabot[bot] 4****] 28
indu-manogaran I****n@n****v 5
An Pham A****m@n****v 3
Bessaid, Ramdane R****d@n****v 3
LParkhill 7****l 3
Rathod b****d@n****v 1
Dan Olis d****s@n****v 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 84
Total pull requests: 562
Average time to close issues: 7 months
Average time to close pull requests: 15 days
Total issue authors: 10
Total pull request authors: 19
Average comments per issue: 0.92
Average comments per pull request: 1.11
Merged pull request: 456
Bot issues: 0
Bot pull requests: 51

Past year issues: 2
Past year pull requests: 61
Past year average time to close issues: N/A
Past year average time to close pull requests: 14 days
Past year issue authors: 1
Past year pull request authors: 8
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.38
Past year merged pull request: 49
Past year bot issues: 0
Past year bot pull requests: 0

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

Top Issue Authors

  • hdunham (28)
  • NLaws (24)
  • adfarth (10)
  • Bill-Becker (7)
  • zolanaj (5)
  • rathod-b (4)
  • jmpohl (2)
  • skyboi1233 (2)
  • sakshi-mishra (1)
  • t-kwasnik (1)

Top Pull Request Authors

  • Bill-Becker (161)
  • NLaws (106)
  • t-kwasnik (59)
  • dependabot[bot] (51)
  • adfarth (43)
  • hdunham (37)
  • zolanaj (26)
  • rathod-b (25)
  • jmpohl (13)
  • sakshi-mishra (11)
  • bpulluta (7)
  • atpham88 (5)
  • lixiangk1 (5)
  • sakshi-testing-reopt (4)
  • indu-manogaran (4)

Top Issue Labels

  • enhancement (6)
  • bug (1)

Top Pull Request Labels

  • dependencies (53)
  • enhancement (4)
  • normalpriority (3)
  • bug (2)
  • highpriority (2)

Dependencies

Gemfile rubygems
  • capistrano ~> 3.12.0 development
  • capistrano-bundler ~> 1.6.0 development
  • capistrano-file-permissions ~> 1.0.0 development
  • capistrano-rbenv ~> 2.1.4 development
  • capistrano-tada-defaults >= 0 development
  • captastic >= 0 development
  • captastic-foreman >= 0 development
  • captastic-nginx >= 0 development
  • captastic-subdomains >= 0 development
  • foreman ~> 0.87.0
Gemfile.lock rubygems
  • airbrussh 1.4.0
  • capistrano 3.12.0
  • capistrano-bundler 1.6.0
  • capistrano-file-permissions 1.0.0
  • capistrano-rbenv 2.1.6
  • capistrano-tada-defaults 0.2.0
  • captastic 0.1.2
  • captastic-foreman 0.2.1
  • captastic-nginx 0.1.0
  • captastic-subdomains 0.1.2
  • concurrent-ruby 1.1.6
  • foreman 0.87.0
  • i18n 1.8.2
  • inifile 3.0.0
  • net-scp 2.0.0
  • net-ssh 5.2.0
  • rake 13.0.1
  • sshkit 1.20.0
.github/workflows/pull_request_tests.yml actions
  • actions/checkout v2 composite
  • jakejarvis/wait-action master composite
.github/workflows/push_tests.yml actions
  • actions/checkout v2 composite
  • jakejarvis/wait-action master composite
Dockerfile docker
  • reopt/py38 latest build
docker-compose.cbc.yml docker
  • base-api-image-cbc latest
  • postgres latest
  • redis latest
docker-compose.nginx.yml docker
  • base-api-image latest
  • postgres latest
  • redis latest
docker-compose.nojulia.yml docker
  • base-api-image latest
  • postgres latest
  • redis latest
docker-compose.yml docker
  • base-api-image latest
  • postgres latest
  • redis latest

Score: 8.11969625295725