Sentinel-2 tests broken due to scikit-learn/pickle exception.
Probably an incompatibility with recent scikit-learn or pickle versions:
_______________ TestSicor_S2_AC.test_ac_l1c_sentinel_2_products ________________
tests/test_sicor_s2.py:190: in test_ac_l1c_sentinel_2_products
img_ac = ac_gms(img, options=opts, logger=self.logger)
sicor/sicor_ac.py:814: in ac_gms
cld_msk = CloudMask(logger=logger, persistence_file=options["cld_mask"]["persistence_file"],
sicor/Tools/cB/CloudMask.py:60: in __init__
nvc = pickle.load(fl)
sklearn/tree/_tree.pyx:728: in sklearn.tree._tree.Tree.__setstate__
???
sklearn/tree/_tree.pyx:1434: in sklearn.tree._tree._check_node_ndarray
???
E ValueError: node array from the pickle has an incompatible dtype:
E - expected: {'names': ['left_child', 'right_child', 'feature', 'threshold', 'impurity', 'n_node_samples', 'weighted_n_node_samples', 'missing_go_to_left'], 'formats': ['<i8', '<i8', '<i8', '<f8', '<f8', '<i8', '<f8', 'u1'], 'offsets': [0, 8, 16, 24, 32, 40, 48, 56], 'itemsize': 64}
E - got : [('left_child', '<i8'), ('right_child', '<i8'), ('feature', '<i8'), ('threshold', '<f8'), ('impurity', '<f8'), ('n_node_samples', '<i8'), ('weighted_n_node_samples', '<f8')]
Also see https://git.gfz-potsdam.de/EnMAP/sicor/-/jobs/215008.
According to https://git.gfz-potsdam.de/EnMAP/sicor/-/blob/main/tests/CI_docker/context/environment_sicor.yml?ref_type=heads#L42, scikit-learn 0.24 might be needed.