Closed emanuel-schmid closed 2 months ago
I dug into this a bit and ran the tests on my machine from the latest develop
with two different environments.
rasterio
or fiona
?climada/test/test_api_client.py::TestClient::test_purge_cache
is by far the slowest test (30sec) and should be improvedFirst, I built a fresh environment from the current dependency set.
(climada_test) ➜ climada_python git:(develop) ✗ mamba env export
name: climada_test
channels:
- conda-forge
- defaults
dependencies:
- affine=2.4.0=pyhd8ed1ab_0
- attrs=23.1.0=pyh71513ae_1
- aws-c-auth=0.6.28=h826ccd7_5
- aws-c-cal=0.5.27=h92f41cd_0
- aws-c-common=0.8.20=hb547adb_0
- aws-c-compression=0.2.17=h28992cd_0
- aws-c-event-stream=0.3.0=h7f691c3_6
- aws-c-http=0.7.8=he2e4218_4
- aws-c-io=0.13.26=h379bc4c_0
- aws-c-mqtt=0.8.13=hdb3a981_2
- aws-c-s3=0.3.4=h02343f9_5
- aws-c-sdkutils=0.1.10=h28992cd_0
- aws-checksums=0.1.16=h28992cd_0
- aws-crt-cpp=0.20.2=h37dd33e_9
- aws-sdk-cpp=1.10.57=h9b90b14_14
- blosc=1.21.4=hc338f07_0
- bokeh=3.1.1=pyhd8ed1ab_0
- boost-cpp=1.78.0=hf1d6563_2
- bottleneck=1.3.7=py39h4d8bf0d_0
- branca=0.6.0=pyhd8ed1ab_0
- brotli=1.0.9=h1a8c8d9_8
- brotli-bin=1.0.9=h1a8c8d9_8
- bzip2=1.0.8=h3422bc3_4
- c-ares=1.19.1=hb547adb_0
- ca-certificates=2023.5.7=hf0a4a13_0
- cached-property=1.5.2=hd8ed1ab_1
- cached_property=1.5.2=pyha770c72_1
- cairo=1.16.0=h73a0509_1014
- cartopy=0.21.1=py39hda17d7f_0
- certifi=2023.5.7=pyhd8ed1ab_0
- cffi=1.15.1=py39h7e6b969_3
- cfgrib=0.9.9.1=pyhd8ed1ab_2
- cfitsio=4.2.0=h2f961c4_0
- cftime=1.6.2=py39h4d8bf0d_1
- charset-normalizer=3.1.0=pyhd8ed1ab_0
- click=8.1.3=unix_pyhd8ed1ab_2
- click-plugins=1.1.1=py_0
- cligj=0.7.2=pyhd8ed1ab_1
- cloudpickle=2.2.1=pyhd8ed1ab_0
- colorama=0.4.6=pyhd8ed1ab_0
- contextily=1.3.0=pyhd8ed1ab_0
- contourpy=1.1.0=py39hbd775c9_0
- curl=8.1.2=h912dcd9_0
- cycler=0.11.0=pyhd8ed1ab_0
- cytoolz=0.12.0=py39h02fc5c5_1
- dask=2023.6.0=pyhd8ed1ab_0
- dask-core=2023.6.0=pyhd8ed1ab_0
- dill=0.3.6=pyhd8ed1ab_1
- distributed=2023.6.0=pyhd8ed1ab_0
- eccodes=2.27.1=hcbf30ee_0
- et_xmlfile=1.1.0=pyhd8ed1ab_0
- expat=2.5.0=hb7217d7_1
- findlibs=0.0.5=pyhd8ed1ab_0
- fiona=1.9.1=py39h9e5269e_0
- folium=0.14.0=pyhd8ed1ab_0
- font-ttf-dejavu-sans-mono=2.37=hab24e00_0
- font-ttf-inconsolata=3.000=h77eed37_0
- font-ttf-source-code-pro=2.038=h77eed37_0
- font-ttf-ubuntu=0.83=hab24e00_0
- fontconfig=2.14.2=h82840c6_0
- fonts-conda-ecosystem=1=0
- fonts-conda-forge=1=0
- fonttools=4.40.0=py39h0f82c59_0
- freetype=2.12.1=hd633e50_1
- freexl=1.0.6=h1a8c8d9_1
- fsspec=2023.6.0=pyh1a96a4e_0
- gdal=3.6.2=py39h766d3fc_6
- geographiclib=1.52=pyhd8ed1ab_0
- geopandas=0.13.2=pyhd8ed1ab_1
- geopandas-base=0.13.2=pyha770c72_1
- geopy=2.3.0=pyhd8ed1ab_0
- geos=3.11.1=hb7217d7_0
- geotiff=1.7.1=hdcdc974_6
- gettext=0.21.1=h0186832_0
- gflags=2.2.2=hc88da5d_1004
- giflib=5.2.1=h1a8c8d9_3
- glog=0.6.0=h6da1cb0_0
- h5py=3.8.0=nompi_py39hc9149d8_100
- haversine=2.8.0=pyhd8ed1ab_0
- hdf4=4.2.15=h1a38d6a_5
- hdf5=1.12.2=nompi_ha7af310_101
- icu=70.1=h6b3803e_0
- idna=3.4=pyhd8ed1ab_0
- importlib-metadata=6.7.0=pyha770c72_0
- importlib-resources=5.12.0=pyhd8ed1ab_0
- importlib_metadata=6.7.0=hd8ed1ab_0
- importlib_resources=5.12.0=pyhd8ed1ab_0
- jasper=2.0.33=hc3cd1e9_1
- jinja2=3.1.2=pyhd8ed1ab_1
- joblib=1.2.0=pyhd8ed1ab_0
- jpeg=9e=h1a8c8d9_3
- json-c=0.16=hc449e50_0
- kealib=1.5.0=hfd766a6_0
- kiwisolver=1.4.4=py39haaf3ac1_1
- krb5=1.20.1=h69eda48_0
- lcms2=2.15=h481adae_0
- lerc=4.0.0=h9a09cb3_0
- libabseil=20230125.2=cxx17_h13dd4ca_2
- libaec=1.0.6=hb7217d7_1
- libarrow=12.0.0=hbfb5349_8_cpu
- libblas=3.9.0=17_osxarm64_openblas
- libbrotlicommon=1.0.9=h1a8c8d9_8
- libbrotlidec=1.0.9=h1a8c8d9_8
- libbrotlienc=1.0.9=h1a8c8d9_8
- libcblas=3.9.0=17_osxarm64_openblas
- libcrc32c=1.1.2=hbdafb3b_0
- libcurl=8.1.2=h912dcd9_0
- libcxx=16.0.6=h4653b0c_0
- libdeflate=1.17=h1a8c8d9_0
- libedit=3.1.20191231=hc8eb9b7_2
- libev=4.33=h642e427_1
- libevent=2.1.12=h2757513_1
- libexpat=2.5.0=hb7217d7_1
- libffi=3.4.2=h3422bc3_5
- libgdal=3.6.2=h90a2855_6
- libgfortran=5.0.0=12_2_0_hd922786_31
- libgfortran5=12.2.0=h0eea778_31
- libglib=2.76.3=h24e9cb9_0
- libgoogle-cloud=2.11.0=h5263b79_1
- libgrpc=1.55.1=hc384137_1
- libiconv=1.17=he4db4b2_0
- libkml=1.3.0=h41464e4_1015
- liblapack=3.9.0=17_osxarm64_openblas
- libllvm14=14.0.6=hd1a9a77_3
- libnetcdf=4.8.1=nompi_h2510be2_106
- libnghttp2=1.52.0=hae82a92_0
- libopenblas=0.3.23=openmp_hc731615_0
- libpng=1.6.39=h76d750c_0
- libpq=15.2=h1a28acd_0
- libprotobuf=4.23.2=hf32f9b9_5
- librttopo=1.1.0=h844f84d_12
- libspatialindex=1.9.3=hbdafb3b_4
- libspatialite=5.0.1=h14115fc_23
- libsqlite=3.42.0=hb31c410_0
- libssh2=1.11.0=h7a5bd25_0
- libthrift=0.18.1=ha061701_2
- libtiff=4.5.0=h5dffbdd_2
- libutf8proc=2.8.0=h1a8c8d9_0
- libwebp-base=1.3.0=h1a8c8d9_0
- libxcb=1.13=h9b22ae9_1004
- libxml2=2.10.3=h67585b2_4
- libxslt=1.1.37=h1bd8bc4_0
- libzip=1.9.2=h76ab92c_1
- libzlib=1.2.13=h53f4e23_5
- llvm-openmp=16.0.6=h1c12783_0
- llvmlite=0.40.0=py39hbad4f83_0
- locket=1.0.0=pyhd8ed1ab_0
- lxml=4.9.2=py39h0520ce3_0
- lz4=4.3.2=py39hb35ce34_0
- lz4-c=1.9.4=hb7217d7_0
- mapclassify=2.5.0=pyhd8ed1ab_1
- markupsafe=2.1.3=py39h0f82c59_0
- matplotlib=3.7.1=py39hdf13c20_0
- matplotlib-base=3.7.1=py39h35e9e80_0
- mercantile=1.2.1=pyhd8ed1ab_0
- msgpack-python=1.0.5=py39haaf3ac1_0
- multiprocess=0.70.14=py39h02fc5c5_3
- munch=3.0.0=pyhd8ed1ab_0
- munkres=1.1.4=pyh9f0ad1d_0
- ncurses=6.4=h7ea286d_0
- netcdf4=1.6.2=nompi_py39h8ded8ba_100
- networkx=3.1=pyhd8ed1ab_0
- nspr=4.35=hb7217d7_0
- nss=3.89=h789eff7_0
- numba=0.57.0=py39he8ed757_2
- numexpr=2.8.4=py39hd28f0be_0
- numpy=1.24.3=py39h485cf63_0
- openjpeg=2.5.0=hbc2ba62_2
- openpyxl=3.1.2=py39h0f82c59_0
- openssl=3.1.1=h53f4e23_1
- orc=1.8.4=h13b7ede_0
- packaging=23.1=pyhd8ed1ab_0
- pandas=1.5.3=py39hde7b980_1
- pandas-datareader=0.10.0=pyh6c4a22f_0
- partd=1.4.0=pyhd8ed1ab_0
- pathos=0.3.0=pyhd8ed1ab_0
- patsy=0.5.3=pyhd8ed1ab_0
- pcre2=10.40=hb34f9b4_0
- pillow=9.4.0=py39h8bd98a6_1
- pint=0.22=pyhd8ed1ab_1
- pip=23.1.2=pyhd8ed1ab_0
- pixman=0.40.0=h27ca646_0
- platformdirs=3.8.0=pyhd8ed1ab_0
- pooch=1.7.0=pyha770c72_3
- poppler=23.01.0=h9564b9f_0
- poppler-data=0.4.12=hd8ed1ab_0
- postgresql=15.2=h45c140d_0
- pox=0.3.2=pyhd8ed1ab_0
- ppft=1.7.6.6=pyhd8ed1ab_0
- proj=9.1.1=h13f728c_2
- psutil=5.9.5=py39h02fc5c5_0
- pthread-stubs=0.4=h27ca646_1001
- pyarrow=12.0.0=py39hf40061a_8_cpu
- pycountry=22.3.5=pyhd8ed1ab_0
- pycparser=2.21=pyhd8ed1ab_0
- pyepsg=0.4.0=py_0
- pyparsing=3.1.0=pyhd8ed1ab_0
- pyproj=3.5.0=py39hd68364f_0
- pyshp=2.3.1=pyhd8ed1ab_0
- pysocks=1.7.1=pyha2e5f31_6
- pytables=3.7.0=py39h8abd629_3
- python=3.9.16=hea58f1e_0_cpython
- python-dateutil=2.8.2=pyhd8ed1ab_0
- python-eccodes=1.5.1=py39h4d8bf0d_0
- python_abi=3.9=3_cp39
- pytz=2023.3=pyhd8ed1ab_0
- pyxlsb=1.0.10=pyhd8ed1ab_0
- pyyaml=6.0=py39h02fc5c5_5
- rasterio=1.3.6=py39h157378c_0
- re2=2023.03.02=hc5e2d97_0
- readline=8.2=h92ec313_1
- requests=2.31.0=pyhd8ed1ab_0
- rtree=1.0.1=py39hb28b0e7_1
- salib=1.4.7=pyhd8ed1ab_0
- scikit-learn=1.2.2=py39hd5c4a62_2
- scipy=1.11.0=py39ha6b2cbd_0
- setuptools=68.0.0=pyhd8ed1ab_0
- shapely=2.0.1=py39h472ea82_0
- six=1.16.0=pyh6c4a22f_0
- snappy=1.1.10=h17c5cce_0
- snuggs=1.4.7=py_0
- sortedcontainers=2.4.0=pyhd8ed1ab_0
- sparse=0.14.0=pyhd8ed1ab_0
- sqlite=3.42.0=h203b68d_0
- statsmodels=0.14.0=py39h8a366b7_1
- tabulate=0.9.0=pyhd8ed1ab_1
- tblib=1.7.0=pyhd8ed1ab_0
- threadpoolctl=3.1.0=pyh8a188c0_0
- tiledb=2.13.2=h9bd36d0_0
- tk=8.6.12=he1e0b03_0
- toolz=0.12.0=pyhd8ed1ab_0
- tornado=6.3.2=py39h0f82c59_0
- tqdm=4.65.0=pyhd8ed1ab_1
- typing-extensions=4.6.3=hd8ed1ab_0
- typing_extensions=4.6.3=pyha770c72_0
- tzcode=2023c=h1a8c8d9_0
- tzdata=2023c=h71feb2d_0
- unicodedata2=15.0.0=py39h02fc5c5_0
- unittest-xml-reporting=3.2.0=pyhd8ed1ab_0
- urllib3=2.0.3=pyhd8ed1ab_0
- wheel=0.40.0=pyhd8ed1ab_0
- xarray=2023.5.0=pyhd8ed1ab_0
- xerces-c=3.2.4=h627aa08_1
- xlrd=2.0.1=pyhd8ed1ab_3
- xlsxwriter=3.1.2=pyhd8ed1ab_0
- xorg-libxau=1.0.11=hb547adb_0
- xorg-libxdmcp=1.1.3=h27ca646_0
- xyzservices=2023.5.0=pyhd8ed1ab_1
- xz=5.2.6=h57fd34a_0
- yaml=0.2.5=h3422bc3_2
- zict=3.0.0=pyhd8ed1ab_0
- zipp=3.15.0=pyhd8ed1ab_0
- zlib=1.2.13=h53f4e23_5
- zstd=1.5.2=hf913c23_6
- pip:
- appnope==0.1.3
- astroid==2.5
- asttokens==2.2.1
- backcall==0.2.0
- coverage==7.2.7
- decorator==5.1.1
- deprecation==2.1.0
- exceptiongroup==1.1.1
- executing==1.2.0
- iniconfig==2.0.0
- ipython==8.14.0
- isort==5.12.0
- jedi==0.18.2
- lazy-object-proxy==1.9.0
- matplotlib-inline==0.1.6
- mccabe==0.6.1
- overpy==0.6
- parso==0.8.3
- peewee==3.16.2
- pexpect==4.8.0
- pickleshare==0.7.5
- pluggy==1.2.0
- prompt-toolkit==3.0.38
- ptyprocess==0.7.0
- pure-eval==0.2.2
- pygments==2.15.1
- pylint==2.7.1
- pytest==7.4.0
- pytest-cov==4.1.0
- pytest-subtests==0.11.0
- stack-data==0.6.2
- toml==0.10.2
- tomli==2.0.1
- traitlets==5.9.0
- wcwidth==0.2.6
- wrapt==1.12.1
- xmlrunner==1.7.7
prefix: /Users/ldr.riedel/mambaforge/envs/climada_test
Then I executed pytest
for all tests and displayed the durations:
(climada_test) ➜ climada_python git:(develop) ✗ pytest --durations=0 --durations-min=1 climada/
================================================== test session starts ==================================================
platform darwin -- Python 3.9.16, pytest-7.4.0, pluggy-1.2.0
rootdir: /Users/ldr.riedel/coding/climada_python
plugins: subtests-0.11.0, cov-4.1.0
collected 725 items
climada/engine/test/test_cost_benefit.py ...................... [ 3%]
climada/engine/test/test_forecast.py ... [ 3%]
climada/engine/test/test_impact.py ........................................ [ 8%]
climada/engine/test/test_impact_calc.py ............................ [ 12%]
climada/engine/test/test_impact_data.py ........... [ 14%]
climada/engine/unsequa/test/test_unsequa.py ................ [ 16%]
climada/entity/disc_rates/test/test_base.py ............. [ 18%]
climada/entity/exposures/test/test_base.py .......................... [ 21%]
climada/entity/exposures/test/test_litpop.py ...................... [ 24%]
climada/entity/exposures/test/test_mat.py ......... [ 26%]
climada/entity/exposures/test/test_nightlight.py ..... [ 26%]
climada/entity/impact_funcs/test/test_base.py ... [ 27%]
climada/entity/impact_funcs/test/test_imp_fun_set.py ....................... [ 30%]
climada/entity/impact_funcs/test/test_tc.py ........ [ 31%]
climada/entity/impact_funcs/test/test_ws.py . [ 31%]
climada/entity/measures/test/test_base.py ........... [ 33%]
climada/entity/measures/test/test_meas_set.py ..................... [ 36%]
climada/entity/test/test_entity.py ...... [ 36%]
climada/entity/test/test_tag.py ... [ 37%]
climada/hazard/centroids/test/test_centr.py ........ [ 38%]
climada/hazard/centroids/test/test_vec_ras.py .................................... [ 43%]
climada/hazard/test/test_base.py ........................................................ [ 51%]
climada/hazard/test/test_base_xarray.py ............... [ 53%]
climada/hazard/test/test_storm_europe.py ....... [ 54%]
climada/hazard/test/test_tag.py ........ [ 55%]
climada/hazard/test/test_tc_cc.py .. [ 55%]
climada/hazard/test/test_tc_tracks.py ........................................ [ 61%]
climada/hazard/test/test_tc_tracks_synth.py .................. [ 63%]
climada/hazard/test/test_trop_cyclone.py ................ [ 65%]
climada/test/test_api_client.py ................ [ 68%]
climada/test/test_calibration.py . [ 68%]
climada/test/test_engine.py ..... [ 68%]
climada/test/test_hazard.py ........... [ 70%]
climada/test/test_litpop_integr.py .................. [ 72%]
climada/test/test_multi_processing.py . [ 72%]
climada/test/test_nightlight.py ...... [ 73%]
climada/test/test_plot.py ........... [ 75%]
climada/test/test_util.py . [ 75%]
climada/util/test/test__init__.py . [ 75%]
climada/util/test/test_checker.py .... [ 76%]
climada/util/test/test_config.py ... [ 76%]
climada/util/test/test_coordinates.py ........................................................................... [ 86%]
.. [ 87%]
climada/util/test/test_dates_times.py ..... [ 87%]
climada/util/test/test_dwd_icon.py ..... [ 88%]
climada/util/test/test_files.py ............ [ 90%]
climada/util/test/test_finance.py ............... [ 92%]
climada/util/test/test_hdf5.py ...... [ 93%]
climada/util/test/test_lines_polys_handler.py ......................... [ 96%]
climada/util/test/test_plot.py ....... [ 97%]
climada/util/test/test_save.py .. [ 97%]
climada/util/test/test_select.py . [ 97%]
climada/util/test/test_value_representation.py ......... [ 99%]
climada/util/test/test_yearsets.py ...... [100%]
=================================================== slowest durations ===================================================
32.03s call climada/test/test_api_client.py::TestClient::test_purge_cache
17.45s call climada/test/test_litpop_integr.py::TestAdmin1::test_calc_admin1
16.08s call climada/test/test_litpop_integr.py::TestAdmin1::test_from_countries_calc_admin1_pass
15.04s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_switzerland300_admin1_pc2016_pass
13.68s call climada/test/test_calibration.py::TestCalib::test_calib_instance
12.36s call climada/test/test_plot.py::TestPlotter::test_cost_benefit
11.90s call climada/util/test/test_plot.py::TestPlots::test_geo_scatter_categorical
11.26s call climada/test/test_api_client.py::TestClient::test_download_file
10.44s call climada/test/test_litpop_integr.py::TestAdmin1::test_brandenburg
10.09s call climada/test/test_nightlight.py::TestNightlight::test_download_nl_files
10.09s call climada/test/test_plot.py::TestPlotter::test_ctx_osm_pass
9.77s call climada/test/test_nightlight.py::TestNightlight::test_read_bm_files
7.11s call climada/test/test_api_client.py::TestClient::test_get_hazard_fails
6.98s call climada/hazard/test/test_tc_tracks.py::TestFuncs::test_track_land_params
6.71s call climada/test/test_nightlight.py::TestNightlight::test_unzip_tif_to_py
6.20s call climada/test/test_plot.py::TestPlotter::test_exposures_value_pass
6.19s call climada/util/test/test_coordinates.py::TestGetGeodata::test_get_admin1_geometries_fail
6.18s call climada/util/test/test_coordinates.py::TestGetGeodata::test_get_admin1_info_pass
5.92s call climada/util/test/test_coordinates.py::TestGetGeodata::test_get_admin1_geometries_pass
5.72s call climada/entity/exposures/test/test_litpop.py::TestLitPop::test_grp_read_pass
5.17s call climada/test/test_plot.py::TestPlotter::test_hazard_intensity_pass
5.16s call climada/test/test_hazard.py::TestStormEurope::test_from_footprints
5.06s call climada/engine/test/test_forecast.py::TestPlot::test_Forecast_plot
4.98s call climada/test/test_hazard.py::TestTcTracks::test_ibtracs_with_basin
4.47s call climada/util/test/test_coordinates.py::TestGetGeodata::test_get_land_geometry_country_pass
4.28s call climada/test/test_engine.py::TestEmdatProcessing::test_emdat_damage_yearlysum
3.99s call climada/util/test/test_coordinates.py::TestGetGeodata::test_on_land_pass
3.89s call climada/util/test/test_coordinates.py::TestGetGeodata::test_country_code_pass
3.76s call climada/hazard/test/test_storm_europe.py::TestReader::test_generate_prob_storms
3.49s call climada/test/test_engine.py::TestEmdatToImpact::test_emdat_to_impact_scale
3.40s call climada/entity/exposures/test/test_base.py::TestFuncs::test_assign_large_hazard_subset_pass
3.37s call climada/test/test_hazard.py::TestCentroids::test_read_raster_pool_pass
3.34s call climada/test/test_engine.py::TestGDPScaling::test_scale_impact2refyear
3.33s call climada/hazard/test/test_tc_tracks_synth.py::TestSynth::test_random_walk_decay_pass
3.28s call climada/test/test_hazard.py::TestTcTracks::test_cutoff_tracks
3.27s call climada/test/test_hazard.py::TestCentroids::test_read_write_raster_pass
3.24s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_BLM150_pass
3.24s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_netherlands150_pass
3.22s call climada/test/test_hazard.py::TestBase::test_reproject_raster_pass
3.20s call climada/test/test_hazard.py::TestBase::test_raster_to_vector_pass
3.09s call climada/util/test/test_coordinates.py::TestGetGeodata::test_get_country_geometries_fail
3.08s call climada/entity/exposures/test/test_base.py::TestAddSea::test_add_sea_pass
3.00s call climada/engine/test/test_impact.py::TestImpactReg::test_admin0
2.99s call climada/hazard/centroids/test/test_vec_ras.py::TestVector::test_on_land
2.91s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_from_shape_and_countries_zurich_pass
2.83s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_switzerland300_pass
2.80s call climada/util/test/test_coordinates.py::TestGetGeodata::test_get_country_geometries_country_norway_pass
2.62s call climada/test/test_hazard.py::TestBase::test_write_read_pass
2.54s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_suriname30_nfw_pass
2.43s call climada/util/test/test_plot.py::TestPlots::test_geo_im_from_array
2.37s call climada/test/test_plot.py::TestPlotter::test_hazard_centroids
2.32s call climada/util/test/test_coordinates.py::TestRasterIO::test_transform_raster_pass
2.28s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_from_nightlight_intensity
2.24s call climada/test/test_hazard.py::TestStormEurope::test_icon_read
2.22s call climada/test/test_engine.py::TestCalcCostBenefit::test_calc_uncertainty_pass
2.18s call climada/test/test_util.py::TestGeomImpactCalcs::test_calc_geom_impact_polys
2.17s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_Monaco150_pass
2.16s call climada/test/test_plot.py::TestPlotter::test_hazard_fraction_pass
2.16s call climada/test/test_plot.py::TestPlotter::test_hazard_rp_intensity
2.13s call climada/hazard/test/test_tc_tracks.py::TestFuncs::test_dist_since_lf_pass
2.13s call climada/hazard/test/test_tc_tracks_synth.py::TestSynth::test_random_walk_single_point
1.95s call climada/engine/test/test_impact_data.py::TestEmdatProcessing::test_emdat_impact_event_2018
1.92s call climada/engine/test/test_forecast.py::TestCalc::test_Forecast_calc_properties
1.91s call climada/test/test_api_client.py::TestClient::test_get_hazard
1.89s call climada/hazard/test/test_tc_tracks_synth.py::TestDecay::test_wrong_decay_pass
1.88s call climada/util/test/test_coordinates.py::TestRasterIO::test_crs_and_geometry_raster_pass
1.88s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_from_population
1.87s call climada/hazard/test/test_storm_europe.py::TestReader::test_set_ssi
1.86s call climada/util/test/test_coordinates.py::TestGetGeodata::test_all_points_on_sea
1.84s call climada/entity/exposures/test/test_litpop.py::TestLitPop::test_get_total_value_per_country_gdp
1.83s call climada/test/test_plot.py::TestPlotter::test_plot_unc_cb
1.80s call climada/util/test/test_coordinates.py::TestGetGeodata::test_dist_to_coast
1.79s call climada/hazard/test/test_storm_europe.py::TestReader::test_centroids_from_nc
1.76s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_switzerland30normPop_pass
1.72s call climada/util/test/test_coordinates.py::TestGetGeodata::test_get_country_geometries_extent_pass
1.71s call climada/hazard/test/test_tc_tracks_synth.py::TestDecay::test_apply_decay_pass
1.70s call climada/test/test_multi_processing.py::TestCoordinates::test_set_df_geometry_points_scheduled_pass
1.69s call climada/hazard/test/test_tc_tracks_synth.py::TestDecay::test_calc_land_decay_pass
1.67s call climada/hazard/test/test_storm_europe.py::TestReader::test_read_with_ref
1.67s call climada/hazard/test/test_tc_tracks_synth.py::TestSynth::test_random_no_landfall_pass
1.66s call climada/hazard/test/test_tc_tracks_synth.py::TestDecay::test_decay_values_andrew_pass
1.64s call climada/engine/unsequa/test/test_unsequa.py::TestOutput::test_plot_unc_imp
1.64s call climada/hazard/test/test_tc_tracks_synth.py::TestDecay::test_decay_penv_gt_pcen
1.64s call climada/hazard/test/test_tc_tracks_synth.py::TestDecay::test_decay_end_ocean
1.64s call climada/hazard/centroids/test/test_vec_ras.py::TestVector::test_region_id_pass
1.63s call climada/engine/test/test_impact_data.py::TestEmdatProcessing::test_emdat_impact_event_2020
1.63s call climada/hazard/test/test_tc_tracks_synth.py::TestDecay::test_calc_decay_no_landfall_pass
1.62s call climada/engine/test/test_forecast.py::TestCalc::test_Forecast_init_raise
1.60s call climada/hazard/test/test_storm_europe.py::TestReader::test_cosmoe_read
1.60s call climada/hazard/test/test_tc_tracks.py::TestIbtracs::test_ibtracs_range
1.60s call climada/hazard/centroids/test/test_vec_ras.py::TestRaster::test_on_land
1.60s call climada/hazard/test/test_storm_europe.py::TestReader::test_generate_forecast
1.59s call climada/util/test/test_coordinates.py::TestRasterIO::test_crs_raster_pass
1.57s call climada/hazard/centroids/test/test_centr.py::TestCentroidsMethods::test_union
1.55s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_Liechtenstein_30_pop_pass
1.54s call climada/hazard/centroids/test/test_vec_ras.py::TestRaster::test_region_id_pass
1.53s call climada/hazard/test/test_tc_tracks_synth.py::TestDecay::test_apply_decay_no_landfall_pass
1.53s call climada/hazard/test/test_tc_tracks.py::TestIbtracs::test_ibtracs_interpolate_missing
1.46s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_Liechtenstein_15_lit_pass
1.46s call climada/hazard/test/test_tc_tracks.py::TestIbtracs::test_ibtracs_scale_wind
1.42s call climada/util/test/test_coordinates.py::TestGetGeodata::test_get_land_geometry_extent_pass
1.37s call climada/util/test/test_plot.py::TestPlots::test_geo_scatter_from_array
1.27s call climada/hazard/test/test_tc_tracks.py::TestIO::test_hdf5_io
1.26s call climada/util/test/test_plot.py::TestPlots::test_geo_bin_from_array
1.18s call climada/test/test_engine.py::TestCalcCostBenefit::test_calc_sensitivity_pass
1.07s call climada/util/test/test_finance.py::TestWBWealthAccount::test_tow_IND_1985_pass
1.04s call climada/hazard/test/test_tc_tracks.py::TestIbtracs::test_ibtracs_with_provider
1.02s call climada/entity/exposures/test/test_litpop.py::TestLitPop::test_get_total_value_per_country_pc
1.01s call climada/hazard/test/test_tc_tracks.py::TestIbtracs::test_ibtracs_additional_variables
(2066 durations < 1s hidden. Use -vv to show these durations.)
==================================== 725 passed, 2019 warnings in 478.03s (0:07:58) =====================================
To re-create the old environment, I dialed back cartopy
and matplotlib
(the latter because of an incompatibility that is not tracked by conda):
mamba install -n climada_test cartopy=0.20 matplotlib=3.5
Changeset between environments:
Package Version Build Channel Size
────────────────────────────────────────────────────────────────────────────────
Install:
────────────────────────────────────────────────────────────────────────────────
+ libdap4 3.20.6 h8510809_2 conda-forge/osx-arm64 Cached
+ pcre 8.45 hbdafb3b_0 conda-forge/osx-arm64 Cached
Change:
────────────────────────────────────────────────────────────────────────────────
- geotiff 1.7.1 hdcdc974_6 conda-forge
+ geotiff 1.7.1 hc898e3f_3 conda-forge/osx-arm64 Cached
- librttopo 1.1.0 h844f84d_12 conda-forge
+ librttopo 1.1.0 h275bb25_11 conda-forge/osx-arm64 Cached
- libspatialite 5.0.1 h14115fc_23 conda-forge
+ libspatialite 5.0.1 h97b496e_19 conda-forge/osx-arm64 Cached
- openjpeg 2.5.0 hbc2ba62_2 conda-forge
+ openjpeg 2.5.0 h5d4e404_1 conda-forge/osx-arm64 Cached
Downgrade:
────────────────────────────────────────────────────────────────────────────────
- cartopy 0.21.1 py39hda17d7f_0 conda-forge
+ cartopy 0.20.3 py39h1293edb_2 conda-forge/osx-arm64 Cached
- cfitsio 4.2.0 h2f961c4_0 conda-forge
+ cfitsio 4.1.0 hd4f5c17_0 conda-forge/osx-arm64 Cached
- fiona 1.9.1 py39h9e5269e_0 conda-forge
+ fiona 1.8.22 py39hb828934_0 conda-forge/osx-arm64 Cached
- gdal 3.6.2 py39h766d3fc_6 conda-forge
+ gdal 3.5.2 py39h766d3fc_4 conda-forge/osx-arm64 Cached
- geos 3.11.1 hb7217d7_0 conda-forge
+ geos 3.11.0 h9a09cb3_0 conda-forge/osx-arm64 Cached
- kealib 1.5.0 hfd766a6_0 conda-forge
+ kealib 1.4.15 h02ce806_1 conda-forge/osx-arm64 Cached
- lcms2 2.15 h481adae_0 conda-forge
+ lcms2 2.14 h8193b64_0 conda-forge/osx-arm64 Cached
- libdeflate 1.17 h1a8c8d9_0 conda-forge
+ libdeflate 1.14 h1a8c8d9_0 conda-forge/osx-arm64 Cached
- libgdal 3.6.2 h90a2855_6 conda-forge
+ libgdal 3.5.2 h1ecf2db_4 conda-forge/osx-arm64 Cached
- libpq 15.2 h1a28acd_0 conda-forge
+ libpq 14.5 h1a28acd_5 conda-forge/osx-arm64 Cached
- libtiff 4.5.0 h5dffbdd_2 conda-forge
+ libtiff 4.4.0 heb92581_5 conda-forge/osx-arm64 Cached
- matplotlib 3.7.1 py39hdf13c20_0 conda-forge
+ matplotlib 3.5.3 py39hdf13c20_2 conda-forge/osx-arm64 Cached
- matplotlib-base 3.7.1 py39h35e9e80_0 conda-forge
+ matplotlib-base 3.5.3 py39ha500c34_2 conda-forge/osx-arm64 Cached
- pillow 9.4.0 py39h8bd98a6_1 conda-forge
+ pillow 9.2.0 py39h139752e_3 conda-forge/osx-arm64 Cached
- poppler 23.01.0 h9564b9f_0 conda-forge
+ poppler 22.10.0 hae7f5f0_0 conda-forge/osx-arm64 Cached
- postgresql 15.2 h45c140d_0 conda-forge
+ postgresql 14.5 h45c140d_5 conda-forge/osx-arm64 Cached
- proj 9.1.1 h13f728c_2 conda-forge
+ proj 9.0.1 h4c79c2b_1 conda-forge/osx-arm64 Cached
- pyproj 3.5.0 py39hd68364f_0 conda-forge
+ pyproj 3.4.0 py39h4b6117f_0 conda-forge/osx-arm64 Cached
- rasterio 1.3.6 py39h157378c_0 conda-forge
+ rasterio 1.3.3 py39h3acb546_0 conda-forge/osx-arm64 Cached
- shapely 2.0.1 py39h472ea82_0 conda-forge
+ shapely 1.8.5 py39hda9c22c_1 conda-forge/osx-arm64 Cached
- tiledb 2.13.2 h9bd36d0_0 conda-forge
+ tiledb 2.11.3 h9bd36d0_1 conda-forge/osx-arm64 Cached
(climada_test) ➜ climada_python git:(develop) ✗ mamba env export
name: climada_test
channels:
- conda-forge
- defaults
dependencies:
- affine=2.4.0=pyhd8ed1ab_0
- attrs=23.1.0=pyh71513ae_1
- aws-c-auth=0.6.28=h826ccd7_5
- aws-c-cal=0.5.27=h92f41cd_0
- aws-c-common=0.8.20=hb547adb_0
- aws-c-compression=0.2.17=h28992cd_0
- aws-c-event-stream=0.3.0=h7f691c3_6
- aws-c-http=0.7.8=he2e4218_4
- aws-c-io=0.13.26=h379bc4c_0
- aws-c-mqtt=0.8.13=hdb3a981_2
- aws-c-s3=0.3.4=h02343f9_5
- aws-c-sdkutils=0.1.10=h28992cd_0
- aws-checksums=0.1.16=h28992cd_0
- aws-crt-cpp=0.20.2=h37dd33e_9
- aws-sdk-cpp=1.10.57=h9b90b14_14
- blosc=1.21.4=hc338f07_0
- bokeh=3.1.1=pyhd8ed1ab_0
- boost-cpp=1.78.0=hf1d6563_2
- bottleneck=1.3.7=py39h4d8bf0d_0
- branca=0.6.0=pyhd8ed1ab_0
- brotli=1.0.9=h1a8c8d9_8
- brotli-bin=1.0.9=h1a8c8d9_8
- bzip2=1.0.8=h3422bc3_4
- c-ares=1.19.1=hb547adb_0
- ca-certificates=2023.5.7=hf0a4a13_0
- cached-property=1.5.2=hd8ed1ab_1
- cached_property=1.5.2=pyha770c72_1
- cairo=1.16.0=h73a0509_1014
- cartopy=0.20.3=py39h1293edb_2
- certifi=2023.5.7=pyhd8ed1ab_0
- cffi=1.15.1=py39h7e6b969_3
- cfgrib=0.9.9.1=pyhd8ed1ab_2
- cfitsio=4.1.0=hd4f5c17_0
- cftime=1.6.2=py39h4d8bf0d_1
- charset-normalizer=3.1.0=pyhd8ed1ab_0
- click=8.1.3=unix_pyhd8ed1ab_2
- click-plugins=1.1.1=py_0
- cligj=0.7.2=pyhd8ed1ab_1
- cloudpickle=2.2.1=pyhd8ed1ab_0
- colorama=0.4.6=pyhd8ed1ab_0
- contextily=1.3.0=pyhd8ed1ab_0
- contourpy=1.1.0=py39hbd775c9_0
- curl=8.1.2=h912dcd9_0
- cycler=0.11.0=pyhd8ed1ab_0
- cytoolz=0.12.0=py39h02fc5c5_1
- dask=2023.6.0=pyhd8ed1ab_0
- dask-core=2023.6.0=pyhd8ed1ab_0
- dill=0.3.6=pyhd8ed1ab_1
- distributed=2023.6.0=pyhd8ed1ab_0
- eccodes=2.27.1=hcbf30ee_0
- et_xmlfile=1.1.0=pyhd8ed1ab_0
- expat=2.5.0=hb7217d7_1
- findlibs=0.0.5=pyhd8ed1ab_0
- fiona=1.8.22=py39hb828934_0
- folium=0.14.0=pyhd8ed1ab_0
- font-ttf-dejavu-sans-mono=2.37=hab24e00_0
- font-ttf-inconsolata=3.000=h77eed37_0
- font-ttf-source-code-pro=2.038=h77eed37_0
- font-ttf-ubuntu=0.83=hab24e00_0
- fontconfig=2.14.2=h82840c6_0
- fonts-conda-ecosystem=1=0
- fonts-conda-forge=1=0
- fonttools=4.40.0=py39h0f82c59_0
- freetype=2.12.1=hd633e50_1
- freexl=1.0.6=h1a8c8d9_1
- fsspec=2023.6.0=pyh1a96a4e_0
- gdal=3.5.2=py39h766d3fc_4
- geographiclib=1.52=pyhd8ed1ab_0
- geopandas=0.13.2=pyhd8ed1ab_1
- geopandas-base=0.13.2=pyha770c72_1
- geopy=2.3.0=pyhd8ed1ab_0
- geos=3.11.0=h9a09cb3_0
- geotiff=1.7.1=hc898e3f_3
- gettext=0.21.1=h0186832_0
- gflags=2.2.2=hc88da5d_1004
- giflib=5.2.1=h1a8c8d9_3
- glog=0.6.0=h6da1cb0_0
- h5py=3.8.0=nompi_py39hc9149d8_100
- haversine=2.8.0=pyhd8ed1ab_0
- hdf4=4.2.15=h1a38d6a_5
- hdf5=1.12.2=nompi_ha7af310_101
- icu=70.1=h6b3803e_0
- idna=3.4=pyhd8ed1ab_0
- importlib-metadata=6.7.0=pyha770c72_0
- importlib-resources=5.12.0=pyhd8ed1ab_0
- importlib_metadata=6.7.0=hd8ed1ab_0
- importlib_resources=5.12.0=pyhd8ed1ab_0
- jasper=2.0.33=hc3cd1e9_1
- jinja2=3.1.2=pyhd8ed1ab_1
- joblib=1.2.0=pyhd8ed1ab_0
- jpeg=9e=h1a8c8d9_3
- json-c=0.16=hc449e50_0
- kealib=1.4.15=h02ce806_1
- kiwisolver=1.4.4=py39haaf3ac1_1
- krb5=1.20.1=h69eda48_0
- lcms2=2.14=h8193b64_0
- lerc=4.0.0=h9a09cb3_0
- libabseil=20230125.2=cxx17_h13dd4ca_2
- libaec=1.0.6=hb7217d7_1
- libarrow=12.0.0=hbfb5349_8_cpu
- libblas=3.9.0=17_osxarm64_openblas
- libbrotlicommon=1.0.9=h1a8c8d9_8
- libbrotlidec=1.0.9=h1a8c8d9_8
- libbrotlienc=1.0.9=h1a8c8d9_8
- libcblas=3.9.0=17_osxarm64_openblas
- libcrc32c=1.1.2=hbdafb3b_0
- libcurl=8.1.2=h912dcd9_0
- libcxx=16.0.6=h4653b0c_0
- libdap4=3.20.6=h8510809_2
- libdeflate=1.14=h1a8c8d9_0
- libedit=3.1.20191231=hc8eb9b7_2
- libev=4.33=h642e427_1
- libevent=2.1.12=h2757513_1
- libexpat=2.5.0=hb7217d7_1
- libffi=3.4.2=h3422bc3_5
- libgdal=3.5.2=h1ecf2db_4
- libgfortran=5.0.0=12_2_0_hd922786_31
- libgfortran5=12.2.0=h0eea778_31
- libglib=2.76.3=h24e9cb9_0
- libgoogle-cloud=2.11.0=h5263b79_1
- libgrpc=1.55.1=hc384137_1
- libiconv=1.17=he4db4b2_0
- libkml=1.3.0=h41464e4_1015
- liblapack=3.9.0=17_osxarm64_openblas
- libllvm14=14.0.6=hd1a9a77_3
- libnetcdf=4.8.1=nompi_h2510be2_106
- libnghttp2=1.52.0=hae82a92_0
- libopenblas=0.3.23=openmp_hc731615_0
- libpng=1.6.39=h76d750c_0
- libpq=14.5=h1a28acd_5
- libprotobuf=4.23.2=hf32f9b9_5
- librttopo=1.1.0=h275bb25_11
- libspatialindex=1.9.3=hbdafb3b_4
- libspatialite=5.0.1=h97b496e_19
- libsqlite=3.42.0=hb31c410_0
- libssh2=1.11.0=h7a5bd25_0
- libthrift=0.18.1=ha061701_2
- libtiff=4.4.0=heb92581_5
- libutf8proc=2.8.0=h1a8c8d9_0
- libwebp-base=1.3.0=h1a8c8d9_0
- libxcb=1.13=h9b22ae9_1004
- libxml2=2.10.3=h67585b2_4
- libxslt=1.1.37=h1bd8bc4_0
- libzip=1.9.2=h76ab92c_1
- libzlib=1.2.13=h53f4e23_5
- llvm-openmp=16.0.6=h1c12783_0
- llvmlite=0.40.0=py39hbad4f83_0
- locket=1.0.0=pyhd8ed1ab_0
- lxml=4.9.2=py39h0520ce3_0
- lz4=4.3.2=py39hb35ce34_0
- lz4-c=1.9.4=hb7217d7_0
- mapclassify=2.5.0=pyhd8ed1ab_1
- markupsafe=2.1.3=py39h0f82c59_0
- matplotlib=3.5.3=py39hdf13c20_2
- matplotlib-base=3.5.3=py39ha500c34_2
- mercantile=1.2.1=pyhd8ed1ab_0
- msgpack-python=1.0.5=py39haaf3ac1_0
- multiprocess=0.70.14=py39h02fc5c5_3
- munch=3.0.0=pyhd8ed1ab_0
- munkres=1.1.4=pyh9f0ad1d_0
- ncurses=6.4=h7ea286d_0
- netcdf4=1.6.2=nompi_py39h8ded8ba_100
- networkx=3.1=pyhd8ed1ab_0
- nspr=4.35=hb7217d7_0
- nss=3.89=h789eff7_0
- numba=0.57.0=py39he8ed757_2
- numexpr=2.8.4=py39hd28f0be_0
- numpy=1.24.3=py39h485cf63_0
- openjpeg=2.5.0=h5d4e404_1
- openpyxl=3.1.2=py39h0f82c59_0
- openssl=3.1.1=h53f4e23_1
- orc=1.8.4=h13b7ede_0
- packaging=23.1=pyhd8ed1ab_0
- pandas=1.5.3=py39hde7b980_1
- pandas-datareader=0.10.0=pyh6c4a22f_0
- partd=1.4.0=pyhd8ed1ab_0
- pathos=0.3.0=pyhd8ed1ab_0
- patsy=0.5.3=pyhd8ed1ab_0
- pcre=8.45=hbdafb3b_0
- pcre2=10.40=hb34f9b4_0
- pillow=9.2.0=py39h139752e_3
- pint=0.22=pyhd8ed1ab_1
- pip=23.1.2=pyhd8ed1ab_0
- pixman=0.40.0=h27ca646_0
- platformdirs=3.8.0=pyhd8ed1ab_0
- pooch=1.7.0=pyha770c72_3
- poppler=22.10.0=hae7f5f0_0
- poppler-data=0.4.12=hd8ed1ab_0
- postgresql=14.5=h45c140d_5
- pox=0.3.2=pyhd8ed1ab_0
- ppft=1.7.6.6=pyhd8ed1ab_0
- proj=9.0.1=h4c79c2b_1
- psutil=5.9.5=py39h02fc5c5_0
- pthread-stubs=0.4=h27ca646_1001
- pyarrow=12.0.0=py39hf40061a_8_cpu
- pycountry=22.3.5=pyhd8ed1ab_0
- pycparser=2.21=pyhd8ed1ab_0
- pyepsg=0.4.0=py_0
- pyparsing=3.1.0=pyhd8ed1ab_0
- pyproj=3.4.0=py39h4b6117f_0
- pyshp=2.3.1=pyhd8ed1ab_0
- pysocks=1.7.1=pyha2e5f31_6
- pytables=3.7.0=py39h8abd629_3
- python=3.9.16=hea58f1e_0_cpython
- python-dateutil=2.8.2=pyhd8ed1ab_0
- python-eccodes=1.5.1=py39h4d8bf0d_0
- python_abi=3.9=3_cp39
- pytz=2023.3=pyhd8ed1ab_0
- pyxlsb=1.0.10=pyhd8ed1ab_0
- pyyaml=6.0=py39h02fc5c5_5
- rasterio=1.3.3=py39h3acb546_0
- re2=2023.03.02=hc5e2d97_0
- readline=8.2=h92ec313_1
- requests=2.31.0=pyhd8ed1ab_0
- rtree=1.0.1=py39hb28b0e7_1
- salib=1.4.7=pyhd8ed1ab_0
- scikit-learn=1.2.2=py39hd5c4a62_2
- scipy=1.11.0=py39ha6b2cbd_0
- setuptools=68.0.0=pyhd8ed1ab_0
- shapely=1.8.5=py39hda9c22c_1
- six=1.16.0=pyh6c4a22f_0
- snappy=1.1.10=h17c5cce_0
- snuggs=1.4.7=py_0
- sortedcontainers=2.4.0=pyhd8ed1ab_0
- sparse=0.14.0=pyhd8ed1ab_0
- sqlite=3.42.0=h203b68d_0
- statsmodels=0.14.0=py39h8a366b7_1
- tabulate=0.9.0=pyhd8ed1ab_1
- tblib=1.7.0=pyhd8ed1ab_0
- threadpoolctl=3.1.0=pyh8a188c0_0
- tiledb=2.11.3=h9bd36d0_1
- tk=8.6.12=he1e0b03_0
- toolz=0.12.0=pyhd8ed1ab_0
- tornado=6.3.2=py39h0f82c59_0
- tqdm=4.65.0=pyhd8ed1ab_1
- typing-extensions=4.6.3=hd8ed1ab_0
- typing_extensions=4.6.3=pyha770c72_0
- tzcode=2023c=h1a8c8d9_0
- tzdata=2023c=h71feb2d_0
- unicodedata2=15.0.0=py39h02fc5c5_0
- unittest-xml-reporting=3.2.0=pyhd8ed1ab_0
- urllib3=2.0.3=pyhd8ed1ab_0
- wheel=0.40.0=pyhd8ed1ab_0
- xarray=2023.5.0=pyhd8ed1ab_0
- xerces-c=3.2.4=h627aa08_1
- xlrd=2.0.1=pyhd8ed1ab_3
- xlsxwriter=3.1.2=pyhd8ed1ab_0
- xorg-libxau=1.0.11=hb547adb_0
- xorg-libxdmcp=1.1.3=h27ca646_0
- xyzservices=2023.5.0=pyhd8ed1ab_1
- xz=5.2.6=h57fd34a_0
- yaml=0.2.5=h3422bc3_2
- zict=3.0.0=pyhd8ed1ab_0
- zipp=3.15.0=pyhd8ed1ab_0
- zlib=1.2.13=h53f4e23_5
- zstd=1.5.2=hf913c23_6
- pip:
- appnope==0.1.3
- astroid==2.5
- asttokens==2.2.1
- backcall==0.2.0
- coverage==7.2.7
- decorator==5.1.1
- deprecation==2.1.0
- exceptiongroup==1.1.1
- executing==1.2.0
- iniconfig==2.0.0
- ipython==8.14.0
- isort==5.12.0
- jedi==0.18.2
- lazy-object-proxy==1.9.0
- matplotlib-inline==0.1.6
- mccabe==0.6.1
- overpy==0.6
- parso==0.8.3
- peewee==3.16.2
- pexpect==4.8.0
- pickleshare==0.7.5
- pluggy==1.2.0
- prompt-toolkit==3.0.38
- ptyprocess==0.7.0
- pure-eval==0.2.2
- pygments==2.15.1
- pylint==2.7.1
- pytest==7.4.0
- pytest-cov==4.1.0
- pytest-subtests==0.11.0
- stack-data==0.6.2
- toml==0.10.2
- tomli==2.0.1
- traitlets==5.9.0
- wcwidth==0.2.6
- wrapt==1.12.1
- xmlrunner==1.7.7
prefix: /Users/ldr.riedel/mambaforge/envs/climada_test
Results from pytest
:
(climada_test) ➜ climada_python git:(develop) ✗ pytest --durations=0 --durations-min=1 climada/
================================================== test session starts ==================================================
platform darwin -- Python 3.9.16, pytest-7.4.0, pluggy-1.2.0
rootdir: /Users/ldr.riedel/coding/climada_python
plugins: subtests-0.11.0, cov-4.1.0
collected 725 items
climada/engine/test/test_cost_benefit.py ...................... [ 3%]
climada/engine/test/test_forecast.py ... [ 3%]
climada/engine/test/test_impact.py ........................................ [ 8%]
climada/engine/test/test_impact_calc.py ............................ [ 12%]
climada/engine/test/test_impact_data.py ........... [ 14%]
climada/engine/unsequa/test/test_unsequa.py ................ [ 16%]
climada/entity/disc_rates/test/test_base.py ............. [ 18%]
climada/entity/exposures/test/test_base.py .......................... [ 21%]
climada/entity/exposures/test/test_litpop.py ...................... [ 24%]
climada/entity/exposures/test/test_mat.py ......... [ 26%]
climada/entity/exposures/test/test_nightlight.py ..... [ 26%]
climada/entity/impact_funcs/test/test_base.py ... [ 27%]
climada/entity/impact_funcs/test/test_imp_fun_set.py ....................... [ 30%]
climada/entity/impact_funcs/test/test_tc.py ........ [ 31%]
climada/entity/impact_funcs/test/test_ws.py . [ 31%]
climada/entity/measures/test/test_base.py ........... [ 33%]
climada/entity/measures/test/test_meas_set.py ..................... [ 36%]
climada/entity/test/test_entity.py ...... [ 36%]
climada/entity/test/test_tag.py ... [ 37%]
climada/hazard/centroids/test/test_centr.py ........ [ 38%]
climada/hazard/centroids/test/test_vec_ras.py .................................... [ 43%]
climada/hazard/test/test_base.py ........................................................ [ 51%]
climada/hazard/test/test_base_xarray.py ............... [ 53%]
climada/hazard/test/test_storm_europe.py ....... [ 54%]
climada/hazard/test/test_tag.py ........ [ 55%]
climada/hazard/test/test_tc_cc.py .. [ 55%]
climada/hazard/test/test_tc_tracks.py ........................................ [ 61%]
climada/hazard/test/test_tc_tracks_synth.py .................. [ 63%]
climada/hazard/test/test_trop_cyclone.py ................ [ 65%]
climada/test/test_api_client.py ................ [ 68%]
climada/test/test_calibration.py . [ 68%]
climada/test/test_engine.py ..... [ 68%]
climada/test/test_hazard.py ........... [ 70%]
climada/test/test_litpop_integr.py .................. [ 72%]
climada/test/test_multi_processing.py . [ 72%]
climada/test/test_nightlight.py ...... [ 73%]
climada/test/test_plot.py ........... [ 75%]
climada/test/test_util.py . [ 75%]
climada/util/test/test__init__.py . [ 75%]
climada/util/test/test_checker.py .... [ 76%]
climada/util/test/test_config.py ... [ 76%]
climada/util/test/test_coordinates.py ........................................................................... [ 86%]
.. [ 87%]
climada/util/test/test_dates_times.py ..... [ 87%]
climada/util/test/test_dwd_icon.py ..... [ 88%]
climada/util/test/test_files.py ............ [ 90%]
climada/util/test/test_finance.py ............... [ 92%]
climada/util/test/test_hdf5.py ...... [ 93%]
climada/util/test/test_lines_polys_handler.py ......................... [ 96%]
climada/util/test/test_plot.py ....... [ 97%]
climada/util/test/test_save.py .. [ 97%]
climada/util/test/test_select.py . [ 97%]
climada/util/test/test_value_representation.py ......... [ 99%]
climada/util/test/test_yearsets.py ...... [100%]
=================================================== slowest durations ===================================================
31.63s call climada/test/test_api_client.py::TestClient::test_purge_cache
16.41s call climada/test/test_nightlight.py::TestNightlight::test_download_nl_files
14.23s call climada/test/test_nightlight.py::TestNightlight::test_read_bm_files
12.72s call climada/test/test_calibration.py::TestCalib::test_calib_instance
12.31s call climada/test/test_plot.py::TestPlotter::test_cost_benefit
11.21s call climada/test/test_api_client.py::TestClient::test_download_file
9.49s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_switzerland300_admin1_pc2016_pass
9.07s call climada/test/test_litpop_integr.py::TestAdmin1::test_calc_admin1
8.75s call climada/test/test_plot.py::TestPlotter::test_ctx_osm_pass
8.72s call climada/test/test_litpop_integr.py::TestAdmin1::test_from_countries_calc_admin1_pass
8.66s call climada/test/test_util.py::TestGeomImpactCalcs::test_calc_geom_impact_polys
6.76s call climada/test/test_api_client.py::TestClient::test_get_hazard_fails
6.29s call climada/test/test_nightlight.py::TestNightlight::test_unzip_tif_to_py
5.10s call climada/test/test_hazard.py::TestTcTracks::test_ibtracs_with_basin
4.59s call climada/test/test_litpop_integr.py::TestAdmin1::test_brandenburg
4.57s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_suriname30_nfw_pass
3.90s call climada/test/test_engine.py::TestEmdatProcessing::test_emdat_damage_yearlysum
3.58s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_from_shape_and_countries_zurich_pass
3.53s call climada/test/test_hazard.py::TestStormEurope::test_from_footprints
3.44s call climada/entity/exposures/test/test_base.py::TestFuncs::test_assign_large_hazard_subset_pass
3.15s call climada/test/test_hazard.py::TestCentroids::test_read_raster_pool_pass
3.14s call climada/test/test_hazard.py::TestBase::test_reproject_raster_pass
3.14s call climada/test/test_hazard.py::TestCentroids::test_read_write_raster_pass
3.11s call climada/test/test_hazard.py::TestBase::test_raster_to_vector_pass
3.06s call climada/test/test_engine.py::TestGDPScaling::test_scale_impact2refyear
2.83s call climada/test/test_engine.py::TestEmdatToImpact::test_emdat_to_impact_scale
2.64s call climada/util/test/test_coordinates.py::TestGetGeodata::test_on_land_pass
2.53s call climada/test/test_plot.py::TestPlotter::test_exposures_value_pass
2.37s call climada/test/test_hazard.py::TestBase::test_write_read_pass
2.36s call climada/util/test/test_plot.py::TestPlots::test_geo_scatter_categorical
2.34s call climada/util/test/test_coordinates.py::TestRasterIO::test_transform_raster_pass
2.12s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_switzerland30normPop_pass
2.07s call climada/test/test_engine.py::TestCalcCostBenefit::test_calc_uncertainty_pass
2.00s call climada/test/test_multi_processing.py::TestCoordinates::test_set_df_geometry_points_scheduled_pass
1.93s call climada/hazard/test/test_storm_europe.py::TestReader::test_generate_prob_storms
1.90s call climada/test/test_hazard.py::TestTcTracks::test_cutoff_tracks
1.84s call climada/engine/test/test_forecast.py::TestPlot::test_Forecast_plot
1.81s call climada/test/test_api_client.py::TestClient::test_get_hazard
1.81s call climada/util/test/test_coordinates.py::TestRasterIO::test_crs_raster_pass
1.77s call climada/engine/test/test_impact_data.py::TestEmdatProcessing::test_emdat_impact_event_2018
1.65s call climada/engine/test/test_impact_data.py::TestEmdatProcessing::test_emdat_impact_event_2020
1.64s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_netherlands150_pass
1.62s call climada/test/test_plot.py::TestPlotter::test_plot_unc_cb
1.61s call climada/hazard/test/test_tc_tracks.py::TestIbtracs::test_ibtracs_interpolate_missing
1.58s call climada/hazard/test/test_tc_tracks.py::TestIbtracs::test_ibtracs_range
1.56s call climada/entity/exposures/test/test_litpop.py::TestLitPop::test_get_total_value_per_country_gdp
1.56s call climada/util/test/test_coordinates.py::TestRasterIO::test_crs_and_geometry_raster_pass
1.48s call climada/test/test_plot.py::TestPlotter::test_hazard_centroids
1.44s call climada/test/test_litpop_integr.py::TestLitPopExposure::test_switzerland300_pass
1.35s call climada/hazard/test/test_tc_tracks.py::TestIbtracs::test_ibtracs_scale_wind
1.29s call climada/test/test_plot.py::TestPlotter::test_hazard_intensity_pass
1.27s call climada/hazard/test/test_storm_europe.py::TestReader::test_read_with_ref
1.25s call climada/hazard/test/test_tc_tracks.py::TestFuncs::test_track_land_params
1.17s call climada/hazard/test/test_storm_europe.py::TestReader::test_centroids_from_nc
1.17s call climada/hazard/test/test_storm_europe.py::TestReader::test_set_ssi
1.15s call climada/engine/test/test_forecast.py::TestCalc::test_Forecast_init_raise
1.09s call climada/test/test_engine.py::TestCalcCostBenefit::test_calc_sensitivity_pass
1.05s call climada/util/test/test_plot.py::TestPlots::test_geo_im_from_array
1.04s call climada/util/test/test_coordinates.py::TestGetGeodata::test_dist_to_coast
1.03s call climada/hazard/test/test_tc_tracks.py::TestIO::test_hdf5_io
1.00s call climada/hazard/centroids/test/test_centr.py::TestCentroidsReader::test_base_grid
(2114 durations < 1s hidden. Use -vv to show these durations.)
==================================== 725 passed, 1878 warnings in 328.54s (0:05:28) =====================================
Cool! 😃
Tests on my machine run a whole lot faster than on Jenkins (5:28 / 7:58 vs ~8 / ~13 for unit and integration tests together)
No surprise. Differences at this range are expected with many machines (including mine) when compared to yours.
Many tests with increased runtime are related to LitPop. Might there be a regression in the latest rasterio release?
Interesting observation!
climada/test/test_api_client.py::TestClient::test_purge_cache is by far the slowest test (30sec) and should be improved
Yeah, I know... it calls Client().list_dataset_infos()
, twice. Should be mocked.
Closing due to inactivity. Might re-open in case of further test performance degradation.
Related: #628
since the dependency upgrade (#693) unit and integration tests seem to be dramatically slowed down:
Time consumed in ci-night: range 425 - 430, last 6 tests before the upgrade: 8:13 - 9:59 range 431 - 434, first 4 tests after the upgrade: 14:55 - 15:21
This may be a coincidence but I doubt it.