Source code for pyacs.gts.lib.model.remove_pole

###################################################################
## remove_pole
###################################################################

[docs] def remove_pole(self, pole, pole_type='euler', verbose=True): """ Remove velocity predicted by an Euler pole or a rotation rate vector from a time series. pole is a 1D array with 3 values. Requires self.lon & self.lat attributes to have been filled before. Returns a new Gts instance. """ import numpy as np from pyacs.gts.Gts import Gts import inspect import logging import pyacs.message.message as MESSAGE import pyacs.message.verbose_message as VERBOSE import pyacs.message.error as ERROR import pyacs.message.warning as WARNING import pyacs.message.debug_message as DEBUG # after this method .data and .data_xyz are not consistent so .data_xyz is set to None #self.data_xyz = None ########################################################################### # check data is not None from pyacs.gts.lib.errors import GtsInputDataNone try: if self.data is None: # raise exception raise GtsInputDataNone(inspect.stack()[0][3], __name__, self) except GtsInputDataNone as error: # print PYACS WARNING WARNING(error) return (self) ########################################################################### if (self.lon is None) or (self.lat is None): ERROR("lon & lat needs to be properly filled to use this method.") return () from pyacs.lib.gmtpoint import GMT_Point M = GMT_Point(code=self.code, lon=self.lon, lat=self.lat, Ve=0., Vn=0., SVe=0., SVn=0.) # N=M.substract_pole(pole,pole_type) N = M.pole(W=pole, SW=None, type_euler='euler', option='predict') vel_neu = np.array([N.Vn, N.Ve, 0.]) * 1E-3 VERBOSE("Removing velocity (NEU): %10.3lf %10.3lf %10.3lf" % tuple((vel_neu * 1.E3).tolist())) new_Gts = self.remove_velocity(vel_neu) return (new_Gts)