REDUCE Command List

last updated 07/1995


(ERRCMD is called if a typo or wrong command is entered)
(type in format of command, see in subroutines)

When user needs to type in something, "INPUT" is given.


Command         What it does                                Calls on subroutine(s)     
-----------------------------------------------------------------------------
term n          set or print priority level of terminal      misc.f      eieio.f 
prin n          set or print priority level of printer       misc.f      eieio.f        
page            eject page on priority 2 printer             misc.f      page.f         
line ?          select which 16 lines of header to show      misc.f      hlines.f       
leng n          set array length to n pixels                 misc.f      lentym.f       
tzer t          set minimum integration time to t secs.      misc.f      lentym.f       
lati lat        set latitude of observatory                  misc.f      latude.f       
disk#           displays scan #s and name fields in DISK1    misc.f      dsklst.f
                or DISK2       
head# n1 -n2    displays headers of individual scans         misc.f      hedsho.f
                in list,from DISK1 (header1) or
                DISK2 (header2)       
edit# n1-n2     user edits indicated scan headers from       misc.f      editit.f       
                indicated files. edit1=DISK1;edit2=DISK2
                (include details about commands for edit?)
dump# n1 -n2    displays data from indicated scans from      misc.f      dumpit.f       
                indicated file.
forget# n       lose all DISK1 *or* DISK2 scans after n-1    misc.f      forget.f       
                and pointer goes to n.
reset diskone   clean DISK file, DISK1, DISK2, plot *or*     misc.f      reset.f        
      disktwo   wavelength calibration file
      lambda a,b,both
      plot
flag            displays flag #s,names and current values    misc.f      flag.f         
blok            examine contents of common blocks            misc.f      o1h.f          
aero            set variables and flags for aerobee          misc.f      observ.f       
                observatory, loads wing and thermal
                correction files
pbo             set variables and flags for PBO,             misc.f      observ.f       
                loads wing and thermal correction files
wupp            set variables and flags for WUPPE,           misc.f      observ.f       
                loads wing and thermal correction files
reload accum      brings in scans from the current     misc.f      dskrel.f       
       norm       file of the reduced data *tape*
       flux 
       offset 
       pol 
       detbkg 
       lambda a,b,both n   set arrays wavelength cal.
                           to that found in header of
                           scan n
rema            use rest of line as a remark                               misc.f                     
save            save contents of common blocks in            misc.f      savecm.f         
                savecm.ret
flus            save contents of common blocks in            misc.f      savecm.f         
                savecm.ret
fixa n          fix PBO array A by replacing even number     misc.f      fixa.f         
                pixels by average of adjacent odd # pixels
               in DISK1 scan n
fixb n         fix PBO B array by replacing even number      misc.f      fixb.f         
               pixels by average of adjacent odd # pixels
               in DISK1 scan n
ascd n1 -n2    displays DISK2 file for individual scans      misc.f      ascdmp.f       
               from individual file in text file format
               to terminal and file; INPUT file name
dele           just continue
mark           gives x,y cursor posn. for emission line      misc.f      spectr.f 
               in scoped spectrum      
cent           finds centroid of emission line in scoped     misc.f      spectr.f
               spectrum       
read1          read DISK1 or DISK2 scan from another file    misc.f      read.f         
read2          in another directory and put it in next
               position in current DISK2 file. INPUT
               name of file to use.
cont           (only if lfresh not equal to 1): mark 4       misc.f      contin.f       
               points for continuum calculation for 
               equivalent width.
widt           (only if lfresh not equal to 1): calculate    misc.f      width.f        
               equivalent width.
flam n         convert F-nu to F-lambda, set flag for        misc.f      flamit.f       
               F-lambda, save to DISK2
logf n         convert F-nu to F-lambda, set flag for        misc.f      flamit.f       
               log F-lambda, save to DISK2
ylim n         calculate min. and max. values for DISK1      misc.f      ylimits.f      
               or DISK2 scans within given pscale limits.
dred n         INPUT E(B-V) for scan n                       misc.f      dreden.f       
               dereddens spectrum, save to DISK2                        unred.f        
dsks           opens DISK1 and DISK2, acc., norm., and       misc.f      dskset.f       
               flux buffers. INPUT DISK1 and DISK2 file
               names.
dats           opens wavelength cal., extinction, flux       misc.f      datset.f       
               standards and wing corr. files; INPUT
               names of files
vshi           shifts PBO F-lambda to a given V magnitude    misc.f      vshift.f       
               Need to INPUT a V magnitude.
log n          Logs DISK2 scan n and create a new one        misc.f      logit.f        
offs n1 -n2    prepares acc. buffers for offset calc.        proces.f    offset.f       
               then does calculation
add n1 -n2     prepare acc. buffers for adding               proces.f    addset.f       
addo n1 -n2    prepare acc. buffers for adding, clean        proces.f    addset.f       
               and subtract offset
norm           normalize arrays, set flags                   proces.f    b2c.f         
stor n1 -n2    LSTATA = 0? print ERROR IN SEQUENCE           proces.f    strset.f       
               LDETB = 1? call detb.f, subtract detector
                    background
               LSUBT NE 0? call subt.f,sub. background
               LWING NE 0? call wing.f, removes scattered
                     light, HVPS, and noise
               LTIME NE 0? call tyme.f, div. by exposure
                     time
               LNORM NE 0? call norm.f, normalizes data
               LTHRM NE 0? call thrm.f, thermal corr.
               LEXTI NE 0? call exti.f, extinction corr.
               LFLUX NE 0? call flux.f, flux calibration
               NOGO NE 0?  write to DISK2
addp n1 -n2    prepare acc. and pol. buffers for adding,     proces.f    addpol.f       
               clean and offset
pols n1 -n2?   LSTATP = 0? print ERROR IN SEQUENCE           proces.f    polsto.f       
               LSTATA = 0? print ERROR IN SEQUENCE
               LDETB = 1? call pdetb.f, subtract detector
                    background
               LSUBT NE 0? call psubt.f,sub. background
               LWING NE 0? call pwing.f, remove scattered
                     light, HVPS, and noise
               LTIME NE 0? call ptime.f, div. by exposure
                     time
               LNORM NE 0? call pnorm.f, normalizes data
               LTHRM NE 0? call pthrm.f, thermal corr.
               LEXTI NE 0? call pexti.f, extinction corr.
               LFLUX NE 0? call pflux.f, flux calibration
               NOGO NE 0?  write to DISK2
detb n1 -n2    prepare ac. buffers for adding, find          proces.f    detbkgd.f      
               detector background, and put in buffers
drop           INPUT keyword, drop range, drop scans         proces.f    drop.f
               out of range
psca p1 p2,)   INPUT pixel limits or select autoscale        plotse.f    pscale.f       
wsca w1 w2,)   INPUT wavelength limits or sel. autoscale     plotse.f    wscale.f       
ysca y1 y2,)   INPUT y limits or select autoscale            plotse.f    yscale.f       
xbox n         INPUT width of box in inches                  plotse.f    boxdef.f       
ybox n         INPUT height of box in inches                 plotse.f    boxdef.f       
penup          data plotted as points                        plotse.f    pennup.f       
pendown        data plotted as histogram                     plotse.f    pennup.f       
capt           INPUT caption to appear over box and on       plotse.f    pltcap.f       
               printer whenever the plot is executed
scop n         clear plot, write caption, plot scan on       plotse.f    a2b.f          
               terminal
plot n         clear plot, write caption, plot scan in       plotse.f    a2b.f          
               file
endp n         clear and close plot device                   plotse.f    a2b.f          
clea n         clear and close plot device                   plotse.f    a2b.f          
scru n1 -n2    INPUT Angstroms/pixel, and shift in           specia.f    f2a.f          
               Angstroms;resample spectra on to a
               standard linear wavelength scale and store
comb opts n1-n2  combine scrunched scans together            specia.f    f2b.f          
               and write to DISK2
util           cmd=syke?  convert DISK1 scans from SYKES     specia.f    o1g.f          
                          to 7 track pixel format by
                          shifting 48 pixels to right
               cmd=pshi?  INPUT pixel shift then shift
                          scans in list by this amount
               cmd=glit?  INPUT bad pixels or wavelengths
                          sets N pixels to mean of 2*N
                          on either side of bad ones
               cmd=zap?   INPUT bad pixels or wavelengths
                          then zeroes out pixels
               cmd=addc?  INPUT a constant; add constant
                          to scan and store scan
               cmd=mulc?  INPUT a constant; multiply
                          scan by constant and store scan
               cmd=log?   take log of data in DISK2 scan
                          and store in new DISK2 scan
tapi           error message
tapo           error message
lamb           wavelength cal. subprocess;see below          lambda.f
stan           flux cal. subprocess;see below                stand.f
oldp           old pol. red. subprocess;see below            ppolar.f
pola           pol. red. subprocess;see below                rpolar.f
back           background subprocess;see below               back.f
gauss          Gaussian fit subprocess; see below            gas.f
chan           change subprocess;see below                   change.f
ripp           ripple subprocess;see below                   ripple.f
exit           go to exit

*******************************************************************************
lambda.f;wavelength calibration subprocess
User inputs command

Command        What it does                           Calls on subroutine(s)     
-----------------------------------------------------------------------------
retu           Initializes matrices, variables, and          setlam.f
               clears the plots
               opens savecm.ret and writes vars.             putlcw.f
rese           Resets and clears plot                        setlam.f
scan1 n1 -n2   Marks scans for use in wavelength cal.        marklam.f   e2a.f
scan2 n1 -n2    ""                                           marklam.f   e2b.f
lxx1  n1 -n2    ""                                           stlam1.f    e2d.f
               flags lines; gives processor a fit for array                     
    lxx2,uxx1  finishes start                                e2f.f
disp n         displays array's calibration scan on          displam.f   e2c.f
               terminal, marks and numbers pts. used 
               in fit
plot n         sends to a plot file array's calibration      displam.f   e2c.f
               scan, with marks and pts. used
endp           clear and close plot                          displam.f   e2c.f
rest n         recalculate fit with specified lines          worklam.f   e2e.f
               given full weight
stri n         recalculate indicated array's fit with        worklam.f   e2e.f
               specified line given 0 weight
dump           dumps wavelength cal. blocks                  worklam.f   e2e.f
acce n         accept fit for array                          worklam.f   e2e.f

******************************************************************************
stand.f; flux calibration subprocess.
User inputs commands

Command   What it does                                Calls on subroutine(s)     
-----------------------------------------------------------------------------
retu           Clear and close plot then                     setstd.f
               save flux cal. variables to savecm.ret        putlcf.f
capt           INPUT caption, write on plot                  pltcap.f
rese           reinitialize as if starting again             setstd.f    stdset.f
scan1          prepare buffers for adding then               d2a.f
               subtract background, wing and thermal         d2b.f
               correction, extinction corr. then  
               process data and put std. curve in buffer     stdpro.f
scan2          process data, put std. curve in buffer        d2c.f
acce n         accepts standard curve, writes to buffer      finstd.f    stdyep.f
dump           dumps data in local common blocks             finstd.f    stddmp.f
disp n         close plot, display response wave of array    workst.f    d2d.f
plot n         clear and close plot, save response wave      workst.f    d2d.f
               of array to a plot file
shif n?        display response curve, enter shift mode,     workst.f    d2d.f
               INPUT from user=perform action with cursor:
               multiply shift curves
stri n?        display response curve, enter strike mode,    workst.f    d2d.f
               INPUT from user=strike with cursor points
               to delete.
drop n?        display response curve, enter drop mode,      workst.f    d2d.f
               INPUT from user=mark with cursor curves to
               be deleted
endp           clear and close plot                          workst.f    d2d.f
******************************************************************************
ppolar.f; old polar. reduction subprocess.
User inputs commands

Command        What it does                           Calls on subroutine(s)     
-----------------------------------------------------------------------------
retu           clear and close plot, saves vars. to file
rema           use rest of line as a remark
rese           clear plot, initialize variables              plset.f
reca S F       clear plot, reload scan S and                 plin.f     plfrin.f
               fit F into calibration buffer                        
pola S F       print polarization for scan S, fit F          plout.f
resi S F       compute residuals of scan S, fit F            plout.f
               minus fringes;store in DISK2
frin           clear screen of plot, load scans for fit;     plin.f
               do fringe cal., load cal. buffer;             plfrin.f
               evaluate fringe, store data in DISK2          plout.f 
               save local common blocks to savecm.ret
fit            clear plot, load scans for fitting;           plin.f
               load fringes then fit using current cal.;     plfit.f 
               evaluate fit, store data on DISK2;            plout.f 
               save local common blocks to savecm.ret
diff S1 S2     calculate diffsum (S1-S2)/(S1+S2) and         plin.f 
               store in reduced data disk file
now l1 l2      set weights for wavelengths                   plutil.f
               l1 to l2 to 0 
grid n         set up spline grid n intervals from           plutil.f
               lambda1 to lambda2, equally space in 
               1/lambda
flat n1 -n2    INPUT order of flattening polynomial 1-5      plutil.f
               and divide DISK2 scans by fitted polynomial
smoo n1 -n2    INPUT FWHM of smoothing Gaussian in pixels    plutil.f
               and smooth DISK2 scans n1 to n2
grey n n1 -n2  grey shift scan list to match                 plutil.f
               scan n and store list in DISK2
dump           writes out values of vars. in chosen          plutil.f
               common blocks
gang n         gang together n pixels in plotting            plpset.f
logx           set flags for log plotting in x,y axes        plpset.f
capt           input caption for plotting                    plpset.f   pltcap.f
forg n         delete DISK1 or DISK2 scans after n-1         plpset.f   forget.f
               and reset pointer to n
psca p1 p2, )  set pixel limits or autoscale                 plpset.f   pscale.f
wsca w1 w2, )  set wavelength limits or autoscale            plpset.f   wscale.f
ysca y1 y2, )  set y limits or autoscale                     plpset.f   yscale.f
penup          data plotted as points                        plpset.f   pennup.f       
pendown        data plotted as histogram                     plpset.f   pennup.f      
plot(over) n   set flag for plot, clear, plot scan           plpset.f
scop(eover) n  set flag for scop, clear, plot scan           plpset.f
endp           clear and close plot                          plpset.f
clea           clear and close plot                          plpset.f
util           see above                                     o1g.f
******************************************************************************
rpolar.f; polar. reduction subprocess.
User inputs commands

Command        What it does                           Calls on subroutine(s)     
-----------------------------------------------------------------------------
lcal name      Lyot fourier red.; read calibration file      lrpolar.f
               name.lcal into buffers
lrec CAL n1-n2 Lyot fourier red.; change calib. for          lrpolar.f
               pol. scans from that in header to
               cal. file CAL.cal
lpol n         Lyot fourier red.; compute Q,U,V, and         lrpolar.f
               error scans from diffsum calc. (n),
               chi-square it and save to DISK2
diff S1 S2     Lyot fourier red.; compute diffsum            lrpolar.f
               (S1-S2)/(S1+S2) and store in DISK2
lred           Lyot fourier red.                             lrpolar.f
lnew name      Lyot cal.; create new lcal file NAME.cal      lcalib.f
lsim n         Lyot cal.; create simulated diffsum scan      lcalib.f
               using scan n's header as template 
lpre n         Lyot cal.; use diffsum n and scrunch it       lcalib.f   lprepare.f
lsig n         Lyot cal.; calculate Lyot signal              lcalib.f
               functions for diffsum scan n, store LDAT
lcev n l       Lyot cal.; evaluate demodulation shift and    lcalib.f
               ratio cal. functions from Lyot envelopes
               for fringe calculation of scan n, and level
               l=-1,0,1,2
lexp n fn      Lyot cal.; expand Lyot functions and store    lcalib.f
               in DISK2;fn no. is 1-15
lres ldat n    Lyot cal.; calculate residual between LDAT    lcalib.f
               and diffsum scan n
hcal name      1/2 wave;load cal. file name.hcal             hrpolar.f
hrec cal n1-n2 1/2 wave; change cal. for Q,U,Error from      hrpolar.f
               one in header to cal.hcal for scans n1 to n2
hpol n1 -n2    1/2 wave; compute Q,U,Error from raw DISK2    hrpolar.f
               spectra in scan list n1 to n2
hrot n         1/2 wave; INPUT degrees to rotate             hrpolar.f
               pscan n;saves new pol. scan
hpri n1 -n2    1/2 wave;print out (v), Q,U,E,P,PA for        hrpolar.f
               pol scans n1 to n2 between pscale and
               wscale limits. for unbinned printouts of
               all pixels, print average only
hcom n1 -n2    1/2 wave; do error weighted combinations      hrpolar.f
               of polarization scans n1 and n2....
hadd n1 -n2    1/2 wave; do vector addition of pol. scans    hrpolar.f
               n1 and n2 and ...
hred (o) s1-s2 1/2 wave;go from DISK1 scan                   hrpolar.f
               pair lists to Q,U,E DISK2 scans; options (o)
               include WUPPE addpol (pcor,ycor,pycor); this
               option must come first.
hsco(peover) n 1/2 wave;scope pol. scan n                    hrpolar.f
               with optional signal dependent binning
hplo(tover) n  1/2 wave;plot pol. scan n                     hrpolar.f
               with optional signal dependent binning
xylo 0,1 0,1   1/2 wave; rquest linear(0) or                 hrpolar.f
               log(1) plotting for x,y, axes, linear for Q,U
endp           1/2 wave; clear and close plot                hrpolar.f
               INPUTs as with other occurrence of cmd
capt           1/2 wave; INPUT caption for plot              hrpolar.f  pltcap.f
               INPUTs as with other occurrence of cmd
penup          1/2 wave; do points on plot                   hrpolar.f  pennup.f
               INPUTs as with other occurrence of cmd
pendown        1/2 wave; do histogram on plot                hrpolar.f  pennup.f
               INPUTs as with other occurrence of cmd
symb l1 s l2.. 1/2 wave; request alternate                   hrpolar.f
               plotting symbols (s=1 char.) for Q,U 
               plot between wavelengths l1 and l2....
psca p1 p2,)   1/2 wave;set pixel limits or autoscale        hrpolar.f  pscale.f
               INPUTs as with other occurrence of cmd
wsca w1 w2,)   1/2 wave;set wave. limits or autoscale        hrpolar.f  wscale.f
               INPUTs as with other occurrence of cmd
xsca x1 x2,)   1/2 wave;set x limits or autoscale            hrpolar.f  xscale.f
               INPUTs as with other occurrence of cmd
ysca y1 y2,)   1/2 wave;set y limits or autoscale            hrpolar.f  yscale.f
               INPUTs as with other occurrence of cmd
xbox F         1/2 wave;set box to be F inches wide          hrpolar.f  boxdef.f
ybox F         1/2 wave;set box to be F inches high          hrpolar.f  boxdef.f
hasc n s       1/2 wave;print out s=(V), Q,U,E,P,PA for      hrpolar.f
               pol scan n between pscale and wscale limits.
               for unbinned printouts of all pixels.
hnew name      1/2 wave cal.;create new cal. file using      hcalib.f
               current one as default; can INPUT new #s
               makes name.cal
hdeb p c       1/2 wave cal.; set parameters for hpol        hcalib.f
               debug printout;p=pixel for full printout,
               c=min. chi-squared for large chi-sq printout
hopt l p wts (more)     1/2 wave cal.;optimization cmd for   hcalib.f
               1/2 wave filter cal.; INPUT variables and
               amount to vary; print residuals and write
               optimized data to temp. file; l=logfile,
               p=polfile, wts (optional)=weights for optimization
               and more is set for more than one hpol set.
wfil n         1/2 wave cal.;filter scan n for high freq.    hcalib.f
               noise. INPUT Gaussian signal width in freq.
               channels; get scan, mult. by Fourier filter,
               transform back and store 
wopt (A,B,W) SA...      1/2 wave cal.; optimization cmd for  hcalib.f
               scattered light calib.;INPUT polarizer 
               model name (?choices) and pixel boundaries.
               A,B,W=A or B array, WUPPE. SA=1st scan of 6
               for each star. Calculate scat. fns. and save
wabx           1/2 wave cal.; calculate Fourier wing fns.    hcalib.f
               using exponential and delta fns, includes
               high freq. noise suppression. INPUT values for
               exp. and delta fns.; put in buffers
wmod           1/2 wave cal.; INPUT parameters of Fourier    hcalib.f
               wing filter;computes transform of model
               line, divide scan transform by filter
               transform;transform back and store.
syn n l        1/2 wave cal.; creat synthetic spectrum from  hcalib.f
               model using Gaussian;write to DISK2;n=scan,
               l=linelist.
wsyn n s       1/2 wave cal.;create Fourier filter by        hcalib.f
               dividing transform of scan n by 
               transform of syn. spectrum s
wing n f       1/2 wave cal.;compute scattering corr.        hcalib.f
               in scan n with Fourier filter f
wlod t c n..   1/2 wave cal.;load file c=calname.ret with    hcalib.f
               filter fns. in scan n...;t=type
pmak n         Reads in mongo-like file of wavelength,       panlyz.f
               bin,Q, U,Err (plus V, if 'lyot' mode).
               Uses header from named Q or V scan (n).
isre p1 -p2    removes Serkowski-law interstellar pol.       panlyz.f
               from INPUTTED pol. scans and stores results
               as new scans of same typein DISK2.  INPUT
               PA(deg),Pmax (%), WMAX(Ang), DPA (deg), and
               and K'. DPA is in deg/inverse micron
isfi p1 -p2    perform fit of Serkowski ISP to scans in      panlyz.f
               pol. scan list. INPUT PA, P, Wmax,DPA, K1
               and which ones to vary;fit parameter is sum
               of chisq(Q)+chisq(U) for all scans
stfi p1 -p2    perform fit of Serkowski IS pol to scans      panlyz.f
               in pol. scan list. Residual is "intrinsic
               pol." having same PA at all wavelengths.
               INPUT is same as for isfi.
pflu q f       output polarized flux in F*Q, F*U, and        panlyz.f
               F*ERR scan set from Q scan q and flux scan f
psep n         separate pol. scan n into 2 pol. scans        panlyz.f
               with specified PAs. Results have all
               linear pol. rotated into Q
pfew q f       compute flux and pol. flux equivalent         panlyz.f
               width for lines in specified scan;q=Q scan,
               f=flux scan. INPUT cont, line, cont 
               wavelength, EW0 (the underlying line to
               be removed first)
pfil q f       computes filter pol. data from Q scan q       panlyz.f
               and flux scan f. Reads in filter bandpass curve 
               from file FILE.fil in USERDATA dir. 
               INPUT file name and weights for filter index
phar q         does a weighted least-squares fit of a        panlyz.f
               series of Q,U,Err scans to the second
               harmonic of a known binary eph.
make n         MAKE2;creates a new scan with anything        panlyz.f
               you want in it. Uses header of scan n as
               template; INPUT model where model is a file
               in current dir. with data in mongo format
               OR INPUT poly coefficients: y=a+b*x+...
               up to 6 coeff.
psim p1 -p2    generate an artifical spectrum; INPUT time    psim.f
               spcmag,mode, model parameters;load in cal.
               and generate spectrum
rema           store rest of line as remark
retu           return to main program

****************************************************************************
back.f: Background/noise statistics subprocess
User inputs commands

Command        What it does                          Calls on subroutine(s)     
-----------------------------------------------------------------------------
pixl p n1 -n2  list value of pixel p in scan list            noise.f
gang n         gang n pixels together in                     noise.f
               pixlist and noise
nois d n1 -n2  calculate avg, rms, skew, dev. dist           noise.f
               of scans, store in DISK2;d=despike; if
               requested, remove pixels with dev>x RMS
drif on/off    turn on or off drift compensation in          noise.f
               noise
four n1 -n2    INPUT window apodization factor;apodize       noise.f
               from ends of data;for each scan, store
               real, imag., and power in Fourier trans-
               form in next 3 DISK2 scans
stat n1 -n2    print out avg., rms, pixel #s of 32           noise.f 
               largest values, and number of pixels in
               ranges 0-AVG/4...AVG*31/4-8*AVG
corr n1 n2     cross-correlate scan1 and scan2 and           noise.f
               store in DISK2
adds n1 -n2    performs 'add S store' on every scan          noise.f
               in series
time n1 -n2    auto-correlate a time-series of n scans       noise.f
               in DISK2 and create a new scan
effi           calc. system efficiency from norm and         noise.f
               flux buffers and store in DISK2
offs set n1-n2 get offset per frame from scans and           dark.f
    remo n1-n2 put in DISK1 scan, remove if desired
dark n1 -n2    assume DISK1 scans are pure diode dark,       dark.f
               correct for non-linearity
pyse n1 -n2    set/restore pitch, yaw errors in listed       wpycor.f
               D1 headers
pyad n1 -n2    add/stores A/B scans for one filter pair      wpycor.f
               sep. for each of 32 Y bins in DISK1 scan list
pyco n1 -n2    combine corr. A/B flatfield ratio vs. yaw     wpycor.f
               for different stars/filter pairs in DISK2
               scan list
pylo A/B B-NORM   load FFCOR file and compute stellar Ap2    wpycor.f
               and diffuse Ap2,4,6,7,8 NORMS from B NORM and
               A/B D2 scans
pyso n1 -n2    read scans in D1 list from another D1         wpycor.f
               list, sorted by any keyword in header
pspc n1 -n2    update pitch estimate from spect. data        wpycor.f
               using auto-corr. of B array for DISK1 scans
               in list
yspc n1 -n2    update yaw error based on A/B glitch          wpycor.f 
               indices in header in DISK1 scan list
xtin n1 -n2    reads extinction curve file FILE.xtc,         anlyz.f
               normalize it and apply to scan list
matc S0 n1-n2  match scans in scan list to flux              anlyz.f
               between 2 wavelengths. INPUT W1 and
               W2 for match interval
muls S1 S2     compute S1*S2, store in DISK2                 anlyz.f
div  S1 S2     compute S1/S2, store in DISK2                 anlyz.f
lins S1 S2     compute S1+const*S2, store in DISK2           anlyz.f
back           return to back subprocess
retu           return to main program

******************************************************************
gas.f   Gaussian subprocess
Calls gasset.f first.
User inputs commands

Command        What it does                           Calls on subroutine(s)     
-----------------------------------------------------------------------------
)              restarts
C              restarts
rese           resets variables and restarts               
retu           clear and close plot,go back to main        
               program
scop n         clear 'scope' and plot buffer                 ga1.f
               Inputs as earlier
plot n         clear 'plot' and plot buffer                  ga1.f
               Inputs as earlier
psca p1 p2, )  set pixel limits or autoscale                 ga1.f      pscale.f
               Inputs as earlier
wsca w1 w2, )  set wavelength limits or autoscale            ga1.f      wscale.f
               Inputs as earlier
ysca y1 y2, )  set y limits or autoscale                     ga1.f      yscale.f
               Inputs as earlier
capt           INPUT text for caption                        ga1.f      pltcap.f
               Inputs as earlier
line n wave    put cursor on wavelength for scan n           ga1.f
        mark   use cursor to mark pos. of line for scan n
base           cursor marks 4 pos. and set baseline          ga1.f
               for Gaussian
endp           clear and close plot                          ga1.f
sigm n x       INPUT x=sigma of Gaussian for each            ga2.f
               marked line n       
shif x         INPUT shift of Gaussian in Angstroms          ga2.f
fit( each)     fit Gaussian                                  ga2.f
iter x,all     iterate fit of Gaussian until fit OK          ga2.f
stat           write status of variables                     ga2.f 
disp           plot (display) Guassian                       ga2.f
endd           clear and close plot                          ga2.f

****************************************************************************
change.f  Change plotting variables subprocess
setchg.f called before commands put in.
User inputs commands

Command        What it does                           Calls on subroutine(s)     
-----------------------------------------------------------------------------
retu           clear and close plot, return to main       
               program
rese           re-initializes variables                    
xlin l,rl      set flags and labels for linear               xycord.f
               x axis;specify lambda or rlambda (1/lambda)
xlog l,rl      set flags and labels for log                  xycord.f
               x axis;specify lambda or rlambda (1/lambda)
ylin fl,fn,lfl set flags and labels for linear               xycord.f
               y axis
ylog fl,fn     set flags and labels for log                  xycord.f
               y axis
xsca x1 x2,)   set x and wavelength limits for plot          scalex.f
ysca y1 y2,)   set y limits for plot                         scaley.f
capt           INPUT text for caption                        pltcap.f
dump           write variables on screen                     diag.f
keep n1 -n2    write buffer to DISK2                         keep.f
smoo           INPUT width of smoothing in Angstroms         smooth.f
               and DISK2 scans
plot(over) n1-n2   clear and open plot, write capt.,         u2b.f
               plot buffer
scop(eover) n1-n2  clear and open scope, write capt.,        u2b.f
               plot buffer
endp           clear and close plot                          u2b.f
rema           use rest of command line for remark         

******************************************************************************
ripple.f   ripple subprocess
User inputs commands

Command        What it does                           Calls on subroutine(s)     
-----------------------------------------------------------------------------
four n1 -n2    normalized window fn.;for each                fourie.f
               scan, store real, imag., and power 
               in Fourier transform in next 3 DISK2 scans
hdmp2 n q,p    print out Q,U,Err (q) or P,PA, Err (p)
               for  pol scan n between pscale and wscale limits.
hpri n1 -n2    print out (V), Q,U,E,P,PA for pol             hrpolar.f
               scans between pscale and wscale limits.
               for unbinned printouts of all pixels.
hrec name n1 -n2  change cal. for Q,U,Error from             hrpolar.f
               one in header to name.hcal
lcal name      read calibration file name.lcal               lrpolar.f
               into buffers
lrec name n1 -n2  change calib. for pol. scans from that     lrpolar.f
               in header to cal. file name.cal         
mark           gives x,y cursor posn. for emission line      spectr.f   
oldc           cmd=cent;centroid around line                 spectr.f
oldf n1 -n2    cmd=four;for each scan, store real,           noise.f             
               imag., and power in Fourier transform in 
               next 3 DISK2 scans          
pow1 name n1 -n2  find power spectrum of PA dist.            pow1.f
               for scans in list; use lcal file name.lcal
pow3 name n1 -n2  analyze PA ripple for scans                pow3.f
               in list using lcal file name.lcal; INPUT
               maximum pixel shift
samp n1 -n2    samples wavelength onto a linear              sample.f
               retardation scale, scrunch and store
               on DISK2
serk n         create Q,U,Err data for Serkowski curve       serkow.f
               INPUT PA,Pmax,Wmax,DPA, and K', calc.
               curve and store in DISK2
slid x n1 -n2  Change C0 to C(1) coeff. by x=                slide.f
               XSHIFT for all scans, store in DISK2
capt           INPUT caption to be used                      pltcap.f
penup          do points on plot                             pennup.f
pendown        do histogram on plot                          pennup.f
psca p1 p2,)   set pixel limits or autoscale                 pscale.f
wsca w1 w2,)   set wave. limits or autoscale                 wscale.f
ysca y1 y2,)   set y limits or autoscale                     yscale.f
scop  n        clear and open scope device, write            a2b.f
               caption and plot buffer contents
plot  n        clear&open plot device, write caption         a2bf.
               and plot buffer contents
endp           clear and close plot                          a2b.f
clea           clear and close plot                          a2b.f
read (options) read in 2 echelle text files (A&B             reade.f
               arrays), store in DISK2; INPUT name,
               starslit, 1/2 wave filter, exp. time,
               A array and B array files     
bufs           print values of variables in buffers          bufstat.f
crza (ops) n1-n2  eliminate negative pixels and ones         crzap.f
               over and under threshold in DISK1 scanlist
pbo            load thermal and scat. light corr.            tmpobserv.f
comb n1 -n2    combines scrunched spectra, store             tmpf2b.f
               in DISK2       
fakb n         create fake background and store in           fakbkg.f
               DISK1; use scan n as header template
seti           set int. frame time; INPUT value of           setifr.f
               frametime
retu           return to main program
rema           use rest of line as remark