program orbtrans2 c c This program "translates" the WDS-format file orbtest.out c to the format used in the orbit and plotting programs. It c also determines weights for the orbit program. c character*4 d1,d2,t1,t2,r1,r2 character*3 code2,type character*1 per1,per2,code3 character*12 code1 character*90 title character*10 wds c open(10,file='grading.wsi4',status='UNKNOWN') open(12,file='grading.wsi5',status='UNKNOWN') c c read and write wds title and orbital elements lines c 200 read(10,907,end=999,err=999) title 907 format(a90) write(12,907) title read(10,907) title write(12,907) title c c read wds data, determine weight, and write in orbit file format c 400 read(10,908,end=999,err=999) wds,d1,d2,t1,t2,r1,r2,code1,xnt, $ code2,naper,code3 908 format(a10,t23,2a4,1x,a3,a2,2x,a2,a4,9x,a12,t54,f1.0,a3, $ 2x,i2,a1) if (wds .eq. ' ') go to 500 if (d1 .eq. ' ' .and. d2 .eq. ' ') go to 400 if (t1 .eq. ' ' .and. t2 .eq. ' ') go to 400 if (r1 .eq. ' ' .and. r2 .eq. ' ') go to 400 c type='VL ' if (naper .lt. 18) type='VS ' if (code2 .eq. 'HIP') type='HIP' if (code3 .eq. 'E') type='XSP' if (code3 .eq. 'F') type='XSP' if (code3 .eq. 'K') type='XSP' if (code3 .eq. 'N') type='XSP' if (code3 .eq. 'S') type='XSP' if ((code3 .eq. 'S') .and. (code2 .eq. 'MCA')) type='CSP' if ((code3 .eq. 'S') .and. (code2 .eq. 'HRT')) type='CSP' if ((code3 .eq. 'S') .and. (code2 .eq. 'MSN')) type='CSP' if ((code3 .eq. 'S') .and. (code2 .eq. 'FU ')) type='CSP' if ((code3 .eq. 'S') .and. (code2 .eq. 'SHU')) type='CSP' if ((code3 .eq. 'S') .and. (code2 .eq. 'FEK')) type='CSP' if ((code3 .eq. 'S') .and. (code2 .eq. 'LU ')) type='CSP' c weight0=1. if (type .eq. 'VS ') weight0= 0.5 if (type .eq. 'XSP') weight0= 5.0 if (type .eq. 'HIP') weight0= 5.0 if (type .eq. 'CSP') weight0=20.0 if ((type .eq. 'CSP') .and. (naper .eq. 72)) weight0=10.0 if ((type .eq. 'CSP') .and. (naper .eq. 00)) weight0=10.0 if ((type .eq. 'CSP') .and. (naper .eq. 84)) weight0=10.0 if ((type .eq. 'CSP') .and. (naper .eq. 24)) weight0= 5.0 c weight=weight0*sqrt(xnt) c per1='.' per2='.' if(t1 .eq. ' ' .and. t2 .eq. ' ') per1=' ' if(r1 .eq. ' ' .and. r2 .eq. ' ') per2=' ' if(per1 .eq. ' ' .or. per2 .eq. ' ') weight=0.0 write(12,909) d1,d2,t1,per1,t2,r1,per2,r2,type,weight,code1 909 format(6x,a4,'.',a4,4x,a3,a1,a2,8x,a2,a1,a4,9x,a3,f5.1,5x,a12) go to 400 c 500 write(12,910) 910 format(80x) go to 200 999 stop end