From 404f97ad03c84a09a3f786687c7ac6610f1a3c7b Mon Sep 17 00:00:00 2001 From: aidancrilly Date: Tue, 4 Mar 2025 13:47:08 +0000 Subject: [PATCH] Make mus nan if out of range [-1,+1] --- src/NeSST/spectral_model.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/NeSST/spectral_model.py b/src/NeSST/spectral_model.py index beaff08..733f79f 100644 --- a/src/NeSST/spectral_model.py +++ b/src/NeSST/spectral_model.py @@ -106,6 +106,7 @@ def init_station_elastic_scatter(self): muc = col.muc(self.A,Ei,Eo,1.0,-1.0,0.0) sigma = self.sigma(self.Ein) self.elastic_mu0 = col.mu_out(self.A,Ei,Eo,0.0) + self.elastic_mu0[np.abs(self.elastic_mu0) > 1.0] = np.nan if(self.elastic_legendre): Tlcoeff,Nl = xs.interp_Tlcoeff(self.legendre_dx_spline,self.Ein) Tlcoeff_interp = 0.5*(2*np.arange(0,Nl)+1)*Tlcoeff @@ -128,9 +129,11 @@ def init_station_inelastic_scatter(self): kin_a = np.sqrt(kin_a2_safe) kin_b = 1.0/(self.A+1) muc = ((Eo/Ei)-kin_a**2-kin_b**2)/(2*kin_a*kin_b) + muc[kin_a2 < 0.0] = np.nan sigma = self.isigma[i_inelastic](self.Ein) inelastic_mu0 = (np.sqrt(Eo/Ei)-(kin_a**2-kin_b**2)*np.sqrt(Ei/Eo))/(2*kin_b) - inelastic_mu0[kin_a2 < 0.0] = 0.0 + inelastic_mu0[np.abs(inelastic_mu0) > 1.0] = np.nan + inelastic_mu0[kin_a2 < 0.0] = np.nan self.inelastic_mu0.append(inelastic_mu0) if(self.inelastic_legendre[i_inelastic]):