{"id":21294,"name":"Climate Risks Academy 2021","description":"Contains solutions for the advanced assignment of the Modelling Lab of the Climate Risks Academy 2021.","url":"https://github.com/danielhuppmann/climate-risks-academy-2021","last_synced_at":"2026-04-11T15:02:27.968Z","repository":{"id":134103029,"uuid":"377037222","full_name":"danielhuppmann/climate-risks-academy-2021","owner":"danielhuppmann","description":"Advanced assignment for the EUI-FBF-OW Climate Risks Academy 2021","archived":false,"fork":false,"pushed_at":"2021-06-16T04:10:26.000Z","size":46,"stargazers_count":9,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-31T10:02:53.415Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/danielhuppmann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-06-15T04:39:21.000Z","updated_at":"2025-06-12T11:59:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"bbe83121-b456-49c3-bf00-48581dfb6364","html_url":"https://github.com/danielhuppmann/climate-risks-academy-2021","commit_stats":{"total_commits":11,"total_committers":1,"mean_commits":11.0,"dds":0.0,"last_synced_commit":"ca7f9d90eee1299655bdfdc4107e298a36151f0a"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/danielhuppmann/climate-risks-academy-2021","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhuppmann%2Fclimate-risks-academy-2021","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhuppmann%2Fclimate-risks-academy-2021/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhuppmann%2Fclimate-risks-academy-2021/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhuppmann%2Fclimate-risks-academy-2021/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielhuppmann","download_url":"https://codeload.github.com/danielhuppmann/climate-risks-academy-2021/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhuppmann%2Fclimate-risks-academy-2021/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31513382,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"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":"danielhuppmann","name":"Daniel Huppmann","uuid":"16931589","kind":"user","description":"","email":"","website":"www.iiasa.ac.at/staff/daniel-huppmann","location":"Vienna (Laxenburg), Austria","twitter":"daniel_huppmann","company":"International Institute for Applied Systems Analysis (IIASA)","icon_url":"https://avatars.githubusercontent.com/u/16931589?u=39545038f1f14b12e969e365e4b4a34552ac576a\u0026v=4","repositories_count":63,"last_synced_at":"2024-06-11T15:37:38.464Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/danielhuppmann","funding_links":[],"total_stars":38,"followers":137,"following":7,"created_at":"2022-11-20T04:51:45.754Z","updated_at":"2024-06-11T15:37:57.435Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielhuppmann","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielhuppmann/repositories"},"packages":[],"commits":{"id":1336103,"full_name":"danielhuppmann/climate-risks-academy-2021","default_branch":"main","total_commits":11,"total_committers":1,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":11.0,"dds":0.0,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-09T14:34:45.445Z","last_synced_commit":"ca7f9d90eee1299655bdfdc4107e298a36151f0a","created_at":"2023-09-12T07:38:53.274Z","updated_at":"2026-04-09T14:34:45.429Z","committers":[{"name":"Daniel Huppmann","email":"dh@dergelbesalon.at","login":"danielhuppmann","count":11}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhuppmann%2Fclimate-risks-academy-2021/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:23.197Z","repositories_count":6212620,"commits_count":905198041,"contributors_count":34959265,"owners_count":1143628,"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":"danielhuppmann/climate-risks-academy-2021","html_url":"https://github.com/danielhuppmann/climate-risks-academy-2021","last_synced_at":"2026-03-25T07:03:45.000Z","status":"error","issues_count":0,"pull_requests_count":0,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":0,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-09-12T07:38:53.723Z","updated_at":"2026-03-25T07:03:45.000Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhuppmann%2Fclimate-risks-academy-2021","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhuppmann%2Fclimate-risks-academy-2021/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{},"pull_request_author_associations_count":{},"issue_authors":{},"pull_request_authors":{},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:10.509Z","repositories_count":14164350,"issues_count":34527112,"pull_requests_count":112929657,"authors_count":11231429,"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":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[],"active_maintainers":[]},"events":{"total":{"WatchEvent":2,"ForkEvent":1},"last_year":{"WatchEvent":1,"ForkEvent":1}},"keywords":[],"dependencies":[],"score":2.1972245773362196,"created_at":"2023-09-12T07:37:06.340Z","updated_at":"2026-04-11T15:02:27.969Z","avatar_url":"https://github.com/danielhuppmann.png","language":"Jupyter Notebook","category":"Sustainable Development","sub_category":"Education","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Climate Risks Academy 2021 - Modelling Lab\n\nCopyright 2021 Daniel Huppmann\n\nThis repository is licensed under the Apache License, Version 2.0 (the \"License\");\nsee the [LICENSE](LICENSE) for details. \n\n[![license](https://img.shields.io/badge/License-Apache%202.0-black)](https://github.com/danielhuppmann/climate-risks-academy-2021/blob/main/LICENSE)\n![python](https://img.shields.io/badge/python-3.7_|_3.8_|_3.9-blue?logo=python\u0026logoColor=white)\n\n## Overview\n\nThis repository contains solutions for the advanced assignment of the Modelling Lab of\nthe **Climate Risks Academy 2021** organized by the European University Institute (EUI)\nFlorence School of Banking and Finance in cooperation with Oliver Wyman.\nSee [here](https://fbf.eui.eu/climate-risks-academy/) for more information.\n\n## The NGFS Scenario Ensemble (Phase 2)\n\nThe exercise uses the scenario ensemble compiled by a cooperation between several\nintegrated-assessment modelling teams and the\n*Network for Greening the Financial System* (NGFS), in particular Phase 2 (June 2021)\nof the scenario data.\nSee [this presentation](https://www.ngfs.net/sites/default/files/medias/documents/ngfs_climate_scenarios_phase2_june2021.pdf)\nabout the release of Phase 2.\n\nThe scenario data is available via the [NGFS Scenario Explorer hosted by IIASA](https://data.ece.iiasa.ac.at/ngfs)\n\n## Assignment\n\n### Learning objective\n\nA user should learn how to retrieve scenario data from an IIASA Scenario Explorer instance into a Python computing environment\nand use pyam to create plots for data analysis (including computing indicators derived from timeseries data).\n\n### Prerequisites\n\nA user should be familiar with the following items before starting this assignment:\n\n- Basic Python syntax: variables, functions, lists, dictionaries, ...\n  - If you’ve never used Python before, [Anaconda](https://anaconda.org)\n    is an easy option to install the basics\n  - See this [Getting started guide](https://www.python.org/about/gettingstarted/)\n  - More resources to learn Python and its syntax\n    - [realpython.com](https://realpython.com/python-first-steps/)\n    - [fbkarsdorp's python course](https://github.com/fbkarsdorp/python-course)\n    - [edx.org](https://www.edx.org/course/programming-for-everybody-getting-started-with-pyt)\n- Jupyer notebooks, see [jupyter.org](https://jupyter.org/) \n- The [first steps tutorial](https://pyam-iamc.readthedocs.io/en/stable/tutorials/pyam_first_steps.html)\n  of the pyam package\n\n### Tasks\n\n0. Retrieve the data from the [NGFS Scenario Explorer hosted by IIASA](https://data.ece.iiasa.ac.at/ngfs),\n   - By downloading the Excel file from the Downloads section of the web user interface \n     saving the file on your machine, and then importing it into a Jupyter notebook, or\n    - Retrieving the data directly from Python via the **pyam.iiasa.Connection** class. \n     (see this [tutorial](https://pyam-iamc.readthedocs.io/en/stable/tutorials/iiasa_dbs.html),\n     connect to the `ngfs` database)\n0. Implement a grouping (meta indicator) of Paris-compatible pathways (vs. exceeding 2°C)\n0. Select several scenarios and compare the energy mix as suitable plots\n0. Create several plots showing the development of different energy sources by region\n0. Compute relative indicators of the trajectories of energy sources between different scenarios\n\n### Example solution\n\nThis repository shows one way to implement the tasks.\nFollowing good practice of scientific programming, the tasks are separated into\ndisctint notebooks, available in the [notebooks](notebooks) folder.\n\n## The pyam package\n\n\u003cimg src=\"./_static/pyam-logo.png\" width=\"133\" height=\"100\" align=\"right\" alt=\"pyam logo\" /\u003e\n\nThis exercise uses the Python package **pyam**, an open-source community toolbox for\nanalysis \u0026 visualization of scenario data.\nThe package was developed to facilitate working with timeseries scenario data\nconforming to the format developed by the\n[Integrated Assessment Modeling Consortium (IAMC)](https://www.iamconsortium.org).\nThe package is used in ongoing assessments by the IPCC and in many model comparison\nprojects at the global and national level, including several Horizon 2020 projects.\n\n[Read the docs](https://pyam-iamc.readthedocs.io) for more information!\n\n## Getting started\n\nTo run the notebooks on your machine, please install Python version 3.7 or higher.\nTo install the required packages and dependencies, download or git-clone this repository\nand run the following command in the root folder:\n\n```\npip install -r requirements.txt\n```\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/21294","html_url":"https://ost.ecosyste.ms/projects/21294"}