Add cmdline arg for providing frequency list
parent
5140eccc56
commit
00bdbf98dd
25
rfplot.c
25
rfplot.c
|
@ -63,7 +63,7 @@ int main(int argc,char *argv[])
|
||||||
float width=1500;
|
float width=1500;
|
||||||
float x=0.0,y=0.0,x0=0.0,y0=0.0,yfit;
|
float x=0.0,y=0.0,x0=0.0,y0=0.0,yfit;
|
||||||
char c;
|
char c;
|
||||||
char path[128],xlabel[128],ylabel[64],filename[32],tlefile[128];
|
char path[128],xlabel[128],ylabel[64],filename[32],tlefile[128],freqlist[128];
|
||||||
int sec,lsec,ssec;
|
int sec,lsec,ssec;
|
||||||
char stime[16];
|
char stime[16];
|
||||||
double fmin,fmax,fcen,f;
|
double fmin,fmax,fcen,f;
|
||||||
|
@ -88,7 +88,13 @@ int main(int argc,char *argv[])
|
||||||
printf("ST_COSPAR environment variable not found.\n");
|
printf("ST_COSPAR environment variable not found.\n");
|
||||||
}
|
}
|
||||||
env=getenv("ST_TLEDIR");
|
env=getenv("ST_TLEDIR");
|
||||||
|
if(env==NULL||strlen(env)==0)
|
||||||
|
env=".";
|
||||||
sprintf(tlefile,"%s/bulk.tle",env);
|
sprintf(tlefile,"%s/bulk.tle",env);
|
||||||
|
env=getenv("ST_DATADIR");
|
||||||
|
if(env==NULL||strlen(env)==0)
|
||||||
|
env=".";
|
||||||
|
sprintf(freqlist,"%s/data/frequencies.txt",env);
|
||||||
|
|
||||||
// Set selection
|
// Set selection
|
||||||
sel.n=0;
|
sel.n=0;
|
||||||
|
@ -97,7 +103,7 @@ int main(int argc,char *argv[])
|
||||||
|
|
||||||
// Read arguments
|
// Read arguments
|
||||||
if (argc>1) {
|
if (argc>1) {
|
||||||
while ((arg=getopt(argc,argv,"p:f:w:s:l:b:z:hc:C:gm:o:S:W:"))!=-1) {
|
while ((arg=getopt(argc,argv,"p:f:w:s:l:b:z:hc:C:gm:o:S:W:F:"))!=-1) {
|
||||||
switch (arg) {
|
switch (arg) {
|
||||||
|
|
||||||
case 'p':
|
case 'p':
|
||||||
|
@ -124,6 +130,10 @@ int main(int argc,char *argv[])
|
||||||
df0=(double) atof(optarg);
|
df0=(double) atof(optarg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'F':
|
||||||
|
strcpy(freqlist,optarg);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'W':
|
case 'W':
|
||||||
sel.w=atof(optarg);
|
sel.w=atof(optarg);
|
||||||
break;
|
break;
|
||||||
|
@ -182,7 +192,7 @@ int main(int argc,char *argv[])
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
// Compute traces
|
// Compute traces
|
||||||
t=compute_trace(tlefile,s.mjd,s.nsub,site_id,s.freq*1e-6,s.samp_rate*1e-6,&nsat,graves);
|
t=compute_trace(tlefile,s.mjd,s.nsub,site_id,s.freq*1e-6,s.samp_rate*1e-6,&nsat,graves,freqlist);
|
||||||
printf("Traces for %d objects for location %d\n",nsat,site_id);
|
printf("Traces for %d objects for location %d\n",nsat,site_id);
|
||||||
|
|
||||||
cpgopen("/xs");
|
cpgopen("/xs");
|
||||||
|
@ -430,9 +440,9 @@ int main(int argc,char *argv[])
|
||||||
// Identify
|
// Identify
|
||||||
if (c=='i') {
|
if (c=='i') {
|
||||||
if (graves==0)
|
if (graves==0)
|
||||||
identify_trace(tlefile,tf,0);
|
identify_trace(tlefile,tf,0,freqlist);
|
||||||
else
|
else
|
||||||
identify_trace_graves(tlefile,tf,0);
|
identify_trace_graves(tlefile,tf,0,freqlist);
|
||||||
redraw=1;
|
redraw=1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -452,7 +462,7 @@ int main(int argc,char *argv[])
|
||||||
if (c=='I') {
|
if (c=='I') {
|
||||||
printf("Provide satno: ");
|
printf("Provide satno: ");
|
||||||
status=scanf("%d",&satno);
|
status=scanf("%d",&satno);
|
||||||
identify_trace(tlefile,tf,satno);
|
identify_trace(tlefile,tf,satno,freqlist);
|
||||||
redraw=1;
|
redraw=1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -690,7 +700,7 @@ int main(int argc,char *argv[])
|
||||||
|
|
||||||
// Recompute traces
|
// Recompute traces
|
||||||
if (c=='R') {
|
if (c=='R') {
|
||||||
t=compute_trace(tlefile,s.mjd,s.nsub,site_id,s.freq*1e-6,s.samp_rate*1e-6,&nsat,graves);
|
t=compute_trace(tlefile,s.mjd,s.nsub,site_id,s.freq*1e-6,s.samp_rate*1e-6,&nsat,graves,freqlist);
|
||||||
redraw=1;
|
redraw=1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -904,6 +914,7 @@ void usage(void)
|
||||||
printf("-S <sigma> Track selection significance [5]\n");
|
printf("-S <sigma> Track selection significance [5]\n");
|
||||||
printf("-C <site> Site ID\n");
|
printf("-C <site> Site ID\n");
|
||||||
printf("-c <catalog> TLE catalog\n");
|
printf("-c <catalog> TLE catalog\n");
|
||||||
|
printf("-F <freqlist> List with frequencies [$ST_DATADIR/data/frequencies.txt]\n");
|
||||||
printf("-g GRAVES data\n");
|
printf("-g GRAVES data\n");
|
||||||
printf("-h This help\n");
|
printf("-h This help\n");
|
||||||
|
|
||||||
|
|
25
rftrace.c
25
rftrace.c
|
@ -165,7 +165,7 @@ struct site get_site(int site_id)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Identify trace
|
// Identify trace
|
||||||
void identify_trace_graves(char *tlefile,struct trace t,int satno)
|
void identify_trace_graves(char *tlefile,struct trace t,int satno,char *freqlist)
|
||||||
{
|
{
|
||||||
int i,imode,flag=0,status,imid;
|
int i,imode,flag=0,status,imid;
|
||||||
struct point *p;
|
struct point *p;
|
||||||
|
@ -180,12 +180,6 @@ void identify_trace_graves(char *tlefile,struct trace t,int satno)
|
||||||
int satnomin;
|
int satnomin;
|
||||||
double rmsmin,freqmin,altmin,azimin;
|
double rmsmin,freqmin,altmin,azimin;
|
||||||
double ra,de,azi,alt;
|
double ra,de,azi,alt;
|
||||||
char *env,freqlist[LIM];
|
|
||||||
|
|
||||||
env=getenv("ST_DATADIR");
|
|
||||||
if(env==NULL||strlen(env)==0)
|
|
||||||
env=".";
|
|
||||||
sprintf(freqlist,"%s/data/frequencies.txt",env);
|
|
||||||
|
|
||||||
// Reloop stderr
|
// Reloop stderr
|
||||||
if (freopen("/tmp/stderr.txt","w",stderr)==NULL)
|
if (freopen("/tmp/stderr.txt","w",stderr)==NULL)
|
||||||
|
@ -319,7 +313,7 @@ void identify_trace_graves(char *tlefile,struct trace t,int satno)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Identify trace
|
// Identify trace
|
||||||
void identify_trace(char *tlefile,struct trace t,int satno)
|
void identify_trace(char *tlefile,struct trace t,int satno,char *freqlist)
|
||||||
{
|
{
|
||||||
int i,imode,flag=0,status;
|
int i,imode,flag=0,status;
|
||||||
struct point *p;
|
struct point *p;
|
||||||
|
@ -333,15 +327,9 @@ void identify_trace(char *tlefile,struct trace t,int satno)
|
||||||
char nfd[32],nfdmin[32],text[16];
|
char nfd[32],nfdmin[32],text[16];
|
||||||
int satnomin;
|
int satnomin;
|
||||||
double rmsmin,freqmin;
|
double rmsmin,freqmin;
|
||||||
char *env,freqlist[LIM];
|
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
char tbuf[30];
|
char tbuf[30];
|
||||||
|
|
||||||
env=getenv("ST_DATADIR");
|
|
||||||
if(env==NULL||strlen(env)==0)
|
|
||||||
env=".";
|
|
||||||
sprintf(freqlist,"%s/data/frequencies.txt",env);
|
|
||||||
|
|
||||||
// Reloop stderr
|
// Reloop stderr
|
||||||
if (freopen("/tmp/stderr.txt","w",stderr)==NULL)
|
if (freopen("/tmp/stderr.txt","w",stderr)==NULL)
|
||||||
fprintf(stderr,"Failed to redirect stderr\n");
|
fprintf(stderr,"Failed to redirect stderr\n");
|
||||||
|
@ -484,7 +472,7 @@ int is_classified(int satno)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compute trace
|
// Compute trace
|
||||||
struct trace *compute_trace(char *tlefile,double *mjd,int n,int site_id,float freq,float bw,int *nsat,int graves)
|
struct trace *compute_trace(char *tlefile,double *mjd,int n,int site_id,float freq,float bw,int *nsat,int graves,char *freqlist)
|
||||||
{
|
{
|
||||||
int i,j,imode,flag,satno,tflag,m,status;
|
int i,j,imode,flag,satno,tflag,m,status;
|
||||||
struct point *p;
|
struct point *p;
|
||||||
|
@ -497,14 +485,8 @@ struct trace *compute_trace(char *tlefile,double *mjd,int n,int site_id,float fr
|
||||||
char line[LIM],text[8];
|
char line[LIM],text[8];
|
||||||
struct trace *t;
|
struct trace *t;
|
||||||
float fmin,fmax;
|
float fmin,fmax;
|
||||||
char *env,freqlist[LIM];
|
|
||||||
double ra,de,azi,alt;
|
double ra,de,azi,alt;
|
||||||
|
|
||||||
env=getenv("ST_DATADIR");
|
|
||||||
if(env==NULL||strlen(env)==0)
|
|
||||||
env=".";
|
|
||||||
sprintf(freqlist,"%s/data/frequencies.txt",env);
|
|
||||||
|
|
||||||
// Frequency limits
|
// Frequency limits
|
||||||
fmin=freq-0.5*bw;
|
fmin=freq-0.5*bw;
|
||||||
fmax=freq+0.5*bw;
|
fmax=freq+0.5*bw;
|
||||||
|
@ -673,7 +655,6 @@ void compute_doppler(char *tlefile,double *mjd,int n,int site_id,int satno,int g
|
||||||
char line[LIM],text[8];
|
char line[LIM],text[8];
|
||||||
struct trace *t;
|
struct trace *t;
|
||||||
float fmin,fmax;
|
float fmin,fmax;
|
||||||
char *env,freqlist[LIM];
|
|
||||||
double ra,de,azi,alt;
|
double ra,de,azi,alt;
|
||||||
double rag,deg,azig,altg;
|
double rag,deg,azig,altg;
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,8 @@ struct trace {
|
||||||
double *freq,freq0;
|
double *freq,freq0;
|
||||||
float *za;
|
float *za;
|
||||||
};
|
};
|
||||||
struct trace *compute_trace(char *tlefile,double *mjd,int n,int site_id,float fmin,float fmax,int *nsat,int graves);
|
struct trace *compute_trace(char *tlefile,double *mjd,int n,int site_id,float fmin,float fmax,int *nsat,int graves,char *freqlist);
|
||||||
void identify_trace(char *tlefile,struct trace t,int satno);
|
void identify_trace(char *tlefile,struct trace t,int satno,char *freqlist);
|
||||||
void identify_trace_graves(char *tlefile,struct trace t,int satno);
|
void identify_trace_graves(char *tlefile,struct trace t,int satno,char *freqlist);
|
||||||
void compute_doppler(char *tlefile,double *mjd,int n,int site_id,int satno,int graves, int skiphigh,char *outfname);
|
void compute_doppler(char *tlefile,double *mjd,int n,int site_id,int satno,int graves, int skiphigh,char *outfname);
|
||||||
int fgetline(FILE *file,char *s,int lim);
|
int fgetline(FILE *file,char *s,int lim);
|
||||||
|
|
Loading…
Reference in New Issue