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)
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')
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')