# File saotdc/archive/Scripts/emrange.cl # June 9, 1994 # By Doug Mink, Harvard-Smithsonian Center for Astrophysics # EMRANGE -- Compute correlation and emission line velocities for # a range of reduced file numbers using RVSAO package procedure emrange (rfn1,rfn2) int rfn1=1 {prompt="First RFN"} int rfn2=1 {prompt="Last RFN"} bool emis_vel=no {prompt="Compute emission line velocities (y or n)"} bool corr_vel=no {prompt="Compute cross correlation velocities (y or n)"} int offstart=1 {prompt="First RFN with dispersion offset of 1 pixel"} bool save_arch=no {prompt="Save result in TDC archive (y or n)"} bool plot=yes {prompt="Plot results on display (y or n)"} bool hard_copy=no {prompt="Make printer hard copies (y or n)"} bool cursor=no {prompt="Wait after plot with cursor (y or n)"} bool delfile=yes {prompt="Delete IRAF copy of archive file (y or n)"} bool verbose=no {prompt="Print what's happening (y or n)"} bool debug=no {prompt="Debugging mode (y or n)"} begin bool vb, delf, savarc, arctest, corvel,emvel,plres,hcres bool curwait int rfn, nrfn, firstrfn, lastrfn, npix file rfnlist, rfnfile, iraffile, irafhead, arcdir, arcrec, irafpix file rootdir string inst, arg, arg1, rfn_temp vb = verbose delf = delfile savarc = save_arch arctest = debug corvel = corr_vel emvel = emis_vel plres = plot hcres = hard_copy curwait = cursor firstrfn = rfn1 lastrfn = rfn2 inst = rarce.instrument arcdir = rarce.arc_dir rootdir = rarce.root_dir # Set up parameters in archive writing, graphic display, and hard copies if (corvel) { rarce.dispcor = yes rarce.log = yes xcsao.archive=savarc if (emvel) xcsao.save_vel=yes xcsao.displot = plres xcsao.hardcopy = hcres xcsao.curmode = curwait } if (emvel) { rarce.dispcor = yes rarce.log = no emsao.archive = savarc emsao.displot = plres emsao.hardcopy = hcres emsao.curmode = curwait } set clobber = yes rfnobj.root_dir = rootdir rfnobj.instrument = inst rfnobj.arc_dir = arcdir rfnobj.verbose = no # Loop through range of reduced file numbers for (rfn=firstrfn; rfn <= lastrfn; rfn=rfn+1) { rfn_temp = rfn rfnobj (rfn_temp) iraffile = rfnobj.arcfile # If reduced file is found, read it into IRAF file and process it if (iraffile != "") { if (!rarce.keep_name) iraffile = rfn_temp if (vb) print (rfn,rfn_temp," ",iraffile) arg = "-inst " // inst // " " // rfn_temp irafhead = iraffile // ".imh" if (!access (irafhead)) { if (rfn < offstart) rarce (rfn_temp, dispoff=0) else rarce (rfn_temp, dispoff=1) if (!access (irafhead)) { print ("EMRANGE: No IRAF header file ",irafhead) next } demach (iraffile) } irafpix = iraffile // ".pix" if (!access (irafpix)) { print ("EMRANGE: No IRAF pixel file ",irafpix) if (access (irafhead)) imdel (irafhead) next } imgetp (irafhead,"i_naxis1") npix = int (imgetp.value) if (npix < 1) { imdel (irafhead) next } # Find cross-correlation velocity if (corvel) xcsao (iraffile) # Find emission line velocity if (emvel) emsao (iraffile) # Save cross-correlation results to archive file if (savarc) { if (corvel && emvel) { arg1 = " ndelrec=3 delrec002=CORRELATION delrec003=EMISSION_LINES -stop" cspec (arg1) arg1 = " naddrec=3 addrec002=corr addrec003=emlines -stop" cspec (arg1) } else if (corvel) { arg1 = "ndelrec=2 delrec002=CORRELATION -stop" cspec (arg1) arg1 = "naddrec=2 addrec002=corr -stop" cspec (arg1) } else if (emvel) { arg1 = "ndelrec=2 delrec002=EMISSION_LINES -stop" cspec (arg1) arg1 = "naddrec=2 addrec002=emlines -stop" cspec (arg1) } cspec (arg) } # Delete temporary archive record files if (delf && (xcsao.archive || emsao.archive)) { arcrec = iraffile // ".ansum" if (access (arcrec)) delete (arcrec) } if (delf && xcsao.archive) { arcrec = iraffile // ".corr" if (access (arcrec)) delete (arcrec) } if (delf && emsao.archive) { arcrec = iraffile // ".emlines" if (access (arcrec)) delete (arcrec) } # Delete IRAF file if (delf) imdelete (iraffile) if (hcres) gflush } # Print error message if file is not found else if (vb) print ("IRAF file for RFN ",rfn," not found") } end