; This file will create a complex fits file to test the ; "full" functionality of the IDL reader/write utilities. ; currently I am just putting in some fake data, but should someday ; use realdata. define_oiarray,oiarray_unit oiarray=replicate(oiarray_unit,10) in0=findgen(3) in1=findgen(7)+3 oiarray(in0).extver=1 oiarray(in0).arrname="IOTA_2002Dec17" oiarray(in0).frame = "GEOCENTRIC" oiarray(in0).arrayx = 10.0 oiarray(in0).arrayy = 20.0 oiarray(in0).arrayz = 30.0 oiarray(in0).tel_name = ["TEL A", "TEL B","TEL C"] oiarray(in0).sta_name = ["N35","S15","C00"] oiarray(in0).sta_index = [0,1,2] oiarray(in0).diameter = .45 oiarray(0).staxyz = [1.,2,3.] oiarray(1).staxyz = [11,12,13.] oiarray(2).staxyz = [21,22,23.] oiarray(in1).extver=2 oiarray(in1).arrname="CHARA_2004Jan" oiarray(in1).frame = "GEOCENTRIC" oiarray(in1).arrayx = 100.0 oiarray(in1).arrayy = 200.0 oiarray(in1).arrayz = 300.0 oiarray(in1).tel_name = ["N0","N1","SE0","SE1","SW0","SW1","C00"] oiarray(in1).sta_name = ["N0","N1","SE0","SE1","SW0","SW1","C00"] oiarray(in1).sta_index = [0,1,2,3,4,5,6] oiarray(in1).diameter = 1.0 oiarray(3).staxyz = [31.,32,33.] oiarray(4).staxyz = [41.,42,43.] oiarray(5).staxyz = [51.,52,53.] oiarray(6).staxyz = [61.,62,63.] oiarray(7).staxyz = [71.,72,73.] oiarray(8).staxyz = [81.,82,83.] oiarray(9).staxyz = [91.,92,93.] define_oitarget,oitarget_unit oitarget=replicate(oitarget_unit,3) oitarget(*).target_id = findgen(3) oitarget(*).target = ["alp_ori","alp_tau","irc_+10216"] oitarget(*).raep0 = [0.,1.,2.] oitarget(*).decep0 = [10.,11.,12] oitarget(*).equinox = 2000.0 oitarget(*).ra_err = .05 oitarget(*).dec_err = .08 oitarget(*).sysvel = [1.,2.,10] oitarget(*).veltyp = ["LSR","GEOCENTR","LSR"] oitarget(*).veldef = ["OPTICAL","RADIO","RADIO"] oitarget(*).pmra = [1.,2.,-5] oitarget(*).pmdec = [5.,10.,15.] oitarget(*).pmra_err = .1 oitarget(*).pmdec_err = .1 oitarget(*).parallax = [.005,.010,.001] oitarget(*).para_err=.0001 oitarget(*).spectyp = ["M1","K5","C"] define_oiwavelength,oiwavelength_unit,nwave=1 oiwavelength=oiwavelength_unit oiwavelength.extver=1 oiwavelength.insname="IOTA_IONIC_PICNIC" oiwavelength.eff_wave = ptr_new( 1.65e-6) oiwavelength.eff_band = ptr_new( .4e-6) define_oiwavelength,oiwavelength_unit,nwave=20 oiwavelength=concat_oitable(oiwavelength,oiwavelength_unit) oiwavelength(1).extver=1 oiwavelength(1).insname="CHARA_MIRC" oiwavelength(1).eff_wave = ptr_new( (findgen(20)/20+1.4)*1e-6) oiwavelength(1).eff_band = ptr_new( replicate(.05,20)*1e-6 ) define_oivis, oivis_unit, nwave= 1 oivis=replicate(oivis_unit,9) oivis(*).extver=1 oivis(*).date_obs='2002-12-17' oivis(*).arrname ="IOTA_2002Dec17" oivis(*).insname ="IOTA_IONIC_PICNIC" oivis(*).target_id = [0,0,0,1,1,1,0,0,0] oivis(*).time = 100*findgen(9) oivis(*).mjd = 100*findgen(9)/3600./24. oivis(*).int_time = 20. for i=0,8 do begin oivis(i).visamp =ptr_new(i/10.) oivis(i).visamperr = ptr_new(.05) oivis(i).visphi = ptr_new(i*10.) oivis(i).visphierr = ptr_new(10.) oivis(i).ucoord = i*10. oivis(i).vcoord = -i*10. oivis(i).sta_index = [i mod 3, (i+1) mod 3 ] if (i mod 2) then oivis(i).flag = ptr_new(byte("T")) $ else oivis(i).flag = ptr_new(byte("F")) endfor define_oivis, oivis_unit, nwave= 20 oivis0=replicate(oivis_unit,3) oivis0(*).extver=2 oivis0(*).date_obs='2004-01-11' oivis0(*).arrname ="CHARA_2004Jan" oivis0(*).insname ="CHARA_MIRC" oivis0(*).target_id = [0,1,2] oivis0(*).time = 10*findgen(3) oivis0(*).mjd = 10*findgen(3)/3600./24. oivis0(*).int_time = 2. for i=0,2 do begin oivis0(i).visamp =ptr_new( (i+findgen(20))/20.) oivis0(i).visamperr = ptr_new(replicate(.02,20)) oivis0(i).visphi = ptr_new( findgen(20)*10+10*i ) oivis0(i).visphierr = ptr_new(replicate(1.0,20)) oivis0(i).ucoord = i*50. oivis0(i).vcoord = -i*50. oivis0(i).sta_index = [3,5] if (i mod 2) then oivis0(i).flag = ptr_new(byte("TTFFFFFTTTFFFFFFFFFF")) $ else oivis0(i).flag = ptr_new(byte("FFFFFTTTTTFFFFFTTTTT")) endfor oivis=concat_oitable(oivis,oivis0) define_oivis2, oivis2_unit, nwave= 1 oivis2=replicate(oivis2_unit,9) oivis2(*).extver=1 oivis2(*).date_obs='2002-12-17' oivis2(*).arrname ="IOTA_2002Dec17" oivis2(*).insname ="IOTA_IONIC_PICNIC" oivis2(*).target_id = [0,0,0,1,1,1,0,0,0] oivis2(*).time = 100*findgen(9) oivis2(*).mjd = 100*findgen(9)/3600./24. oivis2(*).int_time = 20. for i=0,8 do begin oivis2(i).vis2data =ptr_new(i/10.) oivis2(i).vis2err = ptr_new(.05) oivis2(i).ucoord = i*10. oivis2(i).vcoord = -i*10. oivis2(i).sta_index = [i mod 3, (i+1) mod 3 ] if (i mod 2) then oivis2(i).flag = ptr_new(byte("T")) $ else oivis2(i).flag = ptr_new(byte("F")) endfor define_oivis2, oivis2_unit, nwave= 20 oivis0=replicate(oivis2_unit,3) oivis0(*).extver=2 oivis0(*).date_obs='2004-01-11' oivis0(*).arrname ="CHARA_2004Jan" oivis0(*).insname ="CHARA_MIRC" oivis0(*).target_id = [0,1,2] oivis0(*).time = 10*findgen(3) oivis0(*).mjd = 10*findgen(3)/3600./24. oivis0(*).int_time = 2. for i=0,2 do begin oivis0(i).vis2data =ptr_new( (i+findgen(20))/20.) oivis0(i).vis2err = ptr_new(replicate(.02,20)) oivis0(i).ucoord = i*50. oivis0(i).vcoord = -i*50. oivis0(i).sta_index = [3,5] if (i mod 2) then oivis0(i).flag = ptr_new(byte("TTFFFFFTTTFFFFFFFFFF"))$ else oivis0(i).flag = ptr_new(byte("FFFFFTTTTTFFFFFTTTTT")) endfor oivis2=concat_oitable(oivis2,oivis0) define_oit3, oit3_unit, nwave= 1 oit3=replicate(oit3_unit,9) oit3(*).extver=1 oit3(*).date_obs='2002-12-17' oit3(*).arrname ="IOTA_2002Dec17" oit3(*).insname ="IOTA_IONIC_PICNIC" oit3(*).target_id = [0,0,0,1,1,1,0,0,0] oit3(*).time = 100*findgen(9) oit3(*).mjd = 100*findgen(9)/3600./24. oit3(*).int_time = 20. for i=0,8 do begin oit3(i).t3amp =ptr_new(i/10.) oit3(i).t3amperr = ptr_new(.05) oit3(i).t3phi = ptr_new(i*10.) oit3(i).t3phierr = ptr_new(10.) oit3(i).u1coord = i*10. oit3(i).v1coord = -i*10. oit3(i).u2coord = -i*20. oit3(i).v2coord = i*20. oit3(i).sta_index = [i mod 3, (i+1) mod 3,(i+2) mod 3 ] if (i mod 2) then oit3(i).flag = ptr_new(byte("T")) $ else oit3(i).flag = ptr_new(byte("F")) endfor define_oit3, oit3_unit, nwave= 20 oit4=replicate(oit3_unit,3) oit4(*).extver=2 oit4(*).date_obs='2004-01-11' oit4(*).arrname ="CHARA_2004Jan" oit4(*).insname ="CHARA_MIRC" oit4(*).target_id = [0,1,2] oit4(*).time = 10*findgen(3) oit4(*).mjd = 10*findgen(3)/3600./24. oit4(*).int_time = 2. for i=0,2 do begin oit4(i).t3amp =ptr_new( (i+findgen(20))/20.) oit4(i).t3amperr = ptr_new(replicate(.02,20)) oit4(i).t3phi = ptr_new( findgen(20)*10+10*i ) oit4(i).t3phierr = ptr_new(replicate(1.0,20)) oit4(i).u1coord = i*100. oit4(i).v1coord = -i*100. oit4(i).u2coord = -i*200. oit4(i).v2coord = i*200. oit4(i).sta_index = [3,5,1] if (i mod 2) then oit4(i).flag = ptr_new(byte("TTFFFFFTTTFFFFFFFFFF")) $ else oit4(i).flag = ptr_new(byte("FFFFFTTTTTFFFFFTTTTT")) endfor oit3=concat_oitable(oit3,oit4) write_oidata,'bigtest.fits',oiarray,oitarget,oiwavelength,oivis,oivis2,oit3 end