ClimateImpactLab / dscim

Data-Driven Spatial Climate Impact Model core component code
https://climateimpactlab.github.io/dscim/
Apache License 2.0
4 stars 2 forks source link

Running dscim with numpy 2.0 appears to break things #292

Open brews opened 1 month ago

brews commented 1 month ago

The dependabot PR upgrading numpy from 1.26.4 to >= 2.0.0 (PR #280) fails CI tests. Looks like the new major numpy release has breaking changes that affect dscim. I haven't looked through the CI testing logs to see exactly what breaks. It would be great if someone could help triage this.

brews commented 1 month ago

The 37 failures for the CI run in #280 are

FAILED tests/test_baseline.py::test_adding_up_coefficients[naive_gwr-Baseline] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp                   (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp                   (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'),...
FAILED tests/test_baseline.py::test_adding_up_fit[naive_gwr-Baseline] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp            (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp            (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'), np.str...
FAILED tests/test_baseline.py::test_adding_scc[naive_gwr-Baseline] - AssertionError: Left and right DataArray objects are not close

Differing coordinates:
L   ssp                 <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R   ssp                 <U51 204B "[np.str_('SSP2'), np.str_('SSP3'), np.str_...
FAILED tests/test_baseline.py::test_adding_up_coefficients[euler_gwr-Baseline] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp                   (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp                   (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'),...
FAILED tests/test_baseline.py::test_adding_up_fit[euler_gwr-Baseline] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp            (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp            (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'), np.str...
FAILED tests/test_baseline.py::test_adding_scc[euler_gwr-Baseline] - AssertionError: Left and right DataArray objects are not close

Differing coordinates:
L   ssp                 <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R   ssp                 <U51 204B "[np.str_('SSP2'), np.str_('SSP3'), np.str_...
FAILED tests/test_baseline.py::test_adding_up_coefficients[gwr_gwr-Baseline] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp                   (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp                   (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'),...
FAILED tests/test_baseline.py::test_adding_up_fit[gwr_gwr-Baseline] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp            (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp            (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'), np.str...
FAILED tests/test_baseline.py::test_adding_scc[gwr_gwr-Baseline] - AssertionError: Left and right DataArray objects are not close

Differing coordinates:
L   ssp                 <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R   ssp                 <U51 204B "[np.str_('SSP2'), np.str_('SSP3'), np.str_...
FAILED tests/test_equity.py::test_equity_points[naive_gwr-EquityRecipe] - AssertionError: MultiIndex level [1] are different

MultiIndex level [1] values are different (100.0 %)
[left]:  Index(['['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       ...
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']'],
      dtype='object', name='ssp', length=5412)
[right]: Index(['[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       ...
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]'],
      dtype='object', name='ssp', length=5412)
At positional index 0, first diff: ['SSP2', 'SSP3', 'SSP4'] != [np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]
FAILED tests/test_equity.py::test_equity_coefficients[naive_gwr-EquityRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp                   (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp                   (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'),...
FAILED tests/test_equity.py::test_equity_fit[naive_gwr-EquityRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp            (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp            (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'), np.str...
FAILED tests/test_equity.py::test_equity_scc[naive_gwr-EquityRecipe] - AssertionError: Left and right DataArray objects are not close

Differing coordinates:
L   ssp                 <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R   ssp                 <U51 204B "[np.str_('SSP2'), np.str_('SSP3'), np.str_...
FAILED tests/test_equity.py::test_equity_points[euler_gwr-EquityRecipe] - AssertionError: MultiIndex level [1] are different

MultiIndex level [1] values are different (100.0 %)
[left]:  Index(['['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       ...
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']'],
      dtype='object', name='ssp', length=5412)
[right]: Index(['[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       ...
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]'],
      dtype='object', name='ssp', length=5412)
At positional index 0, first diff: ['SSP2', 'SSP3', 'SSP4'] != [np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]
FAILED tests/test_equity.py::test_equity_coefficients[euler_gwr-EquityRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp                   (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp                   (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'),...
FAILED tests/test_equity.py::test_equity_fit[euler_gwr-EquityRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp            (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp            (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'), np.str...
FAILED tests/test_equity.py::test_equity_scc[euler_gwr-EquityRecipe] - AssertionError: Left and right DataArray objects are not close

Differing coordinates:
L   ssp                 <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R   ssp                 <U51 204B "[np.str_('SSP2'), np.str_('SSP3'), np.str_...
FAILED tests/test_equity.py::test_equity_points[gwr_gwr-EquityRecipe] - AssertionError: MultiIndex level [1] are different

MultiIndex level [1] values are different (100.0 %)
[left]:  Index(['['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       ...
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']'],
      dtype='object', name='ssp', length=5412)
[right]: Index(['[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       ...
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]'],
      dtype='object', name='ssp', length=5412)
At positional index 0, first diff: ['SSP2', 'SSP3', 'SSP4'] != [np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]
FAILED tests/test_equity.py::test_equity_coefficients[gwr_gwr-EquityRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp                   (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp                   (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'),...
FAILED tests/test_equity.py::test_equity_fit[gwr_gwr-EquityRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp            (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp            (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'), np.str...
FAILED tests/test_equity.py::test_equity_scc[gwr_gwr-EquityRecipe] - AssertionError: Left and right DataArray objects are not close

Differing coordinates:
L   ssp                 <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R   ssp                 <U51 204B "[np.str_('SSP2'), np.str_('SSP3'), np.str_...
FAILED tests/test_input_damages.py::test_prep_mortality_damages[0] - AttributeError: `np.Inf` was removed in the NumPy 2.0 release. Use `np.inf` instead.. Did you mean: 'inf'?
FAILED tests/test_input_damages.py::test_prep_mortality_damages[1] - AttributeError: `np.Inf` was removed in the NumPy 2.0 release. Use `np.inf` instead.. Did you mean: 'inf'?
FAILED tests/test_input_damages.py::test_prep_mortality_damages[4] - AttributeError: `np.Inf` was removed in the NumPy 2.0 release. Use `np.inf` instead.. Did you mean: 'inf'?
FAILED tests/test_input_damages.py::test_prep_mortality_damages[5] - AttributeError: `np.Inf` was removed in the NumPy 2.0 release. Use `np.inf` instead.. Did you mean: 'inf'?
FAILED tests/test_risk_aversion.py::test_risk_aversion_points[naive_gwr-RiskAversionRecipe] - AssertionError: MultiIndex level [1] are different

MultiIndex level [1] values are different (100.0 %)
[left]:  Index(['['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       ...
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']'],
      dtype='object', name='ssp', length=5412)
[right]: Index(['[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       ...
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]'],
      dtype='object', name='ssp', length=5412)
At positional index 0, first diff: ['SSP2', 'SSP3', 'SSP4'] != [np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]
FAILED tests/test_risk_aversion.py::test_risk_aversion_coefficients[naive_gwr-RiskAversionRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp                   (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp                   (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'),...
FAILED tests/test_risk_aversion.py::test_risk_aversion_fit[naive_gwr-RiskAversionRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp            (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp            (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'), np.str...
FAILED tests/test_risk_aversion.py::test_risk_scc[naive_gwr-RiskAversionRecipe] - AssertionError: Left and right DataArray objects are not close

Differing coordinates:
L   ssp                 <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R   ssp                 <U51 204B "[np.str_('SSP2'), np.str_('SSP3'), np.str_...
FAILED tests/test_risk_aversion.py::test_risk_aversion_points[euler_gwr-RiskAversionRecipe] - AssertionError: MultiIndex level [1] are different

MultiIndex level [1] values are different (100.0 %)
[left]:  Index(['['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       ...
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']'],
      dtype='object', name='ssp', length=5412)
[right]: Index(['[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       ...
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]'],
      dtype='object', name='ssp', length=5412)
At positional index 0, first diff: ['SSP2', 'SSP3', 'SSP4'] != [np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]
FAILED tests/test_risk_aversion.py::test_risk_aversion_coefficients[euler_gwr-RiskAversionRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp                   (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp                   (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'),...
FAILED tests/test_risk_aversion.py::test_risk_aversion_fit[euler_gwr-RiskAversionRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp            (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp            (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'), np.str...
FAILED tests/test_risk_aversion.py::test_risk_scc[euler_gwr-RiskAversionRecipe] - AssertionError: Left and right DataArray objects are not close

Differing coordinates:
L   ssp                 <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R   ssp                 <U51 204B "[np.str_('SSP2'), np.str_('SSP3'), np.str_...
FAILED tests/test_risk_aversion.py::test_risk_aversion_points[gwr_gwr-RiskAversionRecipe] - AssertionError: MultiIndex level [1] are different

MultiIndex level [1] values are different (100.0 %)
[left]:  Index(['['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       ...
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']',
       '['SSP2', 'SSP3', 'SSP4']', '['SSP2', 'SSP3', 'SSP4']'],
      dtype='object', name='ssp', length=5412)
[right]: Index(['[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       ...
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]',
       '[np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]'],
      dtype='object', name='ssp', length=5412)
At positional index 0, first diff: ['SSP2', 'SSP3', 'SSP4'] != [np.str_('SSP2'), np.str_('SSP3'), np.str_('SSP4')]
FAILED tests/test_risk_aversion.py::test_risk_aversion_coefficients[gwr_gwr-RiskAversionRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp                   (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp                   (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'),...
FAILED tests/test_risk_aversion.py::test_risk_aversion_fit[gwr_gwr-RiskAversionRecipe] - AssertionError: Left and right Dataset objects are not close

Differing coordinates:
L * ssp            (ssp) <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R * ssp            (ssp) object 8B "[np.str_('SSP2'), np.str_('SSP3'), np.str...
FAILED tests/test_risk_aversion.py::test_risk_scc[gwr_gwr-RiskAversionRecipe] - AssertionError: Left and right DataArray objects are not close

Differing coordinates:
L   ssp                 <U24 96B "['SSP2', 'SSP3', 'SSP4']"
R   ssp                 <U51 204B "[np.str_('SSP2'), np.str_('SSP3'), np.str_...