Misc updates
parent
6fd8c6ed97
commit
e31c1b4b7c
|
@ -47,14 +47,11 @@
|
|||
33320 2241.601
|
||||
32378 2242.503
|
||||
28384 2242.505
|
||||
39232 2242.510
|
||||
28888 2242.510
|
||||
24680 2242.510
|
||||
26934 2242.510
|
||||
37348 2242.510
|
||||
90004 2242.518
|
||||
39088 2243.334
|
||||
38782 2243.764
|
||||
38782 2243.765
|
||||
35937 2244.095
|
||||
29522 2244.301
|
||||
|
@ -223,3 +220,32 @@
|
|||
35938 2269.105
|
||||
35938 2271.481
|
||||
39678 2270.517
|
||||
26464 2249.006
|
||||
35937 2246.473
|
||||
35937 2248.521
|
||||
35937 2249.545
|
||||
31113 2273.522
|
||||
26934 2242.479
|
||||
35937 2244.421
|
||||
39209 2242.493
|
||||
39232 2242.511
|
||||
39232 2244.559
|
||||
26619 2242.408
|
||||
35931 2250.004
|
||||
37849 2250.125
|
||||
24753 2252.507
|
||||
33434 2249.995
|
||||
38248 2250.006
|
||||
35951 2252.505
|
||||
37849 2255.367
|
||||
37849 2252.222
|
||||
29479 2252.224
|
||||
29479 2255.700
|
||||
29522 2252.495
|
||||
36834 2253.841
|
||||
39634 2254.116
|
||||
35937 2255.688
|
||||
35937 2252.616
|
||||
78405 2252.515
|
||||
78406 2252.515
|
||||
78407 2252.515
|
||||
|
|
10
makefile
10
makefile
|
@ -2,13 +2,19 @@
|
|||
CFLAGS = -O3
|
||||
|
||||
# Linking flags
|
||||
LFLAGS = -lcpgplot -lpgplot -lX11 -lpng -lm
|
||||
LFLAGS = -lcpgplot -lpgplot -lX11 -lpng -lm -lgsl -lgslcblas
|
||||
|
||||
# Compiler
|
||||
CC = gcc
|
||||
|
||||
all:
|
||||
make rfedit rfplot rffft
|
||||
make rfedit rfplot rffft rfpng
|
||||
|
||||
rfpng: rfpng.o rftime.o rfio.o rftrace.o sgdp4.o satutl.o deep.o ferror.o
|
||||
gfortran -o rfpng rfpng.o rftime.o rfio.o rftrace.o sgdp4.o satutl.o deep.o ferror.o $(LFLAGS)
|
||||
|
||||
rffind: rffind.o rfio.o rftime.o
|
||||
gfortran -o rffind rffind.o rfio.o rftime.o $(LFLAGS)
|
||||
|
||||
rfedit: rfedit.o rfio.o rftime.o
|
||||
$(CC) -o rfedit rfedit.o rfio.o rftime.o -lm
|
||||
|
|
2
rfio.c
2
rfio.c
|
@ -99,7 +99,7 @@ struct spectrogram read_spectrogram(char *prefix,int isub,int nsub,double f0,dou
|
|||
if (l%nbin==nbin-1) {
|
||||
// Scale
|
||||
s.mjd[i]/=(float) nbin;
|
||||
|
||||
|
||||
for (j=0;j<s.nchan;j++)
|
||||
s.z[i+s.nsub*j]/=(float) nbin;
|
||||
|
||||
|
|
58
rfplot.c
58
rfplot.c
|
@ -39,7 +39,7 @@ int main(int argc,char *argv[])
|
|||
float width=1500;
|
||||
float x,y,x0,y0;
|
||||
char c;
|
||||
char path[128],xlabel[64],ylabel[64];
|
||||
char path[128],xlabel[64],ylabel[64],filename[32],tlefile[128];
|
||||
int sec,lsec,ssec;
|
||||
char stime[16];
|
||||
double fmin,fmax,fcen,f;
|
||||
|
@ -60,10 +60,12 @@ int main(int argc,char *argv[])
|
|||
} else {
|
||||
printf("ST_COSPAR environment variable not found.\n");
|
||||
}
|
||||
env=getenv("ST_TLEDIR");
|
||||
sprintf(tlefile,"%s/bulk.tle",env);
|
||||
|
||||
// Read arguments
|
||||
if (argc>1) {
|
||||
while ((arg=getopt(argc,argv,"p:f:w:s:l:b:z:hc:"))!=-1) {
|
||||
while ((arg=getopt(argc,argv,"p:f:w:s:l:b:z:hc:C:"))!=-1) {
|
||||
switch (arg) {
|
||||
|
||||
case 'p':
|
||||
|
@ -97,8 +99,12 @@ int main(int argc,char *argv[])
|
|||
case 'h':
|
||||
usage();
|
||||
return 0;
|
||||
|
||||
|
||||
case 'c':
|
||||
strcpy(tlefile,optarg);
|
||||
break;
|
||||
|
||||
case 'C':
|
||||
site_id=atoi(optarg);
|
||||
break;
|
||||
|
||||
|
@ -118,7 +124,7 @@ int main(int argc,char *argv[])
|
|||
printf("Read spectrogram\n%d channels, %d subints\nFrequency: %g MHz\nBandwidth: %g MHz\n",s.nchan,s.nsub,s.freq*1e-6,s.samp_rate*1e-6);
|
||||
|
||||
// Compute traces
|
||||
t=compute_trace(s.mjd,s.nsub,site_id,s.freq*1e-6,s.samp_rate*1e-6,&nsat);
|
||||
t=compute_trace(tlefile,s.mjd,s.nsub,site_id,s.freq*1e-6,s.samp_rate*1e-6,&nsat);
|
||||
printf("Traces for %d objects for location %d\n",nsat,site_id);
|
||||
|
||||
cpgopen("/xs");
|
||||
|
@ -240,7 +246,7 @@ int main(int argc,char *argv[])
|
|||
|
||||
// Identify
|
||||
if (c=='i') {
|
||||
identify_trace(tf,0);
|
||||
identify_trace(tlefile,tf,0);
|
||||
redraw=1;
|
||||
continue;
|
||||
}
|
||||
|
@ -249,7 +255,7 @@ int main(int argc,char *argv[])
|
|||
if (c=='I') {
|
||||
printf("Provide satno: ");
|
||||
scanf("%d",&satno);
|
||||
identify_trace(tf,satno);
|
||||
identify_trace(tlefile,tf,satno);
|
||||
redraw=1;
|
||||
continue;
|
||||
}
|
||||
|
@ -377,6 +383,42 @@ int main(int argc,char *argv[])
|
|||
fclose(file);
|
||||
}
|
||||
|
||||
// Mark
|
||||
if (c=='a') {
|
||||
i0=(int) floor(xmin);
|
||||
i1=(int) ceil(xmax);
|
||||
j0=(int) floor(ymin);
|
||||
j1=(int) ceil(ymax);
|
||||
if (i0<0)
|
||||
i0=0;
|
||||
if (i1>=s.nsub)
|
||||
i1=s.nsub-1;
|
||||
if (j0<0)
|
||||
j0=0;
|
||||
if (j1>=s.nchan)
|
||||
j1=s.nchan-1;
|
||||
|
||||
printf("Provide filename: ");
|
||||
scanf("%s",filename);
|
||||
|
||||
file=fopen(filename,"a");
|
||||
// Loop over image
|
||||
for (i=i0;i<i1;i++) {
|
||||
zzmax=0.0;
|
||||
jmax=0;
|
||||
for (j=j0;j<j1;j++) {
|
||||
if (s.z[i+s.nsub*j]>zzmax) {
|
||||
zzmax=s.z[i+s.nsub*j];
|
||||
jmax=j;
|
||||
}
|
||||
}
|
||||
f=s.freq-0.5*s.samp_rate+(double) jmax*s.samp_rate/(double) s.nchan;
|
||||
if (s.mjd[i]>1.0)
|
||||
fprintf(file,"%lf %lf %f %d\n",s.mjd[i],f,zzmax,site_id);
|
||||
cpgpt1((float) i,(float) jmax,17);
|
||||
}
|
||||
fclose(file);
|
||||
}
|
||||
|
||||
// Center
|
||||
if (c=='c') {
|
||||
|
@ -432,7 +474,7 @@ int main(int argc,char *argv[])
|
|||
|
||||
// Recompute traces
|
||||
if (c=='R') {
|
||||
t=compute_trace(s.mjd,s.nsub,site_id,s.freq*1e-6,s.samp_rate*1e-6,&nsat);
|
||||
t=compute_trace(tlefile,s.mjd,s.nsub,site_id,s.freq*1e-6,s.samp_rate*1e-6,&nsat);
|
||||
redraw=1;
|
||||
continue;
|
||||
}
|
||||
|
@ -636,6 +678,8 @@ void usage(void)
|
|||
printf("-z <zmax> Image scaling upper limit [8.0]\n");
|
||||
printf("-f <freq> Frequency to zoom into (Hz)\n");
|
||||
printf("-w <bw> Bandwidth to zoom into (Hz)\n");
|
||||
printf("-C <site> Site ID\n");
|
||||
printf("-c <catalog> TLE catalog\n");
|
||||
printf("-h This help\n");
|
||||
|
||||
return;
|
||||
|
|
19
rftrace.c
19
rftrace.c
|
@ -146,7 +146,7 @@ struct site get_site(int site_id)
|
|||
}
|
||||
|
||||
// Identify trace
|
||||
void identify_trace(struct trace t,int satno)
|
||||
void identify_trace(char *tlefile,struct trace t,int satno)
|
||||
{
|
||||
int i,imode,flag=0;
|
||||
struct point *p;
|
||||
|
@ -160,11 +160,10 @@ void identify_trace(struct trace t,int satno)
|
|||
char nfd[32],nfdmin[32],text[16];
|
||||
int satnomin;
|
||||
double rmsmin,freqmin;
|
||||
char *env,freqlist[LIM],tledir[LIM];
|
||||
char *env,freqlist[LIM];
|
||||
|
||||
env=getenv("ST_DATADIR");
|
||||
sprintf(freqlist,"%s/data/frequencies.txt",env);
|
||||
sprintf(tledir,"%s/tle/bulk.tle",env);
|
||||
|
||||
// Reloop stderr
|
||||
freopen("/tmp/stderr.txt","w",stderr);
|
||||
|
@ -183,9 +182,9 @@ void identify_trace(struct trace t,int satno)
|
|||
printf("Fitting trace:\n");
|
||||
|
||||
// Loop over TLEs
|
||||
file=fopen(tledir,"r");
|
||||
file=fopen(tlefile,"r");
|
||||
if (file==NULL) {
|
||||
fprintf(stderr,"TLE file %s not found\n",tledir);
|
||||
fprintf(stderr,"TLE file %s not found\n",tlefile);
|
||||
return;
|
||||
}
|
||||
while (read_twoline(file,satno,&orb)==0) {
|
||||
|
@ -269,7 +268,7 @@ void identify_trace(struct trace t,int satno)
|
|||
}
|
||||
|
||||
// Compute trace
|
||||
struct trace *compute_trace(double *mjd,int n,int site_id,float freq,float bw,int *nsat)
|
||||
struct trace *compute_trace(char *tlefile,double *mjd,int n,int site_id,float freq,float bw,int *nsat)
|
||||
{
|
||||
int i,j,imode,flag,satno,tflag,m;
|
||||
struct point *p;
|
||||
|
@ -282,11 +281,11 @@ struct trace *compute_trace(double *mjd,int n,int site_id,float freq,float bw,in
|
|||
char line[LIM],text[8];
|
||||
struct trace *t;
|
||||
float fmin,fmax;
|
||||
char *env,freqlist[LIM],tledir[LIM];
|
||||
char *env,freqlist[LIM];
|
||||
|
||||
env=getenv("ST_DATADIR");
|
||||
sprintf(freqlist,"%s/data/frequencies.txt",env);
|
||||
sprintf(tledir,"%s/tle/bulk.tle",env);
|
||||
|
||||
|
||||
// Frequency limits
|
||||
fmin=freq-0.5*bw;
|
||||
|
@ -307,7 +306,7 @@ struct trace *compute_trace(double *mjd,int n,int site_id,float freq,float bw,in
|
|||
}
|
||||
fclose(infile);
|
||||
*nsat=i;
|
||||
printf("bla\n");
|
||||
|
||||
// Break out
|
||||
if (i==0)
|
||||
return t;
|
||||
|
@ -349,7 +348,7 @@ struct trace *compute_trace(double *mjd,int n,int site_id,float freq,float bw,in
|
|||
|
||||
sprintf(text," %d",satno);
|
||||
// Loop over TLEs
|
||||
file=fopen(tledir,"r");
|
||||
file=fopen(tlefile,"r");
|
||||
while (read_twoline(file,satno,&orb)==0) {
|
||||
// Initialize
|
||||
imode=init_sgdp4(&orb);
|
||||
|
|
|
@ -4,5 +4,5 @@ struct trace {
|
|||
double *freq;
|
||||
float *za;
|
||||
};
|
||||
struct trace *compute_trace(double *mjd,int n,int site_id,float fmin,float fmax,int *nsat);
|
||||
void identify_trace(struct trace t,int satno);
|
||||
struct trace *compute_trace(char *tlefile,double *mjd,int n,int site_id,float fmin,float fmax,int *nsat);
|
||||
void identify_trace(char *tlefile,struct trace t,int satno);
|
||||
|
|
Loading…
Reference in New Issue