osemosys_gnu_mathprog
The GNU MathProg implementation of OSeMOSYS
Science Score: 54.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
-
○Academic publication links
-
✓Committers with academic emails
3 of 13 committers (23.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.4%) to scientific vocabulary
Repository
The GNU MathProg implementation of OSeMOSYS
Basic Info
Statistics
- Stars: 9
- Watchers: 6
- Forks: 15
- Open Issues: 45
- Releases: 5
Metadata Files
README.md
OSeMOSYS GNU MathProg
Thanks for using OSeMOSYS and welcome to the OSeMOSYS community.
To run OSeMOSYS, enter the following line into your command prompt and data file name:
glpsol -m osemosys.txt -d ../Training_Case_Studies/utopia.txt -o results.csv
Alternatively, install GUSEK (http://gusek.sourceforge.net/gusek.html)
and run the model within this integrated development environment (IDE).
To do so, open the datafile (e.g. utopia.txt) and
select "Use External .dat file" from the Options menu.
Then change to the model file and select the "Go" icon or press F5.
Developers - Testing
This repository uses Travis CI to run regression tests and harmonisation tests across each of the OSeMOSYS GNU MathProg normal and short implementations.
Each push to a branch on the repository, or submission of a pull request triggers a build on Travis CI, with the corresponding status reported back in the pull request comments.
The tests must pass before a pull request may be merged into the main repository.
Tests are defined using the Python package pytest and the runs are
configured within the Travis CI configuration file .travis.yml.
The tests are stored in the tests folder.
Running the tests
To run the tests on your local computer, you need a Python 3.7 installation. The easiest way to install this is using miniconda.
Then you need to install pytest conda install pytest pandas and can then run the tests
using the command pytest.
Each of the tests in the tests folder runs an OSeMOSYS model file and checks that
the output matches a given value.
Developers - Creating a new release and deploying to Github Releases
Creating a new release for OSeMOSYS GNU MathProg is as simple as creating a new semver
compliant tag and pushing the tag to a branch. Travis CI will then run the tests, and
if they pass, create the package using the makefile found in the root of the repository.
The makefile includes the contents of the src and scripts folders, an html render of
src/README.md and then zips them up deploying them to Github Releases and providing
the contents of docs/changelog.md as a release description.
1. Update the changelog
Add a new heading with the version number you will use and include a description of the changes since the last release.
It can be useful to view the log of git commits since the previous release using the following command:
git log <yourlasttag>..HEAD
2. Run the tests locally
Follow the instructions provided to run the tests.
3. Create a new tag and push to Github
Create a new annotated tag:
git tag -a v1.0.0 -m "A descriptive message for the release"
Please follow the Semantic Versioning guidelines. To create an alpha or beta release (pre-release) you would do the following:
git tag -a v1.0.0-alpha.1 -m "An alpha release"
git tag -a v1.0.0-beta.1 -m "An beta release"
git tag -a v1.0.0 -m "First stable official release!"
4. Check that the package is deployed successfully
You can follow the release process at the Travis CI service.
Finally, check that the release appears on the Github Releases page.
Owner
- Name: OSeMOSYS
- Login: OSeMOSYS
- Kind: organization
- Email: osemosys@gmail.com
- Website: http://www.osemosys.org/
- Repositories: 11
- Profile: https://github.com/OSeMOSYS
Open-source Energy Modelling System
Citation (CITATION.cff)
cff-version: 1.2.0
title: OSeMOSYS GNU MathProg
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Mark
family-names: Howells
orcid: 'https://orcid.org/0000-0001-6419-4957'
affiliation: Loughborough University Department of Social Sciences
- family-names: Welsch
given-names: Manuel
affiliation: International Atomic Energy Agency
- family-names: Lefvert
given-names: Adrian
orcid: 'https://orcid.org/0000-0001-8587-4054'
- given-names: Constantinos
family-names: Taliotis
orcid: 'https://orcid.org/0000-0003-4022-5506'
affiliation: The Cyprus Institute
- given-names: Igor
family-names: Tatarewicz
affiliation: >-
Institute of Environmental Protection - National
Research Institute / National Centre for Emissions
Management (KOBiZE)
- given-names: Tom
family-names: Alfstad
affiliation: >-
United Nations Department of Economic and Social
Affairs
- given-names: Nawfal
family-names: Saadi
orcid: 'https://orcid.org/0000-0001-8923-7431'
- given-names: Francesco
family-names: Gardumi
orcid: 'https://orcid.org/0000-0001-8371-9325'
affiliation: KTH Royal Institute of Technology
- given-names: Vignesh
family-names: Sridharan
affiliation: KTH Royal Institute of Technology,
orcid: 'https://orcid.org/0000-0003-0764-2615'
- given-names: Agnese
family-names: Beltramo
affiliation: KTH Royal Institute of Technology,
orcid: 'https://orcid.org/0000-0001-6591-3028'
- given-names: Nandi
family-names: Moksnes
affiliation: KTH Royal Institute of Technology,
orcid: 'https://orcid.org/0000-0002-8641-564X'
- given-names: Taco
family-names: Niet
affiliation: Simon Fraser University,
orcid: 'https://orcid.org/0000-0003-0266-2705'
- given-names: Abhishek
family-names: Shivakumar
affiliation: United Nations Department of Economic and Social Affairs,
orcid: 'https://orcid.org/0000-0002-2535-4134'
- given-names: Roberto
family-names: Heredia Fonseca,
affiliation: KTH Royal Institute of Technology,
orcid: 'https://orcid.org/0000-0003-3947-8725'
- given-names: Will
family-names: Usher
affiliation: KTH Royal Institute of Technology,
orcid: 'https://orcid.org/0000-0001-9367-1791'
- given-names: Christoph
family-names: Muschner
affiliation: KTH Royal Institute of Technology,
orcid: 'https://orcid.org/0000-0001-8144-5260'
identifiers:
- type: doi
value: 10.5281/zenodo.5255505
description: "This is the archived snapshot of version 0.8 of OSeMOSYS GNU MathProg"
- type: doi
value: 10.5281/zenodo.5255610
description: "This is the archived snapshot of version 0.8.1 of OSeMOSYS GNU MathProg"
- type: doi
value: 10.5281/zenodo.4778833
description: "This is the archived snapshot of version 1.0.1 of OSeMOSYS GNU MathProg"
- type: doi
value: 10.5281/zenodo.4778832
description: "This is the archived collections of all versions of OSeMOSYS GNU MathProg"
repository-code: 'https://github.com/OSeMOSYS/OSeMOSYS_GNU_MathProg'
url: 'http://www.osemosys.org/'
repository: 'https://github.com/OSeMOSYS/OSeMOSYS'
repository-artifact: 'https://zenodo.org/record/5255610'
abstract: >-
OSeMOSYS - the Open Source energy MOdelling SYStem. This
source code repository contains the Apache-2.0 licensed
source code for the GNU MathProg implementation of the
model formulation.
keywords:
- OSeMOSYS
- energy system model
- energy system optimisation model
- ESOM
- ESM
- energy system modelling
license: Apache-2.0
version: v1.0.1
date-released: '2021-05-21'
references:
- type: article
authors:
- given-names: Mark
family-names: Howells
orcid: 'https://orcid.org/0000-0001-6419-4957'
affiliation: Loughborough University Department of Social Sciences
- given-names: Holger
family-names: Rogner
affiliation: International Atomic Energy Agency
- given-names: Neil
family-names: Strachan
affiliation: University College London
- given-names: Charlie
family-names: Heaps
affiliation: Stockholm Environment Institute
- given-names: Hillard
family-names: Huntington
affiliation: Stanford University
- given-names: Socrates
family-names: Kypreos
affiliation: Paul Scherrer Institute
- given-names: Alison
family-names: Hughes
affiliation: University of Cape Town
- given-names: S.
family-names: Silveira
- given-names: Joe
family-names: Decarolis
- given-names: Morgan
family-names: Bazilian
- given-names: A.
family-names: Roehrl
doi: "10.1016/j.enpol.2011.06.033"
journal: "Energy Policy"
start: 5850 # First page number
end: 5870 # Last page number
title: "OSeMOSYS: The Open Source Energy Modeling System: An introduction to its ethos, structure and development"
volume: 39 # Volume number
issue: 10 # Issue number
year: 2011
keywords:
- Energy systems analysis
- Energy modeling
- Open source
abstract: "This paper discusses the design and development of the Open Source Energy Modeling System (OSeMOSYS). It describes the model’s formulation in terms of a ‘plain English’ description, algebraic formulation, implementation—in terms of its full source code, as well as a detailed description of the model inputs, parameters, and outputs. A key feature of the OSeMOSYS implementation is that it is contained in less than five pages of documented, easily accessible code. Other existing energy system models that do not have this emphasis on compactness and openness makes the barrier to entry by new users much higher, as well as making the addition of innovative new functionality very difficult. The paper begins by describing the rationale for the development of OSeMOSYS and its structure. The current preliminary implementation of the model is then demonstrated for a discrete example. Next, we explain how new development efforts will build on the existing OSeMOSYS codebase. The paper closes with thoughts regarding the organization of the OSeMOSYS community, associated capacity development efforts, and linkages to other open source efforts including adding functionality to the LEAP model."
GitHub Events
Total
- Issues event: 4
- Issue comment event: 5
- Pull request review event: 4
- Pull request review comment event: 1
- Pull request event: 1
- Fork event: 1
- Create event: 1
Last Year
- Issues event: 4
- Issue comment event: 5
- Pull request review event: 4
- Pull request review comment event: 1
- Pull request event: 1
- Fork event: 1
- Create event: 1
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Will Usher | w****r@k****e | 122 |
| Abhishek Shivakumar | a****8@g****m | 20 |
| NMoksnes | 3****s | 13 |
| FraGard | f****i@g****m | 12 |
| Roberto David Heredia | r****d@g****m | 9 |
| Taco Niet | t****t@b****a | 8 |
| vignesh1987 | v****i@k****e | 7 |
| AgnesBelt | 3****t | 7 |
| ResearchAtPlay | k****w@u****a | 5 |
| chrwm | d****e@p****e | 3 |
| vignesh1987 | 3****7 | 2 |
| HauHe | h****h@k****e | 1 |
| Roberto David Heredia | 5****d | 1 |
Issues and Pull Requests
Last synced: about 2 years ago
All Time
- Total issues: 49
- Total pull requests: 47
- Average time to close issues: 7 months
- Average time to close pull requests: 26 days
- Total issue authors: 11
- Total pull request authors: 12
- Average comments per issue: 2.12
- Average comments per pull request: 1.91
- Merged pull requests: 38
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 9
- Pull requests: 7
- Average time to close issues: 3 months
- Average time to close pull requests: 3 days
- Issue authors: 5
- Pull request authors: 4
- Average comments per issue: 1.11
- Average comments per pull request: 0.57
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- willu47 (25)
- HauHe (9)
- FraGard (6)
- tniet (4)
- trevorb1 (3)
- vignesh1987 (2)
- Timon-R (1)
- edwardxtg (1)
- chrwm (1)
- emmajjrichardson (1)
- EmiFej (1)
- NMoksnes (1)
- Negarnmz (1)
Pull Request Authors
- willu47 (18)
- FraGard (6)
- tniet (6)
- abhishek0208 (4)
- NMoksnes (4)
- ResearchAtPlay (2)
- AgnesBelt (2)
- vignesh1987 (2)
- HauHe (2)
- robertodawid (1)
- trevorb1 (1)
- amanmajid (1)
- chrwm (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- citation-file-format/cffconvert-github-action 2.0.0 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pandas *
- pytest *