int main(int argc,char *argv[]) { char *envstr; FILE *fp; char *code=NULL; int st; int bm,rng; int frang=180,rsep=45,rxrise=100.0; double hgt=150.0; double x,y,z; envstr=getenv("SD_RADAR"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_RADAR' must be defined.\n"); exit(-1); } fp=fopen(envstr,"r"); if (fp==NULL) { fprintf(stderr,"Could not locate radar information file.\n"); exit(-1); } network=RadarLoad(fp); fclose(fp); if (network==NULL) { fprintf(stderr,"Failed to read radar information.\n"); exit(-1); } envstr=getenv("SD_HDWPATH"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_HDWPATH' must be defined.\n"); exit(-1); } RadarLoadHardware(envstr,network); code=argv[1]; bm=atoi(argv[2]); rng=atoi(argv[3]); st=RadarGetID(network,code); site=RadarYMDHMSGetSite(RadarGetRadar(network,st),2002,8,30,10,30,0); RPosCubicGS(1,bm,rng,site,frang,rsep,rxrise,hgt,&x,&y,&z); fprintf(stdout,"RPosCubicGS\n"); fprintf(stdout,"%s bm=%d rng=%d\n",code,bm,rng); fprintf(stdout,"x=%g y=%g z=%g\n",x,y,z); return 0; }
int main(int argc,char *argv[]) { /* File format transistion * ------------------------ * * When we switch to the new file format remove any reference * to "new". Change the command line option "new" to "old" and * remove "old=!new". */ char *envstr; int status; int arg; unsigned char help=0; unsigned char option=0; unsigned char vb=0; FILE *fp=NULL; struct OldRawFp *rawfp=NULL; int irec=1; int drec=2; int dnum=0; time_t ctime; int c,n; char command[128]; char tmstr[40]; prm=RadarParmMake(); raw=RawMake(); OptionAdd(&opt,"-help",'x',&help); OptionAdd(&opt,"-option",'x',&option); OptionAdd(&opt,"vb",'x',&vb); arg=OptionProcess(1,argc,argv,&opt,NULL); if (help==1) { OptionPrintInfo(stdout,hlpstr); exit(0); } if (option==1) { OptionDump(stdout,&opt); exit(0); } envstr=getenv("SD_RADAR"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_RADAR' must be defined.\n"); exit(-1); } fp=fopen(envstr,"r"); if (fp==NULL) { fprintf(stderr,"Could not locate radar information file.\n"); exit(-1); } network=RadarLoad(fp); fclose(fp); if (network==NULL) { fprintf(stderr,"Failed to read radar information.\n"); exit(-1); } envstr=getenv("SD_HDWPATH"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_HDWPATH' must be defined.\n"); exit(-1); } RadarLoadHardware(envstr,network); if (arg==argc) fp=stdin; else fp=fopen(argv[arg],"r"); if (fp==NULL) { fprintf(stderr,"File not found.\n"); exit(-1); } status=RawFread(fp,prm,raw); radar=RadarGetRadar(network,prm->stid); if (radar==NULL) { fprintf(stderr,"Failed to get radar information.\n"); exit(-1); } site=RadarYMDHMSGetSite(radar,prm->time.yr,prm->time.mo, prm->time.dy,prm->time.hr,prm->time.mt, prm->time.sc); if (site==NULL) { fprintf(stderr,"Failed to get site information.\n"); exit(-1); } command[0]=0; n=0; for (c=0;c<argc;c++) { n+=strlen(argv[c])+1; if (n>127) break; if (c !=0) strcat(command," "); strcat(command,argv[c]); } if (vb) fprintf(stderr,"%d-%d-%d %d:%d:%d beam=%d\n",prm->time.yr,prm->time.mo, prm->time.dy,prm->time.hr,prm->time.mt,prm->time.sc,prm->bmnum); do { ctime = time((time_t) 0); RadarParmSetOriginCommand(prm,command); strcpy(tmstr,asctime(gmtime(&ctime))); tmstr[24]=0; RadarParmSetOriginTime(prm,tmstr); prm->lagfr = 2400; prm->frang = 360; status=RawFwrite(stdout,prm,raw); status=RawFread(fp,prm,raw); if (vb) fprintf(stderr,"%d-%d-%d %d:%d:%d beam=%d\n",prm->time.yr,prm->time.mo, prm->time.dy,prm->time.hr,prm->time.mt,prm->time.sc,prm->bmnum); } while (status==0); return 0; }
int main(int argc,char *argv[]) { char *envstr; FILE *fp; int s; int state=0; int yr,mo,dy,hr,mt; double sc; int iflg=0; int avlen=120; unsigned char xtd=0; char wrtlog[256]; int pval=0; double min[4]={35,3,10,0}; double max[4]={2000,50,1000,200}; int tflg=0; double alt=300.0; grid.st_time=-1; grid.status=0; grid.pnt=NULL; grid.gsct=0; grid.chn=0; envstr=getenv("SD_RADAR"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_RADAR' must be defined.\n"); exit(-1); } fp=fopen(envstr,"r"); if (fp==NULL) { fprintf(stderr,"Could not locate radar information file.\n"); exit(-1); } network=RadarLoad(fp); fclose(fp); if (network==NULL) { fprintf(stderr,"Failed to read radar information.\n"); exit(-1); } envstr=getenv("SD_HDWPATH"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_HDWPATH' must be defined.\n"); exit(-1); } RadarLoadHardware(envstr,network); fp=fopen(argv[1],"r"); if (fp==NULL) { fprintf(stderr,"File not found.\n"); exit(-1); } while(FitFreadRadarScan(fp,&state,&scn,&prm,&fit,0,0,0) !=-1) { TimeEpochToYMDHMS(scn.st_time,&yr,&mo,&dy,&hr,&mt,&sc); fprintf(stderr,"%.4d-%.2d-%.2d %.2d:%.2d:%.2d\n", yr,mo,dy,hr,mt,(int) sc); FilterBoundType(&scn,tflg); FilterBound(pval,&scn,min,max); if (site==NULL) { radar=RadarGetRadar(network,scn.stid); if (radar==NULL) { fprintf(stderr,"Failed to get radar information.\n"); exit(-1); } site=RadarYMDHMSGetSite(radar,prm.time.yr,prm.time.mo, prm.time.dy,prm.time.hr,prm.time.mt, prm.time.sc); } s=GridTableTest(&grid,&scn,avlen); if (s==1) { GridTableFwrite(stdout,&grid,wrtlog,xtd); } if (scn.num>=16) GridTableMap(&grid,&scn,site,avlen,iflg,alt); } fclose(fp); return 0; }
int main(int argc,char *argv[]) { FILE *fp; char *envstr; int s; envstr=getenv("SD_RADAR"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_RADAR' must be defined.\n"); exit(-1); } fp=fopen(envstr,"r"); if (fp==NULL) { fprintf(stderr,"Could not locate radar information file.\n"); exit(-1); } network=RadarLoad(fp); fclose(fp); if (network==NULL) { fprintf(stderr,"Failed to read radar information.\n"); exit(-1); } envstr=getenv("SD_HDWPATH"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_HDWPATH' must be defined.\n"); exit(-1); } RadarLoadHardware(envstr,network); fp=fopen(argv[1],"r"); if (fp==NULL) { fprintf(stderr,"File not found.\n"); exit(-1); } s=RawFread(fp,&prm,&raw); if (s==-1) { fprintf(stderr,"Error reading file.\n"); exit(-1); } radar=RadarGetRadar(network,prm.stid); if (radar==NULL) { fprintf(stderr,"Failed to get radar information.\n"); exit(-1); } site=RadarYMDHMSGetSite(radar,prm.time.yr,prm.time.mo, prm.time.dy,prm.time.hr,prm.time.mt, prm.time.sc); if (site==NULL) { fprintf(stderr,"Failed to get site information.\n"); exit(-1); } FitACFStart(site,prm.time.yr,&fblk); do { fprintf(stderr,"%.4d-%.2d-%.2d %.2d:%.2d:%.2d\n", prm.time.yr,prm.time.mo,prm.time.dy, prm.time.hr,prm.time.mt,prm.time.sc); FitACF(&prm,&raw,&fblk,&fit); s=FitFwrite(stdout,&prm,&fit); s=RawFread(fp,&prm,&raw); } while (s !=-1); FitACFEnd(&fblk); fclose(fp); return 0; }
int main(int argc,char *argv[]) { /*declarations*/ int arg = 0; double pi = 3.14159; FILE *fp; FILE *mfp = NULL; char *envstr; unsigned char help = 0; unsigned char option = 0; int s = 0, vb=0; envstr=getenv("SD_RADAR"); if(envstr==NULL) { fprintf(stderr,"Environment variable 'SD_RADAR' must be defined.\n"); return -1; } fp=fopen(envstr,"r"); if(fp==NULL) { fprintf(stderr,"Could not locate radar information file.\n"); exit(-1); } network=RadarLoad(fp); fclose(fp); if(network==NULL) { fprintf(stderr,"Failed to read radar information.\n"); exit(-1); } envstr=getenv("SD_HDWPATH"); if(envstr==NULL) { fprintf(stderr,"Environment variable 'SD_HDWPATH' must be defined.\n"); exit(-1); } RadarLoadHardware(envstr,network); /*add options to control performance*/ OptionAdd(&opt,"-help",'x',&help); OptionAdd(&opt,"-option",'x',&option); OptionAdd(&opt,"vb",'x',&vb); /*process the options*/ arg=OptionProcess(1,argc,argv,&opt,NULL); if(option == 1) { OptionDump(stdout,&opt); exit(0); } struct MergeData * data = malloc(sizeof(struct MergeData)); memset(data,0,sizeof(struct MergeData)); mfp=fopen(argv[arg],"r"); fprintf(stderr,"%s\n",argv[arg]); if(fp==NULL) { fprintf(stderr,"File %s not found.\n",argv[arg]); exit(-1); } MergeFread(mfp,data); radar1=RadarGetRadar(network,data->radar1.stid); if (radar1==NULL) { fprintf(stderr,"Failed to get radar information.\n"); exit(-1); } radar2=RadarGetRadar(network,data->radar2.stid); if (radar1==NULL) { fprintf(stderr,"Failed to get radar information.\n"); exit(-1); } fclose(mfp); free(data); return 0; }
static PyObject * PosMag(PyRPosObject *self, PyObject *args, PyObject *kwds) { PyObject *list=NULL, *timetuple=NULL; char *radarcode; struct RadarNetwork *network; struct Radar *radar; struct RadarSite *site; int center, bcrd, rcrd; int frang,rsep,rxrise,height; int yr,mo,dy,hr,mt; double sc; int stid; double rho,lat,lng; char *envstr=NULL; FILE *fp; int r,c; static char *kwlist[] = {"center","bcrd","rcrd","frang","rsep","rxrise","height", "radarcode","radarid","time",NULL}; PyDateTime_IMPORT; center=0; bcrd=1; rcrd=15; frang=1200; rxrise=0; rsep=100; height=300; radarcode="kod"; stid=-1; yr=2008; mo=7; dy=12; hr=12; mt=0; sc=0; if (! PyArg_ParseTupleAndKeywords(args, kwds, "|iiiiiiisiO", kwlist, ¢er,&bcrd,&rcrd,&frang,&rsep,&rxrise,&height,&radarcode,&stid,&timetuple)) return NULL; if ( timetuple != NULL) { if (PyDateTime_Check(timetuple)) { yr=PyDateTime_GET_YEAR(timetuple); mo=PyDateTime_GET_MONTH(timetuple); dy=PyDateTime_GET_DAY(timetuple); hr=PyDateTime_DATE_GET_HOUR(timetuple); mt=PyDateTime_DATE_GET_MINUTE(timetuple); sc=PyDateTime_DATE_GET_SECOND(timetuple); } } envstr=getenv("SD_RADAR"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_RADAR' must be defined.\n"); exit(-1); } fp=fopen(envstr,"r"); if (fp==NULL) { fprintf(stderr,"Could not locate radar information file.\n"); exit(-1); } network=RadarLoad(fp); fclose(fp); if (network==NULL) { fprintf(stderr,"Failed to read radar information.\n"); exit(-1); } envstr=getenv("SD_HDWPATH"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_HDWPATH' must be defined.\n"); exit(-1); } RadarLoadHardware(envstr,network); if (stid==-1) { stid=RadarGetID(network,radarcode); } radar=RadarGetRadar(network,stid); site=RadarYMDHMSGetSite(radar,yr,mo,dy,hr,mt,(int) sc); RPosMag(center,bcrd,rcrd,site,frang,rsep,rxrise,height,&rho,&lat,&lng); radar=NULL; site=NULL; for (r=0;r<network->rnum;r++) { for (c=0;c<network->radar[r].cnum;c++) { if (network->radar[r].code[c] !=NULL) free(network->radar[r].code[c]); } if (network->radar[r].code !=NULL) free(network->radar[r].code); if (network->radar[r].name !=NULL) free(network->radar[r].name); if (network->radar[r].operator !=NULL) free(network->radar[r].operator); if (network->radar[r].hdwfname !=NULL) free(network->radar[r].hdwfname); if (network->radar[r].site !=NULL) free(network->radar[r].site); } free(network->radar); free(network); list = PyList_New(0); PyList_Append(list,Py_BuildValue("d",rho)); PyList_Append(list,Py_BuildValue("d",lat)); PyList_Append(list,Py_BuildValue("d",lng)); return list; }
static PyObject * CalcVector(PyRPosObject *self, PyObject *args, PyObject *kwds) { PyObject *location=NULL,*list=NULL, *timetuple=NULL; double lat=0,lon=0,mag, azm; double clat, clon; char *radarcode; int stid; struct RadarNetwork *network; struct Radar *radar; struct RadarSite *site; static char *kwlist[] = {"mag","azm","location","radarcode","radarid",NULL}; char *envstr=NULL; FILE *fp; int yr,mo,dy,hr,mt; double sc; yr=2008; mo=7; dy=12; hr=12; mt=0; sc=0; radarcode="kod"; stid=-1; if (! PyArg_ParseTupleAndKeywords(args, kwds, "dd|Osi", kwlist, &mag,&azm,&location,&radarcode,&stid)) return NULL; if ( timetuple != NULL) { if (PyDateTime_Check(timetuple)) { yr=PyDateTime_GET_YEAR(timetuple); mo=PyDateTime_GET_MONTH(timetuple); dy=PyDateTime_GET_DAY(timetuple); hr=PyDateTime_DATE_GET_HOUR(timetuple); mt=PyDateTime_DATE_GET_MINUTE(timetuple); sc=PyDateTime_DATE_GET_SECOND(timetuple); } } if ( location != NULL) { if (PyTuple_Check(location) && PyTuple_Size(location)==2) { lat=PyFloat_AS_DOUBLE(PyTuple_GetItem(location,0)); lon=PyFloat_AS_DOUBLE(PyTuple_GetItem(location,1)); } } else { envstr=getenv("SD_RADAR"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_RADAR' must be defined.\n"); exit(-1); } fp=fopen(envstr,"r"); if (fp==NULL) { fprintf(stderr,"Could not locate radar information file.\n"); exit(-1); } network=RadarLoad(fp); fclose(fp); if (network==NULL) { fprintf(stderr,"Failed to read radar information.\n"); exit(-1); } envstr=getenv("SD_HDWPATH"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_HDWPATH' must be defined.\n"); exit(-1); } RadarLoadHardware(envstr,network); if (stid==-1) { stid=RadarGetID(network,radarcode); } radar=RadarGetRadar(network,stid); site=RadarYMDHMSGetSite(radar,yr,mo,dy,hr,mt,(int) sc); lat=site->geolat; lon=site->geolon; } RPosCalcVector(lat,lon,mag,azm,&clat,&clon); list = PyList_New(0); PyList_Append(list,Py_BuildValue("d",clat)); PyList_Append(list,Py_BuildValue("d",clon)); return list; }
int main(int argc,char *argv[]) { int arg=0,farg; int yr,mo,dy,hr,mt,isc,usc; double sc; int st=0; FILE *fp; char *envstr; char *tmetxt=NULL,*dtetxt=NULL; double tval=0,dval=0; char *nlab[2]= {"","name:"}; char *slab[2]= {"","status:"}; char *olab[2]= {"","operator:"}; char *clab[2]= {"","code:"}; char *ilab[2]= {"","id:"}; char *hlab[2]= {"","location:"}; char *plab[2]= {"","pole:"}; unsigned char nflg=0; unsigned char sflg=0; unsigned char oflg=0; unsigned char cflg=0; unsigned char iflg=0; unsigned char hflg=0; unsigned char pflg=0; unsigned char lflg=0; unsigned char aflg=0; unsigned char stflg=0; unsigned char edflg=0; unsigned char vb=0; unsigned char help=0; unsigned char option=0; int status,c; char *tmp=NULL; char ststr[1024]; int stid[256]; int stcnt=0; char *nldstr="\n"; char *tdstr="\t"; char *dstr=NULL; OptionAdd(&opt,"-help",'x',&help); OptionAdd(&opt,"-option",'x',&option); OptionAdd(&opt,"vb",'x',&vb); OptionAdd(&opt,"n",'x',&nflg); OptionAdd(&opt,"s",'x',&sflg); OptionAdd(&opt,"o",'x',&oflg); OptionAdd(&opt,"c",'x',&cflg); OptionAdd(&opt,"i",'x',&iflg); OptionAdd(&opt,"h",'x',&hflg); OptionAdd(&opt,"p",'x',&pflg); OptionAdd(&opt,"st",'x',&stflg); OptionAdd(&opt,"ed",'x',&edflg); OptionAdd(&opt,"l",'x',&lflg); OptionAdd(&opt,"a",'x',&aflg); OptionAdd(&opt,"t",'t',&tmetxt); OptionAdd(&opt,"d",'t',&dtetxt); OptionAdd(&opt,"delim",'t',&dstr); farg=OptionProcess(1,argc,argv,&opt,NULL); if (help==1) { OptionPrintInfo(stdout,hlpstr); exit(0); } if (option==1) { OptionDump(stdout,&opt); exit(0); } if (arg==argc) { OptionPrintInfo(stdout,errstr); exit(-1); } if (tmetxt !=NULL) tval=strtime(tmetxt); if (dtetxt !=NULL) dval=strdate(dtetxt); tval+=dval; if (tval !=0) TimeEpochToYMDHMS(tval,&yr,&mo,&dy,&hr,&mt,&sc); else { TimeReadClock(&yr,&mo,&dy,&hr,&mt,&isc,&usc); sc=isc; tval=TimeYMDHMSToEpoch(yr,mo,dy,hr,mt,sc); } if (dstr==NULL) { if (lflg) dstr=tdstr; else dstr=nldstr; } envstr=getenv("SD_RADAR"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_RADAR' must be defined.\n"); exit(-1); } fp=fopen(envstr,"r"); if (fp==NULL) { fprintf(stderr,"Could not locate radar information file.\n"); exit(-1); } network=RadarLoad(fp); fclose(fp); if (network==NULL) { fprintf(stderr,"Failed to read radar information.\n"); exit(-1); } envstr=getenv("SD_HDWPATH"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_HDWPATH' must be defined.\n"); exit(-1); } RadarLoadHardware(envstr,network); for (arg=farg; arg<argc; arg++) { strcpy(ststr,argv[arg]); tmp=strtok(ststr,","); do { if (isdigit(tmp[0])) stid[stcnt]=atoi(tmp); else stid[stcnt]=RadarGetID(network,tmp); if (stid[stcnt] !=-1) stcnt++; } while ((tmp=strtok(NULL,",")) !=NULL); } if (stcnt==0) { stcnt=network->rnum; for (st=0; st<stcnt; st++) stid[st]=network->radar[st].id; } for (st=0; st<stcnt; st++) { status=RadarGetStatus(network,stid[st]); /* if ((aflg) && (status !=1)) continue; */ radar=RadarGetRadar(network,stid[st]); if (radar==NULL) continue; if (aflg) { if (radar->st_time==-1) continue; if (tval<radar->st_time) continue; if ((radar->ed_time !=-1) && (tval>radar->ed_time)) continue; } if (iflg==1) fprintf(stdout,"%s%d%s",ilab[vb],stid[st],dstr); if (cflg==1) { fprintf(stdout,"%s",clab[vb]); for (c=0; (c<RadarGetCodeNum(network,stid[st])); c++) if (c !=0) fprintf(stdout,",%s",RadarGetCode(network,stid[st],c)); else fprintf(stdout,"%s",RadarGetCode(network,stid[st],c)); fprintf(stdout,"%s",dstr); } if (nflg==1) fprintf(stdout,"%s\"%s\"%s",nlab[vb],RadarGetName(network,stid[st]), dstr); if (sflg==1) { fprintf(stdout,"%s",slab[vb]); if (status==1) fprintf(stdout,"active"); else if (status==0) fprintf(stdout,"under construction"); else if (status==-1) fprintf(stdout,"defunct"); fprintf(stdout,"%s",dstr); } if (oflg==1) fprintf(stdout,"%s\"%s\"%s",olab[vb], RadarGetOperator(network,stid[st]),dstr); if (stflg) { if (radar->st_time !=-1) { TimeEpochToYMDHMS(radar->st_time,&yr,&mo,&dy,&hr,&mt,&sc); fprintf(stdout,"%.4d%.2d%.2d%s",yr,mo,dy,dstr); } else fprintf(stdout,"-%s",dstr); } if (edflg) { if (radar->ed_time !=-1) { TimeEpochToYMDHMS(radar->ed_time,&yr,&mo,&dy,&hr,&mt,&sc); fprintf(stdout,"%.4d%.2d%.2d%s",yr,mo,dy,dstr); } else fprintf(stdout,"-%s",dstr); } TimeEpochToYMDHMS(tval,&yr,&mo,&dy,&hr,&mt,&sc); site=RadarYMDHMSGetSite(RadarGetRadar(network,stid[st]), yr,mo,dy,hr,mt,(int) sc); if (hflg) { if (site !=NULL) fprintf(stdout,"%s%g,%g,%g,%g%s",hlab[vb], site->geolat,site->geolon, site->alt, site->boresite,dstr); else fprintf(stdout,"unknown%s",dstr); } if (pflg) { if (site !=NULL) { if (site->geolat>0) fprintf(stdout,"%snorth",plab[vb]); else fprintf(stdout,"%ssouth",plab[vb]); } else if (radar->site !=NULL) { if (radar->site[0].geolat>0) fprintf(stdout,"%snorth",plab[vb]); else fprintf(stdout,"%ssouth",plab[vb]); } else fprintf(stdout,"unknown"); fprintf(stdout,"%s",dstr); } if (lflg) fprintf(stdout,"\n"); } return 0; }
int main(int argc,char *argv[]) { /*declarations*/ int arg = 0; int i, r; FILE *fp; FILE *fitfp = NULL; FILE *corrfp = NULL; char *envstr; unsigned char help = 0; unsigned char option = 0; int s = 0, vb = 0; double epoch; struct FitData *fit = FitMake(); struct RadarParm *prm = RadarParmMake(); envstr=getenv("SD_RADAR"); if(envstr==NULL) { fprintf(stderr,"Environment variable 'SD_RADAR' must be defined.\n"); return -1; } fp=fopen(envstr,"r"); if(fp==NULL) { fprintf(stderr,"Could not locate radar information file.\n"); exit(-1); } network=RadarLoad(fp); fclose(fp); if(network==NULL) { fprintf(stderr,"Failed to read radar information.\n"); exit(-1); } envstr=getenv("SD_HDWPATH"); if(envstr==NULL) { fprintf(stderr,"Environment variable 'SD_HDWPATH' must be defined.\n"); exit(-1); } RadarLoadHardware(envstr,network); /*add options to control performance*/ OptionAdd(&opt,"-help",'x',&help); OptionAdd(&opt,"-option",'x',&option); OptionAdd(&opt,"vb",'x',&vb); /*process the options*/ arg=OptionProcess(1,argc,argv,&opt,NULL); if(option == 1) { OptionDump(stdout,&opt); exit(0); } /*read the radar's file*/ fitfp=fopen(argv[arg],"r"); fprintf(stderr,"%s\n",argv[arg]); if(fitfp==NULL) { fprintf(stderr,"File %s not found.\n",argv[arg]); exit(-1); } s=FitFread(fitfp,prm,fit); radar=RadarGetRadar(network,prm->stid); if (radar==NULL) { fprintf(stderr,"Failed to get radar information.\n"); exit(-1); } site=RadarYMDHMSGetSite(radar,prm->time.yr,prm->time.mo,prm->time.dy,prm->time.hr,prm->time.mt,prm->time.sc); do { if((prm->channel == 0 || prm->channel == 1) && prm->bmnum == 10) { fprintf(stdout,"%d %d %d %d %d %d\n",prm->time.yr,prm->time.mo,prm->time.dy,prm->time.hr,prm->time.mt,prm->time.sc); fprintf(stdout,"%d %d %d %lf %d %d %d %d %d %d\n",prm->cp,prm->tfreq,prm->bmnum,prm->noise.search,prm->nave,prm->lagfr,prm->mpinc,prm->smsep,prm->rsep,prm->nrang); for(i=0; i<prm->nrang; i++) { fprintf(stdout,"%d %d %lf %lf %lf\n",i,fit->rng[i].qflg,fit->rng[i].v,fit->rng[i].p_l,fit->rng[i].w_l); } } s=FitFread(fitfp,prm,fit); } while(s != -1); fclose(fitfp); return 0; }
int main(int argc,char *argv[]) { FILE *fp; char *envstr; int s,i,j,n; envstr=getenv("SD_RADAR"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_RADAR' must be defined.\n"); exit(-1); } fp=fopen(envstr,"r"); if (fp==NULL) { fprintf(stderr,"Could not locate radar information file.\n"); exit(-1); } network=RadarLoad(fp); fclose(fp); if (network==NULL) { fprintf(stderr,"Failed to read radar information.\n"); exit(-1); } envstr=getenv("SD_HDWPATH"); if (envstr==NULL) { fprintf(stderr,"Environment variable 'SD_HDWPATH' must be defined.\n"); exit(-1); } RadarLoadHardware(envstr,network); fp=fopen(argv[1],"r"); if (fp==NULL) { fprintf(stderr,"File not found.\n"); exit(-1); } s=RawFread(fp,&prm,&raw); if (s==-1) { fprintf(stderr,"Error reading file.\n"); exit(-1); } radar=RadarGetRadar(network,prm.stid); if (radar==NULL) { fprintf(stderr,"Failed to get radar information.\n"); exit(-1); } site=RadarYMDHMSGetSite(radar,prm.time.yr,prm.time.mo, prm.time.dy,prm.time.hr,prm.time.mt, prm.time.sc); if (site==NULL) { fprintf(stderr,"Failed to get site information.\n"); exit(-1); } FitACFStart(site,prm.time.yr,&fblk); do { fprintf(stdout,"%.4d-%.2d-%.2d %.2d:%.2d:%.2d\n", prm.time.yr,prm.time.mo,prm.time.dy, prm.time.hr,prm.time.mt,prm.time.sc); fblk.prm.xcf=prm.xcf; fblk.prm.tfreq=prm.tfreq; fblk.prm.noise=prm.noise.search; fblk.prm.nrang=prm.nrang; fblk.prm.smsep=prm.smsep; fblk.prm.nave=prm.nave; fblk.prm.mplgs=prm.mplgs; fblk.prm.mpinc=prm.mpinc; fblk.prm.txpl=prm.txpl; fblk.prm.lagfr=prm.lagfr; fblk.prm.mppul=prm.mppul; fblk.prm.bmnum=prm.bmnum; fblk.prm.cp=prm.cp; fblk.prm.channel=prm.channel; fblk.prm.offset=prm.offset; /* stereo offset */ for (i=0;i<fblk.prm.mppul;i++) fblk.prm.pulse[i]=prm.pulse[i]; for (i=0;i<fblk.prm.mplgs;i++) { fblk.prm.lag[0][i]=prm.lag[i][0]; fblk.prm.lag[1][i]=prm.lag[i][1]; } for (i=0;i<fblk.prm.nrang;i++) { fblk.prm.pwr0[i]=raw.pwr0[i]; for (j=0;j<fblk.prm.mplgs;j++) { fblk.acfd[i][j].x=raw.acfd[i][j][0]; fblk.acfd[i][j].y=raw.acfd[i][j][1]; } if (fblk.prm.xcf) { for (j=0;j<fblk.prm.mplgs;j++) { fblk.xcfd[i][j].x=raw.xcfd[i][j][0]; fblk.xcfd[i][j].y=raw.xcfd[i][j][1]; } } } FitACFBadlags(&fblk.prm,&bsamp); fprintf(stdout,"%d:",bsamp.nbad); for (n=0;n<bsamp.nbad;n++) fprintf(stdout,"%d ",bsamp.badsmp[n]); fprintf(stdout,"\n"); s=RawFread(fp,&prm,&raw); } while (s !=-1); fclose(fp); return 0; }