C+ C NAME: C orbit_centroider C PURPOSE: C Centroid stars in orbit maps to create an average star picture C CATEGORY: C SMEI data analysis C PROCEDURE: C Read in orbit maps and draw a box around the expected location of a star C MODIFICATION HISTORY: C July 2003, Aaron Smith C- PROGRAM orbit_centroider implicit none character infile1*34,infile2*34,infile3*34,infile4*30,infile5*30 character outfile*20,head*20 integer*4 star(100,100) /10000*0/ integer*4 eqimage(1200,1200) /1440000*0/ integer*4 polarimage(1600,1600) /2560000*0/ integer*4 day,hour,map,i,j,cnt integer*4 xarg,yarg,xmin,xmax,ymin,ymax real*8 ramin,ramax,decmin,decmax real*8 cra, cdec,cra1, cra2, cra3,ra,dec day=58 hour=17 cra1=60.D0 cra2=180.D0 cra3=300.D0 cnt=0 write (infile1,'(A7,I2.2,A1,I2.2,A22)') 'Orbits/',day,'_',hour,'_EqPlot_000_to_120.grd' write (infile2,'(A7,I2.2,A1,I2.2,A22)') 'Orbits/',day,'_',hour,'_EqPlot_120_to_240.grd' write (infile3,'(A7,I2.2,A1,I2.2,A22)') 'Orbits/',day,'_',hour,'_EqPlot_240_to_360.grd' write (infile4,'(A7,I2.2,A1,I2.2,A18)') 'Orbits/',day,'_',hour,'_99_L12_npolar.grd' write (infile5,'(A7,I2.2,A1,I2.2,A18)') 'Orbits/',day,'_',hour,'_99_L12_spolar.grd' CCC Coordinates of Aldebaran c cra=68.9802D0 c cdec=16.5093D0 c write (outfile,'(A20)') 'Aldeb_orbit_star.grd' CCC Coordinates of HD 20902 c cra=51.0807D0 c cdec=49.8611D0 c write (outfile,'(A20)') 'HD____orbit_star.grd' CCC Coordinates of Sirius (HD 48915) c cra=101.28717D0 c cdec=-16.71611D0 c write (outfile,'(A20)') 'Siris_orbit_star.grd' CCC Coordinates of Vega (alfa lyra) c cra=279.23475D0 c cdec=38.78361D0 c write (outfile,'(A20)') 'Vega__orbit_star.grd' CCC Coordinates of Alcaid cra=206.8852D0 cdec=49.3133D0 write (outfile,'(A20)') 'Alcai_orbit_star.grd' CCC Coordinates of Eta Draconis c cra=245.99786D0 c cdec=61.51421D0 c write (outfile,'(A20)') 'Eta_D_orbit_star.grd' CCC Coordinates of Polaris c cra=37.752D0 c cdec=89.264D0 c write (outfile,'(A20)') 'Polrs_orbit_star.grd' if(cdec.gt.60.D0)then map=4 xarg = nint( 20.*(90.-cdec)*cosd(-cra) + 801.) yarg = nint( 20.*(90.-cdec)*sind(-cra) + 801.) xmin = xarg - 50 xmax = xarg + 50 ymin = yarg - 50 ymax = yarg + 50 elseif(cdec.lt.-60.D0)then map=5 xarg = nint( -20.*(90.+cdec)*cosd(cra) + 801.) yarg = nint( -20.*(90.+cdec)*sind(cra) + 801.) xmin = xarg - 50 xmax = xarg + 50 ymin = yarg - 50 ymax = yarg + 50 elseif(cra.lt.120.D0)then map=1 xarg = nint( -(cra-cra1)*10.D0 + 601.D0 ) yarg = nint( cdec*10.D0 + 601.D0 ) xmin = xarg - 50 ramin = cra1 + float(601-xmin)/10.D0 xmax = xarg + 50 ramax = cra1 + float(601-xmax)/10.D0 ymin = yarg - 50 decmin = float(ymin-601)/10.D0 ymax = yarg + 50 decmax = float(ymax-601)/10.D0 elseif(cra.gt.240.D0)then map=3 xarg = nint( -(cra-cra3)*10.D0 + 601.D0 ) yarg = nint( cdec*10.D0 + 601.D0 ) xmin = xarg - 50 ramin = cra3 + float(601-xmin)/10.D0 xmax = xarg + 50 ramax = cra3 + float(601-xmax)/10.D0 ymin = yarg - 50 decmin = float(ymin-601)/10.D0 ymax = yarg + 50 decmax = float(ymax-601)/10.D0 else map=2 xarg = nint( -(cra-cra2)*10.D0 + 601.D0 ) yarg = nint( cdec*10.D0 + 601.D0 ) xmin = xarg - 50 ramin = cra2 + float(601-xmin)/10.D0 xmax = xarg + 50 ramax = cra2 + float(601-xmax)/10.D0 ymin = yarg - 50 decmin = float(ymin-601)/10.D0 ymax = yarg + 50 decmax = float(ymax-601)/10.D0 endif if(map.eq.1)then open (10,file = infile1, form = 'formatted') print*, 'Reading Eq Map 1..' read(10,100)head read(10,100)head read(10,100)head read(10,100)head read(10,100)head 100 format(a20) read(10,10)((eqimage(i,j),i=1,1200),j=1,1200) 10 format(20i6) close(10) if(xmax.gt.1200)xmax=1200 if(xmin.lt.0)xmin=0 if(ymax.gt.1200)ymax=1200 if(ymin.lt.0)ymin=0 print*, xmin,' < i < ',xmax print*, ymin,' < j < ',ymax do i=xmin,xmax do j=ymin,ymax ra = cra1 + float(601-i)/10.D0 dec = float(j-601)/10.D0 xarg = nint( (-(ra-cra)*20.D0 + 51.D0)*cosd(dec) ) yarg = nint( (dec-cdec)*20.D0 + 51.D0 ) if(xarg.lt.100.and.xarg.gt.0.and.yarg.lt.100.and.yarg.gt.0)then star(xarg,yarg)=eqimage(i,j) cnt=cnt+1 endif enddo enddo print*, 'Count: ',cnt elseif(map.eq.2)then open (11,file = infile2, form = 'formatted') print*, 'Reading Eq Map 2..' read(11,101)head read(11,101)head read(11,101)head read(11,101)head read(11,101)head 101 format(a20) read(11,11) ((eqimage(i,j),i=1,1200),j=1,1200) 11 format(20i6) close(11) do i=xmin,xmax do j=ymin,ymax ra = cra2 + float(601-i)/10.D0 dec = float(j-601)/10.D0 xarg = nint( (-(ra-cra)*20.D0 + 51.D0)*cosd(dec) ) yarg = nint( (dec-cdec)*20.D0 + 51.D0 ) if(xarg.lt.100.and.xarg.gt.0.and.yarg.lt.100.and.yarg.gt.0)star(xarg,yarg)=eqimage(i,j) enddo enddo elseif(map.eq.3)then open (12,file = infile3, form = 'formatted') print*, 'Reading Eq Map 3..' read(12,102)head read(12,102)head read(12,102)head read(12,102)head read(12,102)head 102 format(a20) read(12,12) ((eqimage(i,j),i=1,1200),j=1,1200) 12 format(20i6) close(12) do i=xmin,xmax do j=ymin,ymax ra = cra3 + float(601-i)/10.D0 dec = float(j-601)/10.D0 xarg = nint( (-(ra-cra3)*20.D0 + 51.D0)*cosd(dec) ) yarg = nint( (dec-cdec)*20.D0 + 51.D0 ) if(xarg.lt.100.and.xarg.gt.0.and.yarg.lt.100.and.yarg.gt.0)star(xarg,yarg)=eqimage(i,j) enddo enddo elseif(map.eq.4)then open (13,file = infile4, form = 'formatted') read(13)head read(13)head read(13)head read(13)head read(13)head read(13) ((polarimage(i,j),i=1,1600),j=1,1600) else open (14,file = infile5, form = 'formatted') read(14)head read(14)head read(14)head read(14)head read(14)head read(14) ((polarimage(i,j),i=1,1600),j=1,1600) endif print*, 'Writing: ',outfile open (16,file = outfile, form = 'formatted') write(16,16) 16 format('DSAA'/'100 100'/'-50 50'/'-50 50'/'0 2000') do j=1,100 write(16,'(20i6)')(star(i,j),i=1,100) enddo close(16) end