ETM Pro
Professional interface of the Energy Transition model.
https://github.com/quintel/etmodel
Category: Energy Systems
Sub Category: Energy System Modeling Frameworks
Keywords from Contributors
backend-api calculation-engine energy-system etm
Last synced: 25 minutes ago
JSON representation
Repository metadata
Interface of the Energy Transition model.
- Host: GitHub
- URL: https://github.com/quintel/etmodel
- Owner: quintel
- License: mit
- Created: 2011-05-03T08:55:13.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2025-10-30T16:22:31.000Z (3 months ago)
- Last Synced: 2025-10-30T17:07:00.607Z (3 months ago)
- Language: CoffeeScript
- Homepage: https://energytransitionmodel.com/
- Size: 74.4 MB
- Stars: 39
- Watchers: 15
- Forks: 17
- Open Issues: 146
- Releases: 40
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE.txt
README.markdown
The Energy Transition Model (ETM) Professional

This is the source code of the ETM Pro:
an online web app that let you create a future energy scenario for various countries, municipalities, neighbourhoods and more.
This software is Open Source, so you can fork it and alter at your will.
If you have any questions, please contact us.
Build Status
Master
Production
License
The ETM pro is released under the MIT License.
Branches
- master: Working branch and is tracked by the ETM beta server
- production: Tracks the ETM production server
Installation with Docker
New users are recommended to use Docker to run ETEngine. Doing so will avoid the need to install additional dependencies.
-
Get a copy of ETModel. You may choose to clone the repository using Git, or download a ZIP archive from Github.
-
Build the ETModel image:
docker-compose build -
Install dependencies and seed the database:
docker-compose run --rm web bash -c 'bin/rails db:drop && bin/setup'This command drops any existing ETModel database; be sure only to run this during the initial setup! This step will also provide you with an e-mail address and password for an administrator account.
-
By default, ETModel will send requests to the beta (staging) version of ETEngine. This is used for testing purposes and is more frequently updated than the live (production) version.
Run ETEngine locally
If you wish to run a local copy of ETEngine, ETModel must be told where to find its API. You must first find your machine's local/private IP address; ETModel will use this to send messages directly to ETEngine, and also by your browser when you are using the ETModel application to create scenarios. To get your IP address, run:
ipconfig getifaddr en0 # on macOS hostname -I # on Linux ipconfig # on WindowsCreate a file called
config/settings.local.ymlcontaining:ete_url: http://YOUR_IP_ADDRESS:3000Branches
When running ETEngine locally, be sure to use the same branch or tag for ETModel, ETEngine, and ETSource. You are likely to encounter errors if you fail to do so.
For example, if you wish to run the latest version all three should be set to the
masterbranch. If you wish to run the production release from March 2022, they should all use the same tag:cd ../etengine && git checkout 2022.03 cd ../etsource && git checkout 2022.03 cd ../etmodel && git checkout 2022.03 -
Launch the containers:
docker-compose upAfter starting application will become available at http://localhost:3001 after a few seconds. This is indicated by the message "Listening on http://0.0.0.0:3001".
Installation without Docker
Prerequisites
Mac users should be able to install the following prerequisites with Homebrew, Ubuntu users can use apt-get.
- Ruby 2.6.6 and a Ruby version manager such as rbenv
- Mysql database server
- Yarn 1.22.5
Installing
-
Pull this repository with
git clone git@github.com:quintel/etmodel.git- Local Engine You can communicate with either a local version of ETEngine, or one of our servers by specifying the
ete_urlinconfig.yml. To use a local version, change the standard beta server url tohttp://localhost:<PORT>based on which port you are running the Engine on. - Database password If you added a username and password to your mysql service, please replace the standard login info in
database.ymlwith your own credentials.
- Local Engine You can communicate with either a local version of ETEngine, or one of our servers by specifying the
-
Run
bundle installandyarn installto install all the dependencies -
Create and fill local database with
rake db:setupandRAILS_ENV=test rake db:setup -
Fire up your local server with
rails server -p3001 -
Go to localhost:3001 and you should see the ETM pro!
Admin access
If you want to get admin access to your own page, the easiest way to do so
is to create an Admin User through the console and follow instructions:
rake db:create_admin
Bugs and feature requests
If you encounter a bug or if you have a feature request, you can either let us
know by creating an Issue or you
can try to fix it yourself and create a
pull request.
With thanks...
The Energy Transition Model is built by Quintel. It is made possible by
open source software, and assets kindly provided for free by many wonderful people and
organisations.
Software
- Backbone.js
- D3.js
- Ruby on Rails
- jQuery
- and many, many more ...
Icons and images
Wiki
Owner metadata
- Name: Quintel
- Login: quintel
- Email: info@quintel.com
- Kind: organization
- Description:
- Website: quintel.com
- Location: Amsterdam
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/2242291?v=4
- Repositories: 44
- Last ynced at: 2024-04-12T01:02:20.645Z
- Profile URL: https://github.com/quintel
GitHub Events
Total
- Create event: 152
- Commit comment event: 1
- Release event: 6
- Issues event: 107
- Watch event: 12
- Delete event: 119
- Issue comment event: 187
- Push event: 637
- Pull request review event: 117
- Pull request review comment event: 43
- Pull request event: 230
- Fork event: 5
Last Year
- Create event: 145
- Commit comment event: 1
- Release event: 6
- Issues event: 101
- Watch event: 12
- Delete event: 113
- Issue comment event: 178
- Push event: 621
- Pull request review comment event: 41
- Pull request review event: 110
- Pull request event: 214
- Fork event: 4
Committers metadata
Last synced: 3 months ago
Total Commits: 9,242
Total Committers: 67
Avg Commits per committer: 137.94
Development Distribution Score (DDS): 0.774
Commits in past year: 390
Committers in past year: 9
Avg Commits per committer in past year: 43.333
Development Distribution Score (DDS) in past year: 0.736
| Name | Commits | |
|---|---|---|
| Paolo Zaccagnini | p****c@g****m | 2089 |
| Anthony Williams | hi@a****v | 1932 |
| Mathijs Bijkerk | m****k@q****m | 695 |
| noracato | n****l@g****m | 438 |
| Chael Kruip | c****p@q****m | 400 |
| Robbert Dol | r****l@q****m | 383 |
| marliekeverweij | m****j@q****m | 372 |
| Michiel den Haan | m****n@q****m | 339 |
| Dennis Schoenmakers | d****s@q****m | 307 |
| Kyra de Haan | k****n@q****m | 222 |
| Kas Kranenburg | k****g@q****m | 198 |
| Sebi Burkhard | s****d@g****m | 162 |
| Gerard Westerhof | g****d@g****l | 156 |
| Frans van Camp | f****p@x****l | 125 |
| Mart Lubben | m****n@q****m | 104 |
| Roos de Kok | r****k@q****m | 101 |
| Joris Berkhout | j****t@q****m | 95 |
| Alexander Wirtz | a****z@q****m | 92 |
| louispt1 | l****1@g****m | 88 |
| dependabot[bot] | 4****] | 83 |
| Charlotte von Meijenfeldt | c****t@q****m | 81 |
| Jesse Kerkhoven | j****n@z****l | 80 |
| Koen van Bemmelen | k****n@q****m | 75 |
| Dorine van der Vlies | d****s@q****m | 64 |
| cjlaumans | c****s@q****m | 59 |
| Rob Terwel | r****l@q****m | 59 |
| Lotte van Vlimmeren | l****n@q****m | 46 |
| Wouter van Lelyveld | w****d@q****m | 40 |
| Kyra de Haan | k****n@K****l | 35 |
| Thomas | t****g@q****m | 34 |
| and 37 more... | ||
Committer domains:
- quintel.com: 35
- jastix.biz: 1
- 192.168.1.97: 1
- jorisbesmbpwork.home: 1
- jorisbesmbpwork.fritz.box: 1
- joris-berkhouts-macbook-pro-work.fritz.box: 1
- charlottes-air.home: 1
- lohmann-online.info: 1
- andremedeiros.info: 1
- zonnet.nl: 1
- xs4all.nl: 1
- grdw.nl: 1
- antw.dev: 1
Issue and Pull Request metadata
Last synced: 3 months ago
Total issues: 3,238
Total pull requests: 1,495
Average time to close issues: 4 months
Average time to close pull requests: 11 days
Total issue authors: 57
Total pull request authors: 39
Average comments per issue: 2.68
Average comments per pull request: 0.65
Merged pull request: 1,261
Bot issues: 7
Bot pull requests: 179
Past year issues: 64
Past year pull requests: 239
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 15 days
Past year issue authors: 11
Past year pull request authors: 9
Past year average comments per issue: 0.67
Past year average comments per pull request: 0.64
Past year merged pull request: 158
Past year bot issues: 2
Past year bot pull requests: 46
Top Issue Authors
- dennisquintel (491)
- ChaelKruip (443)
- wmeyers (228)
- marliekeverweij (188)
- robbertdol (186)
- jorisberkhout (168)
- AlexanderWirtz (167)
- mabijkerk (142)
- DorinevanderVlies (121)
- Richard-Deuchler (103)
- MartLubben (92)
- grdw (85)
- michieldenhaan (78)
- markquintel (73)
- noracato (53)
Top Pull Request Authors
- dependabot[bot] (179)
- marliekeverweij (134)
- mabijkerk (124)
- noracato (114)
- grdw (97)
- kaskranenburgQ (93)
- antw (88)
- kndehaan (78)
- louispt1 (72)
- michieldenhaan (65)
- ChaelKruip (65)
- redekok (56)
- Charlottevm (45)
- MartLubben (41)
- DorinevanderVlies (33)
Top Issue Labels
- Features (386)
- Bug (368)
- Clean up (364)
- Layout (281)
- Priority (221)
- Stale (163)
- Pinned (140)
- On hold (113)
- Charts (104)
- Enhancement (100)
- Minor (100)
- Question (97)
- Sliders (93)
- cross browser (47)
- effort:1 (33)
- Wish list (28)
- Scenario report (27)
- effort:3 (12)
- effort:2 (8)
- tests (8)
- mondaine (7)
- merit order (6)
- Sankey (5)
- waiting for deploy (5)
- Not ETModel ಠ_ಠ (4)
- API (3)
- dependencies (3)
- ruby (3)
- effort:7 (2)
- configuration (2)
Top Pull Request Labels
- dependencies (179)
- ruby (105)
- javascript (73)
- Stale (45)
- Pinned (16)
- Clean up (12)
- Minor (11)
- Charts (7)
- Enhancement (6)
- Bug (5)
- Layout (3)
- Features (3)
- On hold (2)
- mondaine (1)
- Scenario report (1)
Dependencies
- actions/stale v3 composite
- ${SOURCE_IMAGE} latest build
- nginx latest build
- ruby 3.1-slim build
- @types/d3 ^6.2.0 development
- @types/i18n-js ^3.0.3 development
- @types/jquery ^3.5.4 development
- @typescript-eslint/eslint-plugin ^4.8.1 development
- @typescript-eslint/parser ^4.8.1 development
- babel-eslint ^10.0.0 development
- eslint ^6.0.0 development
- eslint-config-prettier ^6.0.0 development
- eslint-import-resolver-typescript ^2.3.0 development
- eslint-plugin-import ^2.22.1 development
- eslint-plugin-prettier ^3.1.0 development
- eslint-plugin-unicorn ^23.0.0 development
- prettier ^2.2 development
- webpack-dev-server ^3.11.0 development
- @babel/preset-typescript ^7.12.7
- @rails/webpacker 5.4.3
- core-js ^3.7.0
- d3-array 2.3.3
- d3-axis 2
- d3-interpolate-path ^2.2.1
- d3-scale 3
- d3-selection 2
- d3-shape 2
- d3-transition 2
- html2canvas ^1.0.0-rc.7
- typescript ^4.1.3
- 1154 dependencies
- bcrypt_pbkdf >= 0 development
- better_errors >= 0 development
- capistrano ~> 3.9 development
- capistrano-bundler ~> 1.1 development
- capistrano-maintenance ~> 1.0 development
- capistrano-rails ~> 1.1 development
- capistrano-rbenv ~> 2.0 development
- capistrano3-puma ~> 5.0.4 development
- capybara >= 0 development
- database_cleaner >= 0 development
- ed25519 >= 0 development
- factory_bot_rails ~> 4.8 development
- launchy >= 0 development
- letter_opener >= 0 development
- pry-byebug >= 0 development
- pry-rails >= 0 development
- pry-remote >= 0 development
- pry-stack_explorer >= 0 development
- rails-controller-testing >= 0 development
- rspec-rails >= 0 development
- rspec_junit_formatter >= 0 development
- rubocop ~> 1.0 development
- rubocop-performance >= 0 development
- rubocop-rails >= 0 development
- rubocop-rspec >= 0 development
- seed_dump >= 0 development
- selenium-webdriver >= 0 development
- shoulda-matchers >= 0 development
- simplecov >= 0 development
- tomdoc >= 0 development
- vcr ~> 6.0 development
- watchr >= 0 development
- webdrivers >= 0 development
- webmock >= 3.5 development
- yard-tomdoc ~> 0.4.0 development
- activerecord-session_store >= 0
- activeresource ~> 6.0
- babel-transpiler >= 0
- browser >= 0
- cancancan >= 0
- coffee-rails >= 0
- config >= 0
- dalli >= 0
- discard >= 0
- dry-initializer >= 0
- dry-monads >= 0
- dry-struct >= 0
- dry-validation >= 0
- dynamic_form >= 0
- font-awesome-rails >= 0
- haml ~> 5.0
- http_accept_language >= 0
- httparty >= 0
- i18n-js ~> 3
- identity >= 0
- inky-rb >= 0
- inline_svg >= 0
- invisible_captcha >= 0
- jbuilder >= 0
- jquery-etmodel-rails >= 0
- jquery-rails ~> 4.2.2
- kaminari ~> 1.2.1
- local_time >= 0
- loofah >= 0
- mini_racer >= 0.6
- mysql2 >= 0
- newrelic_rpm >= 0
- nokogiri ~> 1.13
- non-stupid-digest-assets >= 0
- oily_png >= 0
- premailer-rails >= 0
- puma >= 0
- rails ~> 7.0.0
- rails-html-sanitizer ~> 1.4.4
- rails-i18n >= 0
- rdiscount >= 0
- sassc-rails >= 0
- sentry-rails >= 0
- sentry-ruby >= 0
- simple_form >= 0
- sprockets-rails >= 0
- tabs_on_rails ~> 3.0
- terser >= 0
- valid_email2 >= 0
- webpacker >= 0
- 225 dependencies
Score: 9.42504844446929