Changeset 885 for SHX/trunk


Ignore:
Timestamp:
11/29/12 11:54:10 (8 years ago)
Author:
marcus
Message:
  • add pre-filtering for simulation instruments
File:
1 edited

Legend:

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

    r879 r885  
    8181    def simulate(trace, instrument): 
    8282        """ 
    83         Perform two step filtering. First remove instrument response given in 
    84         meta data and apply simulate "instrument". 
     83        Simulate historical instrument. Removes simultaneously instrument 
     84        response and apply response of simulated instrument. 
     85 
     86        The data is automatically pre-filtered to match the frequency range 
     87        of the simulation instrument: 
     88 
     89        Wood-Anderson: band-pass between 0.1 and 10 Hz 
     90        WWSSN-SP:      band-pass between 0.01 and 100 Hz 
     91        WWSSN-LP:      band-pass between 0.001 and 1 Hz 
     92        KIRNOS:        band-pass between 0.001 and 100 Hz 
     93        SRO-LP:        band-pass between 0.001 and 1 Hz 
     94        LRSM-SP:       band-pass between 0.01 and 1000 Hz 
     95        LRSM-LP:       band-pass between 0.0005 and 10 Hz 
    8596        """ 
    8697 
     98        instrument = instrument.lower() 
    8799        tf = trace.copy() 
    88100        tf.shx.original = trace 
     
    101113        except Exceptions as E: 
    102114            raise ShxError(str(E)) 
     115 
     116        # demean data 
     117        tf.detrend("demean") 
     118 
     119        # pre-filter data 
     120        if instrument == "wood-anderson": 
     121            tf.filter('bandpass', freqmin=0.1, freqmax=10, corners=4, 
     122                                                                zerophase=True) 
     123        elif instrument == "wwssn-sp": 
     124            tf.filter('bandpass', freqmin=0.01, freqmax=100, corners=4, 
     125                                                                zerophase=True) 
     126        elif instrument == "wwssn-lp": 
     127            tf.filter('bandpass', freqmin=0.001, freqmax=1, corners=4, 
     128                                                                zerophase=True) 
     129        elif instrument == "kirnos": 
     130            tf.filter('bandpass', freqmin=0.001, freqmax=100, corners=4, 
     131                                                                zerophase=True) 
     132        elif instrument == "sro-lp": 
     133            tf.filter('bandpass', freqmin=0.001, freqmax=1, corners=4, 
     134                                                                zerophase=True) 
     135        elif instrument == "lrsm-lp": 
     136            tf.filter('bandpass', freqmin=0.0005, freqmax=10, corners=4, 
     137                                                                zerophase=True) 
     138        elif instrument == "lrsm-sp": 
     139            tf.filter('bandpass', freqmin=0.01, freqmax=1000, corners=4, 
     140                                                                zerophase=True) 
    103141 
    104142        simul = simul.parse()[0] 
Note: See TracChangeset for help on using the changeset viewer.