Recent Releases of CLIMADA
CLIMADA - v6.0.1
What's Changed
- hotfix: bug in bounding_box_from_countries by @ValentinGebhart in https://github.com/CLIMADA-project/climada_python/pull/1018
- fix broken online documentation by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/1024
Full Changelog: https://github.com/CLIMADA-project/climada_python/compare/v6.0.0...v6.0.1
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 2 months ago
CLIMADA - v6.0.0
What's Changed
- Add flood module paper to citation guide by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/923
- plot NaNs in gray color and use log color bar by @ValentinGebhart in https://github.com/CLIMADA-project/climada_python/pull/929
- New interpolation util functionality by @ValentinGebhart in https://github.com/CLIMADA-project/climada_python/pull/930
- Remove attribute-style accesses to (Geo)DataFrames columns and xarray Datasets variables and attributes within tutorials by @spjuhel in https://github.com/CLIMADA-project/climada_python/pull/941
- Remove attribute-style accesses to (Geo)DataFrames columns and xarray Datasets variables and attributes by @luseverin in https://github.com/CLIMADA-project/climada_python/pull/939
- Warn about and discourage the use of pickle to save objects by @spjuhel in https://github.com/CLIMADA-project/climada_python/pull/942
- default installation with python 3.11 by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/945
- Bug fix in Hazard.get_mdr and impact calculation in case of a single exposure point and MDR values of 0 by @bguillod in https://github.com/CLIMADA-project/climada_python/pull/948
- Load IBTrACs file from archive in case by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/956
- CI/GitHub Actions: set job timeout 20 minutes by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/958
- Use context manager for xarray dataset file opening by @spjuhel in https://github.com/CLIMADA-project/climada_python/pull/953
- New implementation of Knutson scaling incl. fix to negative freqs and double counting by @aleeciu in https://github.com/CLIMADA-project/climada_python/pull/734
- Add pre-commit to dependencies with appropriate config by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/892
- develop-black by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/962
- Develop black by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/963
- format exceptions by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/964
- exposures-init-geometry by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/890
- Combining several interpolation functions using a new util function by @ValentinGebhart in https://github.com/CLIMADA-project/climada_python/pull/918
- black-workflow by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/968
- Restructuring of the documentation by @spjuhel in https://github.com/CLIMADA-project/climada_python/pull/972
- Add local_return_period method to Impact objects and new tutorial by @ValentinGebhart in https://github.com/CLIMADA-project/climada_python/pull/971
- Update IBTrACS to version 4.1 by @ChrisFairless in https://github.com/CLIMADA-project/climada_python/pull/976
- exposures: appropriate error message in latitude/longitude properties by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/982
- added get_bounds functions for EPSG 4326 by @ValentinGebhart in https://github.com/CLIMADA-project/climada_python/pull/980
- remove pyepsg from requirements by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/955
- optimize concatenation of centroids by @NicolasColombi in https://github.com/CLIMADA-project/climada_python/pull/989
- Add osm-flex to CLIMADA core by @luseverin in https://github.com/CLIMADA-project/climada_python/pull/981
- eccodes dependency update by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/947
- Update Euler Guide by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/986
- Feature/from netcdf fast by @NicolasColombi in https://github.com/CLIMADA-project/climada_python/pull/993
- change short description in README.md by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/1014
- Shift cyclostrophic argument to model_kwargs in from_tracks by @spjuhel in https://github.com/CLIMADA-project/climada_python/pull/936
- Checks in readers/writers to enforce correct types for
event_name
andevent_id
container and elements by @spjuhel in https://github.com/CLIMADA-project/climada_python/pull/951 - pydoc: fix bullet points and indentation by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/1016
- Fix Author List on Zenodo by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/1011
Full Changelog: https://github.com/CLIMADA-project/climada_python/compare/v5.0.0...v6.0.0
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 2 months ago
CLIMADA - v5.0.0
What's Changed
- Bugfix lon_bounds returning range > 360 degrees by @ChrisFairless in https://github.com/CLIMADA-project/climada_python/pull/859
- Improve impact calc error messages when there is a mismatch of impf ids between exposures and impfset by @luseverin in https://github.com/CLIMADA-project/climada_python/pull/863
- Adding issue templates to Github by @spjuhel in https://github.com/CLIMADA-project/climada_python/pull/867
- Feature/centroids as gdf by @chahank in https://github.com/CLIMADA-project/climada_python/pull/787
- util.coordinates: remove broken dist_to_coast function by @tovogt in https://github.com/CLIMADA-project/climada_python/pull/840
- Catch case where new Hazard fraction is unintentionally zero by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/869
- Let readthedocs build the documentation environment based on env_climada.yml by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/687
- Remove content tables and update tutorial files by @luseverin in https://github.com/CLIMADA-project/climada_python/pull/872
- Refine Risk Assessment Terms: Vulnerability and Impact Functions (Update Guide_Introduction.ipynb) by @DahyannAraya in https://github.com/CLIMADA-project/climada_python/pull/802
- Add polynomial s shape impact function by @chahank in https://github.com/CLIMADA-project/climada_python/pull/878
- split hazard module by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/871
- euler user guide update by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/880
- Make GitHub CI execute unit tests in Petals via reusable workflow by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/855
- Update unsequa to fully support the latest version of SALib by @luseverin in https://github.com/CLIMADA-project/climada_python/pull/886
- Create an empty centroids in Hazard.concat() with CRS from the first haz_list. by @manniepmkam in https://github.com/CLIMADA-project/climada_python/pull/881
- Fix links in pull request template by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/901
- WIP: Introduce a second version of the Holland 2010 model by @ThomasRoosli in https://github.com/CLIMADA-project/climada_python/pull/846
- Allow downgrading of Python and update links in contribution guide by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/900
- Explicitly convert
event_name
to strings inImpact.from_hdf5
by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/894 - Use geopandas.plot() for Centroids.plot() by @sarah-hlsn in https://github.com/CLIMADA-project/climada_python/pull/896
- set_geometry by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/889
- Split tropical_cyclone module by @ThomasRoosli in https://github.com/CLIMADA-project/climada_python/pull/911
- Add module for calibrating impact functions by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/692
- Add functions to compute, plot, store the local hazard exceedence intensity and RP maps (new branch) by @ValentinGebhart in https://github.com/CLIMADA-project/climada_python/pull/898
- Ensure csr matrices are in "canonical format" before impact calculation by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/893
- Feature/set geometry bis by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/912
- fix read the docs by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/922
- Compiled hazard tutorial (some plots were missing) by @ValentinGebhart in https://github.com/CLIMADA-project/climada_python/pull/919
New Contributors
- @luseverin made their first contribution in https://github.com/CLIMADA-project/climada_python/pull/863
- @spjuhel made their first contribution in https://github.com/CLIMADA-project/climada_python/pull/867
- @DahyannAraya made their first contribution in https://github.com/CLIMADA-project/climada_python/pull/802
- @ValentinGebhart made their first contribution in https://github.com/CLIMADA-project/climada_python/pull/898
Full Changelog: https://github.com/CLIMADA-project/climada_python/compare/v4.1.1...v5.0.0
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid 10 months ago
CLIMADA - v4.1.1
What's Changed
- trop_cyclone: fix for tracks crossing antimeridian by @tovogt in https://github.com/CLIMADA-project/climada_python/pull/839
- update to xarray 2024.2 by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/851
Full Changelog: https://github.com/CLIMADA-project/climada_python/compare/v4.1.0...v4.1.1
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 1 year ago
CLIMADA - v4.1.0
What's Changed
- Remove python version pin from conda specs by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/786
- Fix dist_approx with "geosphere" method and close points by @tovogt in https://github.com/CLIMADA-project/climada_python/pull/792
- Goodbye Stamen by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/798
- Encourage contributions in README and CONTRIBUTING by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/797
- Fix exponent clipping in Holland 2010 implementation by @tovogt in https://github.com/CLIMADA-project/climada_python/pull/793
- Add shapes argument to geo_im_from_array() in climada.util.plot by @yklpaul0902 in https://github.com/CLIMADA-project/climada_python/pull/805
- Change default Hazard.event_name to string of event_id by @sarah-hlsn in https://github.com/CLIMADA-project/climada_python/pull/795
- Recommend using Mamba to install CLIMADA by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/809
- Fix Miniforge link in install guide by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/812
- update euler guide by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/794
- fix yearsets.sample_from_poisson by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/823
- DiscRates csv support by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/818
- Fix the exception tests for the latest version of xarray by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/827
- Feature/tc holland vtrans by @ThomasRoosli in https://github.com/CLIMADA-project/climada_python/pull/833
- Allow reading Hazard events that are not dates from xarray by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/837
- api-client get_dataset_file by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/821
- adapt to changed worldbank data by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/841
- consequently use get_testfile by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/822
- Improved readability of the developer guide by @sarah-hlsn in https://github.com/CLIMADA-project/climada_python/pull/808
- Update environment specs by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/845
- add impact.select reset_frequency option by @timschmi95 in https://github.com/CLIMADA-project/climada_python/pull/847
- Integration of CalcDeltaImpact class of unsequa into develop by @simonameiler in https://github.com/CLIMADA-project/climada_python/pull/844
- Avoid redundant calls to
np.unique
inImpact.impact_at_reg
by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/848 - Update GitHub CI action versions by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/849
New Contributors
- @yklpaul0902 made their first contribution in https://github.com/CLIMADA-project/climada_python/pull/805
- @sarah-hlsn made their first contribution in https://github.com/CLIMADA-project/climada_python/pull/795
Full Changelog: https://github.com/CLIMADA-project/climada_python/compare/v4.0.1...v4.1.0
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 1 year ago
CLIMADA - v4.0.1
What's Changed
- Doc/update readme by @chahank in https://github.com/CLIMADA-project/climada_python/pull/778
- move package data by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/781
- Fix empty data frame concatenation in emdat_impact_yearlysum by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/783
- Use GitHub actions for unit testing by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/745
- Antimeridian issue in
get_country_code
by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/785
Full Changelog: https://github.com/CLIMADA-project/climada_python/compare/v4.0.0...v4.0.1
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid over 1 year ago
CLIMADA - v4.0.0
What's Changed
- add at_reg_id_event by @aleeciu in https://github.com/CLIMADA-project/climada_python/pull/642
- Don't re-project projected polygon gdfs in metre-disaggregation by @Evelyn-M in https://github.com/CLIMADA-project/climada_python/pull/666
- Accurate error message for missing configuration by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/670
- Data API data model extension by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/624
- Add setup instructions for VSCode to installatio instructions by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/677
- added assign_centroids for impact objects by @timschmi95 in https://github.com/CLIMADA-project/climada_python/pull/602
- Improve lines disaggregation method by @chahank in https://github.com/CLIMADA-project/climada_python/pull/679
- Change test data impf.id to test non-default params by @chahank in https://github.com/CLIMADA-project/climada_python/pull/676
- Add one test with different impact function by @chahank in https://github.com/CLIMADA-project/climada_python/pull/681
- Add section to Guide_CLIMADA_Tutorial.ipynb by @NicolasColombi in https://github.com/CLIMADA-project/climada_python/pull/668
- Feature/haz type in step impf by @chahank in https://github.com/CLIMADA-project/climada_python/pull/675
- Update Readthedocs installation / unittest instructions by @Evelyn-M in https://github.com/CLIMADA-project/climada_python/pull/689
- dependency upgrades by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/682
- Improve impact calc error messages by @leonie-villiger in https://github.com/CLIMADA-project/climada_python/pull/691
- fix test.test_exposures_value_pass by @NicolasColombi in https://github.com/CLIMADA-project/climada_python/pull/697
- Bugfix: yearsets frequency curve calculations fail by @ChrisFairless in https://github.com/CLIMADA-project/climada_python/pull/703
- Update EMDAT VARNAMES for version 2023 by @simonameiler in https://github.com/CLIMADA-project/climada_python/pull/701
- Feature/coverage nightlight by @NicolasColombi in https://github.com/CLIMADA-project/climada_python/pull/659
- Feature/fix nightlight test by @NicolasColombi in https://github.com/CLIMADA-project/climada_python/pull/716
- Allow for numpy arrays in hazard select by @chahank in https://github.com/CLIMADA-project/climada_python/pull/719
- Feature/move tests to integration by @NicolasColombi in https://github.com/CLIMADA-project/climada_python/pull/709
- Add developer requirements to
setup.py
by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/712 - Deprecate superfluous classmethods of Centroids by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/721
- Suggest installing CLIMADA via conda in installation instructions by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/714
- Feature/change impact total value by @chahank in https://github.com/CLIMADA-project/climada_python/pull/702
- Feature/fix nightlight test by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/718
- Avoid
Impact
storing apyproj.CRS
object by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/713 - Docs: Remove env_developer.yml from install guide by @tovogt in https://github.com/CLIMADA-project/climada_python/pull/727
- Improve performance of LitPop by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/720
- Reassign centroids by default by @chahank in https://github.com/CLIMADA-project/climada_python/pull/730
- TCTracks: Option to read additional variables from IBTrACS (e.g. "nature"/stormtype) by @tovogt in https://github.com/CLIMADA-project/climada_python/pull/728
- upgrade_shapely_2.0_fix by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/731
- logging best practice by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/724
- Feature/move unittest by @NicolasColombi in https://github.com/CLIMADA-project/climada_python/pull/732
- cleaning up data api file cache by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/737
- Use Pytest for running tests by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/726
- Tag-Refactoring by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/736
- Small text updates in the git development guide. by @chahank in https://github.com/CLIMADA-project/climada_python/pull/738
- TCTracks: improve hdf5 I/O by @tovogt in https://github.com/CLIMADA-project/climada_python/pull/735
- TCTracks.from_simulations_emanuel: optionally, only load a subset by @tovogt in https://github.com/CLIMADA-project/climada_python/pull/741
- Set save_mat=False by @chahank in https://github.com/CLIMADA-project/climada_python/pull/746
- Remove all uses of Tag from climada/engine by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/743
- Remove Tag attribute from DiscRates by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/755
- Remove Tag attribute from ImpactFuncSet by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/753
- Remove Tag attribute from MeasureSet by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/754
- api_client: allow searching for None by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/752
- Refactor TropCyclone for external use in other modules by @tovogt in https://github.com/CLIMADA-project/climada_python/pull/749
- calculated chunksizes greater than zero by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/762
- Fix bug in centroids natural earth feature test by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/768
- fix hardcoded text elements in the plots of the forecast class by @ThomasRoosli in https://github.com/CLIMADA-project/climada_python/pull/769
- Make
Impact.impact_at_reg
support all zero impacts by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/773 - Feature/unsequa multiprocessing by @chahank in https://github.com/CLIMADA-project/climada_python/pull/763
- Update installation instructions by @peanutfun in https://github.com/CLIMADA-project/climada_python/pull/776
- Remove pandas append to concat by @chahank in https://github.com/CLIMADA-project/climada_python/pull/777
- Remove Tag from Hazard by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/767
- Remove Tag from Exposures by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/756
- Tag Removal Modules Structure Rearranged by @emanuel-schmid in https://github.com/CLIMADA-project/climada_python/pull/779
New Contributors
- @leonie-villiger made their first contribution in https://github.com/CLIMADA-project/climada_python/pull/691
Full Changelog: https://github.com/CLIMADA-project/climada_python/compare/v3.3.3...v4.0.0
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid over 1 year ago
CLIMADA -
Release for climada registration in conda-forge
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 2 years ago
CLIMADA -
Description
Patch-relaese with altered base config file so that the basic installation test passes.
Changed
- The base config file climada/conf/climada.conf has an entry for CONFIG.hazard.test_data.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 2 years ago
CLIMADA -
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 readingHazard
objects from anxarray.Dataset
, or from a file that can be read byxarray
.
#507, #589, #652.climada.engine.impact.Impact
objects have new methodsfrom_hdf5
andwrite_hdf5
for reading their data from, and writing it to, H5 files #606climada.engine.impact.Impact
objects has a new class methodconcat
for concatenation of impacts based on the same exposures #529.climada.engine.impact_calc
: this module was separated fromclimada.engine.impact
and contains the code that dealing with impact calculation while the latter focuses on impact data #560.- The classes
Hazard
,Impact
andImpactFreqCurve
have 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.
Changed
- The
Impact
calculation 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
fraction
of aHazard
object toNone
which will have the same effect as if it were1
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()
andclimada.enginge.impact.Impact.calc_impact_yearset()
, #436.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 2 years ago
CLIMADA - v3.2.0
changed environment:
- scikit-learn >=1.0 >=0.23
- rasterio >=1.2.7,<1.3 >=1.2.7
new features:
- Warning class added. Allows creating warning maps from generic 2d-maps, or form Hazard or Impact objects.
- Set of lines and polygons util functions. Exposures with lines and/or polygons can be disaggregated to points, which can be used to compute impacts that can be reaggregated afterward.
updated features:
- Offline mode for API client enabled. Results from the CLIMADA data api can be cached and re-used later without internet connection.
minor changes:
- Most tutorials and guides have been overhauled and consolidated.
- Updated API wrapper functions: get clearer error messages when data doesn't exist and added method to get the standard centroids to create new hazards.
- If more than one dataset with equal data-type and name meet the requirements, the API client only fetches the newest version, unless
version='any'
is specified.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid almost 3 years ago
CLIMADA -
minor changes:
- The setup.py and MANIFEST.in files were adapted to include the climada.engine.unsequa module in the package build.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 3 years ago
CLIMADA - v3.1.1
minor changes:
- update hyperlinks in README.md
- download test files from CLIMADA Data Api (enabling installation tests for PyPi installation)
climada.util.plot.get_transformation
: more tolerant CRS handling
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 3 years ago
CLIMADA - v3.1.0
updated features:
- new function
get_admin1_geometries
: return GeoDataFrame with geometries of admin 1 regions within given countries. - 'set_' method deprecated. New methods 'from_'.
- '+init CRS specs' deprecated.
- data-api client refactored:
- method names changed,
list_data_type_infos
returns only data types with active datasets (data types with only test data are hidden) - concatenation of CLIMADA objects was removed from
get_hazard
andget_exposures
- method names changed,
util.interpolate
- refactoring: the module
util.interpolate
was removed and the methods therein were refactored and integrated inutil.coordinates
. - a new method
_nearest_neighbor_euclidean
was added to find nearest neighbors with a k-d tree using Euclidean metric. - the default distance for
exposure.assign_centroids
was changed toeuclidean
. This is faster thanhaversine
for (quasi-)gridded data but less accurate.
- refactoring: the module
TCTracks.from_ibtracs_netcdf
: now stores selected agency for each track variable- Uncertainty Quantification
- renaming module from
uncertainty_quantification
tounsequa
- updating of all plotting methods
- addition of helper methods for the most common uncertainty input parameters for exposures, hazard, impact functions, entities, measures.
- renaming module from
hazard.select
works withextent
.- addition of
hazard.select_tight
to reduce a hazard to a box around anexposure
. - adaptations to Natural Earth (v5.0.0) from 2021-12-08. The file format has changed and posed a problem to the
shapefile.Reader
, which consequently was replaced byshapereader.Reader
.
Note: This may lead to aKeyError 'GDP_MD'
in various places, e.g.climada.util.finance.nat_earth_adm0
. To come over it, remove the cached Natural Earth files in~/.local/share/cartopy/shapefiles/natural_earth/
.
changed environment:
- cartopy >= 0.20 (0.18 - 0.19)
- cfgrib 0.9.7 - 0.9.9 (>= 0.9.7)
- contextily 1.0 - 1.1 (1.0)
- numba != 0.55.0
- rasterio >= 1.2.7 (1.1 - 1.2.6)
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 3 years ago
CLIMADA - v3.0.0
This is the first release of the core package after CLIMADA sources have been devided into climada_python (core) and climada_petals (extensions).
changed environment:
- cartopy>=0.18,<0.20.0 (>=0.18)
0.20 and higher are not accepted yet, because of their changes in the CRS objects. - rasterio>=1.1,<1.2.7 (>=1.1)
1.2.7 an higher are not accepted yet, also because of their changes in the CRS objects.
updated features:
- uncertainty_quantification: a complete rewriting of the module and its API. Now it can do uncertainty and sensitivity analysis for impact and cost benefit. All the data is stored in a data class with pandas dataframes attributes. Several plotting methods have been added. Saving and loading from hdf5 files has been added.
- impacts_funcs: added two easily modifiable generic impact functions (a step and a sigmoid function) which can be used for a broad range of hazards and resolutions.
- api_client: added convenience methods for creating CLIMADA objects from files accessible through the api,
get_hazard
,get_exposures
andget_litpop
,
and for collecting dataset information into data frames:into_datasets_df
,into_files_df
.
minor changes:
- litpop: fix of faulty shape handling for admin1 shapes with a hole (e.g. Brandenburg)
- litpop: remove parameter
reproject_first
(and functionality forreproject_first=False
in_get_litpop_single_polygon
) - litpop: minor improvements in readability and code efficiency, incl. better documentation
- litpop: method
LitPop().set_nightlights
is renamed toLitPop().set_nightlight_intensity
. - config: the
setup_logging
function was removed from the module, to change the logging level programmaticallyconfig.LOGGER.setLevel
can be used.
removed modules:
The following modules have been moved to CLIMADA-project/climada_petals:
climada,engine.supplychain
climada.entity.exposures.black_marble
climada.entity.exposures.crop_production
climada.entity.exposures.gdp_asset
climada.entity.exposures.open_street_map
climada.entity.exposures.spam_agrar
climada.entity.impact_funcs.drought
climada.entity.impact_funcs.relative_cropield
climada.entity.impact_funcs.river_flood
climada.hazard.drought
climada.hazard.emulator
climada.hazard.landslide
climada.hazard.low_flow
climada.hazard.relative_cropyield
climada.hazard.river_flood
climada.hazard.tc_rainfield
climada.hazard.tc_surge_bathtub
climada.hazard.tc_tracks_forecast
climada.hazard.wildfire
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid over 3 years ago
CLIMADA - v2.2.0
changed environment:
- pycountry (iso3166)
- peewee (new)
- deprecation (new)
- geopandas >=0.8 (>=0.6,<0.9)
new features:
- Select TC tracks from IBTrACS by genesis basin (
TCTracks.read_ibtracs_netcdf
). - Discard single-point TC tracks from IBTrACS (
TCTracks.read_ibtracs_netcdf
). - Initiate
CropProduction
exposures directly from netcdf files with yield and cultivated area data (CropProduction.set_from_area_and_yield_nc4
,CropProduction.set_from_spam_ray_mirca
(convenience wrapper)). - Init
LitPop
exposures for custom geographic shapes with methodsLitPop.set_custom_shape
andLitPop.set_custom_shape_from_countries
- Init population or nightlight exposures with convenience wrappers
LitPop.set_population
andLitPop.set_nightlights
- Universal country ISO code conversion function
country_to_iso
inclimada.util.coordinates
. - Reproject 2D np.ndarray to be aligned to a reference grid with
align_raster_data
inutil.coordinates
. - Mask array with given shapes with
mask_raster_with_geometry
inutil.coordinates
. - Tropical Cyclone random walk: Ability to use global,pre-calculated landfall decay parameters (
use_global_decay_params=True
incalc_perturbed_trajectories
, set as default). - Add second-order sensitivity index plot.
- Added methods hazard.concat (concatenate several hazard) and hazard.change_centroids (project the hazard onto new centroids).
- Added method centroids.union (create the union of centroids).
- Centroids is now initiated with a geometry attribute with a default CRS (climada.util.constants.DEF_CRS)
- Added module
climada.util.api_client
containing a basic wrapper around the data API on https://climada.ethz.ch
updated features:
- Impact Function Naming Pattern Changed
The naming pattern for impact functions is nowimpf_...
and notif_...
anymore. These changes affect large parts of the code, notebooks and data files.
Although we tried hard to keep backward compatibility, some user scripts and data files may need to be adapted.
When updating an existing CLIMADA installation, it's suggested to run the following commands in a shell/terminal:conda update -n climada_env –f requirements/env_climada.yml conda activate climada_env python -c 'import climada; climada.setup_climada_data(reload=True)'
litpop
module:- Code of
litpop
module has been completely revised and performance ofLitPop.set_*
methods improved, - Parameter
res_km
no longer supported inLitPop.set_*
methods, useres_arcsec
instead with1 km = ca. 30 arcsec
- climada.entity.exposures.litpop.litpop (climada.entity.exposures.litpop),
- climada.entity.exposures.litpop.nightlight (climada.entity.exposures.nightlight),
- climada.entity.exposures.litpop.gpw_population (climada.entity.exposures.gpw_import).
- Import calling sequences remain unchanged, e.g.
from climada.entity import litpop
.
- Code of
yearsets
module:- update of variable names
- a sampling vector (2D array) replaced the sampling dictionary
- the same event cannot occur more than once in the same year
- the user can specify lam (the number of years around which the Poisson distribution is centered)
- simplification of the function
compute_imp_per_year
(compute_annual_impacts) - simplification of wrapper functions (split into two wrapper functions depending on whether a
sampling_vect
needs to be generated or is provided)
centroids
module:- Method
centroids.append
changed behaviour: rasters are transformed to points before appending and raster information is lost.
- Method
minor changes:
- Plots improved
- Using
pycountry
package instead ofiso3166
for across modules. - Improved performance for
Impact.select
andTropCyclone.set_from_tracks
. - Fix TC rainfield computation for tracks that don't have 1-hour time steps.
- Cutting off TC tracks moving outside of [-70,+70] degrees latitude in synthetic tracks.
- Bug fixes to TC random walk (
calc_perturbed_trajectories
) related to landfall decay. - Improve plots in the uncertainty module.
geopandas
version 0.6 was abandanoned. It is now required to be 0.8 or higher. Direct assignment of thecrs
attribute in aGeoDataFrame
orExposures
object is not possible anymore. Insteadset_crs
must be used.Exposures
has a new methodset_gdf
that can be used to set theGeoDataFrame
and update thecrs
at once.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid almost 4 years ago
CLIMADA - v2.1.1
This release addresses several minor issues of the CLIMADA project while no actual source code has been changed:
- path to climada config file fixed in setup.py
- CLIMADA logo included
- tutorials included in documentation
- installation guide link fixed
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 4 years ago
CLIMADA - v2.1.0
v2.1.0
due date: 2021-04-01
description:
Contains recently developed modules and module updates.
changed environment:
- python == 3.8 (>=3.6)
- openpyxl >= 3.0 (new)
- pandas-datareader >= 0.9 (0.8)
- pathos >= 0.2 (new
- pyxlsb >= 1.0 (new)
- pyepsg >= 0.4 (new)
- SALib >= 1.3.0 (new)
new features
- Landslide: new hazard
- Storm_europe: new hazard including forecast functionality
- isimip_crop: bug fix and code clean up: Restructuring of the method plot_comparing_maps in relative_cropyield hazard as a function (solves issue #112). Minor changes to fix bugs and update of parameters in crop_production.py: new conversion factors from tons to kcal KCAL_PER_TON based on Mueller et al. (2021, https://doi.org/10.1088/1748-9326/abd8fc)
- Forecast: a new class to calculate and plot forecasted impacts, e.g. based on weather forecasts. Can inform preventive action or warning decisions.
- Uncertainty: module to conduct global uncertainty and sensitivity analysis on CLIMADA impact and cost-benefit outputs based on the SALib package.
- SupplyChain: module to conduct Input-Output modeling.
minor changes
- Utility:
- Addition of Logger level context manager
- New functions:
geo_scatter_categorical
,multibar_plot
,value_to_monetary_unit
,sig_dig
,mapping_point2grid
,mapping_grid2flattened
- Improvedfunctions:
latlon_bounds
(performance),read_raster_bounds
,points_to_raster
(handling of antimeridian),
- License harmonisation
- Error message to warn for change in the way items are accessed in Exposures() class.
- Developers Guide updated
- Main tutorials updated
- Add figsize argument to all plotting function
- Tropical cyclone hazard:
- Track input from IBTrACS: rescale wind speeds of different agencies to 1-minute sustained winds, better control over agency choice and handling of missing values
- Track input from other sources: CHAZ (Lee et al. 2018), STORM (Bloemendaal et al. 2020)
- Wind fields: improve overall performance, choose accuracy of distance metric for better performance or higher accuracy
- Calibration of default parameters for synthetic tracks generation
- Greatly improve performance of
Exposures.assign_centroids
function
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 4 years ago
CLIMADA - v2.0-beta
With this release the increasing difficulties to set up a valid conda environment should be addressed. It is expected that this release has issues and hoped that they can be identified and addressed soon.
changed environment:
- geopandas version up to 0.8 compatible
- conda-forge is first choice channel now, because there were several issues with the default channel
major changes:
- climada.entity.exposures.Exposures restructured, unshackled from GeoDataFrame inheritance, uses composition instead.
- The GeoDataFrame data is now a property of the Exposures object: exposure.gdf.
- The default crs, climada.util.constants.DEF_CRS is now 'EPSG:4326'. It used to be {'init': 'EPSG:4326'}.
- The changed default format is now correctly interpreted by the CRS.from_user_input method of both packages, rasterio and pyproj.
- The crs format {'init': '[source]:[id]'} is not generally accepted anymore. In certain cases the crs have to be redefined to be compatible with climada 2.x.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 4 years ago
CLIMADA -
Many external dependencies had to be updated or added, among others:
- numpy: 1.16 > 1.18
- pandas: 0.24 > 1.0
- gdal: 2.3 > 3.0
- matplotlib: 3.1 > 3.2
- rasterio: 1.0 > 1.1
- xarray: 0.12 > 0.13
- netcdf4: 1.4 >1.5
⚠️ If you are upgrading from a previous version, updating the conda environment will likely fail. Please create a new conda environment instead. See the docs on installing CLIMADA.
- module river_flood
- modules relative_cropyield and crop_potential, classes
RelativeCropyield
(Hazard) andCropProduction
(Exposure): assess climate impacts on agricultural crop yields (rice, maize, wheat, soy) based on global gridded crop model runs from the Inter-Sectoral Impact Model Intercomparison Project (ISIMIP), e.g. ISIMIP2b, combined with crop statistics from FAOSTAT. - module low_flow, class
LowFlow
(hazard): assess climate change impacts on surface water discharge (river low flow) based on hydrological model runs from ISIMIP. - module climada.engine.impact_data: Functions to read reported impact data from The International Disaster Database EM-DAT and load into a CLIMADA Impact instance.
- class climada.entity.impact_funcs.trop_cyclone.IFSTropCyclone: regionally calibrated impact function set for TC wind (based on Eberenz et al., in review; c.f. climada_papers)
- module trop_cyclone :use statistical estimate as a fallback only if radius information is missing from the reported data
- module util.constants :add NATEARTH_CENTROIDS_150AS and NATEARTH_CENTROIDS_360AS datasets
- module util.coordinates : method get_country_code has mapping of disputed areas to values above 900
- module util.coordinates : new method
get_isimip_gridpoints()
- class hazard.tc_tracks.TCTracks: new fields
bounds
andextent
, new methodsubset
- class hazard.centroids.Centroids: new method
from_geodataframe()
, new optional parameterextent
inselect()
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid over 4 years ago
CLIMADA -
Many external dependencies had to be updated or added, among others:
- numpy: 1.16 > 1.19
- pandas: 0.24 > 1.0
- gdal: 2.3 > 3.0
- matplotlib: 3.1 > 3.2
- rasterio: 1.0 > 1.1
- xarray: 0.12 > 0.13
- netcdf4: 1.4 >1.5
⚠️ If you are upgrading from a previous version, updating the conda environment will likely fail. Please create a new conda environment instead. See the docs on installing CLIMADA.
- module river_flood
- modules relative_cropyield and crop_potential, classes
RelativeCropyield
(Hazard) andCropProduction
(Exposure): assess climate impacts on agricultural crop yields (rice, maize, wheat, soy) based on global gridded crop model runs from the Inter-Sectoral Impact Model Intercomparison Project (ISIMIP), e.g. ISIMIP2b, combined with crop statistics from FAOSTAT. - module low_flow, class
LowFlow
(hazard): assess climate change impacts on surface water discharge (river low flow) based on hydrological model runs from ISIMIP. - module climada.engine.impact_data: Functions to read reported impact data from The International Disaster Database EM-DAT and load into a CLIMADA Impact instance.
- class climada.entity.impact_funcs.trop_cyclone.IFSTropCyclone: regionally calibrated impact function set for TC wind (based on Eberenz et al., in review; c.f. climada_papers)
- module trop_cyclone :use statistical estimate as a fallback only if radius information is missing from the reported data
- module util.constants :add NATEARTH_CENTROIDS_150AS and NATEARTH_CENTROIDS_360AS datasets
- module util.coordinates : method get_country_code has mapping of disputed areas to values above 900
- module util.coordinates : new method
get_isimip_gridpoints()
- class hazard.tc_tracks.TCTracks: new fields
bounds
andextent
, new methodsubset
- class hazard.centroids.Centroids: new method
from_geodataframe()
, new optional parameterextent
inselect()
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid over 4 years ago
CLIMADA - lecture 2020
This version mainly fixes a bug in the readthedocs configuration which produced truncated source documentation.
Apart from that there are only minor changes.
- climada.plot.geo_im_from_array handles NAN in intensity data
- the build status of the README page points to the now appropriate Jenkins pipeline.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid almost 5 years ago
CLIMADA - lecture 2020
- storm_europe: new module
Provides models to calculate economic damages of European winter windstorms/extratropical cyclones. - util.finance.gdp: new feature
GDP data for the country TWN (Republic of China / Taiwan) is not provided by World Bank API usually called in climada.util.finance.gdp.
As a workaround, a new feature is provided to call util.finance.gdp(’TWN’) returning GDP data from another data source (International Monetary Fund, IMF).
The IMF data is not accessed via an API but from a static CSV-file available in the repository at data.system.GDP_TWN_IMF_WEO_data.csv.
The file contains current GDP data from 1980 to 2024 (GDP data are estimates/ projections after 2018).
Data Source:
https://www.imf.org/external/pubs/ft/weo/2019/02/weodata/index.aspx
More specifically:
https://www.imf.org/external/pubs/ft/weo/2019/02/weodata/weorept.aspx?sy=1980&ey=2024&scsm=1&ssd=1&sic=1&sort=country&ds=.&br=1&pr1.x=42&pr1.y=10&c=528&s=NGDPD%2CNGDP_D%2CNGDPDPC&grp=0&a=
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 5 years ago
CLIMADA - lecture 2020
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by emanuel-schmid about 5 years ago
CLIMADA - correction for Windows
- remove import elevation module not available for Windows
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar over 5 years ago
CLIMADA - new tropical cyclone features
- TCSurge for tropical cyclone surge approximation implemented.
- Climate change impacts on wind intensity and frequency in tropcical cyclones implemented.
- Combination of measures in cost benefit analysis implemented.
- Version used for cost benefit analysis explanatory paper.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar over 5 years ago
CLIMADA - raster handlers
- new Centroids class which supports raster and point data.
- Exposures can be set from raster data and can handle raster centroids.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar almost 6 years ago
CLIMADA - documentation structure
- documentation: add contributors, data , configuration and introduction sections. update installation and tutorials section.
- tutorials: moved from script folder to doc folder
- LitPop: include new population data version v4.11
- unit tests: update according to update World Bank
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar about 6 years ago
CLIMADA - lecture 2019
- release to be used in the lecture of 2019.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar about 6 years ago
CLIMADA - measures set and impact functions set consistent
- MeasureSet structure similar to ImpactSet: measures can have same name, but different hazard type.
- MeasureSet: Rename add_measure to append and append to extend
- ImpactSet: Rename add_func to append and append to extend
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar about 6 years ago
CLIMADA - cost-benefit plots
- improvements in documentation
- correct plots in cost_benefit
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar about 6 years ago
CLIMADA - add Impact Excel writer and reader
version used for idmc calculations.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar about 6 years ago
CLIMADA - cost-benefit
Adaptation measures appraisal added.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar over 6 years ago
CLIMADA - CLIMADA - a global weather and climate risk assessment platform
-First stable version to compute risk assessment metrics.
-Provides models to compute tropical cyclone economic damages (TropCyclone and BlackMarble classes)
-Version used in paper: CLIMADA - a global weather and climate risk assessment platform, Aznar-Siguan, G. and Bresch, D. N..
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar over 6 years ago
CLIMADA - improved BlackMarble performance
-improve performance on black marble provinces computation.
-first draft on cost benefit computations (this is not ready to use yet).
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar over 6 years ago
CLIMADA - Risk assessment for Tropical Cyclones with Black Marble
Tropical cyclones' tc_tracks and trop_cyclone modules have been optimised for faster execution.
Black Marble economical exposures methodology implemented.
Climate Change - Natural Hazard and Storm
- Jupyter Notebook
Published by gabrielaznar over 6 years ago