#include #include #include #include //#include "kg.h" //#include "SpiceUsr.h" //#include "SpiceZfc.h" //#define X0 (64+720+64) //#define X1 (64) //#define X2 (64+720) //#define Y0 (24+600+20+24) //#define Y1 (24) //#define Y2 (24+600) //#define Y3 (24+600+20) #define GLAT ( 37.700) #define GLON (140.667) #define NS (900) #define P1 (-110) #define P2 ( 110) int main(int argc,char *argv[]){ int i,j,k,l,c0,c1,c2,c3,x,pw0,pw1,ch1,ch2,c,p,w,md; static char buf[256],path[64]; static int data[NS]; static double data2[NS]; FILE *fp,*fpl; //SpiceDouble et,spoint[3],tpoint[3],radius,lon,lat,dist,alt,dum; double iph,cml,io,ele; long int date; static unsigned short v[6]; static unsigned short v2[14]; double f; sscanf(argv[1],"%ld",&date); //sscanf(argv[2],"%d",&pw0); //sscanf(argv[3],"%d",&pw1); //sscanf(argv[4],"%d",&p); //sscanf(argv[5],"%d",&w); //furnsh_c("/home/jupiter/kernel/naif0012.tls"); //furnsh_c("/home/jupiter/kernel/pck00010.tpc"); //furnsh_c("/home/jupiter/kernel/de421.bsp"); //furnsh_c("/home/jupiter/kernel/jup230l.bsp"); //if (w) printf("Content-type: image/png\n\n"); //KGopen(X0,Y0,"color","png",stdout); //KGstring(16,X1,Y1,1,"Iitate Array Wideband Spectrogram",black); //sprintf(buf,"Date:%s",argv[1]); //KGstring(16,X2,Y1,3,buf,black); //KGbox(X1,Y1,X2,Y2,black); //KGbox(X1,Y2,X2,Y3,black); //x=X1; for (i=0;i<144;i++) { sprintf(buf,"/pub/j/data/10min-j/%s/%s%02d%02d00.10min", argv[1],argv[1],i/6,(i%6)*10); //fprintf(stderr,"%s %ld\n",buf,date); if (NULL!=(fp=fopen(buf,"r"))) { for (j=0;j<5;j++) { for (l=0;l13.794 1352=>41.260 f=13.56+(40.56-13.56)/300.0*l; // 452=>13.56 1352=>40.56 f=20*log10(f); data2[l+300]=data[l+300]/100.0+f-270-8; // Ch1 -> dBW/m^2/Hz data2[l ]=data[l ]/100.0+f-270-8; // Ch2 -> dBW/m^2/Hz //fprintf(stderr,"%.3lf %.3lf ",data2[l+300],data2[l]); } } for (l=0;l<(NS/3)*2;l++) { //fprintf(stderr,"a1 l=%d\n",l); c=128.0*(data2[l]-pw0)/(pw1-pw0); //c=128.0*(data[l]/100.0-pw0)/(pw1-pw0); if (c<0) c=0; if (c>127) c=127; KGbox(X1+i*5+j,Y2-l,X1+i*5+j+1,Y2-l,col[c]); } } fclose(fp); } } //KGframe(X1,Y1,X2,Y2-300,black); //KGframe(X1,Y2-300,X2,Y2,black); //KGline(X1 ,Y3,X1 ,Y3+6,black); //KGline(X1+180,Y3,X1+180,Y3+6,black); //KGline(X1+360,Y3,X1+360,Y3+6,black); //KGline(X1+540,Y3,X1+540,Y3+6,black); //KGline(X1+720,Y3,X1+720,Y3+6,black); //KGstring(16,X1,Y3+8,8,"00:00",black); //KGstring(16,X1+180,Y3+8,8,"06:00",black); //KGstring(16,X1+360,Y3+8,8,"12:00",black); //KGstring(16,X1+540,Y3+8,8,"18:00",black); //KGstring(16,X1+720,Y3+8,8,"24:00",black); //KGline(X1,Y2-293-300,X1-6,Y2-293-300,black); //KGline(X1,Y2-182-300,X1-6,Y2-182-300,black); //KGline(X1,Y2- 71-300,X1-6,Y2- 71-300,black); //KGline(X1,Y2-293,X1-6,Y2-293,black); //KGline(X1,Y2-182,X1-6,Y2-182,black); //KGline(X1,Y2- 71,X1-6,Y2- 71,black); //KGstring(16,X1-8,Y2-293-300,6,"40",black); //KGstring(16,X1-8,Y2-182-300,6,"30",black); //KGstring(16,X1-8,Y2- 71-300,6,"20",black); //KGstring(16,X1-8,Y2-293,6,"40",black); //KGstring(16,X1-8,Y2-182,6,"30",black); //KGstring(16,X1-8,Y2- 71,6,"20",black); //KGstring(16,X1-36,Y1+150,-2,"RH (Array)",black); //KGstring(16,X1-36,Y1+450,-2,"RH (Single)",black); //for (i=0;i<720;i++) { //sprintf(buf,"%c%c%c%c-%c%c-%c%cT%02d:%02d", //argv[1][0],argv[1][1],argv[1][2],argv[1][3], //argv[1][4],argv[1][5],argv[1][6],argv[1][7], //i/30,(i%30)*2); //KGstring(16,X1,Y1,1,buf,black); //str2et_c(buf,&et); //subpt_c("Near point","EARTH",et,"NONE","JUPITER",spoint,&dum); //tpoint[0]=cos(GLAT/dpr_c())*cos(GLON/dpr_c()); //tpoint[1]=cos(GLAT/dpr_c())*sin(GLON/dpr_c()); //tpoint[2]=sin(GLAT/dpr_c()); //if (spoint[0]*tpoint[0]+spoint[1]*tpoint[1]+spoint[2]*tpoint[2]>=0) //c=red; //else //c=black; //KGline(X1+i,Y2,X1+i,Y2+10,c); //subpt_c("Near point","JUPITER",et,"LT+S","EARTH",spoint,&dist); //reclat_c(spoint,&radius,&lon,&lat); //cml=-lon*dpr_c(); //while (cml< 0) cml+=360; //while (cml>=360) cml-=360; //subpt_c("Near point","JUPITER",et-dist/2.99792458e5,"LT+S","IO",spoint,&alt); //reclat_c(spoint,&radius,&lon,&lat); //iph=-lon*dpr_c(); // Io-Lon //io=cml-iph+180; // Io-Phase //while (io< 0) io+=360; //while (io>=360) io-=360; //if ((180<=cml)&&(cml<=300)&&(180<=io)&&(io<=260)) c=cyan; // Io-A //else if (( 15<=cml)&&(cml<=240)&&( 40<=io)&&(io<=110)) c=yellow; // Io-B //else if ((200<=cml)&&(cml<=300)) c=blue; // Non-Io-A //else c=black; //KGline(X1+i,Y2+10,X1+i,Y2+20,c); } //KGframe(X1,Y2,X2,Y3,black); //KGline(X1,Y2+10,X2,Y2+10,black); //KGclose(); exit(0); }