define integer ii ir iw ic kxy define character xtext*30 ytext*30 atext*40 atype*8 ! symb abcdef 'name'.tuv if (file.ne."'ABCDEF'") then say "Changing to file " 'abcdef' if file.eq."NEW" then vector\transpose 'name'.uvt 'name'.tuv 213 else sic\sic search 'name'.tuv if (.not.sic$exist) then vector\transpose 'name'.uvt 'name'.tuv 213 endif endif let file " " image 'name'.tuv let kxy g_dim[1] delete /variable uv delete /variable num on error return let file 'abcdef' define image data 'file' read /global define real uv[kxy,2] num[kxy] /global endif on error return ! let ir 5+3*channel let ii 6+3*channel let iw 7+3*channel for kax 1 to 2 if (kax.eq.1) then let atype 'xtype' else if (kax.eq.2) then let atype 'ytype' endif if (atype.eq."U") then let uv[kax] data[1] let atext "U (meters)" else if (atype.eq."V") then let uv[kax] data[2] let atext "V (meters)" else if (atype.eq."SCAN") then let uv[kax] data[3] let atext "Scan number" else if (atype.eq."ANGLE") then let uv[kax] 180|pi*atan2(data[2],data[1]) let atext "UV position angle (degrees)" else if (atype.eq."RADIUS") then let uv[kax] sqrt(data[1]**2+data[2]**2) let atext "UV radius (meters)" else if (atype.eq."DATE") then let uv[kax] data[4] let atext "Date (Days)" else if (atype.eq."TIME") then let uv[kax] data[5]|3600 let atext "Time (hours)" else if (atype.eq."NUMBER") then let num[i] i let uv[kax] num let atext "Visibility number" else if (atype.eq."AMP") then let uv[kax] sqrt(data[ir]**2+data[ii]**2) let atext "Amplitude (Janskys)" else if (atype.eq."PHASE") then let uv[kax] 180|pi*atan2(data[ii],data[ir]) let atext "Phase (degrees)" else if (atype.eq."REAL") then let uv[kax] data[ir] let atext "Real part (Janskys)" else if (atype.eq."IMAG") then let uv[kax] data[ii] let atext "Imaginary part (Janskys)" else if (atype.eq."WEIGHT") then let uv[kax] data[iw] let atext "Relative Weight" else say "E-UVPLOT, Type not supported " 'atype' endif if (kax.eq.1) then let xtext 'atext' else if (kax.eq.2) then let ytext 'atext' endif next clear plot if (xtype.eq."U").and.(ytype.eq."V") then limits 300 -300 300 -300 set box match point uv[1] uv[2] limits -300 300 -300 300 point uv[1] uv[2] else set box /default symbol alimits "'LIMITS'" greg1\limits 'alimits' /variable uv[1] uv[2] point uv[1] uv[2] endif box label 'xtext' /x label 'ytext' /y let atext "UVPLOT for 'NAME'.TUV (channel 'CHANNEL')" dra text 0.0 0.1 'atext' 9 /box 7 sic date dra text 0.0 0.1 "'SYS_DATE' 'SYS_INFO'" 7 /box 9