Changeset 875


Ignore:
Timestamp:
11/26/12 16:30:45 (8 years ago)
Author:
marcus
Message:
Location:
SHX/trunk/SeismicHandler
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • SHX/trunk/SeismicHandler/commands/simulate.py

    r872 r875  
    7676        meta = Stations() 
    7777        instruments = Instruments() 
    78         import pdb; pdb.set_trace() 
    7978 
    8079        try: 
     
    8988            raise ShxError(str(E)) 
    9089 
     90        simul = simul.parse()[0] 
     91 
    9192        simfilter = { 
    92             'poles': f.output_coeff, 
    93             'zeros': f.input_coeff, 
     93            'poles': simul.output_coeff, 
     94            'zeros': simul.input_coeff, 
    9495            'gain': 1, 
    95             'sensitivity': f.normalization, 
     96            'sensitivity': simul.normalization, 
     97        } 
     98 
     99        remfilter = { 
     100            'poles': remove._poles, 
     101            'zeros': remove._zeros, 
     102            'gain': 1, 
     103            'sensitivity': 1, 
    96104        } 
    97105 
    98106        tf.simulate( 
     107            paz_remove=remfilter, 
    99108            paz_simulate=simfilter, 
    100             taper=taper, 
    101             taper_fraction=tapval, 
     109            taper=False, 
    102110            shsim=True 
    103111        ) 
    104112 
    105         msg = "%s filtered by %s" % (tf.id, f.filename) 
     113        msg = "%s filtered by %s" % (tf.id, instrument) 
    106114        log_message("debug.filter", msg) 
    107115 
  • SHX/trunk/SeismicHandler/modules/stations.py

    r834 r875  
    114114        """ 
    115115        Special handling for start and end date, combination of network,  
    116         station and location (name) and location, stream and component (canal). 
    117         """ 
    118         name = name.lower() 
     116        station and location (name) location, stream and component (canal), 
     117        poles and zeros. 
     118 
     119        For data like latitude, longitude, depth, elevation and gain a floating 
     120        point representation is returned. 
     121 
     122        This works only if an underscore prefix is used (e.g. _latitude). If 
     123        the plain column name is used, the raw db content is returned. 
     124        """ 
     125        # XXX method not called on known args?! 
     126        if not name.startswith('_'): 
     127            return self.__getattribute__(name) 
     128 
     129        name = name.lower()[1:] 
    119130        if name not in ["start", "end", "name", "canal"]: 
    120131            value = self.__getattribute__(name) 
    121132            if name in ["latitude", "longitude", "depth", "elevation", "gain"]: 
    122133                return float(value) 
     134 
     135            if name in ["poles", "zeros"]: 
     136                # remove surrounding brackets [] 
     137                value = value.strip()[1:-1] 
     138                chain = [] 
     139                # parse values 
     140                for _i in value.split(','): 
     141                    chain.append(complex(_i)) 
     142                return chain 
    123143 
    124144            return value 
     
    142162                                                 self.__dict__["ondatems"] / 1e6 
    143163         
     164        # "end" 
    144165        if not self.__dict__["offdate"]: 
    145166            return None 
     
    238259         
    239260        for i in data: 
    240             if not i.name in self.stations: 
    241                 self.stations[i.name] = {} 
     261            if not i._name in self.stations: 
     262                self.stations[i._name] = {} 
    242263 
    243264            try: 
    244                 self.stations[i.name][i.canal].append(i) 
     265                self.stations[i._name][i._canal].append(i) 
    245266                self.channels[i.channel].append(i) 
    246267            except KeyError: 
    247                 self.stations[i.name][i.canal] = [i] 
     268                self.stations[i._name][i._canal] = [i] 
    248269                self.channels[i.channel] = [i] 
    249270 
     
    301322        match = None 
    302323        for m in meta: 
    303             if m.start > date: 
     324            if m._start > date: 
    304325                continue 
    305326 
    306327            # None == open end 
    307             if m.end is not None and m.end <= date: 
     328            if m._end is not None and m._end <= date: 
    308329                continue 
    309330 
  • SHX/trunk/SeismicHandler/tests/data/GEC2_19-NOV-2012_10-03-00-006.ASC

    r867 r875  
    66CHAN2: H 
    77START: 19-NOV-2012_10:03:00.006 
     8NETWORK: GR 
    899.495399e+01  
    9101.038190e+02  
Note: See TracChangeset for help on using the changeset viewer.