Misc changes
parent
4789b64dff
commit
26a965a143
|
@ -219,8 +219,8 @@ int main(int argc,char *argv[])
|
||||||
}
|
}
|
||||||
s1-=max;
|
s1-=max;
|
||||||
s2-=max*max;
|
s2-=max*max;
|
||||||
avg=s1/(float) ff.nt;
|
avg=s1/(float) (ff.nt-1);
|
||||||
std=sqrt((s2-s1*avg)/(float) (ff.nt-1));
|
std=sqrt((s2-s1*avg)/(float) (ff.nt-2));
|
||||||
|
|
||||||
// Reset masked pixels
|
// Reset masked pixels
|
||||||
if (maskin==1 && msk.c[n]==0.0) {
|
if (maskin==1 && msk.c[n]==0.0) {
|
||||||
|
@ -409,7 +409,7 @@ void write_fits(char *filename,struct fourframe ff)
|
||||||
// MJD-OBS
|
// MJD-OBS
|
||||||
sprintf(val,"%lf",ff.mjd);
|
sprintf(val,"%lf",ff.mjd);
|
||||||
qfits_header_add(qh,"MJD-OBS",val," ",NULL);
|
qfits_header_add(qh,"MJD-OBS",val," ",NULL);
|
||||||
sprintf(val,"%f",ff.dt[ff.nt-1],ff.dt[0]);
|
sprintf(val,"%f",ff.dt[ff.nt-1]-ff.dt[0]);
|
||||||
qfits_header_add(qh,"EXPTIME",val," ",NULL);
|
qfits_header_add(qh,"EXPTIME",val," ",NULL);
|
||||||
sprintf(val,"%d",ff.nt);
|
sprintf(val,"%d",ff.nt);
|
||||||
qfits_header_add(qh,"NFRAMES",val," ",NULL);
|
qfits_header_add(qh,"NFRAMES",val," ",NULL);
|
||||||
|
|
14
planscan.c
14
planscan.c
|
@ -67,6 +67,20 @@ float semimajoraxis(orbit_t orb)
|
||||||
|
|
||||||
void usage(void)
|
void usage(void)
|
||||||
{
|
{
|
||||||
|
printf("planscan -t <UT Date/time> -c <catalog> -s <site> -l <length> -i <NORAD>\n");
|
||||||
|
printf(" -r <altitude> -A <elevation> -S <elevation>\n\n");
|
||||||
|
printf("-t <UT Date/time> UT Start date/time in yyyy-mm-ddThh:mm:ss [default: now]\n");
|
||||||
|
printf("-c <catalog> Input TLE catalog to use [default: classfd.tle]\n");
|
||||||
|
printf("-s <site> Site number from sites.txt [default: 4171]\n");
|
||||||
|
printf("-l <length> Search length from UT start in seconds [default: 86400 s]\n");
|
||||||
|
printf("-i <NORAD> NORAD number of satellite to select [default: 41334]\n");
|
||||||
|
printf("-r <altitude> Satellite altitude above surface in km [default: mean orbital altitude]\n");
|
||||||
|
printf("-A <elevation> Minimum satellite elevation in degrees [default: 10 degrees]\n");
|
||||||
|
printf("-S <elevation> Maximum solar elevation in degrees [default: -6 degrees\n");
|
||||||
|
printf("-d <timestep> Time step in seconds [default: 60s]\n");
|
||||||
|
printf("-C Select on culmination instead of maximum brightness\n");
|
||||||
|
printf("-h Shows this help\n");
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
5
reduce.c
5
reduce.c
|
@ -2,6 +2,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <ctype.h>
|
||||||
#include "cel.h"
|
#include "cel.h"
|
||||||
#include "cpgplot.h"
|
#include "cpgplot.h"
|
||||||
#include "qfits.h"
|
#include "qfits.h"
|
||||||
|
@ -653,7 +654,7 @@ int autotrack(char *fileroot,struct observation obs,struct image *img,int cflag)
|
||||||
file=fopen(filename,"r");
|
file=fopen(filename,"r");
|
||||||
if (file==NULL) {
|
if (file==NULL) {
|
||||||
fprintf(stderr,"ID file %s not found\n",filename);
|
fprintf(stderr,"ID file %s not found\n",filename);
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
while (fgetline(file,line,LIM)>0) {
|
while (fgetline(file,line,LIM)>0) {
|
||||||
if (cflag==1 && strstr(line,"classfd")==NULL)
|
if (cflag==1 && strstr(line,"classfd")==NULL)
|
||||||
|
@ -781,7 +782,7 @@ int main(int argc,char *argv[])
|
||||||
if (layer==4) compute_cuts(img.zd,img.mask,img.naxis1*img.naxis2,&zmin,&zmax,lcut,hcut);
|
if (layer==4) compute_cuts(img.zd,img.mask,img.naxis1*img.naxis2,&zmin,&zmax,lcut,hcut);
|
||||||
if (layer==5) {
|
if (layer==5) {
|
||||||
zmin=5.0;
|
zmin=5.0;
|
||||||
zmax=10.0;
|
zmax=20.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (layer==0) cpgimag(img.zavg,img.naxis1,img.naxis2,1,img.naxis1,1,img.naxis2,zmin,zmax,tr);
|
if (layer==0) cpgimag(img.zavg,img.naxis1,img.naxis2,1,img.naxis1,1,img.naxis2,zmin,zmax,tr);
|
||||||
|
|
|
@ -129,14 +129,14 @@ void send_position(char *sra,char *sde)
|
||||||
close(skt);
|
close(skt);
|
||||||
|
|
||||||
// Set restart
|
// Set restart
|
||||||
file=fopen("/data1/satobs/control/state.txt","w");
|
file=fopen("/data2/satobs/control/state.txt","w");
|
||||||
if (file!=NULL) {
|
if (file!=NULL) {
|
||||||
fprintf(file,"restart");
|
fprintf(file,"restart");
|
||||||
fclose(file);
|
fclose(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set position
|
// Set position
|
||||||
file=fopen("/data1/satobs/control/position.txt","w");
|
file=fopen("/data2/satobs/control/position.txt","w");
|
||||||
if (file!=NULL) {
|
if (file!=NULL) {
|
||||||
fprintf(file,"%s %s\n",sra,sde);
|
fprintf(file,"%s %s\n",sra,sde);
|
||||||
fclose(file);
|
fclose(file);
|
||||||
|
|
36
satid.c
36
satid.c
|
@ -108,13 +108,13 @@ void plot_satellites(char *tlefile,struct image img,long satno,double mjd0,float
|
||||||
int i;
|
int i;
|
||||||
orbit_t orb;
|
orbit_t orb;
|
||||||
struct sat s;
|
struct sat s;
|
||||||
int imode,flag,textflag;
|
int imode,flag,textflag,sflag;
|
||||||
FILE *fp=NULL,*file;;
|
FILE *fp=NULL,*file;;
|
||||||
xyz_t satpos,obspos,satvel,sunpos;
|
xyz_t satpos,obspos,satvel,sunpos;
|
||||||
double mjd,jd,dx,dy,dz;
|
double mjd,jd,dx,dy,dz;
|
||||||
double rx,ry,ra,de,azi,alt,r,t,d;
|
double rx,ry,ra,de,azi,alt,r,t,d;
|
||||||
float x,y,x0,y0;
|
float x,y,x0,y0;
|
||||||
char norad[7],satname[30];
|
char norad[7],satname[30],state[16];
|
||||||
float isch;
|
float isch;
|
||||||
float rsun,rearth,psun,pearth,p;
|
float rsun,rearth,psun,pearth,p;
|
||||||
char filename[128];
|
char filename[128];
|
||||||
|
@ -145,7 +145,7 @@ void plot_satellites(char *tlefile,struct image img,long satno,double mjd0,float
|
||||||
if (imode==SGDP4_ERROR)
|
if (imode==SGDP4_ERROR)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
for (flag=0,textflag=0,i=0;i<MMAX;i++) {
|
for (flag=0,textflag=0,sflag=0,i=0;i<MMAX;i++) {
|
||||||
t=img.exptime*(float) i/(float) (MMAX-1);
|
t=img.exptime*(float) i/(float) (MMAX-1);
|
||||||
mjd=mjd0+t/86400.0;
|
mjd=mjd0+t/86400.0;
|
||||||
|
|
||||||
|
@ -172,10 +172,15 @@ void plot_satellites(char *tlefile,struct image img,long satno,double mjd0,float
|
||||||
// Visibility
|
// Visibility
|
||||||
if (s.p-s.pearth<-s.psun) {
|
if (s.p-s.pearth<-s.psun) {
|
||||||
cpgsls(4);
|
cpgsls(4);
|
||||||
|
strcpy(state,"eclipsed");
|
||||||
} else if (s.p-s.pearth>-s.psun && s.p-s.pearth<s.psun) {
|
} else if (s.p-s.pearth>-s.psun && s.p-s.pearth<s.psun) {
|
||||||
cpgsls(2);
|
cpgsls(2);
|
||||||
|
strcpy(state,"penumbra");
|
||||||
|
sflag=1;
|
||||||
} else if (s.p-s.pearth>s.psun) {
|
} else if (s.p-s.pearth>s.psun) {
|
||||||
cpgsls(1);
|
cpgsls(1);
|
||||||
|
strcpy(state,"sunlit");
|
||||||
|
sflag=1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Print name if in viewport
|
// Print name if in viewport
|
||||||
|
@ -203,8 +208,12 @@ void plot_satellites(char *tlefile,struct image img,long satno,double mjd0,float
|
||||||
cpgdraw(x,y);
|
cpgdraw(x,y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (textflag==1)
|
if (textflag==1) {
|
||||||
fprintf(file,"%.23s %8.3f %8.3f %8.3f %8.3f %8.5f %s %s\n",img.nfd+1,x0,y0,x,y,img.exptime,norad,tlefile);
|
if (sflag==0)
|
||||||
|
fprintf(file,"%.23s %8.3f %8.3f %8.3f %8.3f %8.5f %s %s eclipsed\n",img.nfd+1,x0,y0,x,y,img.exptime,norad,tlefile);
|
||||||
|
else
|
||||||
|
fprintf(file,"%.23s %8.3f %8.3f %8.3f %8.3f %8.5f %s %s sunlit\n",img.nfd+1,x0,y0,x,y,img.exptime,norad,tlefile);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
@ -274,6 +283,7 @@ int main(int argc,char *argv[])
|
||||||
float heat_b[] = {0.0, 0.0, 0.0, 0.3, 1.0};
|
float heat_b[] = {0.0, 0.0, 0.0, 0.3, 1.0};
|
||||||
char text[128];
|
char text[128];
|
||||||
char *env,filename[128];
|
char *env,filename[128];
|
||||||
|
float sx,sy,wx,wy;
|
||||||
|
|
||||||
img=read_fits(argv[1]);
|
img=read_fits(argv[1]);
|
||||||
|
|
||||||
|
@ -301,6 +311,13 @@ int main(int argc,char *argv[])
|
||||||
zmax=zavg+6*zstd;
|
zmax=zavg+6*zstd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sizes
|
||||||
|
sx=sqrt(img.a[1]*img.a[1]+img.b[1]*img.b[1]);
|
||||||
|
sy=sqrt(img.a[2]*img.a[2]+img.b[2]*img.b[2]);
|
||||||
|
wx=img.naxis1*sx/3600.0;
|
||||||
|
wy=img.naxis2*sy/3600.0;
|
||||||
|
|
||||||
|
|
||||||
if (argc==3)
|
if (argc==3)
|
||||||
cpgopen(argv[2]);
|
cpgopen(argv[2]);
|
||||||
else
|
else
|
||||||
|
@ -312,8 +329,15 @@ int main(int argc,char *argv[])
|
||||||
sprintf(text,"UT Date: %.23s COSPAR ID: %04d",img.nfd+1,img.cospar);
|
sprintf(text,"UT Date: %.23s COSPAR ID: %04d",img.nfd+1,img.cospar);
|
||||||
cpgmtxt("T",6.0,0.0,0.0,text);
|
cpgmtxt("T",6.0,0.0,0.0,text);
|
||||||
sprintf(text,"R.A.: %10.5f (%4.1f'') Decl.: %10.5f (%4.1f'')",img.ra0,img.xrms,img.de0,img.yrms);
|
sprintf(text,"R.A.: %10.5f (%4.1f'') Decl.: %10.5f (%4.1f'')",img.ra0,img.xrms,img.de0,img.yrms);
|
||||||
|
if (img.xrms<1e-3 || img.yrms<1e-3 || img.xrms/sx>2.0 || img.yrms/sy>2.0)
|
||||||
|
cpgsci(2);
|
||||||
|
else
|
||||||
|
cpgsci(1);
|
||||||
cpgmtxt("T",4.8,0.0,0.0,text);
|
cpgmtxt("T",4.8,0.0,0.0,text);
|
||||||
sprintf(text,"FoV: %.2f\\(2218)x%.2f\\(2218) Scale: %.2f''x%.2f'' pix\\u-1\\d",img.naxis1*sqrt(img.a[1]*img.a[1]+img.b[1]*img.b[1])/3600.0,img.naxis2*sqrt(img.a[2]*img.a[2]+img.b[2]*img.b[2])/3600.0,sqrt(img.a[1]*img.a[1]+img.b[1]*img.b[1]),sqrt(img.a[2]*img.a[2]+img.b[2]*img.b[2]));
|
cpgsci(1);
|
||||||
|
|
||||||
|
|
||||||
|
sprintf(text,"FoV: %.2f\\(2218)x%.2f\\(2218) Scale: %.2f''x%.2f'' pix\\u-1\\d",wx,wy,sx,sy);
|
||||||
cpgmtxt("T",3.6,0.0,0.0,text);
|
cpgmtxt("T",3.6,0.0,0.0,text);
|
||||||
sprintf(text,"Stat: %5.1f+-%.1f (%.1f-%.1f)",zavg,zstd,zmin,zmax);
|
sprintf(text,"Stat: %5.1f+-%.1f (%.1f-%.1f)",zavg,zstd,zmin,zmax);
|
||||||
cpgmtxt("T",2.4,0.0,0.0,text);
|
cpgmtxt("T",2.4,0.0,0.0,text);
|
||||||
|
|
5
skymap.c
5
skymap.c
|
@ -2376,9 +2376,14 @@ int plot_skymap(void)
|
||||||
plot_apex(35786.0,0.0);
|
plot_apex(35786.0,0.0);
|
||||||
plot_apex(39035,63.4);
|
plot_apex(39035,63.4);
|
||||||
plot_apex(1100,63.4);
|
plot_apex(1100,63.4);
|
||||||
|
// plot_apex(1100,63.4);
|
||||||
|
// plot_apex(1100,123.0);
|
||||||
plot_apex(800,98.7);
|
plot_apex(800,98.7);
|
||||||
plot_apex(1100,-63.4);
|
plot_apex(1100,-63.4);
|
||||||
plot_apex(800,-98.7);
|
plot_apex(800,-98.7);
|
||||||
|
// plot_apex(480.0,141.7);
|
||||||
|
// plot_apex(400.0,40.0);
|
||||||
|
// plot_apex(320.0,38.0);
|
||||||
|
|
||||||
if (Isatsel>=0 && m.leoflag>=0)
|
if (Isatsel>=0 && m.leoflag>=0)
|
||||||
skymap_plotsatellite(m.tlefile,Isatsel,m.mjd,m.length);
|
skymap_plotsatellite(m.tlefile,Isatsel,m.mjd,m.length);
|
||||||
|
|
Loading…
Reference in New Issue