/*The data contained in directory "syowa" are made available by Prof. Katsutada Kaminuma Department of Earth Sciences National Institute of Polar Research 1-9-10 Kaga, Itabashi-ku, Tokyo 173, Japan Fax:81(Japan)-3-3962-5741 Tel:81-3-3962-4711 Ext.354 The coordinates for SYO (Syowa) Station are 69deg 00min 31.7sec S, 39deg 35min 31.6sec E Syowa Antarctica SYO* -69.01 39.59 Pre-POSEIDON Existing VBB,140dB -----------Do you want to use other data at SYO station?---------------- All the arrivals read at this station are listed in JARE DATA REPORTS, Japanese Antarctic Research Expedition, National Institute of Polar Research, Tokyo, Japan. For example, No.172 published in Feb 1992. Please first refer this report when you would like to use other event data. After you confirm that the event was recorded at this station, please write to Prof. Kaminuma specifically which data you would like to use. Then Prof. Kaminuma will send the data to us, Pre-POSEIDON Data Center. Then we can transfer the data to this directory and make them available to users. -----------Do you want to decode the data?------------------------------ Following is a C program to decode the SYOWA data. Please distribute this to anyone who may be interseted in. * rd_soywa.c * * program to decode SYOWA STS1 data with 10Hz sampling * * each record contains 178 bytes binary data corresponding * three components seismograms for one second (i.e., 30 data points) * * as for decoding, refer to the QUANTERRA manual * * Nov. 20, 1992 coded by H. Kawakatsu * (Earthquake Reserch Institue, U. Tokyo) * * USAGE: * rd_syowa.x < data_file > out_file * data will be printed in ascii */ #include struct syowa { unsigned char p[3][3],uc,s[30][5],cc[18]; } data; struct gram { int year,month,day,hour,min,sec; int pos[3],seis[3][10]; /* * seis[0]: Z * seis[1]: N * seis[2]: E */ } sgram; rd_syowa_(ndr,iyy,imon,iday,ih,im,isec,wavez,waven,wavee) int *iyy,*imon,*iday,*ih,*im,*isec; long *ndr; float wavez[],waven[],wavee[]; { int i,n=0; /*printf(" Z N E\n\n"); */ fseek(stdin,0L,2); printf("%ld \n",ftell(stdin)); *ndr=ftell(stdin)/178*10; printf("npts= %ld\n",*ndr); fseek(stdin,0L,0); while( n< *ndr) { fread(&data,178,1,stdin); decode(); if(n==0) {printf("%2d %2d %2d %2d %2d %2d\n", sgram.year,sgram.month,sgram.day,sgram.hour,sgram.min,sgram.sec); *iyy=sgram.year; *imon=sgram.month; *iday=sgram.day; *ih=sgram.hour; *im=sgram.min; *isec=sgram.sec; } /* fprintf(stderr,"%2d %2d %2d %2d %2d %2d\n", sgram.year,sgram.month,sgram.day,sgram.hour,sgram.min,sgram.sec); */ /* printf("POS: %10d %10d %10d\n",sgram.pos[0],sgram.pos[1],sgram.pos[2]); */ for(i=0;i<10;i++,n++) { /* printf("%10d %10d %10d\n",sgram.seis[0][i],sgram.seis[1][i],sgram.seis[2][i]); */ wavez[n]=(double)sgram.seis[0][i]; waven[n]=(double)sgram.seis[1][i]; wavee[n]=(double)sgram.seis[2][i]; /* printf("%5d %10d %10d %10d\n",n,sgram.seis[0][i],sgram.seis[1][i],sgram.seis[2][i]); */ } } } decode() { int i,isg[3],icomp; short conv_p(); unsigned char iuc, conv_uc(); for(i=0;i<3;i++) { sgram.pos[i] = conv_p(data.p[i]); isg[i]=0; } iuc = conv_uc(data.uc); for(i=0;i<30;i++) { icomp = data.s[i][4]&07; sgram.seis[icomp][isg[icomp]++] = conv_sg(data.s[i]); } sscanf(data.cc,"%2d%2d%2d%2d%2d00%2d",&sgram.hour,&sgram.min,&sgram.day,&sgram.month,&sgram.year,&sgram.sec); } conv_sg(ss) unsigned char ss[5]; { unsigned char c1,c2,c3; int dum,dum2; c1 = ss[3]<<6; c2 = ((ss[3]>>2)<<6); c3 = ((ss[3]>>4)<<6); dum = ss[2] + c1; dum += (ss[1] + c2) *256; dum += (ss[0] + c3) *65536; /* convet 24-bit 2's complement interger*/ if( (dum>>23)&01 ) { dum2 = (~dum + 1) & 077777777; /* printf("neg %10d %10d %10d\n",dum2,dum,(dum+dum2)&077777777); */ dum = -dum2; } /* else { printf("pos %10d\n",dum); } */ return(dum); } short conv_p(pp) unsigned char pp[3]; { short dum; dum = (pp[2]>>1); dum += (pp[1]<<5); dum += (pp[0]<<11); return(dum); } unsigned char conv_uc(uc) unsigned char uc; { unsigned char dum; dum = (uc<<2)>>5; return(dum); }