The 2015 Paris Agreement (ratified on Nov 2016) on climate change was a historic step forward in the global effort to combat the impacts of climate change. Multilateral development banks (MDBs) have an important role to play in supporting the implementation of the Paris Agreement, specifically in the Asia Pacific region, which is particularly vulnerable to the impacts of climate change. MDBs have a critical role to play in providing financial and technical assistance to developing countries to support the implementation of the Paris Agreement. The goal of this project is to conduct a comparative analysis of the funding patterns of major MDBs in the Asia Pacific region after the Paris Agreement, specifically the World Bank and Asian Development Bank. The scope of the data is from 2011-2023, broken down into two: 2011-2016 as Pre-Paris Agreement, and 20216-2023 as Post-Paris Agreement. The main metric considered in this project is commitment amount. This is the signed funding amount for a project.
The dashboad has six parts:
1. Interactive Map -shows the summarized information per country. Details will be shown when user hovers through the map on the right. Filters on the left side allow user to view different metrics (count, funding amount, climate funding proportion) based on funding source source and the time interval (pre/post Paris Agreement)
2. Regression Plots -examine the effects of the Paris Agrement on Climate related project investments. Detailed Statistical analysis results can be found in the Statistical Model and Comparative Data Analysis file
3. Histogram -shows the distribution of commitment amount and project count
4. Country Level Deep dive -this includes total cumulative funding amount per country, with GDP per capita and GAIN index information. To compare values between two countries, select the country name on the filters
5. Project-level graphs -shows the overall project details of the selected in Country Level filter. This has breakdown of project status between pre and post Paris agreement, and a plot showing the count and funding amount over time
6. Data Table -shows the individual project details of the selected country, user can also be directed to the project page through the project url and key words for search
Software Architecture
This diagram showcases the high-level architecture of the project software. The data is loaded from two different portals, then cleaned and aggregated, and added to a dashboard module and backend database. The dashboard produces the visualization shown on the right.
Application Architecture
This diagram showcases the software architecture for the web application. This application features three different pathways (project_tracker, graphs, and load_and_clean) that all connect to the __main__.py module, which runs the dashboard application.
Project Folder Structure
This figure showcases the folder structure, including all modules and file data, for the final project
NOTE: All codes to be run from within the project root directory
Setting up Virtual Environment and installing required packages:
- Clone this repo
- From within project root directory 30122-project-climate_change_is_not_a_joke run
poetry install
(takes ~2 minutes for all packages to install) - Activate the virtual environment through
poetry shell
Viewing WebApp:
- Run
python3 -m project_tracker
(takes ~30 seconds) - Follow the generated URL link (eg: http://0.0.0.0:3004/) by clicking Open in Browser or by copying and pasting in your browser (On Mac, use ⌘ and click Follow link on the link generated)
- The website may take a few seconds to load all figures
(Optional) Scraping Data from the Asian Development Bank Data Library:
To view sample data web-scrape from the ADB Data Library:
- Run
python3 -m project_tracker.load_and_clean.draft_crawler
to try crawler
- Takes three arguments month abrivation, year, and desired name of file example (Dec 2022 new_file)
- roughly takes one min per 10 projects. If testing recommend to use arguments above.
- Sample dataset created is stored in project_tracker/data/raw/adb_projects.json
To try cleaning fucntions json to csv:
python3 -m project_tracker.load_and_clean.Clean
- Takes two arguments name of json (do not include ".json") and desired name of file example (name_raw name_clean)
-If you would like to run this please run:
python -m spacy download en_core_web_lg
python -m spacy download en_core_web_sm