This local climate data tool displays the data from CMIP-6 output for historical and four different future scenarios via the Shared Socioeconomic Pathways (SSPs) described below. The motivation for this tool is to make climate data more accessible to people with little to no computing knowledge or background in atmospheric science or climate studies.
Climate models were run for different future scenarios which represent different shared socioeconomic pathways (SSPs), which make projections on what would happen in the future based on various assumptions of human activity, e.g. how much carbon-based energy is used and the amount of carbon emissions, assuming no further climate change or changing policies. In the order of most to least sustainable, these assumptions are SSP1: Sustainability, SSP2: Middle-of-the-road, SSP3: Regional Rivalry, and SSP5: Fossil Fueled Development.
For this project, we implemented data from the class of 21st century scenarios (Tier 1) listed below ranging from highest to lowest emission scenarios.
- SSP5: Fossil-Fueled Development
- SSP3: Regional Rivalry
- SSP2: Middle of the Road
- SSP1: Sustainability
See here for a very detailed explanation.
The CMIP6 data has a modeled version of historical data - the models were run for a historical experiment to recreate the past to validate the models. We also use historical temperature observations that come from the Berkeley Earth Surface Temperature (BEST) dataset, which consists of monthly means of land surface air temperature observations that have been structured onto a 1° x 1° latitude-longitude grid, although observations may not be available for every point on the grid at all time steps. For more information, visit http://berkeleyearth.org/.
- Modeled Historical: CMIP6 historical simulation
- Observed Historical: data from Berkeley Earth Surface Temperatures (BEST)
Install package by cloning this repository then running setup.py in this current directory. The package consists of two main components: the data wrangler and the dashboard generator (documented in more detail in the Component Specification). Because running the data wrangler requires access to large raw climate model datasets, and we would like users to be able to launch the dashboard without navigating a high performance computing system, we have uploaded the processed datasets that are output by the data wrangler to google drive and included a script to download that already processed data.
We recommend users configure their python environments following step 2 of the User Guide located in the examples folder (examples/User_guide.pdf
). This will ensure that all packages necessary for the data to be processed and the panel to be run are installed correctly.
The User Guide also contains more instructions on how to use the climate dashboard.
Created by a team of researchers at the University of Washington. For bugs and issues, report them here.
This section describes the set up of the directories in this repository.
├── LICENSE
├── README.md
├── data/
│ ├── catalogs/
│ ├── files_for_testing/
│ ├── intermediate_processed_data/
│ └── processed_data/
├── docs/
│ ├── Component_Specification.pdf
│ ├── Data_Description.pdf
│ ├── Final_Presentation_Dec_4.pdf
│ ├── Functional_specs.pdf
│ ├── TechnologyReview.pptx
│ ├── testing_docs/
| ├── Cover_Sheet.pdf
| └── pylint_scores/
├── environment.yml
├── examples/
│ └── User_guide.pdf
├── local_climate_change_tool
│ ├── Phase1_User_Interface.ipynb
│ ├── download_file_from_google_drive.py
│ ├── phase1_data_wrangler
│ └── phase2_dashboard_generator
├── requirements.txt
└── setup.py
Within the local_climate_change_tool/
directory, phase1_data_wrangler/
is responsible
for processing the raw model output into a format that is uniform and easily read by the
dashboard app. The code that creates the climate dashboard with which the user can interact
is contained within the phase2_dashboard_generator/
directory.
The data/
holds folders to hold the data from CMIP6 (scenario models and historical model),
BEST (historical reanalysis data), and some smaller data files for testing. These directories
are initially empty and will be populated when the data_wrangler is run or when processed files
are downloaded from the google drive.
The documentation for this project including Functional and Component Specifications, and class
presentations for CSE583 is in docs/
.
This documentation includes an overview of our project structure and details on where and how we have met each of the project requirements contained in the Cover Sheet (docs/Cover_Sheet.pdf
). The Cover Sheet also explains the software engineering lessons we have learned throughout this process.
The docs/
subdirectory also contains a folder (docs/pylint_scores/
) with screenshots of our successful pylint
runs and details of the overall score for our package.
For a easy-to-follow guide and instructions to set up the Local Climate Change Tool, see
the examples/User
directory.
environment.yml: contains dependencies for you to install the conda environment used for this project.
requirements.txt: contains extra dependencies to install using pip
inside the created environment as outlined in the User Guide (examples/User_guide.pdf
).
Run the following commands from the terminal to create the environment.
conda env create -f environment.yml
Alternatively, you can run:
conda create --name climate_tool
conda activate climate_tool
conda install pip
pip install -r requirements.txt
python setup.py install --user
Follow the instructions in
local_climate_change_tool/Phase1_User_Interface.ipynb
by doing either of the following:
- Option 1: Download data from google drive as shown in the script above.
- Option 2: Run the data_wrangler module manually which will automatically incorporates the most up-to-date datasets on the google-cloud-based Coupled Model Intercomparison Project Phase 6 (CMIP6) data archive.
Follow the instructions here. Generate the climate dashboard app by running the climate_dashboard notebook or opening it in a new window by using the command line prompt:
panel serve --show climate_dashboard.ipynb
The userguide shows instructions on how to interact with the data using the climate dashboard.
- Create display map of selected region and surroundings so that users can visualize the scale from which this data is coming. Another step is to allow users to interact with the map so that the plots update based on latitude and longitude of user's click.
- We would like to add more variables to this interactive panel as well such as precipitation.
- Add options to visualize seasonal or monthly means
- Incorporate an option to visualize a running mean, 5 year mean, or the like.
- Use all models that are a part of CMIP6. This package allows you to incorporate more models as they are uploaded/added to CMIP6.
- Make a feature to toggle between absolute temperature and temperature differences from pre-industrial era. they are uploaded/added to CMIP6.
Thanks to the following people for their work on this project.
- @smturbev
- @czarakas
- @jacnugent
- @ihsankahveci
- @lesnyder
Cities and country lists corresponding to latitude and longitude are courtesy of https://simplemaps.com/data/world-cities.
Eyring, V., Bony, S., Meehl, G. A., Senior, C. A., Stevens, B., Stouffer, R. J., and Taylor, K. E.: Overview of the Coupled Model Intercomparison Project Phase 6 (CMIP6) experimental design and organization, Geosci. Model Dev., 9, 1937–1958, https://doi.org/10.5194/gmd-9-1937-2016, 2016.
MIT License
Copyright (c) 2019 NCAR CMIP6 Hackathon
See LICENSE document here