Exemple #1
0
    def calculate_quality(self):
        """
        Do the quality calulations
        """
        for imult in range(self.nmult):
            self.var_avg[imult] = (self.var_est[0, imult] +
                                   self.var_est[1, imult]) / 2.
            #print 'cid = {0} {1}  mech = {2} {3} {4}'.format(self.icusp, imult, self.str_avg[imult], self.dip_avg[imult], self.rak_avg[imult])
            # find misfit for prefered solution
            self.mfrac[imult], self.stdr[imult] = get_misf(
                self.p_azi_mc[:self.npol,
                              0], self.p_the_mc[:self.npol,
                                                0], self.p_pol[:self.npol],
                self.p_qual[:self.npol], self.str_avg[imult],
                self.dip_avg[imult], self.rak_avg[imult], self.npol)  # npol

            # HASH default solution quality rating
            if ((self.prob[imult] > 0.8) and (self.var_avg[imult] < 25)
                    and (self.mfrac[imult] <= 0.15)
                    and (self.stdr[imult] >= 0.5)):
                self.qual[imult] = 'A'
            elif ((self.prob[imult] > 0.6) and (self.var_avg[imult] <= 35)
                  and (self.mfrac[imult] <= 0.2)
                  and (self.stdr[imult] >= 0.4)):
                self.qual[imult] = 'B'
            elif ((self.prob[imult] > 0.5) and (self.var_avg[imult] <= 45)
                  and (self.mfrac[imult] <= 0.3)
                  and (self.stdr[imult] >= 0.3)):
                self.qual[imult] = 'C'
            else:
                self.qual[imult] = 'D'
Exemple #2
0
    def calculate_quality(self, use_amplitudes=False):
        """
        Do the quality calulations
        """
        for imult in range(self.nmult):
            self.var_avg[imult] = (
                self.var_est[0, imult] + self.var_est[1, imult]
            ) / 2.0

            if use_amplitudes:
                self.mfrac[imult], self.mavg[imult], self.stdr[imult] = get_misf_amp(
                    self.p_azi_mc[: self.npol, 0],
                    self.p_the_mc[: self.npol, 0],
                    self.sp_ratio[: self.npol],
                    self.p_pol[: self.npol],
                    self.str_avg[imult],
                    self.dip_avg[imult],
                    self.rak_avg[imult],
                    self.npol,
                )  # npol
            else:
                # find misfit for prefered solution
                self.mfrac[imult], self.stdr[imult] = get_misf(
                    self.p_azi_mc[: self.npol, 0],
                    self.p_the_mc[: self.npol, 0],
                    self.p_pol[: self.npol],
                    self.p_qual[: self.npol],
                    self.str_avg[imult],
                    self.dip_avg[imult],
                    self.rak_avg[imult],
                    self.npol,
                )  # npol

            # HASH default solution quality rating
            if (
                (self.prob[imult] > 0.8)
                and (self.var_avg[imult] < 25)
                and (self.mfrac[imult] <= 0.15)
                and (self.stdr[imult] >= 0.5)
            ):
                self.qual[imult] = "A"
            elif (
                (self.prob[imult] > 0.6)
                and (self.var_avg[imult] <= 35)
                and (self.mfrac[imult] <= 0.2)
                and (self.stdr[imult] >= 0.4)
            ):
                self.qual[imult] = "B"
            elif (
                (self.prob[imult] > 0.5)
                and (self.var_avg[imult] <= 45)
                and (self.mfrac[imult] <= 0.3)
                and (self.stdr[imult] >= 0.3)
            ):
                self.qual[imult] = "C"
            else:
                self.qual[imult] = "D"
Exemple #3
0
 def calculate_quality(self):
     """
     Do the quality calulations
     """
     for imult in range(self.nmult):
         self.var_avg[imult] = (self.var_est[0,imult] + self.var_est[1,imult]) / 2.
         #print 'cid = {0} {1}  mech = {2} {3} {4}'.format(self.icusp, imult, self.str_avg[imult], self.dip_avg[imult], self.rak_avg[imult])
         # find misfit for prefered solution
         self.mfrac[imult], self.stdr[imult] = get_misf(self.p_azi_mc[:self.npol,0], self.p_the_mc[:self.npol,0], self.p_pol[:self.npol], self.p_qual[:self.npol], self.str_avg[imult], self.dip_avg[imult], self.rak_avg[imult], self.npol) # npol
         
         # HASH default solution quality rating
         if ((self.prob[imult] > 0.8) and (self.var_avg[imult] < 25) and (self.mfrac[imult] <= 0.15) and (self.stdr[imult] >= 0.5)):
             self.qual[imult]='A'
         elif ((self.prob[imult] > 0.6) and (self.var_avg[imult] <= 35) and (self.mfrac[imult] <= 0.2) and (self.stdr[imult] >= 0.4)):
             self.qual[imult]='B'
         elif ((self.prob[imult] > 0.5) and (self.var_avg[imult] <= 45) and (self.mfrac[imult] <= 0.3) and (self.stdr[imult] >= 0.3)):
             self.qual[imult]='C'
         else:
             self.qual[imult]='D'