Skip to content

v3.3.0

Compare
Choose a tag to compare
@emanuel-schmid emanuel-schmid released this 17 Feb 15:27
· 251 commits to main since this release

Dependency Changes

new:

  • sparse (>=0.13) for #578

updated:

  • python 3.9 - python 3.8 will still work, but python 3.9 is now the default version for installing climada (#614)
  • contextily >=1.0 (no longer restricted to <1.2 as contextily.sources has been replaced in #517)
  • cartopy >=0.20.0,<0.20.3 (>=0.20.3 has an issue with geographic crs in plots)
  • matplotlib >=3.2,<3.6 (3.6 depends on cartopy 0.21)

Added

  • climada.hazard.Hazard.from_xarray_raster(_file) class methods for reading Hazard objects from an xarray.Dataset, or from a file that can be read by xarray.
    #507, #589, #652.
  • climada.engine.impact.Impact objects have new methods from_hdf5 and write_hdf5 for reading their data from, and writing it to, H5 files #606
  • climada.engine.impact.Impact objects has a new class method concat for concatenation of impacts based on the same exposures #529.
  • climada.engine.impact_calc: this module was separated from climada.engine.impact and contains the code that dealing with impact calculation while the latter focuses on impact data #560.
  • The classes Hazard, Impact and ImpactFreqCurve have a novel attribute frequency_unit. Before it was implicitly set to annual, now it can be specified and accordingly displayed in plots.
    #532.
  • CONTRIBUTING.md #518.
  • Changelog based on the CLIMADA release overview and https://keepachangelog.com template #626.

Changed

  • The Impact calculation underwent a major refactoring. Now the suggested way to run an impact calculation is by climada.engine.impact_calc.ImpactCalc.impact(). #436, #527.
  • Addition of uncertainty helper methods variables: list of hazard, list of impact function sets, and hazard fraction. This allows to pre-compute hazards or impact function sets from different sources from which one can then sample uniformly. #513
  • Full initialization of most Climada objects is now possible (and suggested!) in one step, by simply calling the constructor with all arguments required for coherently filling the object with data: #560, #553, #550, #564, #563, #565, #573, #569, #570, #574, #559, #571, #549, #567, #568, #562.
  • It is possible now to set the fraction of a Hazard object to None which will have the same effect as if it were 1 everywhere. This saves a lot of memory and calculation time, #541.
  • The online documentation has been completely overhauled: #597, #600, #609, #620, #615, #617, #622, #656.
  • Updated installation instructions #644

Fixed

  • several antimeridian issues: #524, #551, #613.
  • bug in climada.hazard.Centroids.set_on_land() when coordinates go around the globe: #542, #543.
  • bug in climada.util.coordinates.get_country_code() when all coordinates are on sea.
  • suppress pointless warnings in plotting functions, #520.
  • test coverage improved: #583, #594, #608, #616, #637.
  • deprecated features removed: #517, #535,#566,

Deprecated

  • climada.enginge.impact.Impact.calc() and climada.enginge.impact.Impact.calc_impact_yearset(), #436.