Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

0.7.0 - 2025-08-15

Added

Changed

  • The function signature for calculate_labor_batch_damages() in src/dscim/preprocessing/input_damages.py was updated to include additional args with default values that allow the labor SCC application to run without modifying dscim code in the future. This is backwards compatible. (PR #415, @JMGilbert).
  • Python version for running automated tests in CI upgraded from Python 3.10 to 3.12 (PR #270, @brews).

Fixed

  • Fixed how quantile regression SCCs (quantreg) are calculated by allowing for the full cloud of damage points in the damage function fit stage (previously the batch dimension was incorrectly reduced before damage function fit even if quantreg=True) (PR #405, @JMGilbert).
  • Minor code cleanup. Switch old %-string formatting to use f-strings (PR #351, @brews).
  • Pin numcodecs package to 0.15.1 to fix automated tests in CI. This works with zarr < 3. (PR #406, @JMGilbert).
  • Pin statsmodels to 0.14.5 to fix automated tests in CI. (PR #429, @C1587S).

Removed

  • Removed preprocessing/climate and preprocessing/misc subpackages. (PR #249, @JMGilbert)
    • The modules in these subpackages referenced hard coded filepaths and were used for old versions of climate files and inputs that are now properly formatted by default
  • Removed utils/generate_yaml and utils/plotting_utils modules. (PR #249, @JMGilbert)
    • generate_yaml seems to have been designed for an old version of dscim-epa and that functionality has now been transferred to the scripts/directory_setup.py script in the dscim-epa and dscim-facts-epa repositories
    • plotting utils was only in use for a single diagnostic and was transferred to the script that generated that diagnostic
  • Removed midprocessing update_damage_function_library and utils constant_equivalent_discount_rate, calculate_constant_equivalent_discount_rate, and get_model_weights functions. (PR #249, @JMGilbert)
    • update_damage_function_library was previously used to move files prior to the functionality that directly saved files into the appropriate location
    • constant_equivalent_discount_rate and calculate_constant_equivalent_discount_rate are used for integration paper tables, and have been transferred to the appropriate scripts
    • get_model_weights is used for a few diagnostics and has been transferred to the appropriate scripts

0.6.0 - 2024-04-24

Added

  • Add an option for producing SCC ranges that account for only statistical uncertainty. (PR #143, @davidrzhdu)

Fixed

  • Fix concatenate_energy_damages netcdf saving functionality which was not clearing data encoding causing some coordinates to be truncated. (PR #229, @JMGilbert)
  • Fix tests broken by sorting update in pandas v2.2.1 (PR #216, @JMGilbert)

0.5.0 - 2023-11-17

Added

  • Add naive list of package dependencies to pyproject.toml.(PR #123, @brews)
  • CI, coverage, DOI badges on README. (PR #134, @brews)

Changed

  • Dropped optional/unused dependencies click, dask-jobqueue, geopandas, gurobipy, ipywidgets, seaborn. (PR #99, @brews)
  • Switch build system from setuptools to hatchling. (PR #128, @brews)
  • Clean up unit test for dscim.utils.utils.c_equivalence. (PR #135, @brews)
  • Reformat gmst/gmsl pulse files by removing unnecessary dimensions and indices. (PR #169, @JMGilbert)

Fixed

  • Fix DeprecationWarning on import. (PR #128, @brews)
  • Fix write-to-copy warning in process_rff_sample(). (PR #116, @brews)
  • Fix exception from indexing with dask-backed boolean array and input climate Dataset attrs collision with xarray >= v2023.3.0. (PR #129, @brews)
  • Fix bad release header links in CHANGELOG.md. (PR #105, @brews)
  • Fixed broken code quality checks in CI. Now using ruff instead of flake8. (PR #107, @brews)
  • Minor code style cleanup. (PR #133, @brews)

0.4.0 - 2023-07-06

Added

Changed

  • Re-enable equity menu option tests. (PR #84, @JMGilbert)
  • Changed coastal_inputs function to work with new version of coastal outputs. (PR #75, @davidrzhdu)
  • Changed prep_mortality_damages function to work with new format mortality outputs. (PR #74 and PR #68, @JMGilbert)
  • Included US territories in damages and economic variable subsetting. (PR #78, @JMGilbert)
  • Changed format of eta_rhos to allow for multiple values of rho for the same eta. (PR #65, @JMGilbert)
  • Removed incomplete "time_trend" extrapolation option from dscim.utils.utils.model_outputs(), along with unused function arguments. This is a breaking change. (PR #53, @brews)

Removed

  • Removed clip_damage function in dscim/preprocessing/preprocessing.py. (PR #67, @JMGilbert)
  • Removed climate reformatting functions and files -- to be added back with climate file generation. (PR #67, @JMGilbert)
  • Remove diagnostics module. (PR #60, @JMGilbert)
  • Remove old/unnecessary files. (PR #57, @JMGilbert)
  • Remove unused “save_path” and “ec_cls” from read_energy_files_parallel(). (PR #56, @davidrzhdu)

Fixed

  • Make all input damages output files with correct chunksizes. (PR #83, @JMGilbert)
  • Add .load() to every loading of population data from EconVars. (PR #82, @davidrzhdu)
  • Make compute_ag_damages function correctly save outputs in float32. (PR #72 and PR #82, @davidrzhdu)
  • Make rff damage functions read in and save out in the proper filepath structure. (PR #79, @JMGilbert)
  • Enter the proper functional form of isoelastic utility when eta = 1. (PR #65, @JMGilbert)
  • Pin numpy version to stop tests failing. (PR #60, @JMGilbert)

0.3.0 - 2022-09-29

Added

Changed

  • Removed unused “pulseyrs” and “global_cons” from convert_old_to_newformat_AR() and run_rff(). Note this is a breaking change. (PR #51, @davidrzhdu, @kemccusker)
  • Updated README with additional technical details. (PR #49, @brews)

Fixed

0.2.1 - 2022-09-22

Fixed

0.2.0 - 2022-09-16

Changed

  • Remove mutable argument defaults to avoid gotchas. (PR #44, @brews)
  • Quiet unused(?), common, logging messages to terminal. (PR #14, @brews)

Fixed

  • Add missing self arg to global_consumption_calculation abstract method. (PR #43, @brews)

0.1.0 - 2022-08-30

  • Initial release.