implicit double precision (a-h,o-z) parameter(maxstars=10000) character*1 sign character*120 inline,inline2 * SECONDS TO RADIANS PARAMETER (S2R=0.72722052166430398D-4) * ARC SECONDS TO RADIANS PARAMETER (AS2R=0.48481368110953599D-5) C * SECONDS TO RADIANS STOR(RH,RM,RS)=S2R*(60D0*(60D0*RH+RM)+RS) * ARC SECONDS TO RADIANS ASTOR(DD,DM,DS)=AS2R*(60D0*(60D0*DD+DM)+DS) open(unit=1,file='n346vxyed.dat',status='old') open(unit=2,file='n346vrded.dat',status='old') C First, preserve the xy stuff and instrumental mags.... 1 read(1,2,end=99) inline 2 format(a120) C stuff should be in the first 37 columns C add in the ra and dec... read(2,2) inline2 write(inline(39:61),3) inline2(2:24) 3 format(a23) C Great. Now go get the colors.... read(inline2(2:24),4) ihr,min,sec,sign,ideg,iamin,asec 4 format(i2,1x,i2,1x,f5.2,1x,a1,i2,1x,i2,1x,f4.1) if(sign.eq.'-') then ideg=-ideg iamin=-iamin asec=-asec end if rav=stor(ihr,min,sec) decv=astor(ideg,iamin,asec) C First, check U: uhit=99.99 uehit=99.99 nuhit=0 open(unit=3,file='n346urd.dat',status='old') 11 read(3,12,end=21) ihr,imin,sec,sign,ideg,iamin,asec,u,ue,nu 12 format(1x,i2,1x,i2,1x,f5.2,1x,a1,i2,1x,i2,1x,f4.1,2f8.3,i5) if(sign.eq.'-') then ideg=-ideg iamin=-iamin asec=-asec end if rau=stor(ihr,min,sec) decu=astor(ideg,iamin,asec) call apa(rav,decv,rau,decu,dist,pa) d=dist/as2r if(d.gt.2.) go to 11 C we have a winner! nuhit=nu uehit=ue uhit=u 21 close(unit=3) C Now do B: bhit=99.99 behit=99.99 nbhit=0 open(unit=3,file='n346brd.dat',status='old') 110 read(3,12,end=210) ihr,imin,sec,sign,ideg,iamin,asec,b,be,nb if(sign.eq.'-') then ideg=-ideg iamin=-iamin asec=-asec end if rab=stor(ihr,min,sec) decb=astor(ideg,iamin,asec) call apa(rav,decv,rab,decb,dist,pa) d=dist/as2r if(d.gt.2.) go to 110 C we have a winner! nbhit=nb behit=be bhit=b 210 close(unit=3) C Now do R: rhit=99.99 rehit=99.99 nrhit=0 open(unit=3,file='n346rrd.dat',status='old') 1100 read(3,12,end=2100)ihr,imin,sec,sign,ideg,iamin,asec,r,re,nr if(sign.eq.'-') then ideg=-ideg iamin=-iamin asec=-asec end if rar=stor(ihr,min,sec) decr=astor(ideg,iamin,asec) call apa(rav,decv,rar,decr,dist,pa) d=dist/as2r if(d.gt.2.) go to 1100 C we have a winner! nrhit=nr rehit=re rhit=r 2100 close(unit=3) C OK, now write this star out... write(inline(63:110),50) uhit,uehit,nuhit,bhit,behit,nbhit, & rhit,rehit,nrhit 50 format(f7.3,f7.3,i2,f7.3,f7.3,i2,f7.3,f7.3,i2) write(6,2) inline go to 1 99 stop end subroutine apa(rac,dcc,rao,dco,dist,pa) c computes the distance (delt) and position (pa) along the c sky FROM (rac,dec) to (rao,dco) c written aug 14, 1987 C rewritten August 21, 1989, to do using "standard coords", rather C than the old and peculiar (but possibly equivalent!) way c plm implicit double precision (a-h,o-z) parameter (PI=3.141592653589793238462643) C CONVERT TO PROPER COORDS CALL DS2TP(RAO,DCO,RAC,DCC,XI,ETA) pa=0. if(xi*eta.ne.0.)PA=DATAN2(XI,ETA) if(pa.le.0.) pa=pa+2.*pi DIST=DSQRT(XI**2+ETA**2) return end include '/tofu/home/massey/survey/astromsub.f'