REopt_API

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)

https://github.com/NREL/REopt_API

Science Score: 36.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 22 committers (4.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary

Keywords

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

Keywords from Contributors

projection interactive serializer cycles packaging charts network-simulation shellcodes hacking autograding
Last synced: 9 months ago · JSON representation

Repository

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)

Basic Info
Statistics
  • Stars: 109
  • Watchers: 8
  • Forks: 60
  • Open Issues: 51
  • Releases: 63
Topics
nrel optimization renewable-energy reopt-api reopt-lite-api reoptjl
Created over 7 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Contributing License Cla

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 is the backend of the REopt API. That means that the optimization model is 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

  • Name: National Renewable Energy Laboratory
  • Login: NREL
  • Kind: organization
  • Location: Golden, CO

GitHub Events

Total
  • Fork event: 11
  • Create event: 47
  • Issues event: 3
  • Release event: 10
  • Watch event: 20
  • Delete event: 66
  • Member event: 1
  • Issue comment event: 18
  • Push event: 213
  • Pull request review comment event: 26
  • Gollum event: 1
  • Pull request review event: 47
  • Pull request event: 95
Last Year
  • Fork event: 11
  • Create event: 47
  • Issues event: 3
  • Release event: 10
  • Watch event: 20
  • Delete event: 66
  • Member event: 1
  • Issue comment event: 18
  • Push event: 214
  • Pull request review comment event: 26
  • Gollum event: 1
  • Pull request review event: 47
  • Pull request event: 95

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 4,469
  • Total Committers: 22
  • Avg Commits per committer: 203.136
  • Development Distribution Score (DDS): 0.742
Past Year
  • Commits: 278
  • Committers: 8
  • Avg Commits per committer: 34.75
  • Development Distribution Score (DDS): 0.568
Top Committers
Name Email Commits
bill-becker W****r@n****v 1,153
Nick Laws n****s@n****v 1,001
hdunham 7****m 716
zolanaj a****n@n****v 496
adfarth a****h@u****u 364
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
Kadlec j****c@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 (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 83
  • Total pull requests: 657
  • Average time to close issues: 7 months
  • Average time to close pull requests: 23 days
  • Total issue authors: 10
  • Total pull request authors: 19
  • Average comments per issue: 0.95
  • Average comments per pull request: 0.99
  • Merged pull requests: 515
  • Bot issues: 0
  • Bot pull requests: 58
Past Year
  • Issues: 0
  • Pull requests: 105
  • Average time to close issues: N/A
  • Average time to close pull requests: 8 days
  • Issue authors: 0
  • Pull request authors: 6
  • Average comments per issue: 0
  • Average comments per pull request: 0.12
  • Merged pull requests: 73
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • hdunham (27)
  • NLaws (24)
  • adfarth (10)
  • Bill-Becker (7)
  • zolanaj (5)
  • rathod-b (4)
  • jmpohl (2)
  • skyboi1233 (2)
  • sakshi-mishra (1)
  • t-kwasnik (1)
Pull Request Authors
  • Bill-Becker (205)
  • NLaws (106)
  • adfarth (62)
  • t-kwasnik (59)
  • dependabot[bot] (58)
  • hdunham (42)
  • rathod-b (34)
  • zolanaj (27)
  • bpulluta (13)
  • jmpohl (13)
  • sakshi-mishra (11)
  • atpham88 (9)
  • lixiangk1 (5)
  • sakshi-testing-reopt (4)
  • indu-manogaran (4)
Top Labels
Issue Labels
enhancement (6) bug (1)
Pull Request Labels
dependencies (60) enhancement (4) normalpriority (3) bug (2) highpriority (2)

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 124
proxy.golang.org: github.com/nrel/reopt_api
  • Versions: 62
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 10 months ago
proxy.golang.org: github.com/NREL/REopt_API
  • Versions: 62
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 10 months ago

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