Skip to content

ClimateImpactLab/sliiders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOI

Sea Level Impacts Input Dataset by Elevation, Region, and Scenario (SLIIDERS)

This repository hosts the code used to create the SLIIDERS dataset. The SLIIDERS datasets contain current and forecasted physical and socioeconomic metrics from 2000-2100 - organized by coastal segment, elevation slice, and scenario - for use as inputs to global coastal climate impacts research.

SLIIDERS contains socioeconomic variables, varying horizontally and vertically over space. All work utilizing this code or the resulting SLIIDERS dataset should cite Depsky, Bolliger et al. 2023 (submitted). See License for details.

Installation

Most users will want to just use the datasets directly, accessible at the DOIs linked above. If you wish to recreate and/or modify the datasets, which we encourage, you will need to run the Jupyter notebooks in this repository.

A first step is to create a conda environment with the necessary packages. First install mamba and then, from the root directory of this repo, run

mamba env create -f environment/environment.yml
mamba activate sliiders

Next, a collection of helper functions, organized into a Python package, is necessary to run the notebooks and can be found within the sliiders directory. A simple pip install will install this package

pip install -e sliiders

In addition, you will need to have Dask Gateway installed and configured to execute the parallel, Dask-backed workflows contained in this repo. Advanced users can use other Dask Cluster backends (including simply running Dask Distributed locally), but doing so will require modifying the cluster setup portion of notebooks that employ dask.

A Conda environment file better specifying a full environment needed to execute all of the workflows in this repo is in development and will be posted when complete.

Filepaths and other settings

All filepaths and settings for the notebooks can be found within settings.py. Before moving onto executing different parts of this repository, please adjust these settings to match your directory structure and desired values. Most values will not need to be updated unless you change a particular dataset. However, at minimum you should:

  1. Update the DIR_DATA filepath within this file to point to the root directory within which all of the data consumed and generated by this workflow will live.

Package Structure

  • sliiders: Contains .py files with essential settings and functions for the SLIIDERS workflow

    • settings.py: Contains essential settings, including various parameters and data storage directories
    • gcs.py: Contains functions related to the use of Google Cloud Storage (GCS). Users running workflows locally or on a different cloud provider are encouraged to contribute similar modules for other contexts.
    • io.py: Contains various I/O-related functions
    • spatial.py: Contains functions for executing spatial and geographic operations including those related to shapefiles, grid-cell level operations, and more.
    • dask.py: Contains utility functions for working with dask clusters
    • country_level_ypk.py: Contains functions for cleaning and working with country-level socioeconomic data, especially for the workflow in notebooks/country_level_ypk
  • notebooks: contains the workflows to create SLIIDERS.

Instructions to Generate SLIIDERS

To generate SLIIDERS, three stages are needed:

  1. Data Acquisition
  2. Data Cleaning
  3. Data Processing

In each of the corresponding folders, the steps to re-run this stage of the workflow consist of one or more notebooks, with filenames that are numbered to correspond to the execution order. Note that the Data Processing step contains two "sub-steps" that produce (a) a country-level time series of socioeconomic estimates, and (b) a present-day spatial distribution of socioeconomic estimates.

The resulting SLIIDERS dataset will be produced at the path defined by PATH_SLIIDERS in settings.py.

Support

Please file an issue for any problems you encounter.

Contributing

We encourage community contributions. At the moment, we have no contribution template. Please fork the project and file a Merge Request to propose your addition. Clearly define the contribution that the Merge Request is making and, when any issues have been resolved, we will merge the new code.

Authors

The original authors of this code include:

  • Daniel Allen
  • Ian Bolliger
  • Junho Choi
  • Nicholas Depsky

License

This code is licensed under the MIT License. However, we request that wherever this code or the SLIIDERS dataset is used, that the underlying manuscript (Depsky et al. 2023) is cited.

Citation

Please use the following citation when citing the preprint (this will be updated upon publication):

Depsky, N., Bolliger, I., Allen, D., Choi, J. H., Delgado, M., Greenstone, M., Hamidi, A., Houser, T., Kopp, R. E., and Hsiang, S.: DSCIM-Coastal v1.0: An Open-Source Modeling Platform for Global Impacts of Sea Level Rise, EGUsphere [preprint], https://doi.org/10.5194/egusphere-2022-198, 2022.