c c Q0957AB-HST spectra (January 2005) c HST Proposal 8336 c UV/OPTICAL/IR [CALSTIS, v2.15c, 29 January 2004] c Analysis from 100-Amstrong filters c real cauv(1024),fauv(1024),cbuv(1024),fbuv(1024) real caop(1024),faop(1024),cbop(1024),fbop(1024) real cair(1024),fair(1024),cbir(1024),fbir(1024) open(unit=1,file='Auv2.dat',status='old') open(unit=2,file='Buv2.dat',status='old') open(unit=3,file='Aopt2.dat',status='old') open(unit=4,file='Bopt2.dat',status='old') open(unit=11,file='Air2.dat',status='old') open(unit=12,file='Bir2.dat',status='old') open(unit=7,file='ZcontIc.dat',status='new') read(1,*)(cauv(i),fauv(i),i=1,1024) read(2,*)(cbuv(i),fbuv(i),i=1,1024) read(3,*)(caop(i),faop(i),i=1,1024) read(4,*)(cbop(i),fbop(i),i=1,1024) read(11,*)(cair(i),fair(i),i=1,1024) read(12,*)(cbir(i),fbir(i),i=1,1024) call pgbegin(0,'?',1,1) call pgslw(2) call pgscf(2) call pgsch(1.5) call pgenv(2300.,9500.,0.,2.3,0,1) call pglabel('Wavelength (\A)', *'Flux (ergs cm\u-2\d s\u-1\d \A\u-1\d) 10\u15\d',' ') call pgsch(2.0) do i=1,1024 fauv(i)=fauv(i)*1.0e15 fbuv(i)=fbuv(i)*1.0e15 faop(i)=faop(i)*1.0e15 fbop(i)=fbop(i)*1.0e15 fair(i)=fair(i)*1.0e15 fbir(i)=fbir(i)*1.0e15 end do c c Filter #1 c cini=2350. cfin=2450. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cauv(i).ge.cini.and.cauv(i).le.cfin)then call pgpoint(1,cauv(i),fauv(i),1) fluxa=fluxa+fauv(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cauv(i).ge.cini.and.cauv(i).le.cfin)then siga=siga+(fauv(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbuv(i).ge.cini.and.cbuv(i).le.cfin)then call pgpoint(1,cbuv(i),fbuv(i),1) fluxb=fluxb+fbuv(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbuv(i).ge.cini.and.cbuv(i).le.cfin)then sigb=sigb+(fbuv(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #2 c cini=2540. cfin=2640. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cauv(i).ge.cini.and.cauv(i).le.cfin)then call pgpoint(1,cauv(i),fauv(i),1) fluxa=fluxa+fauv(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cauv(i).ge.cini.and.cauv(i).le.cfin)then siga=siga+(fauv(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbuv(i).ge.cini.and.cbuv(i).le.cfin)then call pgpoint(1,cbuv(i),fbuv(i),1) fluxb=fluxb+fbuv(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbuv(i).ge.cini.and.cbuv(i).le.cfin)then sigb=sigb+(fbuv(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #3 c cini=2650. cfin=2750. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cauv(i).ge.cini.and.cauv(i).le.cfin)then call pgpoint(1,cauv(i),fauv(i),1) fluxa=fluxa+fauv(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cauv(i).ge.cini.and.cauv(i).le.cfin)then siga=siga+(fauv(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbuv(i).ge.cini.and.cbuv(i).le.cfin)then call pgpoint(1,cbuv(i),fbuv(i),1) fluxb=fluxb+fbuv(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbuv(i).ge.cini.and.cbuv(i).le.cfin)then sigb=sigb+(fbuv(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #4 c cini=2760. cfin=2860. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cauv(i).ge.cini.and.cauv(i).le.cfin)then call pgpoint(1,cauv(i),fauv(i),1) fluxa=fluxa+fauv(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cauv(i).ge.cini.and.cauv(i).le.cfin)then siga=siga+(fauv(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbuv(i).ge.cini.and.cbuv(i).le.cfin)then call pgpoint(1,cbuv(i),fbuv(i),1) fluxb=fluxb+fbuv(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbuv(i).ge.cini.and.cbuv(i).le.cfin)then sigb=sigb+(fbuv(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #5 c cini=3020. cfin=3120. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cauv(i).ge.cini.and.cauv(i).le.cfin)then call pgpoint(1,cauv(i),fauv(i),1) fluxa=fluxa+fauv(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cauv(i).ge.cini.and.cauv(i).le.cfin)then siga=siga+(fauv(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbuv(i).ge.cini.and.cbuv(i).le.cfin)then call pgpoint(1,cbuv(i),fbuv(i),1) fluxb=fluxb+fbuv(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbuv(i).ge.cini.and.cbuv(i).le.cfin)then sigb=sigb+(fbuv(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #6 c cini=3450. cfin=3550. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #7 c cini=3850. cfin=3950. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #8 c cini=4050. cfin=4150. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #9 c cini=4160. cfin=4260. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #10 c cini=4270. cfin=4370. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #11 c cini=4380. cfin=4480. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #12 c cini=4750. cfin=4850. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #13 c cini=4860. cfin=4960. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #14 c cini=4970. cfin=5070. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #15 c cini=5080. cfin=5180. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #16 c cini=5190. cfin=5290. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #17 c cini=5300. cfin=5400. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then call pgpoint(1,caop(i),faop(i),1) fluxa=fluxa+faop(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(caop(i).ge.cini.and.caop(i).le.cfin)then siga=siga+(faop(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then call pgpoint(1,cbop(i),fbop(i),1) fluxb=fluxb+fbop(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbop(i).ge.cini.and.cbop(i).le.cfin)then sigb=sigb+(fbop(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #18 c cini=5950. cfin=6050. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #19 c cini=6450. cfin=6550. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #20 c cini=6560. cfin=6660. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #21 c cini=7250. cfin=7350. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #22 c cini=7360. cfin=7460. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #23 c cini=7470. cfin=7570. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #24 c cini=7580. cfin=7680. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #25 c cini=7690. cfin=7790. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #26 c cini=7800. cfin=7900. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #27 c cini=8450. cfin=8550. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #28 c cini=8560. cfin=8660. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #29 c cini=8670. cfin=8770. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #30 c cini=8950. cfin=9050. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #31 c cini=9250. cfin=9350. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error c c Filter #32 c cini=9360. cfin=9460. c fluxa=0. dataa=0. call pgsci(2) do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then call pgpoint(1,cair(i),fair(i),1) fluxa=fluxa+fair(i) dataa=dataa+1. else endif end do fluxa=fluxa/dataa siga=0. do i=1,1024 if(cair(i).ge.cini.and.cair(i).le.cfin)then siga=siga+(fair(i)-fluxa)**2. else endif end do siga=sqrt(siga/(dataa-1.)) siga=siga/sqrt(dataa) fluxb=0. datab=0. call pgsci(4) do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then call pgpoint(1,cbir(i),fbir(i),1) fluxb=fluxb+fbir(i) datab=datab+1. else endif end do fluxb=fluxb/datab sigb=0. do i=1,1024 if(cbir(i).ge.cini.and.cbir(i).le.cfin)then sigb=sigb+(fbir(i)-fluxb)**2. else endif end do sigb=sqrt(sigb/(datab-1.)) sigb=sigb/sqrt(datab) cfilt=(cini+cfin)/2. ratio=fluxb/fluxa error=ratio*sqrt((siga/fluxa)**2.+(sigb/fluxb)**2.) write(7,*)cfilt,ratio,error call pgend end