Eigenvalues did not converge
What causes that failure?
Does that influence the whole image?
or can be logged as Warning and set pixel to nan?
2021/03/18 22:37:52: Performing first guess liquid water retrieval based on the NDWI...
2021/03/18 22:37:57: Performing first guess ice retrieval based on the NDSI...
2021/03/18 22:38:02: Calculating first guess for intercept and slope of absorption feature continuum...
2021/03/18 22:38:02: Segmenting SWIR L1B spectra to enhance processing speed...
2021/03/18 22:38:06: Preparing segmented SWIR L1B data cube...
2021/03/18 22:38:12: Performing 3 phases of water retrieval...
2021/03/18 22:38:12: Setting up multiprocessing...
2021/03/18 22:38:12: Multiprocessing on 16 cpu's
2021/03/18 22:38:12: Preparing optimal estimation input...
2021/03/18 22:38:12: Optimization...
/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/site-packages/sicor/Tools/EnMAP/optimal_estimation.py:249: RuntimeWarning: invalid value encountered in subtract
sai_dx = np.dot(sai, xa - x)
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/multiprocessing/pool.py", line 48, in mapstar
return list(map(*args))
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/site-packages/sicor/AC/RtFo_3_phases.py", line 1362, in __oe__
res = __inv_func__(yy=__data__[i1, i2, :],
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/site-packages/sicor/Tools/EnMAP/optimal_estimation.py", line 495, in func_inverse
result = internal_optimizer(y=yyy, xa=xa, fg=fg, sei=sei, sai=sai, se=se, sa=sa, dx=dx, eps=eps,
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/site-packages/sicor/Tools/EnMAP/optimal_estimation.py", line 383, in internal_optimizer
dof, ico, sn, sme = dof_infocont_retrnoise_smootherrr(sa, se, gg, av)
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/site-packages/sicor/Tools/EnMAP/optimal_estimation.py", line 328, in dof_infocont_retrnoise_smootherrr
w, v = np.linalg.eigh(av)
File "<__array_function__ internals>", line 5, in eigh
File "/home/csys/bsilva/.local/lib/python3.8/site-packages/numpy/linalg/linalg.py", line 1470, in eigh
w, vt = gufunc(a, signature=signature, extobj=extobj)
File "/home/csys/bsilva/.local/lib/python3.8/site-packages/numpy/linalg/linalg.py", line 94, in _raise_linalgerror_eigenvalues_nonconvergence
raise LinAlgError("Eigenvalues did not converge")
numpy.linalg.LinAlgError: Eigenvalues did not converge
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "EnPT/bin/enpt_cli.py", line 215, in <module>
parsed_args.func(get_config(parsed_args))
File "EnPT/bin/enpt_cli.py", line 192, in run_job
CTR.run_all_processors()
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/site-packages/enpt/execution/controller.py", line 170, in run_all_processors
self.run_atmospheric_correction()
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/site-packages/enpt/execution/controller.py", line 141, in run_atmospheric_correction
self.L1_obj.run_AC()
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/site-packages/enpt/model/images/images_sensorgeo.py", line 857, in run_AC
AC.run_ac(self)
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/site-packages/enpt/processors/atmospheric_correction/atmospheric_correction.py", line 177, in run_ac
sicor_ac_enmap(enmap_l1b=enmap_ImageL1, options=options, unknowns=True, logger=enmap_ImageL1.logger)
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/site-packages/sicor/sicor_enmap.py", line 91, in sicor_ac_enmap
res = __minimize__(fo=fo_enmap, opt_func=fo_func_enmap, logger=logger, unknowns=unknowns)
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/site-packages/sicor/AC/RtFo_3_phases.py", line 1246, in __minimize__
results.get()
File "/home/csys/bsilva/miniconda3/envs/enpt/lib/python3.8/multiprocessing/pool.py", line 771, in get
raise self._value
numpy.linalg.LinAlgError: Eigenvalues did not converge