예제 #1
0
    def plotInversionResults(self):
        """
        Plotting inversion results to plot folder
        """
        try:
            _dsretc = "dsretc"
            self.log.info('Plotting inversion results...\n')

            self.log.info('Plotting stream waveforms...\n')
            plot.streams(self.station_list, self.dir.streams,
                         self.dir.allstreams)

            self.log.info('Plotting inversions...\n')
            _depth, _corr, _dc, _bballs =  plot.mt_list2data(self.mt_list)
            plot.correlation(_depth, _corr, _dc, _bballs, self.dir.inversions)

            self.log.info('Plotting misfits...\n')
            # find best mt depth folder
            _depth_folder = os.path.join(self.dir.inversion,
                                         str(self.origin.mt.cent_depth))
            plot.misfit(self.tl, self.station_list,
                        _depth_folder, self.dir.misfit)

            self.log.info('Plotting correlations...\n')
            _time_list, _depth_list, _dc_list, _corr_list, _bball_list = \
                                        plot.corr_file2data(self.dir.corr)
            plot.contour(_time_list, _depth_list, _dc_list, _corr_list,
                         _bball_list, self.dir.correlation)

            self.log.info('Plotting focal mechanism...\n')
            plot.beachBall(self.origin.mt.strike,
                           self.origin.mt.dip,
                           self.origin.mt.rake,
			   self.origin.mt.mrr,
			   self.origin.mt.mtt,
			   self.origin.mt.mpp,
			   self.origin.mt.mrt,
			   self.origin.mt.mrp,
			   self.origin.mt.mtp,
                           self.dir.beachball)

            self.log.info('Plotting map...\n')
            plot.maps(self.station_list, self.origin,
                      self.origin.mt.strike,
                      self.origin.mt.dip,
                      self.origin.mt.rake,
                      self.dir.map)

            self.log.info('Plotting text results...\n')

            _dsretc_path = os.path.join(self.settings.isola_path, _dsretc)
            plot.results2text(self.station_list, self.origin,
                              self.settings, self.dir.result,
                              _dsretc_path, self.f1, self.f2, self.f3,
                              self.f4, self.dir.text)

        except:
            self.log.info('Error occurred in plotting inversion results...\n')
            raise
예제 #2
0
    def createInversionResults(self):
        """
        Creating the inversion results files
        """
        try:
            _kagan = "kagan"

            # finding best inversion centroid depth
            self.origin.mt = isola.getBestMT(self.mt_list)

            # create final corr file
            self.log.info('Creating final correlation file...\n')
            isola.createCorrFile(self.depth_list,
                                 self.dir.inversion,
                                 self.dir.corr)

            # calculating stVar and fmVar
            _kagan_path = os.path.join(self.settings.isola_path, _kagan)
            _results = plot.corr_file2data(self.dir.corr)
            _corr_list = _results[3]
            _bball_list = _results[4]
            _stVar, _fmVar = isola.calcuateStFmVar(_kagan_path,
                                                   _corr_list,
                                                   _bball_list,
                                                   self.origin.mt,
                                                   self.settings)
            self.origin.mt.stVar = _stVar
            self.origin.mt.fmVar = _fmVar

            # create final inv1 file
            self.log.info('Creating final inv1 file...\n')
            isola.createInv1File(self.mt_list,
                                 self.origin.mt,
                                 self.dir.inv1)

            # create final inv2 file
            self.log.info('Creating final inv2 file...\n')
            isola.createInv2File(self.origin.mt,
                                 self.dir.inv2)

            # create final inv3 file
            self.log.info('Creating final inv3 file...\n')
            isola.createInv3File(self.origin.mt,
                                 self.dir.inv3)

            self.log.info('Printing best Moment Tensor solution...\n')
            self.log.mts([self.origin.mt])

        except:
            self.log.info('Error occurred in inversion results creation...\n')
            raise