Release date: 2025-09-30
Added:
bayesian-optimization>=1.5,<2.0deprecation>=2.1fiona>=1.10peewee>=3.17pyarrow>=20.0
Updated:
bayesian-optimization=1.5 → nanbottleneck>=1.4 → >=1.5dask>=2025.2 → >=2025.5deprecation=2.1 → nangeopandas>=0.14,<1.0 → >=0.14h5py>=3.12 → >=3.13openpyxl>=3.1 → >=3.0pandas>=2.1,<2.2 → >=2.1peewee=3.17 → nanpillow=11.1 → =11.3rtree>=1.3,<1.4 → >=1.3scikit-learn>=1.6 → >=1.7scipy>=1.14,<1.15 → >=1.15sparse>=0.15 → >=0.17xarray>=2025.1 → >=2025.6
Removed:
pandas-datareader
- Added optional parameter to
geo_im_from_array,plot_from_gdf,plot_rp_imp,plot_rp_intensity,plot_intensity,plot_fraction,_event_plotto mask plotting when regions are too far from data points #1047. To recreate previous plots (no masking), the parameter can be set to None. - Added instructions to install Climada petals on Euler cluster in
doc.guide.Guide_Euler.ipynb#1029 - Added util methods to handle crs coordinates consistently:
is_geo_coords,check_if_geo_coords,get_crs_unit,estimate_matching_threshold,degree_to_km, andkm_to_degree#1080 ImpactFuncandImpactFuncSetnow support equality comparisons via==#1027- Calibration of impact function ensembles in
climada.util.calibrate#1048 - Added optional
attrsparameter toExposures.from_rastermethod to set additional object properties through the method'sExposures.__init__call.
- Changed default distance threshold for nearest neighbor matching in
util.coordinates.match_coordinatesfrom a fixed value of 100km to twice the highest resolution of the coords_to_assign #1080. - Changed the default mask_distance in
util.plot.geo_im_from_arrayto 0.03 to avoid white gaps in gridded hazard data with comparably low resolution (>80 centroids per axis) #1073 - Increased speed of
util.plot.add_shapesby avoiding for loops, substantially speeding upHazard.plot_intensityand other functions. #1073 - Update
util.coordinates.match_centroids,util.coordinates.match_coordinates, so that they also accept coordinates that are not defined in degree. #1080 - Implement cheap test to check that input coordinates at least seem geographic for functions that require
geographic coordinates as input (e.g.
util.coordinates.dist_to_coast,util.coordinates.coord_on_land,util.coordinates.lon_normalize,util.coordinates.lon_bounds). #1080 Hazard.local_exceedance_intensity,Hazard.local_return_periodandImpact.local_exceedance_impact,Impact.local_return_period, using theclimada.util.interpolationmodule: New default (no binning), binning on decimals, and faster implementation #1012- World Bank indicator data is now downloaded directly from their API via the function
download_world_bank_indicator, instead of relying on thepandas-datareaderpackage #1033 Exposures.write_hdf5pickles geometry data in WKB format, which is faster and more sustainable. #1051- The online documentation has been completely overhauled, now uses PyData theme: #977
Inputto impact function calibration tasks now supports adding weights to the data #1048- Add
climada.hazard.xarraymodule with helper structures for reading Hazard objects fromxarraydata #1063 - The output of the
impact_yearsetwas changed to only contain attributes corresponding to the yearly impact set. The application of the correction factor and the frequency of the resulting yearly impact object are corrected. #1075 util.coordinates.get_resolutionalways returns positive values, regardless of how the input coordinates' order #1080.
- NaN plotting issues in
geo_im_from_array#1038 - Broken ECMWF links in pydoc of
climada.hazard.storm_europerelocated. #944
Hazard.from_xarray_raster_file. UseHazard.from_xarray_rasterand pass the file path asdataargument #1063
climada.util.interpolation.round_to_sig_digits#1012intensity_thresofHazard,StormEurope, andTropCyclonesobject #1065- Deprecated method
climada.hazard.trop_cyclone.trop_cyclone.TropCyclone.set_from_tracks#1065
Release date: 2025-03-13
- bug in
climada.util.coordinates.bounding_box_from_countriesoccurring if the country is a polygon and not a multipolygon #1018
Release date: 2025-03-03
Added:
osm-flex>=1.1
Updated:
cartopy>=0.23 → >=0.24cfgrib>=0.9.9,<0.9.10 → >=0.9dask>=2024.2,<2024.3 → >=2025.2eccodes>=2.27,<2.28 → >=2.40gdal>=3.6 → >=3.10geopandas>=0.14 → >=0.14,<1.0h5py>=3.8 → >=3.12haversine>=2.8 → >=2.9matplotlib-base>=3.9 → >=3.10netcdf4>=1.6 → >=1.7numba>=0.60 → >=0.61pillow=9.4 → =11.1pyproj>=3.5 → >=3.7pytables>=3.7 → >=3.10python=3.9 → =3.11rasterio>=1.3 → >=1.4scikit-learn>=1.5 → >=1.6scipy>=1.13 → >=1.14,<1.15tqdm>=4.66 → >=4.67xarray>=2024.6 → >=2025.1xlsxwriter>=3.1 → >=3.2
Removed:
pyepsg
climada.entity.impact_funcs.trop_cyclone.ImpfSetTropCyclone.get_impf_id_regions_per_countriesfunction #1034climada.hazard.tc_tracks.BasinBoundsStormEnum classclimada.hazard.tc_tracks.subset_by_basinfunction #1031climada.hazard.tc_tracks.TCTracks.subset_yearsfunction #1023 -climada.hazard.tc_tracks.compute_track_densityfunction,climada.hazard.tc_tracks.compute_genesis_densityfunction,climada.hazard.plot.plot_track_densityfunction #1003 -climada.hazard.tc_tracks.TCTracks.from_FASTfunction, add Australia basin (AU) #993- Add
osm-flexpackage to CLIMADA core #981 doc.tutorial.climada_entity_Exposures_osm.ipynbtutorial explaining how to useosm-flexwith CLIMADAclimada.util.coordinates.bounding_box_globalfunction #980climada.util.coordinates.bounding_box_from_countriesfunction #980climada.util.coordinates.bounding_box_from_cardinal_boundsfunction #980climada.engine.impact.Impact.local_return_periodmethod #971doc.tutorial.climada_util_local_exceedance_values.ipynbtutorial explainingHazard.local_exceedance_intensity,Hazard.local_return_period,Impact.local_exceedance_impact, andImpact.local_return_periodmethods #971Hazard.local_exceedance_intensity,Hazard.local_return_periodandImpact.local_exceedance_impact, that all use theclimada.util.interpolationmodule #918climada.util.interpolationmodule for inter- and extrapolation util functions used in local exceedance intensity and return period functions #930climada.exposures.exposures.Exposures.geometrypropertyclimada.exposures.exposures.Exposures.latitudepropertyclimada.exposures.exposures.Exposures.longitudepropertyclimada.exposures.exposures.Exposures.valuepropertyclimada.exposures.exposures.Exposures.region_idpropertyclimada.exposures.exposures.Exposures.category_idpropertyclimada.exposures.exposures.Exposures.coverpropertyclimada.exposures.exposures.Exposures.hazard_impfmethodclimada.exposures.exposures.Exposures.hazard_centroidsmethod
Centroids.appendnow takes multiple arguments and provides a performance boost when doing so #989climada.util.coordinates.get_country_geometriesfunction: Now throwing a ValueError if unregognized ISO country code is given (before, the invalid ISO code was ignored) #980- Improved scaling factors implemented in
climada.hazard.trop_cyclone.apply_climate_scenario_knuto model the impact of climate changes to tropical cyclones #734 - In
climada.util.plot.geo_im_from_array, NaNs are plotted in gray while cells with no centroid are not plotted #929 - Renamed
climada.util.plot.subplots_from_gdftoclimada.util.plot.plot_from_gdf#929 Hazard.local_exceedance_inten,Hazard.local_return_period, andImpact.local_exceedance_impcall the corresponding new functions and a deprecation warning is added #918. Some inconsistencies in the previous versions are removed and the default method is changed. To reconstruct results from the previous versions, use CLIMADA v5.0.0 or less.- elements of
event_nameare now explicitly converted tostrinfrom_raster,from_xarray_raster,from_excelandfrom_csv. #951, #910 event_idandevent_nameare now explicitly converted to respectively anp.ndarray(event_id), alist(event_name) in readers. #951, #950- Exposures complete overhaul. Notably
- the geometry column of the inherent
GeoDataFrameis set up at initialization - latitude and longitude column are no longer present there (the according arrays can be retrieved as properties of the Exposures object:
exp.latitudeinstead ofexp.gdf.latitude.values). Exposures.gdfhas been renamed toExposures.data(it still works though, as it is a property now pointing to the latter)- the
checkmethod does not add a default'IMPF_'column to the GeoDataFrame anymore - Updated IBTrACS version from v4.0 to v4.1 #976
- Fix xarray future warning in TCTracks for .dims to .sizes
- Fix hazard.concatenate type test for pathos pools
- Resolved an issue where windspeed computation was much slower than in Climada v3 #989
- File handles are being closed after reading netcdf files with
climada.hazardmodules #953 - Avoids a ValueError in the impact calculation for cases with a single exposure point and MDR values of 0, by explicitly removing zeros in
climada.hazard.Hazard.get_mdr#933
climada.hazard.trop_cyclone.trop_cyclone_windfields.compute_angular_windspeeds.cyclostrophicargumentclimada.entity.exposures.Exposures.metaattributeclimada.entity.exposures.Exposures.set_lat_lonmethodclimada.entity.exposures.Exposures.set_geometry_pointsmethodclimada.hazard.Hazard.local_exceedance_intenmethodclimada.hazard.Hazard.plot_rp_intensitymethodclimada.engine.impact.Impact.local_exceedance_impmethodclimada.engine.impact.Impact.plot_rp_impmethod
Release date: 2024-07-19
Added:
bayesian-optimizationseaborn>=0.13
Updated:
bottleneck>=1.3 → >=1.4cartopy>=0.22 → >=0.23contextily>=1.5 → >=1.6dask>=2024.1,<2024.3 → >=2024.2,<2024.3matplotlib-base>=3.8 → >=3.9numba>=0.59 → >=0.60numexpr>=2.9 → >=2.10pint>=0.23 → >=0.24pycountry>=22.3 → >=24.6requests>=2.31 → >=2.32salib>=1.4 → >=1.5scikit-learn>=1.4 → >=1.5scipy>=1.12 → >=1.13xarray>=2024.2 → >=2024.6
- GitHub actions workflow for CLIMADA Petals compatibility tests #855
climada.util.calibratemodule for calibrating impact functions #692- Method
Hazard.check_matricesfor bringing the stored CSR matrices into "canonical format" #893 - Generic s-shaped impact function via
ImpactFunc.from_poly_s_shape#878 - climada.hazard.centroids.centr.Centroids.get_area_pixel
- climada.hazard.centroids.centr.Centroids.get_dist_coast
- climada.hazard.centroids.centr.Centroids.get_elevation
- climada.hazard.centroids.centr.Centroids.get_meta
- climada.hazard.centroids.centr.Centroids.get_pixel_shapes
- climada.hazard.centroids.centr.Centroids.to_crs
- climada.hazard.centroids.centr.Centroids.to_default_crs
- climada.hazard.centroids.centr.Centroids.write_csv
- climada.hazard.centroids.centr.Centroids.write_excel
- climada.hazard.local_return_period #898
- climada.util.plot.subplots_from_gdf #898
- Use Geopandas GeoDataFrame.plot() for centroids plotting function 896
- Update SALib sensitivity and sampling methods from newest version (SALib 1.4.7) #828
- Allow for computation of relative and absolute delta impacts in
CalcDeltaClimate - Remove content tables and make minor improvements (fix typos and readability) in CLIMADA tutorials. #872
- Centroids complete overhaul. Most function should be backward compatible. Internal data is stored in a geodataframe attribute. Raster are now stored as points, and the meta attribute is removed. Several methds were deprecated or removed. #787
- Improved error messages produced by
ImpactCalc.impact()in case impact function in the exposures is not found in impf_set #863 - Update the Holland et al. 2010 TC windfield model and introduce
model_kwargsparameter to adjust model parameters #846 - Changed module structure:
climada.hazard.Hazardhas been split into the modulesbase,ioandplot#871 - Ensure
csr_matrixstored inclimada.hazard.Hazardhave consistent data format and store no explicit zeros when initializingImpactCalc#893 Impact.from_hdf5now callsstronevent_namedata that is not strings, and issue a warning then #894Impact.write_hdf5now throws an error ifevent_nameis does not contain strings exclusively #894- Split
climada.hazard.trop_cyclonemodule into smaller submodules without affecting module usage #911 yearly_stepsparameter ofTropCyclone.apply_climate_scenario_knuhas been made explicit #991Hazard.write_hdf5writes centroids as x,y columns (or as wkb in case of polygons) at a compression level of 9, not as pickledShapelyobjects anymore, which reduces the size of the files significantly.
- Avoid an issue where a Hazard subselection would have a fraction matrix with only zeros as entries by throwing an error #866
- Allow downgrading the Python bugfix version to improve environment compatibility #900
- Fix broken links in
CONTRIBUTING.md#900 - When writing
TCTracksto NetCDF, only apply compression tofloatorintdata types. This fixes a downstream issue, see climada_petals#135 #911
- climada.hazard.centroids.centr.Centroids.from_lat_lon
- climada.hazard.centroids.centr.Centroids.def set_area_pixel
- climada.hazard.centroids.centr.Centroids.def set_area_approx
- climada.hazard.centroids.centr.Centroids.set_dist_coast
- climada.hazard.centroids.centr.Centroids.empty_geometry_points
- climada.hazard.centroids.centr.Centroids.set_meta_to_lat_lon
- climada.hazard.centroids.centr.Centroids.set_lat_lon_to_meta
schedulerparameter inclimada.util.coordinates.set_df_geometry_points, as dask is not used anymore, leaving all calculation to shapely #912
- climada.hazard.base.Hazard.clear
- climada.hazard.base.Hazard.from_mat
- climada.hazard.base.Hazard.raster_to_vector
- climada.hazard.base.Hazard.read_mat
- climada.hazard.base.Hazard.reproject_raster
- climada.hazard.base.Hazard.set_vector
- climada.hazard.base.Hazard.vector_to_raster
- climada.hazard.centroids.centr.Centroids.calc_pixels_polygons
- climada.hazard.centroids.centr.Centroids.check
- climada.hazard.centroids.centr.Centroids.clear
- climada.hazard.centroids.centr.Centroids.equal
- climada.hazard.centroids.centr.Centroids.from_mat
- climada.hazard.centroids.centr.Centroids.from_base_grid
- climada.hazard.centroids.centr.Centroids.read_excel
- climada.hazard.centroids.centr.Centroids.read_hdf5
- climada.hazard.centroids.centr.Centroids.read_mat
- climada.hazard.centroids.centr.Centroids.set_elevation
- climada.hazard.centroids.centr.Centroids.set_geometry_points
- climada.hazard.centroids.centr.Centroids.set_lat_lon
- climada.hazard.centroids.centr.Centroids.set_raster_file
- climada.hazard.centroids.centr.Centroids.set_raster_from_pnt_bounds
- climada.hazard.centroids.centr.Centroids.set_vector_file
- climada.hazard.centroids.centr.Centroids.values_from_raster_files
- climada.hazard.centroids.centr.Centroids.values_from_vector_files
- climada.hazard.centroids.centr.generate_nat_earth_centroids
requirements/env_docs.yml. The regular environment specs are now used to build the online documentation #687
Release date: 2024-02-21
- Fix
util.coordinates.latlon_boundsfor cases where the specified buffer is very large so that the bounds cover more than the full longitudinal range[-180, 180]#839 - Fix
climada.hazard.trop_cyclonefor TC tracks crossing the antimeridian #839
Release date: 2024-02-14
Added:
pyproj>=3.5numexpr>=2.9
Updated:
contextily>=1.3 → >=1.5dask>=2023 → >=2024numba>=0.57 → >=0.59pandas>=2.1 → >=2.1,<2.2pint>=0.22 → >=0.23scikit-learn>=1.3 → >=1.4scipy>=1.11 → >=1.12sparse>=0.14 → >=0.15xarray>=2023.8 → >=2024.1overpy=0.6 → =0.7peewee=3.16.3 → =3.17.1
Removed:
proj(in favor ofpyproj)
- Convenience method
api_client.Client.get_dataset_file, combiningget_dataset_infoanddownload_dataset, returning a single file objet. #821 - Read and Write methods to and from csv files for the
DiscRatesclass. #818 - Add
CalcDeltaClimateto unsequa module to allow uncertainty and sensitivity analysis of impact change calculations #844 - Add function
safe_dividein util which handles division by zero and NaN values in the numerator or denominator #844 - Add reset_frequency option for the impact.select() function. #847
- Update Developer and Installation Guides for easier accessibility by new developers. 808
- Add
shapesargument togeo_im_from_arrayto allow flexible turning on/off of plotting coastline inplot_intensity. #805 - Update
CONTRIBUTING.mdto better explain types of contributions to this repository #797 - The default tile layer in Exposures maps is not Stamen Terrain anymore, but CartoDB Positron. Affected methods are
climada.engine.Impact.plot_basemap_eai_exposure,climada.engine.Impact.plot_basemap_impact_exposureandclimada.entity.Exposures.plot_basemap. #798 - Recommend using Mamba instead of Conda for installing CLIMADA #809
Hazard.from_xarray_rasternow allows arbitrary values as 'event' coordinates #837climada.test.get_test_filenow compares the version of the requested test dataset with the version of climada itself and selects the most appropriate dataset. In this way a test file can be updated without the need of changing the code of the unittest. #822- Explicitly require
pyprojinstead ofproj(the latter is now implicitly required) #845
Hazard.from_xarray_rasternow stores strings as default values forHazard.event_name#795- Fix the dist_approx util function when used with method="geosphere" and log=True and points that are very close. #792
climada.util.yearsets.sample_from_poisson: fix a bug (#819) and inconsistency that occurs when lambda events per year (lam) are set to 1. [#823]- In the TropCyclone class in the Holland model 2008 and 2010 implementation, a doublecounting of translational velocity is removed #833
climada.util.test.test_financeandclimada.test.test_engineupdated to recent input data from worldbank #841- Set
nodefaultsin Conda environment specs becausedefaultsare not compatible with conda-forge #845 - Avoid redundant calls to
np.uniqueinImpact.impact_at_reg#848
Release date: 2023-09-27
Added:
matplotlib-baseNone → >=3.8
Changed:
geopandas>=0.13 → >=0.14pandas>=1.5,<2.0 → >=2.1salib>=1.3.0 → >=1.4.7
Removed:
matplotlib>=3.7
- Rearranged file-system structure:
datadirectory moved intoclimadapackage directory. #781
climada.util.coordinates.get_country_codebug, occurring with non-standard longitudinal coordinates around the anti-meridian. #770
Release date: 2023-09-01
Added:
Changed:
cartopy>=0.20.0,<0.20.3 → >=0.21cfgrib>=0.9.7,<0.9.10 → =0.9.9contextily>=1.0 → >=1.3dask>=2.25 → >=2023eccodes[auto] → =2.27gdal!=3.4.1 → >=3.6geopandas>=0.8 → >=0.13h5py>=2.10 → >=3.8haversine>=2.3 → >=2.8matplotlib>=3.2,< 3.6 → >=3.7netcdf4>=1.5 → >=1.6numba>=0.51,!=0.55.0 → >=0.57openpyxl>=3.0 → >=3.1pandas-datareader>=0.9 → >=0.10pathos>=0.2 → >=0.3pint>=0.15 → >=0.22proj!=9.0.0 → >=9.1pycountry>=20.7 → >=22.3pytables>=3.6 → >=3.7rasterio>=1.2.7,<1.3 → >=1.3requests>=2.24 → >=2.31salib>=1.3.0 → >=1.4scikit-learn>=1.0 → >=1.2scipy>=1.6 → >=1.10sparse>=0.13 → >=0.14statsmodels>=0.11 → >=0.14tabulate>=0.8 → >=0.9tqdm>=4.48 → >=4.65xarray>=0.13 → >=2023.5xlrd>=1.2 → >=2.0xlsxwriter>=1.3 → >=3.1
Removed:
Impact.impact_at_regmethod for aggregating impacts per country or custom region #642Impact.match_centroidsconvenience method for matching (hazard) centroids to impact objects #602climada.util.coordinates.match_centroidsmethod for matching (hazard) centroids to GeoDataFrames #602- 'Extra' requirements
doc,test, anddevfor Python package #712 - Added method
Exposures.centroids_total_valueto replace the functionality ofExposures.affected_total_value. This method is temporary and deprecated. #702 - New method
climada.util.api_client.Client.purge_cache: utility function to remove outdated files from the local file system to free disk space. (#737) - New attribute
climada.hazard.Hazard.haz_type: used for assigning impacts to hazards. In previous versions this information was stored in the now removedclimada.hazard.tag.Tagclass. #736 - New attribute
climada.entity.exposures.Exposures.description: used for setting the default title in plots from plotting mathodsplot_hexbinandplot_scatter. In previous versions this information was stored in the deprecatedclimada.entity.tag.Tagclass. #756 - Added advanced examples in unsequa tutorial for coupled input variables and for handling efficiently the loading of multiple large files #766
- Improved error messages from
climada.CONFIGin case of missing configuration values #670 - Refactored
Exposure.assign_centroidsusing a new util functionu_coord.match_centroids#602 - Renamed
climada.util.coordinate.assign_grid_pointstomatch_grid_pointsandclimada.util.coordinates.assign_coordinatestomatch_coordinates#602 - Modified the method to disaggregate lines in the
lines_polys_handlerutility module in order to better conserve the total length of all lines on average #679. - Added test for non-default impact function id in the
lines_polys_handler#676 - The sigmoid and step impact functions now require the user to define the hazard type. #675
- Improved error messages produced by
ImpactCalc.impact()in case hazard type is not found in exposures/impf_set #691 - Tests with long runtime were moved to integration tests in
climada/test#709 - Use
myst-nbfor parsing Jupyter Notebooks for the documentation instead ofnbsphinx#712 - Installation guide now recommends installing CLIMADA directly via
conda install#714 Exposures.affected_total_valuenow takes a hazard intensity threshold as argument. Affected values are only those for which at least one event exceeds the threshold. (previously, all exposures points with an assigned centroid were considered affected). By default the centroids are reassigned. #702 #730- Add option to pass region ID to
LitPop.from_shape#720 - Slightly improved performance on
LitPop-internal computations #720 - Use
pytestfor executing tests #726 - Users can opt-out of the climada specific logging definitions and freely configure logging to their will, by setting the config value
logging.managedtofalse. #724 - Add option to read additional variables from IBTrACS when using
TCTracks.from_ibtracs_netcdf#728 - New file format for
TCTracksI/O with better performance. This change is not backwards compatible: If you storedTCTracksobjects withTCTracks.write_hdf5, reload the original data and store them again. #735 - Add option to load only a subset when reading TC tracks using
TCTracks.from_simulations_emanuel. #741 - Set
save_mattoFalsein theunsequamodule #746 list_dataset_infosfromclimada.util.api_client.Client: thepropertiesargument, adict, can now haveNoneas values. Before, only strings and lists of strings were allowed. Setting a particular property toNonetriggers a search for datasets where this property is not assigned. #752- Reduce memory requirements of
TropCyclone.from_tracks#749 - Support for different wind speed and pressure units in
TCTrackswhen runningTropCyclone.from_tracks#749 - The title of plots created by the
Exposuresmethodsplot_hexbinandplot_scattercan be set as a method argument. #756 - Changed the parallel package from Pathos to Multiproess in the unsequa module #763
- Updated installation instructions to use conda for core and petals #776
util.lines_polys_handlersolve polygon disaggregation issue in metre-based projection #666- Problem with
pyproj.CRSasImpactattribute, #706. Now CRS is always stored asstrin WKT format. - Correctly handle assertion errors in
Centroids.values_from_vector_filesand fix the associated test #768 - Text in
Forecastclass plots can now be adjusted #769 Impact.impact_at_regnow supports impact matrices where all entries are zero #773- upgrade pathos 0.3.0 -> 0.3.1 issue #761 (for unsequa module #763)
- Fix bugs with pandas 2.0 (iteritems -> items, append -> concat) (fix issue #700 for unsequa module) #763)
- Remove matplotlib styles in unsequa module (fixes issue #758) #763
Centroids.from_geodataframeandCentroids.from_pix_bounds#721Impact.tot_value: UseExposures.affected_total_valueto compute the total value affected by a hazard intensity above a custom threshold #702climada.entity.tag.Tag. #779. The class is not used anymore but had to be kept for reading Exposures HDF5 files that were created with previous versions of CLIMADA.
Centroids.set_raster_from_pix_bounds#721requirements/env_developer.ymlenvironment specs. Use 'extra' requirements when installing the Python package instead #712- The
climada.entitity.tag.Tagclass, together withImpact.tag,Exposures.tag,ImpactFuncSet.tag,MeasuresSet.tag,Hazard.tagattributes. This may break backwards-compatibility with respect to the files written and read by theImpactclass. #736, #743, #753, #754, #756, #767, #779 impact.tot_valueattribute removed from unsequa module #763
Release date: 2023-03-02
Removed:
pybufrkit#662
Release date: 2023-02-27
Patch-relaese with altered base config file so that the basic installation test passes.
- The base config file
climada/conf/climada.confhas an entry forCONFIG.hazard.test_data.
Release date: 2023-02-17
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.sourceshas 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)
climada.hazard.Hazard.from_xarray_raster(_file)class methods for readingHazardobjects from anxarray.Dataset, or from a file that can be read byxarray. #507, #589, #652.climada.engine.impact.Impactobjects have new methodsfrom_hdf5andwrite_hdf5for reading their data from, and writing it to, H5 files #606climada.engine.impact.Impactobjects has a new class methodconcatfor concatenation of impacts based on the same exposures #529.climada.engine.impact_calc: this module was separated fromclimada.engine.impactand contains the code that dealing with impact calculation while the latter focuses on impact data #560.- The classes
Hazard,ImpactandImpactFreqCurvehave a novel attributefrequency_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.
- The
Impactcalculation underwent a major refactoring. Now the suggested way to run an impact calculation is byclimada.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
fractionof aHazardobject toNonewhich will have the same effect as if it were1everywhere. 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
- 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 removoed: #517, #535, #566,
climada.enginge.impact.Impact.calc()andclimada.enginge.impact.Impact.calc_impact_yearset()#436.