#include /* change from to the heada file in your system*/ #include #include #include #ifndef EXIT_FAILURE #define EXIT_FAILURE 1 #endif #ifndef EXIT_SUCCESS #define EXIT_SUCCESS 0 #endif void plot1(); main() { char y; if(cpgbeg(0, "/ps", 1, 10) != 1) exit(EXIT_FAILURE); cpgask(1); plot1(); cpgend(); printf("PRINT ok?(y/n)\n"); scanf("%s",&y); if(y=='y'){ system("lp pgplot.ps");} /* system("lp pgplot.ps");*/ printf("END\n"); return EXIT_SUCCESS; } void plot1() { int REV,Y,M,D,a=0,j,k=0,i,y,m,d=1,t=0,l=0,kk=0,kkk=0,ihh,imm,mm; int p,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16, s17,s18,s20,s21,s22,dem,t4[5500],n4[5500],L,Te,Ne,TE[13][48],NE[13][48]; long s19; char fname1[50],fname2[50],fname3[50],al,buf[250],MO[7],FL[5]; double dx[13][48],dy[13][48],dxn[13][48],dyn[13][48],DX,DY,MLAT,T,LT,DXn,DYn, t0[5500],n0[5500],t1[5500],t2[5500],t3[5500],n1[5500],n2[5500],n3[5500], t5[5500],t6[5500],t7[5500],t8[5500]; float xp[2],yp[2],xr[5500], yr[5500],yrr[5500]; float xmin,xmax,ymin,ymax,xd,x1,y1,llx[2],lly[2]; char string[10],string1[10],string2[10],string3[10],string4[10], string5[10],string6[10]; FILE *fa,*fb,*fc,*fd; while(l<=12){while(t<=47){TE[l][t]=0;dx[l][t]=0.0;dy[l][t]=0.0;NE[l][t]=0;dxn[l][t]=0.0;dyn[l][t]=0.0;t++;}t=0;l++;} t=0;l=0; printf("input Data file month. ex 8102\n"); scanf("%s",&FL); mm=atoi(FL); if((mm<=8112 && mm>=8111 ) || mm==8201){strcpy(MO,"1112-1");/*MO='1112-1';*/} if((mm<=8104 && mm>=8102) || (mm<=8204 && mm>=8202) ){strcpy(MO,"234");} if((mm<=8107 && mm>=8105) || (mm<=8207 && mm>=8205) ){strcpy(MO,"567");} if(mm<=8110 && mm>=8108 ){strcpy(MO,"8910");} printf("Which Average file? High solar activity(F10.7>175)=1 or Low solar activity(F10.7<200)=2.\n"); scanf("%d",&p); if(p==2){sprintf(fname1,"%s%s","./AVE/",MO);} if(p==1){ sprintf(fname1,"%s%s%s","./AVE/",MO,"h");} if((fb=fopen(fname1,"r"))==NULL){printf("TE ave AKIMASEN\n");exit(1);} printf("Te ave ok\n"); while (fscanf(fb,"%d %lf %d %lf %lf",&L,&T,&Te,&DX,&DY)!=EOF){ while(l<=12){ while(t<=47){ if(L==-30+5*l && T==0.5*t){ TE[l][t]=Te; dx[l][t]=DX; dy[l][t]=DY; } t++; } t=0; l++; }l=0; } t=0; l=0; fclose(fb); if(p==2){sprintf(fname2,"%s%s","./AVE/n",MO);} if(p==1){sprintf(fname2,"%s%s%s","./AVE/n",MO,"h");} if((fd=fopen(fname2,"r"))==NULL){printf("NE ave AKIMASEN\n");exit(1);} printf("Ne ave ok\n"); while (fscanf(fd,"%d %lf %d %lf %lf",&L,&T,&Ne,&DXn,&DYn)!=EOF){ while(l<=12){ while(t<=47){ if(L==-30+5*l && T==0.5*t){ NE[l][t]=Ne; dxn[l][t]=DXn; dyn[l][t]=DYn;} t++; } t=0; l++; }l=0; } t=0; l=0; fclose(fd); /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ /*change the directry */ sprintf(fname3,"%s%s","/Data/Data/Hinotori/hinotori.",FL); /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ if ((fa=fopen(fname3,"r"))==NULL){printf("AKIMASEN\n");exit(1);} printf(" ok\n"); printf("Orbit number?\n"); scanf("%d",&REV); while(a<5499){t0[a]=t1[a]=t2[a]=t3[a]=n0[a]=n1[a]=n2[a]=n3[a]=0.0;t5[a]=t7[a]=t8[a]=0;a++;} /*Read Data and make averages Te*/ while((fscanf(fa,"%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", &s1,&s2,&s3,&s4,&s5,&s6,&s7,&s8,&s9,&s10,&s11,&s12,&s13,&s14,&s16,&s15,&s17, &s18,&s19,&s20,&s21,&s22,&dem,&dem,&dem,&dem,&dem,&dem,&dem,&dem))!=EOF){ if(s1==REV && s15<3250 && s15>=-3250) {if(k==0){ Y=s2; M=s3; D=s4;} if(s21!=0){ t=0;l=0; while(l<=12){ while(t<=47){ if((s15<-3000+500*l+250 && s15>=-3000+500*l) && (s11*60+s12<30*t+15 && s11*60+s12>=30*t )){ t0[k]=s5+s6/60.0; t1[k]=s15/100.0; t2[k]=(s11*60+s12)/60.0; t3[k]=TE[l][t]+dx[l][t]*(s15/100.0-(-30.0+5.0*l))+dy[l][t]*((s11*60.0+s12)-30.0*t); t4[k]=s21;t5[k]=s14/100.0;t7[k]=s16/100.0;t8[k]=s17/100.0;k++;} if((s15<-3000+500*l+250 && s15>=-3000+500*l) &&(s11*60+s12<30*t && s11*60+s12>=30*t-15) ){/*printf("%d\n",k);*/ t0[k]=s5+s6/60.0; t1[k]=s15/100.0; t2[k]=(s11*60+s12)/60.0; t3[k]=TE[l][t]+dx[l][t]*(s15/100.0-(-30.0+5.0*l))-dy[l][t-1]*(30.0*t-(s11*60.0+s12)); t4[k]=s21;t5[k]=s14/100.0;t7[k]=s16/100.0;t8[k]=s17/100.0;k++;} if((s15<-3000+500*l && s15>=-3000+500*l-250) &&(s11*60+s12<30*t+15 && s11*60+s12>=30*t) ){/*printf("%d\n",k);*/ t0[k]=s5+s6/60.0; t1[k]=s15/100.0; t2[k]=(s11*60+s12)/60.0; t3[k]=TE[l][t]-dx[l-1][t]*((-30.0+5.0*l)-s15/100.0)+dy[l][t]*((s11*60.0+s12)-30.0*t); t4[k]=s21;t5[k]=s14/100.0;t7[k]=s16/100.0;t8[k]=s17/100.0;k++;} if((s15<-3000+500*l && s15>=-3000+500*l-250) &&(s11*60+s12<30*t && s11*60+s12>=30*t-15 )){/*printf("%d\n",k);*/ t0[k]=s5+s6/60.0; t1[k]=s15/100.0; t2[k]=(s11*60+s12)/60.0; t3[k]=TE[l][t]-dx[l-1][t]*((-30.0+5.0*l)-s15/100.0)-dy[l][t-1]*(30.0*t-(s11*60.0+s12)); t4[k]=s21;t5[k]=s14/100.0;t7[k]=s16/100.0;t8[k]=s17/100.0;k++;} t++;} t=0; l++; } l=0; } if(s19!=0){t=0;l=0; while(l<=12){ while(t<=47){ if((s15<-3000+500*l+250 && s15>=-3000+500*l) && (s11*60+s12<30*t+15 && s11*60+s12>=30*t )){ n0[kk]=s5+s6/60.0; n1[kk]=s15/100.0; n2[kk]=(s11*60+s12)/60.0; n3[kk]=NE[l][t]+dxn[l][t]*(s15/100.0-(-30.0+5.0*l))+dyn[l][t]*((s11*60.0+s12)-30.0*t);n4[kk]=s19;kk++;} if((s15<-3000+500*l+250 && s15>=-3000+500*l) &&(s11*60+s12<30*t && s11*60+s12>=30*t-15) ){ n0[kk]=s5+s6/60.0; n1[kk]=s15/100.0; n2[kk]=(s11*60+s12)/60.0; n3[kk]=NE[l][t]+dxn[l][t]*(s15/100.0-(-30.0+5.0*l))-dyn[l][t-1]*(30.0*t-(s11*60.0+s12));n4[kk]=s19;kk++;} if((s15<-3000+500*l && s15>=-3000+500*l-250) &&(s11*60+s12<30*t+15 && s11*60+s12>=30*t) ){ n0[kk]=s5+s6/60.0; n1[kk]=s15/100.0; n2[kk]=(s11*60+s12)/60.0; n3[kk]=NE[l][t]-dxn[l-1][t]*((-30.0+5.0*l)-s15/100.0)+dyn[l][t]*((s11*60.0+s12)-30.0*t);n4[kk]=s19;kk++;} if((s15<-3000+500*l && s15>=-3000+500*l-250) &&(s11*60+s12<30*t && s11*60+s12>=30*t-15 )){ n0[kk]=s5+s6/60.0; n1[kk]=s15/100.0; n2[kk]=(s11*60+s12)/60.0; n3[kk]=NE[l][t]-dxn[l-1][t]*((-30.0+5.0*l)-s15/100.0)-dyn[l][t-1]*(30.0*t-(s11*60.0+s12));n4[kk]=s19;kk++;} t++;} t=0; l++; } l=0; } } l=0;t=0; if(s1>REV){break;} } printf("%d %f\n",k,t0[k]); fclose(fa); /* set */ xmin = 0.0; xmax = 24.0; cpgsch(8.0); /* 1 */ ymin = 4.0; ymax = 7.0; cpgenv(xmin,xmax,ymin,ymax, 0, -2); cpgsvp(0.2,1.0,-2.0,0.4); if(p==2){ sprintf(string4,"%d %d %d Orbit Number %d",Y,M,D,REV);} if(p==1){ sprintf(string4,"%d %d %d Orbit Number %d high S.A",Y,M,D,REV);} cpglab(" ", "(Ne)",string4 ); for(i=0; i=t2[i]-5.0/60.0)){ sprintf(string2,"%2d:%d\0",(int)(t0[i]),(int)((t0[i]-(int)(t0[i]))*60.0)); sprintf(string3,"%2.2lf\0",t7[i]); sprintf(string1,"%2.2lf\0",t1[i]); sprintf(string5,"%3.2lf\0",t5[i]); sprintf(string6,"%3.2lf\0",t8[i]); cpgptxt(x1,y1,0.0,0.0,string2); cpgptxt(x1,y1-3,0.0,0.0,string3); cpgptxt(x1,y1-4.5,0.0,0.0,string1); cpgptxt(x1,y1-6.0,0.0,0.0,string5); cpgptxt(x1,y1-7.5,0.0,0.0,string6); break;} if(i==k-1) { cpgptxt(x1,y1,0.0,0.0,"***"); cpgptxt(x1,y1-3,0.0,0.0,"***"); cpgptxt(x1,y1-4.5,0.0,0.0,"***"); cpgptxt(x1,y1-6.0,0.0,0.0,"***"); cpgptxt(x1,y1-7.5,0.0,0.0,"***");} } } return; }