aboutsummaryrefslogtreecommitdiff
path: root/noao/imred/echelle/demos
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /noao/imred/echelle/demos
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'noao/imred/echelle/demos')
-rw-r--r--noao/imred/echelle/demos/demoarc.dat38
-rw-r--r--noao/imred/echelle/demos/demoobj.dat37
-rw-r--r--noao/imred/echelle/demos/demos.cl20
-rw-r--r--noao/imred/echelle/demos/demos.men7
-rw-r--r--noao/imred/echelle/demos/demos.par2
-rw-r--r--noao/imred/echelle/demos/demostd.dat36
-rw-r--r--noao/imred/echelle/demos/doecslit.cl21
-rw-r--r--noao/imred/echelle/demos/dofoe.cl13
-rw-r--r--noao/imred/echelle/demos/ecdofoe.dat33
-rw-r--r--noao/imred/echelle/demos/mkdoecslit.cl137
-rw-r--r--noao/imred/echelle/demos/mkdofoe.cl103
-rw-r--r--noao/imred/echelle/demos/xgdoecslit.dat105
-rw-r--r--noao/imred/echelle/demos/xgdofoe.dat50
13 files changed, 602 insertions, 0 deletions
diff --git a/noao/imred/echelle/demos/demoarc.dat b/noao/imred/echelle/demos/demoarc.dat
new file mode 100644
index 00000000..fa0a179d
--- /dev/null
+++ b/noao/imred/echelle/demos/demoarc.dat
@@ -0,0 +1,38 @@
+ OBJECT = 'First comp ' / object name
+ OBSERVAT= 'KPNO ' / observatory
+ OBSERVER= 'Massey ' / observers
+ COMMENTS= 'Final New Ice ' / comments
+ EXPTIME = 60. / actual integration time
+ DARKTIME= 60. / total elapsed time
+ IMAGETYP= 'comp ' / object, dark, bias, etc.
+ DATE-OBS= '26/11/91 ' / date (dd/mm/yy) of obs.
+ UT = '12:11:30.00 ' / universal time
+ ST = '09:04:54.00 ' / sidereal time
+ RA = '06:37:02.00 ' / right ascension
+ DEC = '06:09:03.00 ' / declination
+ EPOCH = 1991.9 / epoch of ra and dec
+ ZD = '48.760 ' / zenith distance
+ AIRMASS = 0. / airmass
+ TELESCOP= 'kpcdf ' / telescope name
+ DETECTOR= 'te1k ' / detector
+ PREFLASH= 0 / preflash time, seconds
+ GAIN = 5.4 / gain, electrons per adu
+ DWELL = 5 / sample integration time
+ RDNOISE = 3.5 / read noise, electrons per adu
+ DELAY0 = 0 / time delay after each pixel
+ DELAY1 = 0 / time delay after each row
+ CAMTEMP = -111 / camera temperature
+ DEWTEMP = -183 / dewar temperature
+ CCDSEC = '[97:134,2:1023]' / orientation to full frame
+ ORIGSEC = '[1:1024,1:1024] ' / original size full frame
+ CCDSUM = '1 1 ' / on chip summation
+ INSTRUME= 'test ' / instrument
+ APERTURE= '250micron slit ' / aperture
+ TVFILT = '4-96 ' / tv filter
+ DISPAXIS= '2 ' / dispersion axis
+ GRATPOS = 4624.3 / grating position
+ TRIM = 'Nov 26 5:44 Trim data section is [23:60,2:1023]'
+ OVERSCAN= 'Nov 26 5:44 Overscan section is [103:133,2:1023] with mean=611.1
+ ZEROCOR = 'Nov 26 5:44 Zero level correction image is Zerof'
+ CCDMEAN = 179.398
+ CCDPROC = 'Nov 26 5:44 CCD processing done'
diff --git a/noao/imred/echelle/demos/demoobj.dat b/noao/imred/echelle/demos/demoobj.dat
new file mode 100644
index 00000000..78f3b9ad
--- /dev/null
+++ b/noao/imred/echelle/demos/demoobj.dat
@@ -0,0 +1,37 @@
+ OBJECT = 'V640Mon 4500 ' / object name
+ OBSERVAT= 'KPNO ' / observatory
+ OBSERVER= 'Massey ' / observers
+ COMMENTS= 'Final New Ice ' / comments
+ EXPTIME = 1200. / actual integration time
+ DARKTIME= 1200. / total elapsed time
+ IMAGETYP= 'object ' / object, dark, bias, etc.
+ DATE-OBS= '26/11/91 ' / date (dd/mm/yy) of obs.
+ UT = '12:19:55.00 ' / universal time
+ ST = '09:13:15.00 ' / sidereal time
+ RA = '06:37:02.00 ' / right ascension
+ DEC = '06:08:52.00 ' / declination
+ EPOCH = 1991.9 / epoch of ra and dec
+ ZD = '44.580 ' / zenith distance
+ AIRMASS = 0. / airmass
+ TELESCOP= 'kpcdf ' / telescope name
+ DETECTOR= 'te1k ' / detector
+ PREFLASH= 0 / preflash time, seconds
+ GAIN = 5.4 / gain, electrons per adu
+ DWELL = 5 / sample integration time
+ RDNOISE = 3.5 / read noise, electrons per adu
+ DELAY0 = 0 / time delay after each pixel
+ DELAY1 = 0 / time delay after each row
+ CAMTEMP = -111 / camera temperature
+ DEWTEMP = -183 / dewar temperature
+ CCDSEC = '[97:134,2:1023]' / orientation to full frame
+ ORIGSEC = '[1:1024,1:1024] ' / original size full frame
+ CCDSUM = '1 1 ' / on chip summation
+ INSTRUME= 'test ' / instrument
+ APERTURE= '250micron slit ' / aperture
+ TVFILT = '4-96 ' / tv filter
+ DISPAXIS= '2 ' / dispersion axis
+ GRATPOS = 4624.3 / grating position
+ TRIM = 'Nov 26 5:44 Trim data section is [23:60,2:1023]'
+ OVERSCAN= 'Nov 26 5:44 Overscan section is [103:133,2:1023] with mean=611.1
+ ZEROCOR = 'Nov 26 5:44 Zero level correction image is Zerof'
+ CCDPROC = 'Nov 26 5:44 CCD processing done'
diff --git a/noao/imred/echelle/demos/demos.cl b/noao/imred/echelle/demos/demos.cl
new file mode 100644
index 00000000..00033829
--- /dev/null
+++ b/noao/imred/echelle/demos/demos.cl
@@ -0,0 +1,20 @@
+# DEMOS -- Run specified demo provided a demo file exists.
+
+procedure demos (demoname)
+
+file demoname {prompt="Demo name"}
+
+begin
+ file demo, demofile
+
+ if ($nargs == 0 && mode != "h")
+ type ("demos$demos.men")
+ demo = demoname
+ demofile = "demos$" // demo // ".cl"
+ if (access (demofile)) {
+ task $demo=(demofile)
+ demo
+# cl (< demofile)
+ } else
+ error (1, "Unknown demo " // demo)
+end
diff --git a/noao/imred/echelle/demos/demos.men b/noao/imred/echelle/demos/demos.men
new file mode 100644
index 00000000..09d41022
--- /dev/null
+++ b/noao/imred/echelle/demos/demos.men
@@ -0,0 +1,7 @@
+ MENU of ECHELLE Demonstrations
+
+ mkdoecslit - Make test echelle slit data (3 orders, 100x256)
+ doecslit - Quick test of DOECSLIT (small images, no comments, no delays)
+
+ mkdofoe - Make test FOE data (3 orders, 100x256)
+ dofoe - Quick test of DOFOE (small images, no comments, no delays)
diff --git a/noao/imred/echelle/demos/demos.par b/noao/imred/echelle/demos/demos.par
new file mode 100644
index 00000000..4181ed59
--- /dev/null
+++ b/noao/imred/echelle/demos/demos.par
@@ -0,0 +1,2 @@
+demoname,f,a,"",,,"Demo name"
+mode,s,h,"ql",,,
diff --git a/noao/imred/echelle/demos/demostd.dat b/noao/imred/echelle/demos/demostd.dat
new file mode 100644
index 00000000..7588f3fa
--- /dev/null
+++ b/noao/imred/echelle/demos/demostd.dat
@@ -0,0 +1,36 @@
+ OBJECT = 'V640Mon 4500 ' / object name
+ OBSERVAT= 'KPNO ' / observatory
+ OBSERVER= 'Massey ' / observers
+ COMMENTS= 'Final New Ice ' / comments
+ EXPTIME = 1200. / actual integration time
+ DARKTIME= 1200. / total elapsed time
+ IMAGETYP= 'object ' / object, dark, bias, etc.
+ DATE-OBS= '26/11/91 ' / date (dd/mm/yy) of obs.
+ UT = '12:19:55.00 ' / universal time
+ ST = '09:13:15.00 ' / sidereal time
+ RA = '06:37:02.00 ' / right ascension
+ DEC = '06:08:52.00 ' / declination
+ EPOCH = 1991.9 / epoch of ra and dec
+ ZD = '44.580 ' / zenith distance
+ AIRMASS = 0. / airmass
+ TELESCOP= 'kpcdf ' / telescope name
+ DETECTOR= 'te1k ' / detector
+ PREFLASH= 0 / preflash time, seconds
+ GAIN = 5.4 / gain, electrons per adu
+ DWELL = 5 / sample integration time
+ RDNOISE = 3.5 / read noise, electrons per adu
+ DELAY0 = 0 / time delay after each pixel
+ DELAY1 = 0 / time delay after each row
+ CAMTEMP = -111 / camera temperature
+ DEWTEMP = -183 / dewar temperature
+ CCDSEC = '[97:134,2:1023]' / orientation to full frame
+ ORIGSEC = '[1:1024,1:1024] ' / original size full frame
+ CCDSUM = '1 1 ' / on chip summation
+ INSTRUME= 'test ' / instrument
+ APERTURE= '250micron slit ' / aperture
+ TVFILT = '4-96 ' / tv filter
+ GRATPOS = 4624.3 / grating position
+ TRIM = 'Nov 26 5:44 Trim data section is [23:60,2:1023]'
+ OVERSCAN= 'Nov 26 5:44 Overscan section is [103:133,2:1023] with mean=611.1
+ ZEROCOR = 'Nov 26 5:44 Zero level correction image is Zerof'
+ CCDPROC = 'Nov 26 5:44 CCD processing done'
diff --git a/noao/imred/echelle/demos/doecslit.cl b/noao/imred/echelle/demos/doecslit.cl
new file mode 100644
index 00000000..17483089
--- /dev/null
+++ b/noao/imred/echelle/demos/doecslit.cl
@@ -0,0 +1,21 @@
+# Create demo data if needed.
+
+task $mkdoecslit=demos$mkdoecslit.cl
+mkdoecslit
+imdel ("demo*.??h,sens*", verify=no, >& "dev$null")
+imcopy ("Bdemoobj1", "demoobj1", verbose=no)
+imcopy ("Bdemoobj2", "demoobj2", verbose=no)
+imcopy ("Bdemoarc", "demoarc", verbose=no)
+imcopy ("Bdemostd", "demostd", verbose=no)
+
+unlearn doecslit apscat1 apscat2
+sparams.extras = no
+sparams.bandwidth = 3
+sparams.bandsep = 3
+delete ("demologfile,demoplotfile,std", verify=no, >& "dev$null")
+
+# Execute playback.
+if (substr (envget("stdgraph"), 1, 6) == "xgterm")
+ stty (playback="demos$xgdoecslit.dat", nlines=24, verify=no, delay=0)
+else
+ error (1, "Playback for current terminal type not available")
diff --git a/noao/imred/echelle/demos/dofoe.cl b/noao/imred/echelle/demos/dofoe.cl
new file mode 100644
index 00000000..9a7d0da3
--- /dev/null
+++ b/noao/imred/echelle/demos/dofoe.cl
@@ -0,0 +1,13 @@
+# Create demo data if needed.
+
+task $mkdofoe=demos$mkdofoe.cl
+mkdofoe
+
+unlearn dofoe params
+delete ("demologfile,demoplotfile", verify=no, >& "dev$null")
+
+# Execute playback.
+if (substr (envget("stdgraph"), 1, 6) == "xgterm")
+ stty (playback="demos$xgdofoe.dat", nlines=24, verify=no, delay=0)
+else
+ error (1, "Playback for current terminal type not available")
diff --git a/noao/imred/echelle/demos/ecdofoe.dat b/noao/imred/echelle/demos/ecdofoe.dat
new file mode 100644
index 00000000..edaa050b
--- /dev/null
+++ b/noao/imred/echelle/demos/ecdofoe.dat
@@ -0,0 +1,33 @@
+# Tue 10:20:50 16-Nov-93
+begin ecidentify demoarc.ec
+ id demoarc.ec
+ task ecidentify
+ image demoarc.ec
+ features 8
+ 1 116 78.35 4965.0792 4965.0795 4.0 1 1
+ 2 115 77.21 5009.335 5009.3344 4.0 1 1
+ 2 115 227.04 5019.8062 5019.8062 4.0 1 1
+ 3 114 11.56 5049.8052 5049.796 4.0 1 1
+ 3 114 25.44 5050.7874 5050.7842 4.0 1 1
+ 3 114 89.66 5055.3289 5055.3473 4.0 1 1
+ 3 114 184.46 5062.0332 5062.0371 4.0 1 1
+ 3 114 225.77 5064.9549 5064.9454 4.0 1 1
+ offset 117
+ slope -1
+ niterate 3
+ lowreject 3.
+ highreject 3.
+ coefficients 12
+ 1.
+ 2.
+ 2.
+ 1.
+ 1.
+ 256.
+ 114.
+ 116.
+ 576485.7847819133
+ 1024.71926036047
+ -134.8425017381852
+ -3.224100491592999
+
diff --git a/noao/imred/echelle/demos/mkdoecslit.cl b/noao/imred/echelle/demos/mkdoecslit.cl
new file mode 100644
index 00000000..1d5fa14b
--- /dev/null
+++ b/noao/imred/echelle/demos/mkdoecslit.cl
@@ -0,0 +1,137 @@
+# Create test data if needed.
+
+procedure mkdoecslit ()
+begin
+
+ artdata
+ artdata.nxc = 5
+ artdata.nyc = 5
+ artdata.nxsub = 10
+ artdata.nysub = 10
+ artdata.nxgsub = 5
+ artdata.nygsub = 5
+ artdata.dynrange = 100000.
+ artdata.psfrange = 10.
+ artdata.ranbuf = 0
+
+ if (!access ("Bdemoflat." // envget ("imtype"))) {
+ print ("Creating example demoflat ...")
+ mkechelle ("Bdemoflat", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoobj.dat", list=no, make=yes,
+ comments=no, xc=INDEF, yc=INDEF, pixsize=0.027,
+ profile="slit", width=20., scattered=10., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=20000., temperature=5700., lines="",
+ nrandom=0, peak=5.0, sigma=0.1, seed=2, >& "dev$null")
+ mknoise ("Bdemoflat", output="", ncols=512, nlines=512, title="",
+ header="", background=0., gain=1., rdnoise=10., poisson=no,
+ seed=5, cosrays="", ncosrays=0, energy=30000., radius=0.5,
+ ar=1., pa=0., comments=no)
+ }
+
+ if (!access ("Bdemoobj1." // envget ("imtype"))) {
+ print ("Creating example demoobj1 ...")
+ mkechelle ("Bdemoobj1", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoobj.dat", list=no, make=yes,
+ comments=no, xc=INDEF, yc=INDEF, pixsize=0.027,
+ profile="gaussian", width=4., scattered=25., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=500., temperature=7700., lines="",
+ nrandom=100, peak=-0.2, sigma=0.3, seed=1, >& "dev$null")
+ mkechelle ("Bdemoobj1", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoobj.dat", list=no, make=yes,
+ comments=no, xc=INDEF, yc=INDEF, pixsize=0.027,
+ profile="slit", width=20., scattered=10., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=200., temperature=5700., lines="",
+ nrandom=20, peak=5.0, sigma=0.1, seed=2, >& "dev$null")
+ mknoise ("Bdemoobj1", output="", ncols=512, nlines=512, title="",
+ header="", background=0., gain=1., rdnoise=10., poisson=yes,
+ seed=1, cosrays="", ncosrays=0, energy=30000., radius=0.5,
+ ar=1., pa=0., comments=no)
+ }
+
+ if (!access ("Bdemoobj2." // envget ("imtype"))) {
+ print ("Creating example demoobj2 ...")
+ mkechelle ("Bdemoobj2", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoobj.dat", list=no, make=yes,
+ comments=no, xc=INDEF, yc=INDEF, pixsize=0.027,
+ profile="gaussian", width=4., scattered=25., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=10., z=no, continuum=500., temperature=7700., lines="",
+ nrandom=100, peak=-0.2, sigma=0.3, seed=1, >& "dev$null")
+ mkechelle ("Bdemoobj2", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoobj.dat", list=no, make=yes,
+ comments=no, xc=INDEF, yc=INDEF, pixsize=0.027,
+ profile="slit", width=20., scattered=10., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=200., temperature=5700., lines="",
+ nrandom=20, peak=5.0, sigma=0.1, seed=2, >& "dev$null")
+ mknoise ("Bdemoobj2", output="", ncols=512, nlines=512, title="",
+ header="", background=0., gain=1., rdnoise=10., poisson=yes,
+ seed=4, cosrays="", ncosrays=0, energy=30000., radius=0.5,
+ ar=1., pa=0., comments=no)
+ }
+
+ if (!access ("Bdemostd." // envget ("imtype"))) {
+ print ("Creating example demostd ...")
+ mkechelle ("Bdemostd", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demostd.dat", list=no, make=yes,
+ comments=no, xc=INDEF, yc=INDEF, pixsize=0.027,
+ profile="gaussian", width=4., scattered=25., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=500., temperature=10000., lines="",
+ nrandom=0, peak=-0.5, sigma=0.5, seed=3, >& "dev$null")
+ mkechelle ("Bdemostd", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demostd.dat", list=no, make=yes,
+ comments=no, xc=INDEF, yc=INDEF, pixsize=0.027,
+ profile="slit", width=20., scattered=10., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=200., temperature=5700., lines="",
+ nrandom=20, peak=5.0, sigma=0.1, seed=2, >& "dev$null")
+ mknoise ("Bdemostd", output="", ncols=512, nlines=512, title="",
+ header="", background=0., gain=1., rdnoise=10., poisson=yes,
+ seed=2, cosrays="", ncosrays=0, energy=30000., radius=0.5,
+ ar=1., pa=0., comments=no)
+ }
+
+ if (!access ("Bdemoarc." // envget ("imtype"))) {
+ print ("Creating example demoarc ...")
+ mkechelle ("Bdemoarc", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoarc.dat", list=no, make=yes,
+ comments=no, xc=INDEF, yc=INDEF, pixsize=0.027,
+ profile="slit", width=20., scattered=10., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=20., temperature=0.,
+ lines="mkexamples$ecthorium.dat", nrandom=0, peak=-0.5,
+ sigma=0.05, seed=1, >& "dev$null")
+ mknoise ("Bdemoarc", output="", ncols=512, nlines=512, title="",
+ header="", background=0., gain=1., rdnoise=10., poisson=yes,
+ seed=3, cosrays="", ncosrays=0, energy=30000., radius=0.5,
+ ar=1., pa=0., comments=no)
+ }
+end
diff --git a/noao/imred/echelle/demos/mkdofoe.cl b/noao/imred/echelle/demos/mkdofoe.cl
new file mode 100644
index 00000000..6a18aaea
--- /dev/null
+++ b/noao/imred/echelle/demos/mkdofoe.cl
@@ -0,0 +1,103 @@
+# Create test data if needed.
+
+procedure mkdofoe ()
+begin
+
+ artdata
+ artdata.nxc = 5
+ artdata.nyc = 5
+ artdata.nxsub = 10
+ artdata.nysub = 10
+ artdata.nxgsub = 5
+ artdata.nygsub = 5
+ artdata.dynrange = 100000.
+ artdata.psfrange = 10.
+ artdata.ranbuf = 0
+
+ if (!access ("demoobj." // envget ("imtype"))) {
+ print ("Creating example demoobj ...")
+ mkechelle ("demoobj", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoobj.dat", list=no, make=yes,
+ comments=no, xc=50, yc=50.1, pixsize=0.027,
+ profile="gaussian", width=4., scattered=25., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=500., temperature=7700., lines="",
+ nrandom=100, peak=-0.2, sigma=0.3, seed=1, >& "dev$null")
+ mkechelle ("demoobj", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoobj.dat", list=no, make=yes,
+ comments=no, xc=60, yc=51.6, pixsize=0.027,
+ profile="gaussian", width=4., scattered=0., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=4.95, temperature=0.,
+ lines="mkexamples$ecthorium.dat", nrandom=0, peak=-0.5,
+ sigma=0.05, seed=1, >& "dev$null")
+ mknoise ("demoobj", output="", ncols=512, nlines=512, title="",
+ header="", background=0., gain=1., rdnoise=10., poisson=yes,
+ seed=1, cosrays="", ncosrays=0, energy=30000., radius=0.5,
+ ar=1., pa=0., comments=no)
+ }
+
+ if (!access ("demoflat." // envget ("imtype"))) {
+ print ("Creating example demoflat ...")
+ mkechelle ("demoflat", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoobj.dat", list=no, make=yes,
+ comments=no, xc=50, yc=50.2, pixsize=0.027,
+ profile="gaussian", width=4., scattered=25., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=1000., temperature=5700., lines="",
+ nrandom=0, peak=-0.2, sigma=0.3, seed=1, >& "dev$null")
+ mkechelle ("demoflat", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoobj.dat", list=no, make=yes,
+ comments=no, xc=60, yc=51.7, pixsize=0.027,
+ profile="gaussian", width=4., scattered=25., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=990., temperature=7700., lines="",
+ nrandom=0, peak=-0.2, sigma=0.3, seed=1, >& "dev$null")
+ mknoise ("demoflat", output="", ncols=512, nlines=512, title="",
+ header="", background=0., gain=1., rdnoise=10., poisson=yes,
+ seed=2, cosrays="", ncosrays=0, energy=30000., radius=0.5,
+ ar=1., pa=0., comments=no)
+ }
+
+ if (!access ("demoarc." // envget ("imtype"))) {
+ print ("Creating example demoarc ...")
+ mkechelle ("demoarc", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoarc.dat", list=no, make=yes,
+ comments=no, xc=50, yc=50, pixsize=0.027,
+ profile="gaussian", width=4., scattered=0., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=10., temperature=0.,
+ lines="mkexamples$ecthorium.dat", nrandom=0, peak=-0.5,
+ sigma=0.05, seed=1, >& "dev$null")
+ mkechelle ("demoarc", yes, ncols=100, nlines=256, norders=21,
+ title="Artificial Echelle Spectrum",
+ header="demos$demoarc.dat", list=no, make=yes,
+ comments=no, xc=60, yc=51.5, pixsize=0.027,
+ profile="gaussian", width=4., scattered=0., f=590., gmm=31.6,
+ blaze=63., theta=69., order=112, wavelength=5007.49,
+ dispersion=2.61, cf=590., cgmm=226., cblaze=4.53,
+ ctheta=-11.97, corder=1, cwavelength=6700., cdispersion=70.,
+ rv=0., z=no, continuum=9.9, temperature=0.,
+ lines="mkexamples$ecthorium.dat", nrandom=0, peak=-0.5,
+ sigma=0.05, seed=1, >& "dev$null")
+ mknoise ("demoarc", output="", ncols=512, nlines=512, title="",
+ header="", background=0., gain=1., rdnoise=10., poisson=yes,
+ seed=3, cosrays="", ncosrays=0, energy=30000., radius=0.5,
+ ar=1., pa=0., comments=no)
+ }
+end
diff --git a/noao/imred/echelle/demos/xgdoecslit.dat b/noao/imred/echelle/demos/xgdoecslit.dat
new file mode 100644
index 00000000..3c59563a
--- /dev/null
+++ b/noao/imred/echelle/demos/xgdoecslit.dat
@@ -0,0 +1,105 @@
+\O=NOAO/IRAF IRAFX valdes@puppis Mon 14:58:37 15-Nov-93
+\T=xgterm
+\G=xgterm
+epar\sechel\n
+\r
+onedstds$spechayescal/\r
+\r
+\r
+\r
+\r
+\r
+y\r
+demologfile\r
+demoplotfile\r
+^Z
+epar\sdoecslit\n
+demoobj1,demoobj2\r
+demostd\r
+demoarc\r
+\r
+demostd\r
+rdnoise\r
+gain\r
+\r
+3\r
+\r
+\r
+y\r
+y\r
+y\r
+\r
+\r
+scat\r
+y\r
+^Z
+doecslit\sredo+\n
+\n
+\n
+b/<-5\s\s\s\s/=(.\s=\r
+q/<-5\s\s\s\s/=(.\s=\r
+q/<-5\s\s\s\s/=(.\s=\r
+\r
+\r
+q/<-5\s\s\s\s/=(.\s=\r
+N\r
+\n
+q/<-5\s\s\s\s/=(.\s=\r
+\r
+N\r
+n\n
+n\n
+\n
+\n
+\n
+\n
+:/<-5\s\s\s\s/=(.\s=\r sample\s9:92\r
+f/<-5\s\s\s\s/=(.\s=\r
+q/<-5\s\s\s\s/=(.\s=\r
+q\r
+q/<-5\s\s\s\s/=(.\s=\r
+q\r
+i/<-5\s\s\s\s/=(.\s=\r
+m200.\s\s\s\s20=*,.\r 4965\r
+m3+0*\s\s\s\s3,&*1)\r 4966\r
+k/<-5\s\s\s\s/=(.\s=\r
+m(?3"\s\s\s\s(?+&<:\r 5002\r
+m+\s3$\s\s\s\s+\s:&:-\r 5003.6\r
+m2*3$\s\s\s\s2+.&:-\r 5009.3\r
+k/<-5\s\s\s\s/=(.\s=\r
+m%937\s\s\s\s%90&"$\r 5044.7\r
+m,,3&\s\s\s\s,,/&7?\r 5049.8\r
+m9,4'\s\s\s\s9,?%,)\r 5059.8\r
+m3-4"\s\s\s\s3.\s%32\r 5055.3\r
+f/<-5\s\s\s\s/=(.\s=\r
+:/<-5\s\s\s\s/=(.\s=\r xo\s4\r
+o/<-5\s\s\s\s/=(.\s=\r 114\r
+q/<-5\s\s\s\s/=(.\s=\r
+l/<-5\s\s\s\s/=(.\s=\r
+f/<-5\s\s\s\s/=(.\s=\r
+o/<-5\s\s\s\s/=(.\s=\r 114\r
+q/<-5\s\s\s\s/=(.\s=\r
+q/<-5\s\s\s\s/=(.\s=\r
+hz14\n
+y\n
+q/<-5\s\s\s\s/=(.\s=\r
+NO!\r
+y\n
+q/<-5\s\s\s\s/=(.\s=\r
+N\r
+\n
+1\n
+q/<-5\s\s\s\s/=(.\s=\r
+\n
+2\n
+q/<-5\s\s\s\s/=(.\s=\r
+\n
+2\n
+q/<-5\s\s\s\s/=(.\s=\r
+imdel\sdemoobj1.ec\n
+del\sdatabase/apdemoobj1\n
+doecslit\squick+\n
+\n
+imdel\sdemoobj1.ec\n
+doecslit\sbatch+\ssplot-\n
+\n
diff --git a/noao/imred/echelle/demos/xgdofoe.dat b/noao/imred/echelle/demos/xgdofoe.dat
new file mode 100644
index 00000000..bd436909
--- /dev/null
+++ b/noao/imred/echelle/demos/xgdofoe.dat
@@ -0,0 +1,50 @@
+\O=NOAO/IRAF IRAFX valdes@puppis Mon 14:58:37 15-Nov-93
+\T=xgterm
+\G=xgterm
+epar\sechelle\n
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+y\r
+demologfile\r
+demoplotfile\r
+^Z
+epar\sdofoe\n
+demoobj\r
+demoflat\r
+demoflat\r
+demoarc\r
+\r
+rdnoise\r
+gain\r
+\r
+3\r
+5\r
+^Z
+dofoe\sredo+\n
+\n
+\n
+q/<-5\s\s\s\s/=(.\s=\r
+\r
+\r
+q/<-5\s\s\s\s/=(.\s=\r
+N\r
+i/<-5\s\s\s\s/=(.\s=\r
+m++4'\s\s\s\s++8%,)\r 4965\r
+k/<-5\s\s\s\s/=(.\s=\r
+m+)4'\s\s\s\s+)=%,)\r 5009\r
+m9!4'\s\s\s\s9""%,)\r 5020\r
+k/<-5\s\s\s\s/=(.\s=\r
+m%'5'\s\s\s\s%'*$#!\r 5049.8\r
+m&15(\s\s\s\s&1%$\s4\r 5050.8\r
+m,.55\s\s\s\s,.)#/4\r 5055.3\r
+m5#7\s\s\s\s\s5$2!7:\r 5062\r
+m8=78\s\s\s\s8>.\s8)\r 5064.9\r
+f/<-5\s\s\s\s/=(.\s=\r
+o/<-5\s\s\s\s/=(.\s=\r 114\r
+q/<-5\s\s\s\s/=(.\s=\r
+q/<-5\s\s\s\s/=(.\s=\r