def save(self, path, model, prefix='reg1_', suffix=''): """ writes SPECFEM3D_GLOBE transerverly isotropic model """ unix.mkdir(path) for iproc in range(self.mesh_properties.nproc): for key in ['vpv', 'vph', 'vsv', 'vsh', 'eta']: if key in self.parameters: savebin(model[key][iproc], path, iproc, prefix + key + suffix) elif 'kernel' in suffix: pass else: src = PATH.OUTPUT + '/' + 'model_init' dst = path copybin(src, dst, iproc, prefix + key + suffix) if 'rho' in self.parameters: savebin(model['rho'][iproc], path, iproc, prefix + 'rho' + suffix) elif 'kernel' in suffix: pass else: src = PATH.OUTPUT + '/' + 'model_init' dst = path copybin(src, dst, iproc, prefix + 'rho' + suffix)
def save(self, path, model, prefix='reg1_', suffix=''): """ writes SPECFEM3D_GLOBE transerverly isotropic model """ unix.mkdir(path) for iproc in range(self.mesh.nproc): for key in ['vpv', 'vph', 'vsv', 'vsh', 'eta']: if key in self.parameters: savebin(model[key][iproc], path, iproc, prefix+key+suffix) elif 'kernel' in suffix: pass else: src = PATH.OUTPUT +'/'+ 'model_init' dst = path copybin(src, dst, iproc, prefix+key+suffix) if 'rho' in self.parameters: savebin(model['rho'][iproc], path, iproc, prefix+'rho'+suffix) elif 'kernel' in suffix: pass else: src = PATH.OUTPUT +'/'+ 'model_init' dst = path copybin(src, dst, iproc, prefix+'rho'+suffix)
def save(self, path, model, prefix='', suffix='', solver_parameters=['vp', 'vs']): """ writes SPECFEM model The following method writes acoustic and elastic models. For an example of how to write transversely isotropic models, see solver.specfem3d_globe. There is a tradeoff here between being simple and being flexible. In this case we opt for a simple hardwired approach. For a more flexible, more complex approach see SEISFLOWS-RESEARCH. """ unix.mkdir(path) if 'kernel' in suffix: for iproc in range(self.mesh.nproc): for key in solver_parameters: if key in self.parameters: savebin(model[key][iproc], path, iproc, prefix + key + suffix) if 'rho' in self.parameters: savebin(model['rho'][iproc], path, iproc, prefix + 'rho' + suffix) else: for iproc in range(self.mesh.nproc): for key in solver_parameters: if key in self.parameters: savebin(model[key][iproc], path, iproc, prefix + key + suffix) else: src = PATH.OUTPUT + '/' + 'model_init' dst = path copybin(src, dst, iproc, prefix + key + suffix) if 'rho' in self.parameters: savebin(model['rho'][iproc], path, iproc, prefix + 'rho' + suffix) else: src = PATH.OUTPUT + '/' + 'model_init' dst = path copybin(src, dst, iproc, 'rho')
def save(self, path, model, prefix='', suffix='', solver_parameters=['vp', 'vs']): """ writes SPECFEM model The following method writes acoustic and elastic models. For an example of how to write transversely isotropic models, see solver.specfem3d_globe. There is a tradeoff here between being simple and being flexible. In this case we opt for a simple hardwired approach. For a more flexible, more complex approach see SEISFLOWS-RESEARCH. """ unix.mkdir(path) if 'kernel' in suffix: for iproc in range(self.mesh.nproc): for key in solver_parameters: if key in self.parameters: savebin(model[key][iproc], path, iproc, prefix+key+suffix) if 'rho' in self.parameters: savebin(model['rho'][iproc], path, iproc, prefix+'rho'+suffix) else: for iproc in range(self.mesh.nproc): for key in solver_parameters: if key in self.parameters: savebin(model[key][iproc], path, iproc, prefix+key+suffix) else: src = PATH.OUTPUT +'/'+ 'model_init' dst = path copybin(src, dst, iproc, prefix+key+suffix) if 'rho' in self.parameters: savebin(model['rho'][iproc], path, iproc, prefix+'rho'+suffix) else: src = PATH.OUTPUT +'/'+ 'model_init' dst = path copybin(src, dst, iproc, 'rho')