Changeset 4963


Ignore:
Timestamp:
07/21/12 11:42:56 (6 years ago)
Author:
paulf
Message:

patched pick_wcatwc from latest SVN release of EB

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/seismic_processing/pick_wcatwc/pick_wcatwc.c

    r4895 r4963  
    9292#include <sys/types.h> 
    9393#include <time.h> 
     94#ifdef _WINNT 
     95#include <malloc.h> // jmc 
     96#include <mat.h> 
     97#endif 
    9498 
    9599#include <earthworm.h> 
     
    99103#include <kom.h> 
    100104#include "pick_wcatwc.h" 
    101 // #include <mat.h> 
    102105#ifdef _USE_NEURALNET_ 
    103106#include <libNeuralNet.h> 
     
    110113       *     argv[1] = Name of picker configuration file         * 
    111114       ***********************************************************/ 
    112 #ifdef _WINNT 
    113 // JFP -- 
    114 // Added a new function to control when the program is closed. 
    115 // ------ 
    116 BOOL CtrlHandler( DWORD fdwCtrlType ); 
    117 // ------ 
    118 #endif 
    119  
    120 // JFP -- 
    121 // Moved these variable to global so they would be seen by the new function above. 
    122 // ------ 
     115 
     116/* Global Variables  
     117   ****************/ 
    123118GPARM                   Gparm;           /* Configuration file parameters */ 
    124 STATION                 *StaArray;           /* Station array                 */ 
     119STATION                 *StaArray;       /* Station array                 */ 
    125120char                    *WaveBuf;        /* Pointer to waveform buffer    */ 
    126 ALARMSTRUCT             *AS;                     /* Pointer to Alarm buffer       */ 
    127 int                             Nsta;            /* Number of stations in list    */ 
    128 // ----------- 
     121ALARMSTRUCT             *AS;             /* Pointer to Alarm buffer       */ 
     122int                      Nsta;           /* Number of stations in list    */ 
    129123 
    130124int main( int argc, char **argv ) 
    131125{ 
    132     
    133126   char          *configfile;     /* Pointer to name of config file */ 
    134127   static double dLastEndTime;    /* End time of last packet */ 
     
    147140   pid_t         myPid;           /* Process id of this process */ 
    148141   long          RawBufl;         /* Raw data buffer size (for Mwp) */ 
    149     
    150142   time_t        then;            /* Previous heartbeat time */ 
    151    // JFP --- Added new time variable 
    152143   time_t        diffTime; 
    153    // ------- 
    154  
    155 // JFP 
    156 #ifdef _ADD_TRACE2_HEADER_ 
    157    TRACE2_HEADER *WaveHead;        /* Pointer to waveform header */ 
    158 #else 
    159    TRACE_HEADER *WaveHead;        /* Pointer to waveform header */ 
    160 #endif 
    161 // --- 
     144   TRACE2_HEADER *WaveHead;       /* Pointer to waveform header */ 
    162145   long          *WaveLong;       /* Long pointer to waveform data */ 
    163146   long          WaveRaw[MAX_TRACEBUF_SIZ];/* Unfiltered waveform data */ 
    164147   short         *WaveShort;      /* Short pointer to waveform data */ 
    165   static   int MclInitFlag = 0; 
    166  
    167    // JFP --  Adding Environmental Parameter to Read Stations 
     148   static int    MclInitFlag = 0; 
    168149   char *paramdir; 
    169150   char  FullTablePath[512]; 
    170    // ---   
    171151    
    172 // Call the MCR and library initialization functions (Added 5/09 dln)   
    173   
    174   
     152/* Call the MCR and library initialization functions (Added 5/09 dln) */ 
    175153#ifdef _USE_NEURALNET_ 
    176 if (MclInitFlag == 0 ) 
    177     { 
    178         MclInitFlag = 1; 
    179     if ( !mclInitializeApplication( NULL, 0 ) ) 
    180     { 
    181       fprintf( stderr, "Could not initialize the matlab NN application.\n" ); 
    182       exit(1); 
    183                   
    184    } 
    185     if ( !libNeuralNetInitialize() ) 
    186      { 
    187        fprintf( stderr, "Could not initialize the matlab nn library.\n" ); 
    188        logit( "", "Could not initialize the matlab nn library.\n" ); 
    189        logit( "" , " errno: %d  \n", errno ); 
    190         //   exit(1); 
    191       } 
    192     }  
     154   if (MclInitFlag == 0 ) 
     155   { 
     156      MclInitFlag = 1; 
     157      if ( !mclInitializeApplication( NULL, 0 ) ) 
     158      { 
     159         fprintf( stderr, "Could not initialize the matlab NN application.\n" ); 
     160         exit(1);                 
     161      } 
     162      if ( !libNeuralNetInitialize() ) 
     163      { 
     164         fprintf( stderr, "Could not initialize the matlab nn library.\n" ); 
     165         logit( "", "Could not initialize the matlab nn library.\n" ); 
     166         logit( "" , " errno: %d  \n", errno ); 
     167      } 
     168   }  
    193169#endif 
    194170 
     
    202178   configfile = argv[1]; 
    203179 
    204    // JFP --  Adding Environmental Parameter to Read Stations 
     180/* Environmental Parameter to Read Stations  
     181   ****************************************/ 
     182   FullTablePath[0] = 0; 
     183#ifdef _WINNT 
    205184   paramdir = getenv( "EW_PARAMS" );  
    206    if ( paramdir == (char *)NULL )    
    207    { 
    208       // printf( "GetUtil_LoadTable: Environment variable EW_PARAMS not defined!" ); 
    209       return(-1); 
    210    } 
    211  
    212 #ifdef _WINNT 
    213    /* only do this for windows for now */ 
     185   if ( paramdir == (char *)NULL ) return(-1); 
    214186   strcpy( FullTablePath, paramdir  ); 
    215187   strcat( FullTablePath, "\\"); 
    216188#endif 
    217    strcat( FullTablePath, configfile ); 
    218    // --- 
     189   strcat( FullTablePath, configfile );  // for unix just use relative dir to EW_PARAMS since that is where all is run 
    219190 
    220191/* Get parameters from the configuration files 
     
    234205   } 
    235206 
    236    // JFP -- 
    237  
    238207#ifdef _WINNT 
    239208   if( SetConsoleCtrlHandler( (PHANDLER_ROUTINE) CtrlHandler, TRUE ) )  
    240            fprintf( stderr, "The Control Handler is installed. \n" );   
     209      fprintf( stderr, "The Control Handler is installed. \n" );   
    241210   else 
    242            fprintf( stderr, "ERROR: Could not set control handler \n" );  
    243    // ------ 
     211      fprintf( stderr, "ERROR: Could not set control handler \n" );  
    244212#endif 
    245213 
     
    249217   getlogo.mod    = Ewh.GetThisModId; 
    250218   getlogo.type   = Ewh.TypeWaveform; 
    251  
    252219   hrtlogo.instid = Ewh.MyInstId; 
    253220   hrtlogo.mod    = Gparm.MyModId; 
     
    295262/* Point to header and data portions of waveform message 
    296263   *****************************************************/ 
    297 // JFP 
    298 #ifdef _ADD_TRACE2_HEADER_ 
    299264   WaveHead  = (TRACE2_HEADER *) WaveBuf; 
    300265   WaveLong  = (long *) (WaveBuf + sizeof(TRACE2_HEADER)); 
    301266   WaveShort = (short *) (WaveBuf + sizeof(TRACE2_HEADER)); 
    302 #else 
    303    WaveHead  = (TRACE_HEADER *) WaveBuf; 
    304    WaveLong  = (long *) (WaveBuf + sizeof(TRACE_HEADER)); 
    305    WaveShort = (short *) (WaveBuf + sizeof(TRACE_HEADER)); 
    306 #endif 
    307 // --- 
    308267 
    309268/* Read the station list and return the number of stations found. 
     
    498457   ********************************************************************/ 
    499458      if ( strlen( Gparm.ATPLineupFileBB ) > 2 )     /* Then we are */ 
    500          if ( WaveHead->starttime-(int) dLastEndTime > 3600) /* Big gap */ 
     459         if ( fabs( WaveHead->starttime-(int) dLastEndTime ) > 1800 ) /* Big gap */ 
    501460         { 
    502461            free( StaArray );                                   
    503             StaArray = (STATION *) calloc( MAX_STATIONS, sizeof(STATION) );  
    504             Nsta = ReadLineupFile( Gparm.ATPLineupFileBB, StaArray ); 
     462            Nsta = ReadLineupFile( Gparm.ATPLineupFileBB, &StaArray,  
     463                                   MAX_STATIONS ); 
    505464            logit( "", "reset StaArray Nsta = %d\n", Nsta );      
    506465            if ( Nsta < 2 ) 
     
    511470            for ( i=0; i<Nsta; i++ ) 
    512471            { 
    513                StaArray[i].iFirst = 1;  
    514                InitVar( &StaArray[i] );    
    515472               free( StaArray[i].plRawData ); 
    516473               free( StaArray[i].pdRawDispData ); 
     
    526483      Sta = NULL;                                                                  
    527484      for ( i=0; i<Nsta; i++ ) 
    528 #ifdef _ADD_TRACE2_HEADER_ 
    529485         if ( !strcmp( WaveHead->sta,  StaArray[i].szStation ) && 
    530486              !strcmp( WaveHead->chan, StaArray[i].szChannel ) && 
    531487              !strcmp( WaveHead->loc,  StaArray[i].szLocation ) && 
    532488              !strcmp( WaveHead->net,  StaArray[i].szNetID ) ) 
    533 #else 
    534          if ( !strcmp( WaveHead->sta,  StaArray[i].szStation ) && 
    535               !strcmp( WaveHead->chan, StaArray[i].szChannel ) && 
    536               !strcmp( WaveHead->net,  StaArray[i].szNetID ) ) 
    537 #endif 
    538489         { 
    539490            Sta = (STATION *) &StaArray[i]; 
Note: See TracChangeset for help on using the changeset viewer.