Skip to main content

Prototype framework for projected socio-economic climate damages

Project description

dlong

Prototype framework for projected socio-economic climate damages

This is a prototype. It is likely to change in breaking ways. It might delete all your data so don't use it in production.

Examples

import dlong
from dlong.types import ClimateData
import xarray as xr

# First, let's make some demo data.
# Say 3 years of annual temperature data across 3 regions:
region = [1, 2, 3]
year = [2019, 2020, 2021]
input_temperature = xr.DataArray(
    [[1.0, 2.0, 3.0], [2.0, 3.0, 4.0], [3.0, 4.0, 5.0]],
    coords=[region, year],
    dims=["region", "year"],
)
# And here are coefficients for a quadratic damage function. Different for 
# each region.
damage_coefficients = xr.Dataset(
    data_vars={
        "beta0": (["region"], [1, 1, 1]),
        "beta1": (["region"], [1, 2, 3]),
        "beta2": (["region"], [4, 5, 6]),
    },
    coords={"region": (["region"], region)},
)

# Put it all together to describe climate data, a damage function, and
# a strategy for discounting damages.
climate = dlong.types.ClimateData(temperature=input_temperature)
damage_model = dlong.QuadraticDamageModel(coefs=damage_coefficients)
discount_strategy = dlong.FractionalDiscount(rate=0.02, reference_year=2020)
# We could use these individually, or combine them into a "recipe" to output 
# discounted damages. The idea is that these components are compositable
# so components can be customized and run in large batches.
recipe = dlong.ExampleRecipe(
    climate=climate, damage_function=damage_model, discount=discount_strategy
)
damages = recipe.discounted_damages()
#<xarray.DataArray (region: 3, year: 3)>
#array([[  6.12      ,  19.        ,  39.21568627],
#       [ 25.5       ,  52.        ,  87.25490196],
#       [ 65.28      , 109.        , 162.74509804]])
#Coordinates:
#* region   (region) int64 1 2 3
#* year     (year) int64 2019 2020 2021

Installation

pip install dlong

dlong currently requires Python > 3.8 and the xarray package.

Install the unreleased bleeding-edge version of the package with:

pip install git+https://github.com/brews/dlong

Support

Source code is available online at https://github.com/brews/dlong/. This software is Open Source and available under the Apache License, Version 2.0.

Development

Please file bugs in the bug tracker.

Want to contribute? Great! Fork the main branch and file a pull request when you're ready. Please be sure to write unit tests and follow pep8. Fork away!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

dlong-0.1.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file dlong-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dlong-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for dlong-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a5f76c5b8f0ff49055aaffc4ec9a58ae3b1aeec4194d096171a646580deb5c0
MD5 fac92caf1d9d7b47d000ae52885ada7c
BLAKE2b-256 a5381a0392460b3756e66256bfc35befd01b456d0de853cb6cb60bf47663d9eb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page