From ffdb6c8a22ba8185d562541d4038ec26016afff3 Mon Sep 17 00:00:00 2001 From: Ansgar Wehrhahn <31626864+AWehrhahn@users.noreply.github.com> Date: Thu, 18 Nov 2021 14:12:33 +0100 Subject: [PATCH] Fix the mask for missing uncertainties --- src/pysme/solve.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pysme/solve.py b/src/pysme/solve.py index 8be627e2..ffb58f60 100644 --- a/src/pysme/solve.py +++ b/src/pysme/solve.py @@ -686,10 +686,13 @@ def solve(self, sme, param_names=None, segments="all", bounds=None): sme = self.restore_func(sme) # Get constant data from sme structure - sme.mask[segments][sme.uncs[segments] == 0] = sme.mask_values["bad"] + for seg in segments: + sme.mask[seg, sme.uncs[seg] == 0] = sme.mask_values["bad"] + # sme.mask[segments][sme.uncs[segments] == 0] = sme.mask_values["bad"] mask = sme.mask_good[segments] spec = sme.spec[segments][mask] uncs = sme.uncs[segments][mask] + # This is the expected range of the uncertainty # if the residuals are larger, they are dampened by log(1 + z) f_scale = 0.1 * np.nanmean(spec.ravel()) / np.nanmean(uncs.ravel())