1
0
Fork 0

Misc changes

pull/3/head
Cees Bassa 2016-10-23 10:25:05 +02:00
parent 4789b64dff
commit 26a965a143
6 changed files with 57 additions and 13 deletions

View File

@ -219,8 +219,8 @@ int main(int argc,char *argv[])
}
s1-=max;
s2-=max*max;
avg=s1/(float) ff.nt;
std=sqrt((s2-s1*avg)/(float) (ff.nt-1));
avg=s1/(float) (ff.nt-1);
std=sqrt((s2-s1*avg)/(float) (ff.nt-2));
// Reset masked pixels
if (maskin==1 && msk.c[n]==0.0) {
@ -409,7 +409,7 @@ void write_fits(char *filename,struct fourframe ff)
// MJD-OBS
sprintf(val,"%lf",ff.mjd);
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);
sprintf(val,"%d",ff.nt);
qfits_header_add(qh,"NFRAMES",val," ",NULL);

View File

@ -67,6 +67,20 @@ float semimajoraxis(orbit_t orb)
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;
}

View File

@ -2,6 +2,7 @@
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <ctype.h>
#include "cel.h"
#include "cpgplot.h"
#include "qfits.h"
@ -653,7 +654,7 @@ int autotrack(char *fileroot,struct observation obs,struct image *img,int cflag)
file=fopen(filename,"r");
if (file==NULL) {
fprintf(stderr,"ID file %s not found\n",filename);
return;
return -1;
}
while (fgetline(file,line,LIM)>0) {
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==5) {
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);

View File

@ -129,14 +129,14 @@ void send_position(char *sra,char *sde)
close(skt);
// Set restart
file=fopen("/data1/satobs/control/state.txt","w");
file=fopen("/data2/satobs/control/state.txt","w");
if (file!=NULL) {
fprintf(file,"restart");
fclose(file);
}
// Set position
file=fopen("/data1/satobs/control/position.txt","w");
file=fopen("/data2/satobs/control/position.txt","w");
if (file!=NULL) {
fprintf(file,"%s %s\n",sra,sde);
fclose(file);

36
satid.c
View File

@ -108,13 +108,13 @@ void plot_satellites(char *tlefile,struct image img,long satno,double mjd0,float
int i;
orbit_t orb;
struct sat s;
int imode,flag,textflag;
int imode,flag,textflag,sflag;
FILE *fp=NULL,*file;;
xyz_t satpos,obspos,satvel,sunpos;
double mjd,jd,dx,dy,dz;
double rx,ry,ra,de,azi,alt,r,t,d;
float x,y,x0,y0;
char norad[7],satname[30];
char norad[7],satname[30],state[16];
float isch;
float rsun,rearth,psun,pearth,p;
char filename[128];
@ -145,7 +145,7 @@ void plot_satellites(char *tlefile,struct image img,long satno,double mjd0,float
if (imode==SGDP4_ERROR)
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);
mjd=mjd0+t/86400.0;
@ -172,10 +172,15 @@ void plot_satellites(char *tlefile,struct image img,long satno,double mjd0,float
// Visibility
if (s.p-s.pearth<-s.psun) {
cpgsls(4);
strcpy(state,"eclipsed");
} else if (s.p-s.pearth>-s.psun && s.p-s.pearth<s.psun) {
cpgsls(2);
strcpy(state,"penumbra");
sflag=1;
} else if (s.p-s.pearth>s.psun) {
cpgsls(1);
strcpy(state,"sunlit");
sflag=1;
}
// 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);
}
}
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 (textflag==1) {
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);
@ -274,6 +283,7 @@ int main(int argc,char *argv[])
float heat_b[] = {0.0, 0.0, 0.0, 0.3, 1.0};
char text[128];
char *env,filename[128];
float sx,sy,wx,wy;
img=read_fits(argv[1]);
@ -301,6 +311,13 @@ int main(int argc,char *argv[])
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)
cpgopen(argv[2]);
else
@ -312,8 +329,15 @@ int main(int argc,char *argv[])
sprintf(text,"UT Date: %.23s COSPAR ID: %04d",img.nfd+1,img.cospar);
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);
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);
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);
sprintf(text,"Stat: %5.1f+-%.1f (%.1f-%.1f)",zavg,zstd,zmin,zmax);
cpgmtxt("T",2.4,0.0,0.0,text);

View File

@ -2376,9 +2376,14 @@ int plot_skymap(void)
plot_apex(35786.0,0.0);
plot_apex(39035,63.4);
plot_apex(1100,63.4);
// plot_apex(1100,63.4);
// plot_apex(1100,123.0);
plot_apex(800,98.7);
plot_apex(1100,-63.4);
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)
skymap_plotsatellite(m.tlefile,Isatsel,m.mjd,m.length);