Esempio n. 1
0
    def compute_gradient(self):
        """ Sequential event gradient computation, reduces storage requirement.
        """

        # generate synthetic data
        output_dir = join(self.getpath, 'traces', 'syn')
        self.generate_data(model_dir=PATH.MODEL, output_dir=output_dir, save_wavefield=True)

        # prepare adjoint sources
        preprocess.prepare_eval_grad(self.getpath)

        # compute event gradient
        self.evaluate_gradient(model_dir=PATH.MODEL)
Esempio n. 2
0
    def eval_func(self, path='', export_traces=False):
        """ Evaluates misfit function by carrying out forward simulation and
            comparing observations and synthetics.
        """
        unix.cd(self.getpath)
        self.import_model(path)

        self.forward()
        preprocess.prepare_eval_grad(self.getpath)
        self.export_residuals(path)

        if export_traces:
            self.export_traces(path, prefix='traces/syn')
Esempio n. 3
0
    def eval_func(self, path='', export_traces=False):
        """ Evaluates misfit function by carrying out forward simulation and
            comparing observations and synthetics.
        """
        unix.cd(self.getpath)
        self.import_model(path)

        self.forward()
        unix.mv(self.data_wildcard, 'traces/syn')
        preprocess.prepare_eval_grad(self.getpath)

        self.export_residuals(path)
        if export_traces:
            self.export_traces(path, prefix='traces/syn')