SUWIND - window traces by key word

     suwind <stdin >stdout [options]                             

 Required Parameters:                                      
      none                                           

 Optional Parameters:                                      
      verbose=0   =1 for verbose                           
      key=tracl   Key header word to window on (see segy.h)
      min=LONG_MIN    min value of key header word to pass       
      max=LONG_MAX    max value of key header word to pass       
      abs=0    =1 to take absolute value of key header word      
      j=1        Pass every j-th trace ...                       
      s=0        ... based at s  (if ((key - s)%j) == 0)         
      count=ULONG_MAX ... up to count traces                     
      reject=none     Skip traces with specified key values      
      accept=none     Pass traces with specified key values(see notes)
 Options for vertical windowing (time gating):                   
      dt=tr.dt (from header)  time sampling interval (sec)       
      tmin=0.0          min time to pass             
      tmax=(from header)      max time to pass             
      itmin=0           min time sample to pass                 
      itmax=(from header)     max time sample to pass            
      nt=itmax-itmin+1  number of time samples to pass           

 Notes:                                              
      On large data sets, the count parameter should be set if possible.  Otherwise, every trace in the data set will be examined.  However, the count parameter overrides the accept parameter, so you can't specify count if you want true unconditional acceptance.                             

The accept option is a bit strange--it does NOT mean accept ONLY the traces on the accept list!  It means accept these traces, even if they would otherwise be rejected (except as noted in the previous paragraph).  To implement accept-only, you can use the max=0 option (rejecting everything).  For example, to accept only the tracl values 4, 5 and 6:                    
            ... | suwind max=0 accept=4,5,6 | ...                

On most 32 bit machines, LONG_MIN, LONG_MAX and ULONG_MAX are about -2E9,+2E9 and 4E9, they are defined in limits.h.      

Selecting times beyond the maximum in the data induces zero padding (up to SU_NFLTS).                             

The time gating here is to the nearest neighboring sample or time value. Gating to the exact temporal value requires resampling if the selected times fall between samples on the trace. Use suresamp to perform the time gating in this case.   

It doesn't really make sense to specify both itmin and tmin, but specifying itmin takes precedence over specifying tmin. Similarly, itmax takes precedence over tmax and tmax over nt. If dt in header is not set, then dt is mandatory        

 Credits:
      SEP: Einar Kjartansson
      CWP: Shuki Ronen, Jack Cohen, Chris Liner
      Warnemuende: Toralf Foerster

 Trace header fields accessed: ns, dt, delrt, keyword
 Trace header fields modified: ns, delrt, ntr