{"id":299646,"name":"OSeMBE_ECEMF","description":"Contains the energy future scenarios modelled in OSeMBE as part of the ECEMF project, which brings together energy and climate researchers and policy makers to address the central challenge of our time - how to achieve climate neutrality.","url":"https://github.com/kth-desa/osembe_ecemf","last_synced_at":"2026-05-16T21:30:27.556Z","repository":{"id":43099855,"uuid":"412397092","full_name":"KTH-dESA/OSeMBE_ECEMF","owner":"KTH-dESA","description":"This repository contains the scenarios modelled in OSeMBE throughout the H2020 project ECEMF -European Climate and Energy Modelling Forum.","archived":false,"fork":false,"pushed_at":"2026-04-08T07:56:11.000Z","size":16118,"stargazers_count":8,"open_issues_count":21,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-04-21T09:08:16.079Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KTH-dESA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE_CODE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-10-01T08:59:44.000Z","updated_at":"2026-04-08T07:56:20.000Z","dependencies_parsed_at":"2025-10-08T08:43:42.930Z","dependency_job_id":"693c2f54-81e4-422d-8706-88f23257324b","html_url":"https://github.com/KTH-dESA/OSeMBE_ECEMF","commit_stats":{"total_commits":192,"total_committers":3,"mean_commits":64.0,"dds":0.5729166666666667,"last_synced_commit":"409911e45d73857095656ebb09eb84b3d979585f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KTH-dESA/OSeMBE_ECEMF","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KTH-dESA%2FOSeMBE_ECEMF","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KTH-dESA%2FOSeMBE_ECEMF/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KTH-dESA%2FOSeMBE_ECEMF/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KTH-dESA%2FOSeMBE_ECEMF/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KTH-dESA","download_url":"https://codeload.github.com/KTH-dESA/OSeMBE_ECEMF/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KTH-dESA%2FOSeMBE_ECEMF/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32175041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T02:19:40.750Z","status":"ssl_error","status_checked_at":"2026-04-23T02:17:55.737Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"KTH-dESA","name":"KTH division of Energy Systems","uuid":"21357208","kind":"organization","description":"","email":null,"website":"https://www.energy.kth.se/research/energy-systems","location":"Sweden","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/21357208?v=4","repositories_count":59,"last_synced_at":"2024-04-16T02:51:47.933Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/KTH-dESA","funding_links":[],"total_stars":69,"followers":12,"following":0,"created_at":"2022-11-16T19:38:09.507Z","updated_at":"2024-04-16T02:52:09.133Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KTH-dESA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KTH-dESA/repositories"},"packages":[],"commits":{"id":1693095,"full_name":"kth-desa/osembe_ecemf","default_branch":"main","total_commits":222,"total_committers":3,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":74.0,"dds":0.5225225225225225,"past_year_total_commits":19,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":19.0,"past_year_dds":0.0,"last_synced_at":"2026-04-29T13:01:43.075Z","last_synced_commit":"f65a46c9fefd9342ece41c70dd350564586282f9","created_at":"2024-09-06T00:03:25.903Z","updated_at":"2026-04-29T13:01:42.885Z","committers":[{"name":"Emir Fejzic","email":"fejzic@kth.se","login":"EmiFej","count":106},{"name":"HauHe","email":"haukeh@kth.se","login":"HauHe","count":82},{"name":"Will Usher","email":"wusher@kth.se","login":"willu47","count":34}],"past_year_committers":[{"name":"EmiFej","email":"fejzic@kth.se","login":"EmiFej","count":19}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/kth-desa%2Fosembe_ecemf/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-01T00:00:07.988Z","repositories_count":6224229,"commits_count":900229853,"contributors_count":34904153,"owners_count":1147622,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"kth-desa/osembe_ecemf","html_url":"https://github.com/kth-desa/osembe_ecemf","last_synced_at":"2026-04-21T09:02:11.755Z","status":"active","issues_count":32,"pull_requests_count":53,"avg_time_to_close_issue":5122426.583333333,"avg_time_to_close_pull_request":4466544.980769231,"issues_closed_count":12,"pull_requests_closed_count":52,"pull_request_authors_count":3,"issue_authors_count":4,"avg_comments_per_issue":1.09375,"avg_comments_per_pull_request":0.6037735849056604,"merged_pull_requests_count":46,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":20.666666666666668,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"created_at":"2024-09-06T00:03:35.690Z","updated_at":"2026-04-21T09:02:11.755Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kth-desa%2Fosembe_ecemf","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kth-desa%2Fosembe_ecemf/issues","issue_labels_count":{"enhancement":7,"bug":4},"pull_request_labels_count":{"New scenario":3,"enhancement":2,"bug":1},"issue_author_associations_count":{"COLLABORATOR":19,"CONTRIBUTOR":10,"NONE":3},"pull_request_author_associations_count":{"CONTRIBUTOR":27,"COLLABORATOR":26},"issue_authors":{"HauHe":19,"willu47":8,"Timon-R":3,"EmiFej":2},"pull_request_authors":{"HauHe":26,"EmiFej":24,"willu47":3},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-23T00:00:09.119Z","repositories_count":14370425,"issues_count":34462938,"pull_requests_count":112843965,"authors_count":11243336,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":3},"past_year_issue_authors":{},"past_year_pull_request_authors":{"EmiFej":3},"maintainers":[{"login":"HauHe","count":45,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/HauHe"}],"active_maintainers":[]},"events":{"total":{"WatchEvent":1,"PushEvent":26,"CreateEvent":1,"CommitCommentEvent":4},"last_year":{"PushEvent":13,"CreateEvent":1}},"keywords":[],"dependencies":[],"score":4.465908118654584,"created_at":"2024-09-06T00:03:12.461Z","updated_at":"2026-05-16T21:30:27.564Z","avatar_url":"https://github.com/KTH-dESA.png","language":"Jupyter Notebook","category":"Energy Systems","sub_category":"Global and Regional Energy System Models","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# OSeMBE_ECEMF\n\nThis repository contains the scenarios modelled in OSeMBE throughout the H2020 project ECEMF -\nEuropean Climate and Energy Modelling Forum.\n\nThe repo contains a workflow to run OSeMOSYS models from datapackage to results file in IAMC format.\n\n## OSeMOSYS workflow\n\nThis workflow allows to run one or multiple scenarios.\nStarting from an OSeMOSYS datapackage going through all steps,\nrunning the model with the Gurobi solver and producing the results in IAMC format.\n\nIn addition to the standard OSeMOSYS outputs, the workflow can produce CSV files containing the dual values for all constraints in the model.\n\n### Installation\n\nInstall snakemake using conda into a new environment called `snakemake`:\n\n```bash\nconda install -c conda-forge mamba\nmamba create -c bioconda -c conda-forge -n snakemake snakemake-minimal\n```\n\nThe workflow manages dependencies through conda environments.\nDependencies are defined per rule and are installed upon first running the workflow.\n\n### Configuring the workflow\n\n3. Place the script `resultify.py` from the repo [osemosys2iamc](https://github.com/OSeMOSYS/osemosys2iamc/tree/osembe) in the root folder of the project.\n4. For the `resultify.py` script to run using the `.append` method it is required to use Pandas \u003c2, since the `.append` is no longer supported by Pandas version 2 or newer. By using pandas less than 2 (such as 1.5) one must use a Python \u003c 3.11. After running the snakemake workflow and specifying `--use-conda` in the shell command, the `openentrance-env` will install all dependencies. When this is completed, run: pip install -e git+https://github.com/openENTRANCE/openentrance.git@main#egg=openentrance in the terminal while in the `openentrance-env` environment.\n\n### Adding new scenarios\n\n1. Place datapackage(s) in the folder `input_data`. Each datapackage should be placed in a folder\nthat is named after the scenario, e.g. `baseline`.\n4. Check that the file `config.yaml`, which defines the conversion of OSeMOSYS results to IAMC format\nis suitable for the model.\n\n### Running the workflow\n\n3. ***Optional***: To retrieve dual values from your model you need to edit the list of `constraints` in the file `run.py`.\n4. Open terminal or command prompt and change to the directory of the snakefile.\n5. ***Optional***: Perform a dry run to test snakemake with the command: `snakemake -n`\n5. Start the scenario runs with the command `snakemake --cores \u003cnumber of cores to be used\u003e --use-conda`\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["energy-system","energy-system-modelling"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/299646","html_url":"https://ost.ecosyste.ms/projects/299646"}