summaryrefslogtreecommitdiffstats
path: root/ast/ast_tester
diff options
context:
space:
mode:
Diffstat (limited to 'ast/ast_tester')
-rw-r--r--ast/ast_tester/README33
-rw-r--r--ast/ast_tester/a20070718_00010_02_cube.ast339
-rw-r--r--ast/ast_tester/a20070718_00010_02_cube.fits-wcs61
-rw-r--r--ast/ast_tester/aitoff.attr1
-rw-r--r--ast/ast_tester/aitoff.box1
-rw-r--r--ast/ast_tester/aitoff.head13
-rwxr-xr-xast/ast_tester/ast_tester232
-rw-r--r--ast/ast_tester/brad.map58
-rw-r--r--ast/ast_tester/brad.simp49
-rw-r--r--ast/ast_tester/car1.attr1
-rw-r--r--ast/ast_tester/car1.box1
-rw-r--r--ast/ast_tester/car1.fattr1
-rw-r--r--ast/ast_tester/car1.head32
-rw-r--r--ast/ast_tester/car2.attr1
-rw-r--r--ast/ast_tester/car2.box1
-rw-r--r--ast/ast_tester/car2.fattr1
-rw-r--r--ast/ast_tester/car2.head32
-rw-r--r--ast/ast_tester/car3.attr1
-rw-r--r--ast/ast_tester/car3.box1
-rw-r--r--ast/ast_tester/car3.head8
-rw-r--r--ast/ast_tester/car4.attr0
-rw-r--r--ast/ast_tester/car4.box1
-rw-r--r--ast/ast_tester/car4.fattr1
-rw-r--r--ast/ast_tester/car4.head38
-rw-r--r--ast/ast_tester/car5.attr0
-rw-r--r--ast/ast_tester/car5.box1
-rw-r--r--ast/ast_tester/car5.head38
-rw-r--r--ast/ast_tester/car6.attr0
-rw-r--r--ast/ast_tester/car6.box1
-rw-r--r--ast/ast_tester/car6.head39
-rw-r--r--ast/ast_tester/cobe.attr1
-rw-r--r--ast/ast_tester/cobe.box1
-rw-r--r--ast/ast_tester/cobe.head61
-rw-r--r--ast/ast_tester/degen1.ast318
-rw-r--r--ast/ast_tester/degen1.fits-wcs40
-rwxr-xr-xast/ast_tester/doplot53
-rw-r--r--ast/ast_tester/dss.ast166
-rw-r--r--ast/ast_tester/dss.dss58
-rw-r--r--ast/ast_tester/dss.fits-dss108
-rw-r--r--ast/ast_tester/dss.fits-wcs39
-rw-r--r--ast/ast_tester/hpx.attr1
-rw-r--r--ast/ast_tester/hpx.box1
-rw-r--r--ast/ast_tester/hpx.head10
-rw-r--r--ast/ast_tester/joye_car_headers/CAR_model.head47
-rw-r--r--ast/ast_tester/joye_car_headers/CHIPASS_Equ.head39
-rw-r--r--ast/ast_tester/joye_car_headers/car1.fattr1
-rw-r--r--ast/ast_tester/joye_car_headers/car1.head32
-rw-r--r--ast/ast_tester/joye_car_headers/car2.fattr1
-rw-r--r--ast/ast_tester/joye_car_headers/car2.head32
-rw-r--r--ast/ast_tester/joye_car_headers/car3.head8
-rw-r--r--ast/ast_tester/joye_car_headers/car4.fattr1
-rw-r--r--ast/ast_tester/joye_car_headers/car4.head38
-rw-r--r--ast/ast_tester/joye_car_headers/car5.head38
-rw-r--r--ast/ast_tester/joye_car_headers/cmap_3years_GP_D2.head162
-rwxr-xr-xast/ast_tester/joye_car_headers/doit17
-rw-r--r--ast/ast_tester/joye_car_headers/total_hi.head35
-rw-r--r--ast/ast_tester/longslit.fits-pc18
-rw-r--r--ast/ast_tester/longslit.fits-wcs22
-rwxr-xr-xast/ast_tester/makeplot47
-rwxr-xr-xast/ast_tester/maketest35
-rw-r--r--ast/ast_tester/origin.attr1
-rw-r--r--ast/ast_tester/origin.box1
-rw-r--r--ast/ast_tester/origin.head18
-rw-r--r--ast/ast_tester/plot3d-test1.ast340
-rw-r--r--ast/ast_tester/plotter.f230
-rw-r--r--ast/ast_tester/polco.attr1
-rw-r--r--ast/ast_tester/polco.box1
-rw-r--r--ast/ast_tester/polco.head86
-rw-r--r--ast/ast_tester/polco2.attr1
-rw-r--r--ast/ast_tester/polco2.box1
-rw-r--r--ast/ast_tester/polco2.head86
-rw-r--r--ast/ast_tester/regression.current7583
-rw-r--r--ast/ast_tester/regression.f1515
-rw-r--r--ast/ast_tester/regression.out7630
-rw-r--r--ast/ast_tester/rigby.map240
-rw-r--r--ast/ast_tester/rigby.simp201
-rw-r--r--ast/ast_tester/scp.attr1
-rw-r--r--ast/ast_tester/scp.box1
-rw-r--r--ast/ast_tester/scp.head204
-rw-r--r--ast/ast_tester/serpens.attr1
-rw-r--r--ast/ast_tester/serpens.box1
-rw-r--r--ast/ast_tester/serpens.head160
-rw-r--r--ast/ast_tester/simplify.f123
-rw-r--r--ast/ast_tester/sip.fits-wcs289
-rw-r--r--ast/ast_tester/sip.head288
-rw-r--r--ast/ast_tester/sparse.ast392
-rw-r--r--ast/ast_tester/specflux.ast29
-rw-r--r--ast/ast_tester/specflux.attr1
-rw-r--r--ast/ast_tester/specflux.box2
-rw-r--r--ast/ast_tester/specflux.head28
-rw-r--r--ast/ast_tester/splittest1.ast185
-rw-r--r--ast/ast_tester/stcschan-test1-doc3-props.ast126
-rw-r--r--ast/ast_tester/stcschan-test1-doc3.ast272
-rw-r--r--ast/ast_tester/testchannel.f88
-rw-r--r--ast/ast_tester/testchebymap.f475
-rw-r--r--ast/ast_tester/testcmpmap.f149
-rw-r--r--ast/ast_tester/testconvert.c232
-rw-r--r--ast/ast_tester/testerror.c44
-rw-r--r--ast/ast_tester/testfitschan.f988
-rw-r--r--ast/ast_tester/testfitstable.f590
-rw-r--r--ast/ast_tester/testflux.f354
-rw-r--r--ast/ast_tester/testframeset.f391
-rw-r--r--ast/ast_tester/testkeymap.f1369
-rw-r--r--ast/ast_tester/testlutmap.f177
-rw-r--r--ast/ast_tester/testmapping.f85
-rw-r--r--ast/ast_tester/testnormmap.f94
-rw-r--r--ast/ast_tester/testobject.c120
-rw-r--r--ast/ast_tester/testplot3d.f1357
-rw-r--r--ast/ast_tester/testpolymap.f319
-rw-r--r--ast/ast_tester/testrate.f344
-rw-r--r--ast/ast_tester/testratemap.f148
-rw-r--r--ast/ast_tester/testrebin.f4176
-rw-r--r--ast/ast_tester/testrebinseq.f1580
-rw-r--r--ast/ast_tester/testregions.f4032
-rw-r--r--ast/ast_tester/testskyframe.f89
-rw-r--r--ast/ast_tester/testspecflux.f331
-rw-r--r--ast/ast_tester/testspecframe.f251
-rw-r--r--ast/ast_tester/teststc.f1858
-rw-r--r--ast/ast_tester/teststc_com13
-rw-r--r--ast/ast_tester/teststc_eg171
-rw-r--r--ast/ast_tester/teststc_eg1018
-rw-r--r--ast/ast_tester/teststc_eg2114
-rw-r--r--ast/ast_tester/teststc_eg3113
-rw-r--r--ast/ast_tester/teststc_eg455
-rw-r--r--ast/ast_tester/teststc_eg5109
-rw-r--r--ast/ast_tester/teststc_eg649
-rw-r--r--ast/ast_tester/teststc_eg752
-rw-r--r--ast/ast_tester/teststc_eg852
-rw-r--r--ast/ast_tester/teststc_eg949
-rwxr-xr-xast/ast_tester/teststcschan.f654
-rw-r--r--ast/ast_tester/testswitchmap.f794
-rw-r--r--ast/ast_tester/testtable.f537
-rw-r--r--ast/ast_tester/testtime.f979
-rw-r--r--ast/ast_tester/testtrangrid.f276
-rw-r--r--ast/ast_tester/testunitnormmap.f324
-rw-r--r--ast/ast_tester/testxmlchan.f246
-rw-r--r--ast/ast_tester/testxmlchan_com13
-rw-r--r--ast/ast_tester/testzoommap.f91
-rw-r--r--ast/ast_tester/timeplot.attr1
-rw-r--r--ast/ast_tester/timeplot.box1
-rw-r--r--ast/ast_tester/timeplot.head34
-rw-r--r--ast/ast_tester/timj.ast234
-rw-r--r--ast/ast_tester/timj.fits-aips11
-rw-r--r--ast/ast_tester/timj.fits-iraf13
-rw-r--r--ast/ast_tester/timj.fits-pc16
-rw-r--r--ast/ast_tester/timj.fits-wcs39
-rw-r--r--ast/ast_tester/timj.native217
-rw-r--r--ast/ast_tester/tnx.attr1
-rw-r--r--ast/ast_tester/tnx.box1
-rw-r--r--ast/ast_tester/tnx.head180
-rw-r--r--ast/ast_tester/tsc.attr1
-rw-r--r--ast/ast_tester/tsc.box1
-rw-r--r--ast/ast_tester/tsc.head116
-rw-r--r--ast/ast_tester/wcsconverter.f222
-rw-r--r--ast/ast_tester/zpn.attr1
-rw-r--r--ast/ast_tester/zpn.box1
-rw-r--r--ast/ast_tester/zpn.head136
-rw-r--r--ast/ast_tester/zpx.attr1
-rw-r--r--ast/ast_tester/zpx.head153
159 files changed, 0 insertions, 48084 deletions
diff --git a/ast/ast_tester/README b/ast/ast_tester/README
deleted file mode 100644
index 8c50db6..0000000
--- a/ast/ast_tester/README
+++ /dev/null
@@ -1,33 +0,0 @@
-
-This directory contains files used for performing some fairly restricted
-testing of the AST library. A Fortran 77 compiler is required. As supplied
-it uses the g77 Fortran compiler, but this can be changed by editing the ast_tester
-script.
-
-To perform a test:
-
-- build AST
-
-- define the environment variables AST and STARLINK so that $AST/lib contains
- the AST libraries to be tested, and $STARLINK/lib contains the the USSC libraries.
-
-- If required, edit the ast_tester script to modify the fortran compiler and/or options.
-
-- execute the ast_tester script.
-
-
-The script generates various output files which are compared with existing files
-which are presumed to represent correct behaviour of the AST library. Any differences
-are reported by the script.
-
-The script also generates various postscript files representing "critically difficult" plots.
-A file "*-new.ps" is created for each file "*.head" in the directory. The directory also
-contains files "*.ps" which represent the expected appearance of the plots. By default, the
-new plots are displayed using ghostview. This can be disabled by specifying the "-nd" option
-on the ast_tester command line.
-
-
-
-
-
-
diff --git a/ast/ast_tester/a20070718_00010_02_cube.ast b/ast/ast_tester/a20070718_00010_02_cube.ast
deleted file mode 100644
index f005938..0000000
--- a/ast/ast_tester/a20070718_00010_02_cube.ast
+++ /dev/null
@@ -1,339 +0,0 @@
- Begin FrameSet # Set of inter-related coordinate systems
-# Title = "3-d compound coordinate system" # Title of coordinate system
-# Naxes = 3 # Number of coordinate axes
-# Domain = "SKY-DSBSPECTRUM" # Coordinate system domain
-# Epoch = 2007.54208230851 # Julian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# Lbl3 = "Radio velocity (USB)" # Label for axis 3
-# System = "Compound" # Coordinate system type
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Uni3 = "km/s" # Units for axis 3
-# Dir1 = 0 # Plot axis 1 in reverse direction
- IsA Frame # Coordinate system description
- Nframe = 4 # Number of Frames in FrameSet
-# Base = 1 # Index of base Frame
- Currnt = 4 # Index of current Frame
- Nnode = 5 # Number of nodes in FrameSet
- Nod1 = 3 # Frame 1 is associated with node 3
- Nod2 = 4 # Frame 2 is associated with node 4
- Nod3 = 5 # Frame 3 is associated with node 5
- Nod4 = 2 # Frame 4 is associated with node 2
- Lnk2 = 1 # Node 2 is derived from node 1
- Lnk3 = 1 # Node 3 is derived from node 1
- Lnk4 = 1 # Node 4 is derived from node 1
- Lnk5 = 1 # Node 5 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame # Coordinate system description
- Title = "Data grid indices; first pixel at (1,1,1)" # Title of coordinate system
- Naxes = 3 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Data grid index 1" # Label for axis 1
-# Lbl2 = "Data grid index 2" # Label for axis 2
-# Lbl3 = "Data grid index 3" # Label for axis 3
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
-# Uni3 = "pixel" # Units for axis 3
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Data grid index 1" # Axis Label
- Symbol = "g1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Data grid index 2" # Axis Label
- Symbol = "g2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax3 = # Axis number 3
- Begin Axis # Coordinate axis
- Label = "Data grid index 3" # Axis Label
- Symbol = "g3" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin Frame # Coordinate system description
- Title = "Pixel coordinates; first pixel at (-8.5,-8.5,-2048.5)" # Title of coordinate system
- Naxes = 3 # Number of coordinate axes
- Domain = "PIXEL" # Coordinate system domain
-# Lbl1 = "Pixel coordinate 1" # Label for axis 1
-# Lbl2 = "Pixel coordinate 2" # Label for axis 2
-# Lbl3 = "Pixel coordinate 3" # Label for axis 3
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
-# Uni3 = "pixel" # Units for axis 3
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 1" # Axis Label
- Symbol = "p1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 2" # Axis Label
- Symbol = "p2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax3 = # Axis number 3
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 3" # Axis Label
- Symbol = "p3" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm3 = # Frame number 3
- Begin Frame # Coordinate system description
- Title = "Axis coordinates; first pixel at (-8.5,-8.5,-2048.5)" # Title of coordinate system
- Naxes = 3 # Number of coordinate axes
- Domain = "AXIS" # Coordinate system domain
-# Lbl1 = "Axis 1" # Label for axis 1
-# Lbl2 = "Axis 2" # Label for axis 2
-# Lbl3 = "Axis 3" # Label for axis 3
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
-# Uni3 = "pixel" # Units for axis 3
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Axis 1" # Axis Label
- Symbol = "a1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Axis 2" # Axis Label
- Symbol = "a2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax3 = # Axis number 3
- Begin Axis # Coordinate axis
- Label = "Axis 3" # Axis Label
- Symbol = "a3" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm4 = # Frame number 4
- Begin CmpFrame # Compound coordinate system description
-# Title = "3-d compound coordinate system" # Title of coordinate system
-# Naxes = 3 # Number of coordinate axes
-# Domain = "SKY-DSBSPECTRUM" # Coordinate system domain
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# Lbl3 = "Radio velocity (USB)" # Label for axis 3
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Uni3 = "km/s" # Units for axis 3
-# Dir1 = 0 # Plot axis 1 in reverse direction
- IsA Frame # Coordinate system description
- FrameA = # First component Frame
- Begin SkyFrame # Description of celestial coordinate system
- Naxes = 2 # Number of coordinate axes
- Epoch = 2007.54208230851 # Julian epoch of observation
- System = "FK5" # Coordinate system type
- ObsLat = 0.346026050148997 # Observers geodetic latitude (rads)
- ObsLon = -2.71363306946838 # Observers geodetic longitude (rads)
- Dut1 = -0.162963400559962 # UT1-UTC in seconds
- Ax1 = # Axis number 1
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- Ax2 = # Axis number 2
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- IsA Frame # Coordinate system description
- SRef1 = 4.90555239050187 # Ref. pos. RA 18:44:16.2
- SRef2 = -0.0698132003068136 # Ref. pos. Dec -4:00:00
- End SkyFrame
- FrameB = # Second component Frame
- Begin DSBSpecFrame # Dual sideband spectral axis
- Naxes = 1 # Number of coordinate axes
- Epoch = 2007.54208230851 # Julian epoch of observation
- System = "VRAD" # Coordinate system type
- ObsLat = 0.346026069000144 # Observers geodetic latitude (rads)
- ObsLon = -2.71363307300091 # Observers geodetic longitude (rads)
- Dut1 = -0.162963400559962 # UT1-UTC in seconds
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- End Axis
- IsA Frame # Coordinate system description
- SoR = "LSRK" # Standard of rest
- RefRA = 4.90553899950038 # Reference RA (rads, FK5 J2000)
- RefDec = -0.0698131700797732 # Reference Dec (rads, FK5 J2000)
- RstFrq = 372672509000 # Rest frequency (Hz)
- SrcVel = 87012.623732646 # Source velocity (m/s)
- SrcVRF = "LSRK" # Source velocity rest frame
- UFreq = "GHz" # Preferred units for frequency
- IsA SpecFrame # Description of spectral coordinate system
- DSBCen = 372576971505.836 # Central frequency (Hz topo)
- IF = -5251168918.31241 # Intermediate frequency (Hz)
- SideBn = "USB" # Represents upper sideband
- End DSBSpecFrame
- End CmpFrame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = 10 # Shift for axis 1
- Sft2 = 10.4938775599003 # Shift for axis 2
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 1 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = 6105939.046167 # Shift for axis 1
- Scl1 = -1.63834485003565e-05 # Scale factor for axis 1
- End WinMap
- MapB = # Second component Mapping
- Begin SpecMap # Conversion between spectral coordinate systems
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Nspec = 2 # Number of conversion steps
- Spec1 = "FRTOVL" # Convert frequency to rel. velocity
- Spec1a = 372672509000 # Rest frequency (Hz)
- Spec2 = "VLTOVR" # Convert relativistic to radio velocity
- End SpecMap
- End CmpMap
- End CmpMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 2 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -2.90888208665722e-05 # Forward matrix value
- M1 = 2.90888208665722e-05 # Forward matrix value
- Form = "Diagonal" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "TAN" # Gnomonic projection
- End WcsMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 0 # Polar longitude (rad.s)
- End SphMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -0.0133908234539359 # Forward matrix value
- M1 = 0.981401710741326 # Forward matrix value
- M2 = 0.191497697117288 # Forward matrix value
- M3 = 0.068459122667767 # Forward matrix value
- M4 = 0.191965314976427 # Forward matrix value
- M5 = -0.979011065499037 # Forward matrix value
- M6 = -0.997564050259824 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = -0.0697564737441253 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 4.90555329534916 # Polar longitude (rad.s)
- End SphMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- MapB = # Second component Mapping
- Begin ZoomMap # Zoom about the origin
- Nin = 1 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Zoom = 0.001 # Zoom factor
- End ZoomMap
- End CmpMap
- End CmpMap
- Map3 = # Mapping between nodes 1 and 3
- Begin UnitMap # Unit (null) Mapping
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- End UnitMap
- Map4 = # Mapping between nodes 1 and 4
- Begin WinMap # Map one window on to another
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -9.5 # Shift for axis 1
- Sft2 = -9.5 # Shift for axis 2
- Sft3 = -2049.5 # Shift for axis 3
- End WinMap
- Map5 = # Mapping between nodes 1 and 5
- Begin WinMap # Map one window on to another
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -9.5 # Shift for axis 1
- Sft2 = -9.5 # Shift for axis 2
- Sft3 = -2049.5 # Shift for axis 3
- End WinMap
- End FrameSet
diff --git a/ast/ast_tester/a20070718_00010_02_cube.fits-wcs b/ast/ast_tester/a20070718_00010_02_cube.fits-wcs
deleted file mode 100644
index 428efaa..0000000
--- a/ast/ast_tester/a20070718_00010_02_cube.fits-wcs
+++ /dev/null
@@ -1,61 +0,0 @@
-WCSAXES = 3 / Number of WCS axes
-CRPIX1 = 10.0 / Reference pixel on axis 1
-CRPIX2 = 10.493878 / Reference pixel on axis 2
-CRPIX3 = 1.0 / Reference pixel on axis 3
-CRVAL1 = 281.0675 / Value at ref. pixel on axis 1
-CRVAL2 = -4.0 / Value at ref. pixel on axis 2
-CRVAL3 = -13.610153 / Value at ref. pixel on axis 3
-CTYPE1 = 'RA---TAN' / Type of co-ordinate on axis 1
-CTYPE2 = 'DEC--TAN' / Type of co-ordinate on axis 2
-CTYPE3 = 'VRAD ' / Type of co-ordinate on axis 3
-CDELT1 = -0.0016666667 / Pixel size on axis 1
-CDELT2 = 0.0016666667 / Pixel size on axis 2
-CDELT3 = 0.049100739 / Pixel size on axis 3
-CUNIT3 = 'km/s ' / Units for axis 3
-MJD-OBS = 54299.245 / Modified Julian Date of observation
-DATE-OBS= '2007-07-18T05:52:31.475' / Date of observation
-RADESYS = 'FK5 ' / Reference frame for RA/DEC values
-EQUINOX = 2000.0 / [yr] Epoch of reference equinox
-SPECSYS = 'LSRK ' / Standard of rest for spectral axis
-SSYSSRC = 'LSRK ' / Standard of rest for source redshift
-ZSOURCE = 0.000290285 / [] Redshift of source
-VELOSYS = -10097.217 / [m/s] Topo. apparent velocity of rest frame
-RESTFRQ = 3.7267251E+11 / [Hz] Rest frequency
-IMAGFREQ= 3.621676E+11 / [Hz] Image frequency
-OBSGEO-X= -5461073.2 / [m] Observatory geocentric X
-OBSGEO-Y= -2491089.0 / [m] Observatory geocentric Y
-OBSGEO-Z= 2149568.8 / [m] Observatory geocentric Z
-WCSAXESA= 3 / Number of WCS axes
-WCSNAMEA= 'PIXEL ' / Reference name for the coord. frame
-CRPIX1A = 1.0 / Reference pixel on axis 1
-CRPIX2A = 1.0 / Reference pixel on axis 2
-CRPIX3A = 1.0 / Reference pixel on axis 3
-CRVAL1A = -8.5 / Value at ref. pixel on axis 1
-CRVAL2A = -8.5 / Value at ref. pixel on axis 2
-CRVAL3A = -2048.5 / Value at ref. pixel on axis 3
-CTYPE1A = 'p1 ' / Pixel coordinate 1
-CTYPE2A = 'p2 ' / Pixel coordinate 2
-CTYPE3A = 'p3 ' / Pixel coordinate 3
-CDELT1A = 1.0 / Pixel size on axis 1
-CDELT2A = 1.0 / Pixel size on axis 2
-CDELT3A = 1.0 / Pixel size on axis 3
-CUNIT1A = 'pixel ' / Units for axis 1
-CUNIT2A = 'pixel ' / Units for axis 2
-CUNIT3A = 'pixel ' / Units for axis 3
-WCSAXESB= 3 / Number of WCS axes
-WCSNAMEB= 'AXIS ' / Reference name for the coord. frame
-CRPIX1B = 1.0 / Reference pixel on axis 1
-CRPIX2B = 1.0 / Reference pixel on axis 2
-CRPIX3B = 1.0 / Reference pixel on axis 3
-CRVAL1B = -8.5 / Value at ref. pixel on axis 1
-CRVAL2B = -8.5 / Value at ref. pixel on axis 2
-CRVAL3B = -2048.5 / Value at ref. pixel on axis 3
-CTYPE1B = 'a1 ' / Axis 1
-CTYPE2B = 'a2 ' / Axis 2
-CTYPE3B = 'a3 ' / Axis 3
-CDELT1B = 1.0 / Pixel size on axis 1
-CDELT2B = 1.0 / Pixel size on axis 2
-CDELT3B = 1.0 / Pixel size on axis 3
-CUNIT1B = 'pixel ' / Units for axis 1
-CUNIT2B = 'pixel ' / Units for axis 2
-CUNIT3B = 'pixel ' / Units for axis 3
diff --git a/ast/ast_tester/aitoff.attr b/ast/ast_tester/aitoff.attr
deleted file mode 100644
index 85aa9de..0000000
--- a/ast/ast_tester/aitoff.attr
+++ /dev/null
@@ -1 +0,0 @@
-Grid=1,tickall=0,border=1,tol=0.001
diff --git a/ast/ast_tester/aitoff.box b/ast/ast_tester/aitoff.box
deleted file mode 100644
index b4f303e..0000000
--- a/ast/ast_tester/aitoff.box
+++ /dev/null
@@ -1 +0,0 @@
-10.0 -10.0 300.0 280.0
diff --git a/ast/ast_tester/aitoff.head b/ast/ast_tester/aitoff.head
deleted file mode 100644
index 5f34de0..0000000
--- a/ast/ast_tester/aitoff.head
+++ /dev/null
@@ -1,13 +0,0 @@
-SIMPLE = T / Written by IDL: 30-Jul-1997 05:35:42.00
-BITPIX = -32 / Bits per pixel.
-NAXIS = 2 / Number of dimensions
-NAXIS1 = 300 / Length of x axis.
-NAXIS2 = 300 / Length of y axis.
-CTYPE1 = 'GLON-AIT' / X-axis type
-CTYPE2 = 'GLAT-AIT' / Y-axis type
-CRVAL1 = -149.56866 / Reference pixel value
-CRVAL2 = -19.758201 / Reference pixel value
-CRPIX1 = 150.500 / Reference pixel
-CRPIX2 = 150.500 / Reference pixel
-CDELT1 = -1.20000 / Degrees/pixel
-CDELT2 = 1.20000 / Degrees/pixel
diff --git a/ast/ast_tester/ast_tester b/ast/ast_tester/ast_tester
deleted file mode 100755
index e626157..0000000
--- a/ast/ast_tester/ast_tester
+++ /dev/null
@@ -1,232 +0,0 @@
-#!/bin/tcsh
-#+
-# Purpose:
-# Does a few tests of the version of AST installed in $INSTALL.
-
-# Usage:
-# ast_tester <-nd>
-
-# Description:
-# Build and run various tests of an AST installation.
-#
-# Some tests produce graphical output. Postscript plots of the FITS
-# headers in the current directory are produced for visual comparison
-# with previous versions. For each file matching "*.head" in the current
-# directory, a file is created called "*-new.ps". This file should be
-# compared visually with the file "*.ps". The new files are displayed
-# automatically unless the -nd option is supplied on the command line
-#
-# This script assumes the gfortran compiler is available. If this is not
-# the case, do a global edit of gfortran to whatever fortran 77 compiler
-# you have available (you will probably also need to change the compiler
-# flags).
-
-# Options:
-# -nd : Suppresses display of test plots.
-
-# Prior Requirements:
-# - Unless the "-nd" option is specified, it requires the gv command (a
-# frontend for ghostscript) to be on your PATH.
-# - The following environment variables are used:
-# STARLINK_DIR - should be set to the root of the tree in which the SSC is
-# installed. A default of /star is used if not set.
-# AST - should be set to the root of the tree in which the version of
-# AST to be tested is installed. A default of $STARLINK_DIR is used
-# if not set.
-
-# Author:
-# DSB: David Berry (JAC, Hawaii)
-#-
-
-if( ! $?STARLINK_DIR ) then
- setenv STARLINK_DIR /star
-endif
-
-if( ! $?AST ) then
- setenv AST $STARLINK_DIR
-endif
-
-if( ! $?LDFLAGS ) then
- setenv LDFLAGS ""
-endif
-
-setenv PATH $AST/bin\:$STARLINK_DIR/bin\:$PATH
-
-
-# Build the progs
-#gfortran -fno-second-underscore -o regression regression.f -fno-range-check $LDFLAGS -I$AST/include -I$STARLINK_DIR/include -L$AST/lib -L$STARLINK_DIR/lib `ast_link -ems` `chr_link`
-gfortran -fno-second-underscore -o plotter plotter.f -fno-range-check $LDFLAGS -I$AST/include -I$STARLINK_DIR/include -L$AST/lib -L$STARLINK_DIR/lib `ast_link -pgp -ems` `pgplot_link`
-gfortran -fno-second-underscore -o wcsconverter wcsconverter.f -fno-range-check $LDFLAGS -I$AST/include -I$STARLINK_DIR/include -L$AST/lib -L$STARLINK_DIR/lib `ast_link -ems` `chr_link` `err_link`
-gfortran -fno-second-underscore -o simplify simplify.f -fno-range-check $LDFLAGS -I$AST/include -I$STARLINK_DIR/include -L$AST/lib -L$STARLINK_DIR/lib `ast_link -ems` `chr_link` `err_link`
-
-# Run the other test progs
-echo ""
-
-
-foreach prog (testmapping testchebymap testunitnormmap testskyframe testframeset testchannel testpolymap testcmpmap testlutmap testfitstable testtable teststcschan teststc testspecframe testfitschan testswitchmap testrebin testrebinseq testtrangrid testnormmap testtime testrate testflux testratemap testspecflux testxmlchan testregions testkeymap )
-
-gfortran -fno-second-underscore -w -g -o $prog -g $prog.f -fno-range-check $LDFLAGS -I$AST/include \
- -I$STARLINK_DIR/include -L$AST/lib -L$STARLINK_DIR/lib `ast_link -ems` \
- `psx_link` `prm_link` `chr_link` `err_link`
-
-./$prog
-\rm $prog
-
-end
-
-
-
-foreach prog (testobject testconvert testerror)
-
-gcc -o $prog $prog.c -I.. -DHAVE_CONFIG_H $LDFLAGS -L$STARLINK_DIR/lib `ast_link`
-
-./$prog
-\rm $prog
-
-end
-
-
-
-
-# Make new plots.
-echo ""
-echo "Generating new plots..."
-echo ""
-if( $1 == "-nd" ) then
-echo " (but not displaying them because the -nd option was supplied)"
-echo ""
-endif
-
-\rm *-new.ps >& /dev/null
-
-foreach n (*.head)
- set bn = `basename $n .head`
-
- set atfile = "${bn}.attr"
- if( -e $atfile ) then
- set attr1 = `cat $atfile`
- else
- set attr1 = ' '
- endif
-
- set atfile = "${bn}.fattr"
- if( -e $atfile ) then
- set attr2 = `cat $atfile`
- else
- set attr2 = ' '
- endif
-
- set boxfile = "${bn}.box"
- if( -e $boxfile ) then
- set box = `cat $boxfile`
- else
- set box = ' '
- endif
-
-
- set psfile = "${bn}-new.ps"
- ./plotter $n "$attr1" "$attr2" a.ps $box
-
- if( -e $STARLINK_DIR/bin/psmerge ) then
- $STARLINK_DIR/bin/psmerge -t300x300 -r90 a.ps > $psfile
- else
- cp a.ps $psfile
- endif
-
- if( $1 != "-nd" ) then
- gv $psfile -orientation=landscape
- endif
-
-end
-
-\rm -f a.ps
-
-
-# Make new fits headers
-echo ""
-echo "Doing WCS conversion tests..."
-echo ""
-
-set ok = 1
-foreach n ( "timj ast fits-wcs cdmatrix=1" \
- "timj ast fits-iraf" \
- "timj ast fits-aips" \
- "timj ast fits-pc" \
- "timj ast native" \
- "timj ast native" \
- "a20070718_00010_02_cube ast fits-wcs" \
- "dss fits-dss ast" \
- "dss ast dss" \
- "dss ast fits-wcs cdmatrix=1" \
- "degen1 ast fits-wcs cdmatrix=1" \
- "degen1 ast fits-wcs cdmatrix=1" \
- "sip head fits-wcs cdmatrix=1,sipreplace=0" \
- "longslit fits-pc fits-wcs cdmatrix=1" )
-
- set a = `echo $n`
-
- set base = $a[1]
- set in_suffix = $a[2]
- set encoding = $a[3]
- if( $#a > 3 ) then
- set attrs = $a[4]
- else
- set attrs = ""
- endif
-
- set in_file = "$base.$in_suffix"
- set old_file = "$base.$encoding"
- set new_file = "$base-new.$encoding"
-
-
- ./wcsconverter $in_file $encoding $new_file "$attrs,FitsDigits=8"
- diff -c $old_file $new_file > ! $old_file.diff
-
- if( $status == 0 ) then
- \rm -f $old_file.diff $new_file
- else
- echo " $old_file and $new_file differ\!\! (see $old_file.diff)"
- echo " Command was:"
- echo " wcsconverter $in_file $encoding $new_file <quote>$attrs,FitsDigits=8<quote>"
- set ok = 0
- endif
-
-end
-
-if( $ok == 1 ) then
- echo " All WCS conversion tests passed"
- echo ""
-endif
-
-
-echo ""
-echo "Doing Simplification tests..."
-echo ""
-
-set ok = 1
-foreach n ( *.map )
- set a = `basename $n .map`
- ./simplify $n $a.out
- diff -c $a.simp $a.out > ! $a.diff
-
- if( $status == 0 ) then
- \rm -f $a.out $a.diff
- else
- echo " $a.simp and $a.out differ\!\! (see $a.diff)"
- set ok = 0
- endif
-
-end
-
-if( $ok == 1 ) then
- echo " All simplification tests passed"
- echo ""
- echo ""
-endif
-
-
-
-
-
-
-\rm -f plotter wcsconverter simplify testxmlchan
diff --git a/ast/ast_tester/brad.map b/ast/ast_tester/brad.map
deleted file mode 100644
index d403fce..0000000
--- a/ast/ast_tester/brad.map
+++ /dev/null
@@ -1,58 +0,0 @@
-Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
-IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 1 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 1 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = 0.215698 # Shift for axis 1
- End WinMap
- MapB = # Second component Mapping
- Begin LutMap # Map 1-d coordinates using a lookup table
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Nlut = 11 # Number of lookup table elements
- Start = 1 # Input value at first element
- Incr = 100 # Input value increment between elements
- LutInt = 0 # Interpolation method
- L1 = 1.39532005786896 # Lookup table elements...
- L2 = 1.50432002544403
- L3 = 1.61332011222839
- L4 = 1.72232007980347
- L5 = 1.83132004737854
- L6 = 1.94032001495361
- L7 = 2.04932022094727
- L8 = 2.15831995010376
- L9 = 2.26732015609741
- L10 = 2.37632012367249
- L11 = 2.48532009124756
- End LutMap
- End CmpMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin ZoomMap # Zoom about the origin
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Zoom = 5.23598775598299e-06 # Zoom factor
- End ZoomMap
- MapB = # Second component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 2 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "TAN" # Gnomonic projection
- End WcsMap
- End CmpMap
-End CmpMap
diff --git a/ast/ast_tester/brad.simp b/ast/ast_tester/brad.simp
deleted file mode 100644
index ffa6e18..0000000
--- a/ast/ast_tester/brad.simp
+++ /dev/null
@@ -1,49 +0,0 @@
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -0.215698 # Shift for axis 1
- Scl2 = 5.2359877559829903e-06 # Scale factor for axis 2
- Scl3 = 5.2359877559829903e-06 # Scale factor for axis 3
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin LutMap # Map 1-d coordinates using a lookup table
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Nlut = 11 # Number of lookup table elements
- Start = 1 # Input value at first element
- Incr = 100 # Input value increment between elements
- LutInt = 0 # Interpolation method
- L1 = 1.39532005786896 # Lookup table elements...
- L2 = 1.5043200254440301
- L3 = 1.61332011222839
- L4 = 1.7223200798034699
- L5 = 1.83132004737854
- L6 = 1.94032001495361
- L7 = 2.0493202209472701
- L8 = 2.1583199501037602
- L9 = 2.2673201560974099
- L10 = 2.3763201236724898
- L11 = 2.4853200912475599
- End LutMap
- MapB = # Second component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "TAN" # Gnomonic projection
- End WcsMap
- End CmpMap
- End CmpMap
diff --git a/ast/ast_tester/car1.attr b/ast/ast_tester/car1.attr
deleted file mode 100644
index f74084f..0000000
--- a/ast/ast_tester/car1.attr
+++ /dev/null
@@ -1 +0,0 @@
-numlabgap=0.05
diff --git a/ast/ast_tester/car1.box b/ast/ast_tester/car1.box
deleted file mode 100644
index 09670e6..0000000
--- a/ast/ast_tester/car1.box
+++ /dev/null
@@ -1 +0,0 @@
-0 0 2962 562
diff --git a/ast/ast_tester/car1.fattr b/ast/ast_tester/car1.fattr
deleted file mode 100644
index 5f408d2..0000000
--- a/ast/ast_tester/car1.fattr
+++ /dev/null
@@ -1 +0,0 @@
-carlin=1
diff --git a/ast/ast_tester/car1.head b/ast/ast_tester/car1.head
deleted file mode 100644
index bec8d59..0000000
--- a/ast/ast_tester/car1.head
+++ /dev/null
@@ -1,32 +0,0 @@
-SIMPLE = T / Standard FITS format
-BITPIX = 16 / Bits per pixel
-NAXIS = 2 / Number of axes
-NAXIS1 = 2961 / Number pixels on axis 1
-NAXIS2 = 561 / Number pixels on axis 2
-CTYPE1 = 'GLON-CAR' / axis 1 coord type
-CRVAL1 = 1.850000e+02 / coord value at CRPIX1
-CDELT1 = -1.250000e-01 / pixel spacing for axis 1
-CRPIX1 = 1.000000 / ref pixel for axis 1
-CTYPE2 = 'GLAT-CAR' / axis 2 coord type
-CRVAL2 = -3.500000e+01 / coord value at CRPIX2
-CDELT2 = 1.250000e-01 / pixel spacing for axis 2
-CRPIX2 = 1.000000 / ref pixel for axis 2
-BSCALE = 2.610167e-02 / real = int*bscale + bzero
-BZERO = 8.321995e+02 /
-DATAMIN = -6.326761e+00 / minimum real value
-DATAMAX = 1.670731e+03 / maximum real value
-BLANK = -32768 / missing data flag
-COMMENT PARENT DISK FILE: Wco_DHT2001.fits
-COMMENT temp =colscales( CHANGE-ME , -185.0000, 185.0000)
-COMMENT coords=rowscales( temp, 35.0000, -35.0000)
-COMMENT Written by MacFITS
-COMMENT Created: Tuesday, 14 August, 2001 01:18:06 PM
-COMMENT Whole-Galaxy velocity-integrated CO(1-0) map (Fig. 2) from
-COMMENT "The Milky Way in Molecular Clouds: A New Complete CO Survey"
-COMMENT T. M. Dame, Dap Hartmann, & P. Thaddeus (2001), ApJ, 547, 792.
-COMMENT WARNING: Both the angular resolution and the sensitivity varies
-COMMENT from region to region in this map: see Fig. 1 and Table 1 from
-COMMENT the paper above. Moment masking and clipping were used as
-COMMENT necessary to keep the noise in the map below ~1.5 K km/s.
-COMMENT See Section 2.2 for details.
-END
diff --git a/ast/ast_tester/car2.attr b/ast/ast_tester/car2.attr
deleted file mode 100644
index 483f747..0000000
--- a/ast/ast_tester/car2.attr
+++ /dev/null
@@ -1 +0,0 @@
-numlabgap(2)=0.05,labelling=interior
diff --git a/ast/ast_tester/car2.box b/ast/ast_tester/car2.box
deleted file mode 100644
index 09670e6..0000000
--- a/ast/ast_tester/car2.box
+++ /dev/null
@@ -1 +0,0 @@
-0 0 2962 562
diff --git a/ast/ast_tester/car2.fattr b/ast/ast_tester/car2.fattr
deleted file mode 100644
index 5f408d2..0000000
--- a/ast/ast_tester/car2.fattr
+++ /dev/null
@@ -1 +0,0 @@
-carlin=1
diff --git a/ast/ast_tester/car2.head b/ast/ast_tester/car2.head
deleted file mode 100644
index bec8d59..0000000
--- a/ast/ast_tester/car2.head
+++ /dev/null
@@ -1,32 +0,0 @@
-SIMPLE = T / Standard FITS format
-BITPIX = 16 / Bits per pixel
-NAXIS = 2 / Number of axes
-NAXIS1 = 2961 / Number pixels on axis 1
-NAXIS2 = 561 / Number pixels on axis 2
-CTYPE1 = 'GLON-CAR' / axis 1 coord type
-CRVAL1 = 1.850000e+02 / coord value at CRPIX1
-CDELT1 = -1.250000e-01 / pixel spacing for axis 1
-CRPIX1 = 1.000000 / ref pixel for axis 1
-CTYPE2 = 'GLAT-CAR' / axis 2 coord type
-CRVAL2 = -3.500000e+01 / coord value at CRPIX2
-CDELT2 = 1.250000e-01 / pixel spacing for axis 2
-CRPIX2 = 1.000000 / ref pixel for axis 2
-BSCALE = 2.610167e-02 / real = int*bscale + bzero
-BZERO = 8.321995e+02 /
-DATAMIN = -6.326761e+00 / minimum real value
-DATAMAX = 1.670731e+03 / maximum real value
-BLANK = -32768 / missing data flag
-COMMENT PARENT DISK FILE: Wco_DHT2001.fits
-COMMENT temp =colscales( CHANGE-ME , -185.0000, 185.0000)
-COMMENT coords=rowscales( temp, 35.0000, -35.0000)
-COMMENT Written by MacFITS
-COMMENT Created: Tuesday, 14 August, 2001 01:18:06 PM
-COMMENT Whole-Galaxy velocity-integrated CO(1-0) map (Fig. 2) from
-COMMENT "The Milky Way in Molecular Clouds: A New Complete CO Survey"
-COMMENT T. M. Dame, Dap Hartmann, & P. Thaddeus (2001), ApJ, 547, 792.
-COMMENT WARNING: Both the angular resolution and the sensitivity varies
-COMMENT from region to region in this map: see Fig. 1 and Table 1 from
-COMMENT the paper above. Moment masking and clipping were used as
-COMMENT necessary to keep the noise in the map below ~1.5 K km/s.
-COMMENT See Section 2.2 for details.
-END
diff --git a/ast/ast_tester/car3.attr b/ast/ast_tester/car3.attr
deleted file mode 100644
index b80a7c0..0000000
--- a/ast/ast_tester/car3.attr
+++ /dev/null
@@ -1 +0,0 @@
-grid=1
diff --git a/ast/ast_tester/car3.box b/ast/ast_tester/car3.box
deleted file mode 100644
index 54240c7..0000000
--- a/ast/ast_tester/car3.box
+++ /dev/null
@@ -1 +0,0 @@
-0 0 400 400
diff --git a/ast/ast_tester/car3.head b/ast/ast_tester/car3.head
deleted file mode 100644
index de6c76e..0000000
--- a/ast/ast_tester/car3.head
+++ /dev/null
@@ -1,8 +0,0 @@
-CTYPE1 = 'GLON-CAR'
-CRVAL1 = 1.850000e+02
-CDELT1 = -1.250000e-01
-CRPIX1 = 200.000000
-CTYPE2 = 'GLAT-CAR'
-CRVAL2 = -3.500000e+01
-CDELT2 = 1.250000e-01
-CRPIX2 = 200.000000
diff --git a/ast/ast_tester/car4.attr b/ast/ast_tester/car4.attr
deleted file mode 100644
index e69de29..0000000
--- a/ast/ast_tester/car4.attr
+++ /dev/null
diff --git a/ast/ast_tester/car4.box b/ast/ast_tester/car4.box
deleted file mode 100644
index 0393b0d..0000000
--- a/ast/ast_tester/car4.box
+++ /dev/null
@@ -1 +0,0 @@
-0 0 951 1851
diff --git a/ast/ast_tester/car4.fattr b/ast/ast_tester/car4.fattr
deleted file mode 100644
index 5f408d2..0000000
--- a/ast/ast_tester/car4.fattr
+++ /dev/null
@@ -1 +0,0 @@
-carlin=1
diff --git a/ast/ast_tester/car4.head b/ast/ast_tester/car4.head
deleted file mode 100644
index 95cd97a..0000000
--- a/ast/ast_tester/car4.head
+++ /dev/null
@@ -1,38 +0,0 @@
-SIMPLE = T / Written by IDL: Thu Apr 27 08:52:27 2000
-BITPIX = -32 /
-NAXIS = 2 /
-NAXIS1 = 951 /
-NAXIS2 = 1851 /
-CRPIX1 = 211076.0 /
-CRVAL1 = 0.000000000 /
-CTYPE1 = 'GLON-CAR' /
-CRPIX2 = 475.39400 /
-CRVAL2 = 0.000000000 /
-CTYPE2 = 'GLAT-CAR' /
-CROTA2 = 0.000000000 /
-LONPOLE = 0.00000 / Defined by Greisen and Calabretta
-CD1_1 = -0.0016666667 /
-CD1_2 = 0.00000 /
-CD2_1 = 0.00000 /
-CD2_2 = 0.0016666667 /
-WAVELENG= 8.28000e-06 / Isophotal wavelength in meters
-BUNIT = 'W/m^2-sr' /
-SECURITY= 'Unclassified' /
-TELESCOP= 'MSX ' /
-INSTRUME= 'SPIRITIII' /
-ORIGIN = 'AFRL-VSBC' /
-MJD-OBS = 50295.5 / Mean modified Julian date of observation
-DATE = '16/02/2000' / Date of file generation
-HISTORY Convert Version 6.2.X
-HISTORY Level-2A Deshadow Version 4.0
-HISTORY Level-2A Saturation Correction Version 1.0
-HISTORY Pointing Convert Version 6.0.1
-HISTORY Makeimage Version 3.2
-HISTORY Destriped
-HISTORY Data collected in J2000 FK5 coordinates
-HISTORY Data samples transformed to Galactic coordinates
-HISTORY and convolved onto image grid using sigma=3.0 arcsec
-HISTORY Gaussian kernel
-HISTORY Master Plate: GP_351.0_+0.0_A.fits
-HISTORY Written by IDL: 28-Jan-2000 17:44:54.00
-END
diff --git a/ast/ast_tester/car5.attr b/ast/ast_tester/car5.attr
deleted file mode 100644
index e69de29..0000000
--- a/ast/ast_tester/car5.attr
+++ /dev/null
diff --git a/ast/ast_tester/car5.box b/ast/ast_tester/car5.box
deleted file mode 100644
index 0393b0d..0000000
--- a/ast/ast_tester/car5.box
+++ /dev/null
@@ -1 +0,0 @@
-0 0 951 1851
diff --git a/ast/ast_tester/car5.head b/ast/ast_tester/car5.head
deleted file mode 100644
index 2be3a64..0000000
--- a/ast/ast_tester/car5.head
+++ /dev/null
@@ -1,38 +0,0 @@
-SIMPLE = T / Written by IDL: Thu Apr 27 08:52:27 2000
-BITPIX = -32 /
-NAXIS = 2 /
-NAXIS1 = 951 /
-NAXIS2 = 1851 /
-CRPIX1 = -4932.0204 /
-CRVAL1 = 0.000000000 /
-CTYPE1 = 'GLON-CAR' /
-CRPIX2 = 475.39400 /
-CRVAL2 = 0.000000000 /
-CTYPE2 = 'GLAT-CAR' /
-CROTA2 = 0.000000000 /
-LONPOLE = 0.00000 / Defined by Greisen and Calabretta
-CD1_1 = -0.0016666667 /
-CD1_2 = 0.00000 /
-CD2_1 = 0.00000 /
-CD2_2 = 0.0016666667 /
-WAVELENG= 8.28000e-06 / Isophotal wavelength in meters
-BUNIT = 'W/m^2-sr' /
-SECURITY= 'Unclassified' /
-TELESCOP= 'MSX ' /
-INSTRUME= 'SPIRITIII' /
-ORIGIN = 'AFRL-VSBC' /
-MJD-OBS = 50295.5 / Mean modified Julian date of observation
-DATE = '16/02/2000' / Date of file generation
-HISTORY Convert Version 6.2.X
-HISTORY Level-2A Deshadow Version 4.0
-HISTORY Level-2A Saturation Correction Version 1.0
-HISTORY Pointing Convert Version 6.0.1
-HISTORY Makeimage Version 3.2
-HISTORY Destriped
-HISTORY Data collected in J2000 FK5 coordinates
-HISTORY Data samples transformed to Galactic coordinates
-HISTORY and convolved onto image grid using sigma=3.0 arcsec
-HISTORY Gaussian kernel
-HISTORY Master Plate: GP_351.0_+0.0_A.fits
-HISTORY Written by IDL: 28-Jan-2000 17:44:54.00
-END
diff --git a/ast/ast_tester/car6.attr b/ast/ast_tester/car6.attr
deleted file mode 100644
index e69de29..0000000
--- a/ast/ast_tester/car6.attr
+++ /dev/null
diff --git a/ast/ast_tester/car6.box b/ast/ast_tester/car6.box
deleted file mode 100644
index e5f0493..0000000
--- a/ast/ast_tester/car6.box
+++ /dev/null
@@ -1 +0,0 @@
-0 0 5401 1741
diff --git a/ast/ast_tester/car6.head b/ast/ast_tester/car6.head
deleted file mode 100644
index 5356fa5..0000000
--- a/ast/ast_tester/car6.head
+++ /dev/null
@@ -1,39 +0,0 @@
-FITS headers in CHIPASS_Equ.fits:
-SIMPLE = T / file does conform to FITS standard
-BITPIX = -32 / IEEE (big-endian) 32-bit floating point data
-NAXIS = 2 / number of data axes
-NAXIS1 = 5401 / length of data axis 1
-NAXIS2 = 1741 / length of data axis 2
-EXTEND = T / FITS dataset may contain extensions
-COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy
-COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H
-BUNIT = 'mK ' / Using 438.5 mK/(Jy/beam) plus 3300 mK offset
-CTYPE1 = 'RA---CAR'
-CRPIX1 = 2701.
-CDELT1 = -0.0666666666666667
-CRVAL1 = 180.
-CTYPE2 = 'DEC--CAR'
-CRPIX2 = 1351.
-CDELT2 = 0.0666666666666667
-CRVAL2 = 0.
-LONPOLE = 0. / Native longitude of celestial pole
-LATPOLE = 90. / Native latitude of celestial pole
-RADESYS = 'FK5 ' / Equatorial coordinate system
-EQUINOX = 2000.0 / Equinox of equatorial coordinates
-BMAJ = 0.24000 / [deg] Beam major axis
-BMIN = 0.24000 / [deg] Beam minor axis
-BPA = 0.0 / [deg] Beam position angle
-FREQENCY= 1.3945E+09 / [Hz] Centre frequency
-BANDWID = 6.4E+07 / [Hz] Bandwidth
-DATE = '2013-04-20T13:20:39' / file creation date (YYYY-MM-DDThh:mm:ss UT)
-COMMENT ------------------------------------------------------------------------
-COMMENT This file contains a 1.4 GHz continuum map of the sky south of dec +26
-COMMENT produced from HIPASS and ZOA data. These surveys were undertaken with
-COMMENT the 13-beam multibeam system on the Parkes radio telescope.
-COMMENT Details may be found in the following paper:
-COMMENT Calabretta, M.R., Staveley-Smith, L., and Barnes, D.G., (2013)
-COMMENT PASA (in preparation).
-COMMENT ------------------------------------------------------------------------
-COMMENT THIS IS A PRE-PUBLICATION IMAGE, FOR RESTRICTED DISTRIBUTION ONLY
-COMMENT ------------------------------------------------------------------------
-END
diff --git a/ast/ast_tester/cobe.attr b/ast/ast_tester/cobe.attr
deleted file mode 100644
index c1f61e5..0000000
--- a/ast/ast_tester/cobe.attr
+++ /dev/null
@@ -1 +0,0 @@
-format(1)=gd,format(2)=gd,Grid=1,tickall=0,width(axes)=3
diff --git a/ast/ast_tester/cobe.box b/ast/ast_tester/cobe.box
deleted file mode 100644
index b4f303e..0000000
--- a/ast/ast_tester/cobe.box
+++ /dev/null
@@ -1 +0,0 @@
-10.0 -10.0 300.0 280.0
diff --git a/ast/ast_tester/cobe.head b/ast/ast_tester/cobe.head
deleted file mode 100644
index fb6da34..0000000
--- a/ast/ast_tester/cobe.head
+++ /dev/null
@@ -1,61 +0,0 @@
-SIMPLE = T / Written by IDL: 30-Jul-1997 05:35:42.00
-BITPIX = -32 / Bits per pixel.
-NAXIS = 2 / Number of dimensions
-NAXIS1 = 300 / Length of x axis.
-NAXIS2 = 300 / Length of y axis.
-CTYPE1 = 'GLON-ZEA' / X-axis type
-CTYPE2 = 'GLAT-ZEA' / Y-axis type
-CRVAL1 = -149.56866 / Reference pixel value
-CRVAL2 = -19.758201 / Reference pixel value
-CRPIX1 = 150.500 / Reference pixel
-CRPIX2 = 150.500 / Reference pixel
-CDELT1 = -1.20000 / Degrees/pixel
-CDELT2 = 1.20000 / Degrees/pixel
-CROTA1 = 0.00000 / Rotation in degrees.
-COMMENT
-COMMENT This file was produced by the SkyView survey analysis system from
-COMMENT available astronomical surveys. The data are formatted
-COMMENT as a simple two-dimensional FITS image with the same units as
-COMMENT the orginal survey. A single ASCII table extension may be present
-COMMENT which describes catalog objects found within the field of view.
-COMMENT Copies of relevant copyright notices are included in this file.
-COMMENT
-COMMENT Questions should be directed to:
-COMMENT
-COMMENT scollick@skyview.gsfc.nasa.gov
-COMMENT or
-COMMENT mcglynn@grossc.gsfc.nasa.gov
-COMMENT
-COMMENT SkyView
-COMMENT Code 668.1
-COMMENT Goddard Space Flight Center, Greenbelt, MD 20771
-COMMENT 301-286-7780
-COMMENT
-COMMENT SkyView is supported by NASA ADP grant NAS 5-32068.
-COMMENT
-SURVEY = 'COBE DIRBE'
-BUNITS = 'MJy/sr ' /
-ORIGIN = 'CDAC ' / Cosmology Data Analysis Center
-TELESCOP= 'COBE ' / COsmic Background Explorer satellite
-INSTRUME= 'DIRBE ' / COBE instrument [DIRBE, DMR, FIRAS]
-PIXRESOL= 9 / Quad tree pixel resolution [6, 9]
-DATE = '27/09/94' / FITS file creation date (dd/mm/yy)
-DATE-MAP= '16/09/94' / Date of original file creation (dd/mm/yy)
-COMMENT COBE specific keywords
-DATE-BEG= '08/12/89' / date of initial data represented (dd/mm/yy)
-DATE-END= '25/09/90' / date of final data represented (dd/mm/yy)
-COMMENT
-COMMENT THE COBE DIRBE map is a combination of the original ten
-COMMENT band passes with the following wavelengths:
-COMMENT Band 1 - 1.25 microns
-COMMENT Band 2 - 2.2 microns
-COMMENT Band 3 - 3.5 microns
-COMMENT Band 4 - 4.9 microns
-COMMENT Band 5 - 12 microns
-COMMENT Band 6 - 25 microns
-COMMENT Band 7 - 60 microns
-COMMENT Band 8 - 100 microns
-COMMENT Band 9 - 140 microns
-COMMENT Band 10 - 240 microns
-COMMENT
-END
diff --git a/ast/ast_tester/degen1.ast b/ast/ast_tester/degen1.ast
deleted file mode 100644
index 202f149..0000000
--- a/ast/ast_tester/degen1.ast
+++ /dev/null
@@ -1,318 +0,0 @@
-#
-# This FrameSet has 2 axes in the Base (GRID) Frame, but 3 in the Current
-# Frame. It is used to test the ability of FitsChan to create degenerate
-# WCS axes. It represents the first DEC plane from a WAVE/RA/DEC 3D NDF.
-#
- Begin FrameSet # Set of inter-related coordinate systems
-# Title = "3-d compound coordinate system" # Title of coordinate system
-# Naxes = 3 # Number of coordinate axes
-# Domain = "CMP" # Coordinate system domain
-# Epoch = 2003.0173483725 # Julian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# Lbl3 = "Wavelength axis with no distortion" # Label for axis 3
-# System = "Compound" # Coordinate system type
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Uni3 = "um " # Units for axis 3
-# Dir1 = 0 # Plot axis 1 in reverse direction
- ActUnt = 0 # Unit strings do not affect alignment
- IsA Frame # Coordinate system description
- Nframe = 4 # Number of Frames in FrameSet
-# Base = 1 # Index of base Frame
- Currnt = 4 # Index of current Frame
- Nnode = 5 # Number of nodes in FrameSet
- Nod1 = 3 # Frame 1 is associated with node 3
- Nod2 = 4 # Frame 2 is associated with node 4
- Nod3 = 5 # Frame 3 is associated with node 5
- Nod4 = 2 # Frame 4 is associated with node 2
- Lnk2 = 1 # Node 2 is derived from node 1
- Lnk3 = 1 # Node 3 is derived from node 1
- Lnk4 = 1 # Node 4 is derived from node 1
- Lnk5 = 1 # Node 5 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame # Coordinate system description
- Title = "Data grid indices; first pixel at (1,1)" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Data grid index 1" # Label for axis 1
-# Lbl2 = "Data grid index 2" # Label for axis 2
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
- ActUnt = 0 # Unit strings do not affect alignment
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Data grid index 1" # Axis Label
- Symbol = "g1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Data grid index 2" # Axis Label
- Symbol = "g2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin Frame # Coordinate system description
- Title = "Pixel coordinates; first pixel at (0.5,0.5)" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "PIXEL" # Coordinate system domain
-# Lbl1 = "Pixel coordinate 1" # Label for axis 1
-# Lbl2 = "Pixel coordinate 2" # Label for axis 2
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
- ActUnt = 0 # Unit strings do not affect alignment
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 1" # Axis Label
- Symbol = "p1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 2" # Axis Label
- Symbol = "p2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm3 = # Frame number 3
- Begin Frame # Coordinate system description
- Title = "Axis coordinates; first pixel at (0.5,0.5)" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "AXIS" # Coordinate system domain
-# Lbl1 = "Axis 1" # Label for axis 1
-# Lbl2 = "Axis 2" # Label for axis 2
- ActUnt = 0 # Unit strings do not affect alignment
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Axis 1" # Axis Label
- Symbol = "a1" # Axis symbol
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Axis 2" # Axis Label
- Symbol = "a2" # Axis symbol
- End Axis
- End Frame
- Frm4 = # Frame number 4
- Begin CmpFrame # Compound coordinate system description
-# Title = "3-d compound coordinate system" # Title of coordinate system
-# Naxes = 3 # Number of coordinate axes
-# Domain = "CMP" # Coordinate system domain
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# Lbl3 = "Wavelength axis with no distortion" # Label for axis 3
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Uni3 = "um " # Units for axis 3
-# Dir1 = 0 # Plot axis 1 in reverse direction
- ActUnt = 0 # Unit strings do not affect alignment
- IsA Frame # Coordinate system description
- Axp1 = 3 # Axis 1 permuted to use internal axis 3
- Axp2 = 1 # Axis 2 permuted to use internal axis 1
- Axp3 = 2 # Axis 3 permuted to use internal axis 2
- FrameA = # First component Frame
- Begin SkyFrame # Description of celestial coordinate system
- Naxes = 2 # Number of coordinate axes
- Epoch = 2003.0173483725 # Julian epoch of observation
- System = "FK5" # Coordinate system type
- ActUnt = 0 # Unit strings do not affect alignment
- Ax1 = # Axis number 1
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- Ax2 = # Axis number 2
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- IsA Frame # Coordinate system description
- Proj = "gnomonic" # Description of sky projection
- Eqnox = 2000 # Julian epoch of mean equinox
- End SkyFrame
- FrameB = # Second component Frame
- Begin Frame # Coordinate system description
- Naxes = 1 # Number of coordinate axes
- ActUnt = 0 # Unit strings do not affect alignment
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Wavelength axis with no distortion" # Axis Label
- Symbol = "WAVE-WAV" # Axis symbol
- Unit = "um " # Axis units
- End Axis
- End Frame
- End CmpFrame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- Nout = 3 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin PermMap # Coordinate permutation
- Nin = 2 # Number of input coordinates
- Nout = 3 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Out1 = 1 # Output coordinate 1 = input coordinate 1
- Out2 = 2 # Output coordinate 2 = input coordinate 2
- Out3 = -1 # Output coordinate 3 = constant no. 1
- InCpy = 1 # Input coordinates = output coordinates
- Nconst = 1 # Number of constants
- Con1 = 1 # Constant number 1
- End PermMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -512.5 # Shift for axis 1
- Sft2 = -480.5 # Shift for axis 2
- Sft3 = -480.5 # Shift for axis 3
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -0.00109 # Forward matrix value
- M1 = 5.84161700642502e-07 # Forward matrix value
- M2 = -5.84161700642502e-07 # Forward matrix value
- Form = "Diagonal" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 3 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "TAN" # Gnomonic projection
- WcsAx1 = 2 # Index of celestial longitude axis
- WcsAx2 = 3 # Index of celestial latitude axis
- End WcsMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin PermMap # Coordinate permutation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Out1 = 2 # Output coordinate 1 = input coordinate 2
- Out2 = 3 # Output coordinate 2 = input coordinate 3
- Out3 = 1 # Output coordinate 3 = input coordinate 1
- In1 = 3 # Input coordinate 1 = output coordinate 3
- In2 = 1 # Input coordinate 2 = output coordinate 1
- In3 = 2 # Input coordinate 3 = output coordinate 2
- End PermMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- Nout = 3 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- End SphMap
- MapB = # Second component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 0.0122898607703168 # Forward matrix value
- M1 = -0.231781944526882 # Forward matrix value
- M2 = -0.972690130264301 # Forward matrix value
- M3 = -0.00292831230784838 # Forward matrix value
- M4 = -0.972767767862061 # Forward matrix value
- M5 = 0.231763445771093 # Forward matrix value
- M6 = -0.999920188969737 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = -0.0126339103497717 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- End CmpMap
- MapB = # Second component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- End SphMap
- End CmpMap
- MapB = # Second component Mapping
- Begin WinMap # Map one window on to another
- Nin = 1 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Sft1 = 1.9534 # Shift for axis 1
- End WinMap
- End CmpMap
- MapB = # Second component Mapping
- Begin PermMap # Coordinate permutation
- Nin = 3 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Out1 = 3 # Output coordinate 1 = input coordinate 3
- Out2 = 1 # Output coordinate 2 = input coordinate 1
- Out3 = 2 # Output coordinate 3 = input coordinate 2
- In1 = 2 # Input coordinate 1 = output coordinate 2
- In2 = 3 # Input coordinate 2 = output coordinate 3
- In3 = 1 # Input coordinate 3 = output coordinate 1
- End PermMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- Map3 = # Mapping between nodes 1 and 3
- Begin UnitMap # Unit (null) Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- End UnitMap
- Map4 = # Mapping between nodes 1 and 4
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -0.5 # Shift for axis 1
- Sft2 = -0.5 # Shift for axis 2
- End WinMap
- Map5 = # Mapping between nodes 1 and 5
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -0.5 # Shift for axis 1
- Sft2 = -0.5 # Shift for axis 2
- End WinMap
- End FrameSet
diff --git a/ast/ast_tester/degen1.fits-wcs b/ast/ast_tester/degen1.fits-wcs
deleted file mode 100644
index 6e5309d..0000000
--- a/ast/ast_tester/degen1.fits-wcs
+++ /dev/null
@@ -1,40 +0,0 @@
-WCSAXES = 3 / Number of WCS axes
-CRPIX1 = 1.0 / Reference pixel on axis 1
-CRPIX2 = 480.5 / Reference pixel on axis 2
-CRPIX3 = 480.5 / Reference pixel on axis 3
-CRVAL1 = 2.510935 / Value at ref. pixel on axis 1
-CRVAL2 = 166.59799 / Value at ref. pixel on axis 2
-CRVAL3 = -0.723889 / Value at ref. pixel on axis 3
-CTYPE1 = 'WAVE-WAV' / Wavelength axis with no distortion
-CTYPE2 = 'RA---TAN' / Type of co-ordinate on axis 2
-CTYPE3 = 'DEC--TAN' / Type of co-ordinate on axis 3
-CD1_1 = -0.00109 / Transformation matrix element
-CD2_2 = 3.347E-5 / Transformation matrix element
-CD3_3 = -3.347E-5 / Transformation matrix element
-CUNIT1 = 'um ' / Units for axis 1
-MJD-OBS = 52646.586 / Modified Julian Date of observation
-DATE-OBS= '2003-01-07T14:03:28.816' / Date of observation
-RADESYS = 'FK5 ' / Reference frame for RA/DEC values
-EQUINOX = 2000.0 / [yr] Epoch of reference equinox
-WCSAXESA= 2 / Number of WCS axes
-WCSNAMEA= 'PIXEL ' / Reference name for the coord. frame
-CRPIX1A = 1.0 / Reference pixel on axis 1
-CRPIX2A = 1.0 / Reference pixel on axis 2
-CRVAL1A = 0.5 / Value at ref. pixel on axis 1
-CRVAL2A = 0.5 / Value at ref. pixel on axis 2
-CTYPE1A = 'p1 ' / Pixel coordinate 1
-CTYPE2A = 'p2 ' / Pixel coordinate 2
-CD1_1A = 1.0 / Transformation matrix element
-CD2_2A = 1.0 / Transformation matrix element
-CUNIT1A = 'pixel ' / Units for axis 1
-CUNIT2A = 'pixel ' / Units for axis 2
-WCSAXESB= 2 / Number of WCS axes
-WCSNAMEB= 'AXIS ' / Reference name for the coord. frame
-CRPIX1B = 1.0 / Reference pixel on axis 1
-CRPIX2B = 1.0 / Reference pixel on axis 2
-CRVAL1B = 0.5 / Value at ref. pixel on axis 1
-CRVAL2B = 0.5 / Value at ref. pixel on axis 2
-CTYPE1B = 'a1 ' / Axis 1
-CTYPE2B = 'a2 ' / Axis 2
-CD1_1B = 1.0 / Transformation matrix element
-CD2_2B = 1.0 / Transformation matrix element
diff --git a/ast/ast_tester/doplot b/ast/ast_tester/doplot
deleted file mode 100755
index f7df1ce..0000000
--- a/ast/ast_tester/doplot
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/tcsh
-
- if( ! $?STARLINK ) then
- setenv STARLINK /star
- endif
-
- if( ! $?AST ) then
- setenv AST $STARLINK
- endif
-
- if( ! $?LDFLAGS ) then
- setenv LDFLAGS ""
- endif
-
- setenv PATH $AST/bin\:$STARLINK/bin\:$PATH
-
- gfortran -fno-second-underscore -o plotter plotter.f -fno-range-check $LDFLAGS -I$AST/include -I$STARLINK/include -L$AST/lib -L$STARLINK/lib `ast_link -pgp -ems` `pgplot_link`
-
- set bn = $1
- set n = "${bn}.head"
-
- set atfile = "${bn}.attr"
- if( -e $atfile ) then
- set attr1 = `cat $atfile`
- else
- set attr1 = ' '
- endif
-
- set atfile = "${bn}.fattr"
- if( -e $atfile ) then
- set attr2 = `cat $atfile`
- else
- set attr2 = ' '
- endif
-
- set boxfile = "${bn}.box"
- if( -e $boxfile ) then
- set box = `cat $boxfile`
- else
- set box = ' '
- endif
-
-
- plotter $n "$attr1" "$attr2" a.ps $box
-
- if( -e $STARLINK/bin/psmerge ) then
- $STARLINK/bin/psmerge -t300x300 -r90 a.ps > b.ps
- else
- cp a.ps b.ps
- endif
-
- gv b.ps -orientation=landscape
-
diff --git a/ast/ast_tester/dss.ast b/ast/ast_tester/dss.ast
deleted file mode 100644
index 6c778c4..0000000
--- a/ast/ast_tester/dss.ast
+++ /dev/null
@@ -1,166 +0,0 @@
- Begin FrameSet # Set of inter-related coordinate systems
-# Title = "FK5 equatorial coordinates; mean equinox J2000.0; gnomonic polynomial projection" # Title of coordinate system
-# Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
-# Epoch = 2000 # Julian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# System = "FK5" # Coordinate system type
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
-# Bot2 = -1.5707963267948966 # Lowest legal axis value
-# Top2 = 1.5707963267948966 # Highest legal axis value
- IsA Frame # Coordinate system description
- Nframe = 2 # Number of Frames in FrameSet
- Base = 1 # Index of base Frame
- Currnt = 2 # Index of current Frame
- Lnk2 = 1 # Node 2 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame # Coordinate system description
- Title = "Pixel Coordinates" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Pixel axis 1" # Label for axis 1
-# Lbl2 = "Pixel axis 2" # Label for axis 2
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Pixel axis 1" # Axis Label
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Pixel axis 2" # Axis Label
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin SkyFrame # Description of celestial coordinate system
- Ident = " " # Permanent Object identification string
- IsA Object # AST Object
-# Title = "FK5 equatorial coordinates; mean equinox J2000.0; gnomonic polynomial projection" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
- Epoch = 2000 # Julian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
- System = "FK5" # Coordinate system type
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
-# Bot2 = -1.5707963267948966 # Lowest legal axis value
-# Top2 = 1.5707963267948966 # Highest legal axis value
- Ax1 = # Axis number 1
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- Ax2 = # Axis number 2
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- IsA Frame # Coordinate system description
- Proj = "gnomonic polynomial" # Description of sky projection
-# SkyTol = 0.001 # Smallest significant separation [arc-sec]
- Eqnox = 2000 # Julian epoch of mean equinox
- SRefIs = "Ignored" # Not rotated (ref. pos. is ignored)
- SRef1 = 2.8272374655684112 # Ref. pos. RA 10:47:57.3
- SRef2 = -1.0518122540502668 # Ref. pos. Dec -60:15:52
- End SkyFrame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -0.3287946560728543 # Shift for axis 1
- Scl1 = -0.00044129690205585437 # Scale factor for axis 1
- Sft2 = 0.38797155568647818 # Shift for axis 2
- Scl2 = 0.00044129690205585437 # Scale factor for axis 2
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 2 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "TPN" # Gnomonic polynomial projection
- PV1_0 = 0.00037777813768480556 # Projection parameter 0 for axis 1
- PV1_1 = 0.018675372165510556 # Projection parameter 1 for axis 1
- PV1_2 = 1.4659181119170556e-05 # Projection parameter 2 for axis 1
- PV1_4 = -5.6541834490241662e-09 # Projection parameter 4 for axis 1
- PV1_5 = -1.6598619578175834e-10 # Projection parameter 5 for axis 1
- PV1_6 = 3.324645548432778e-09 # Projection parameter 6 for axis 1
- PV1_7 = 6.8029375162963896e-10 # Projection parameter 7 for axis 1
- PV1_8 = -1.0315391309210556e-11 # Projection parameter 8 for axis 1
- PV1_9 = 6.5770184096316667e-10 # Projection parameter 9 for axis 1
- PV1_10 = 4.6843790588691666e-11 # Projection parameter 10 for axis 1
- PV1_17 = 0 # Projection parameter 17 for axis 1
- PV1_19 = 0 # Projection parameter 19 for axis 1
- PV1_21 = 0 # Projection parameter 21 for axis 1
- PV2_0 = 0.00020734395690532499 # Projection parameter 0 for axis 2
- PV2_1 = 0.018675089806542779 # Projection parameter 1 for axis 2
- PV2_2 = -1.6578391725152224e-05 # Projection parameter 2 for axis 2
- PV2_4 = -5.1378767937980552e-09 # Projection parameter 4 for axis 2
- PV2_5 = -1.7623932712259446e-09 # Projection parameter 5 for axis 2
- PV2_6 = 2.7161547313251387e-10 # Projection parameter 6 for axis 2
- PV2_7 = 7.088907407099166e-10 # Projection parameter 7 for axis 2
- PV2_8 = 1.8432618513145277e-11 # Projection parameter 8 for axis 2
- PV2_9 = 6.8491061989569442e-10 # Projection parameter 9 for axis 2
- PV2_10 = 7.3325859634708332e-13 # Projection parameter 10 for axis 2
- PV2_17 = 0 # Projection parameter 17 for axis 2
- PV2_19 = 0 # Projection parameter 19 for axis 2
- PV2_21 = 0 # Projection parameter 21 for axis 2
- End WcsMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 0 # Polar longitude (rad.s)
- End SphMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 0.82577216035104439 # Forward matrix value
- M1 = -0.30920332196760869 # Forward matrix value
- M2 = -0.47169232013396639 # Forward matrix value
- M3 = -0.26848851872737706 # Forward matrix value
- M4 = -0.95099595460979502 # Forward matrix value
- M5 = 0.153364303628268 # Forward matrix value
- M6 = -0.49599824042101986 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = -0.86832352582390171 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 2.8272374655684112 # Polar longitude (rad.s)
- End SphMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End FrameSet
diff --git a/ast/ast_tester/dss.dss b/ast/ast_tester/dss.dss
deleted file mode 100644
index c57a035..0000000
--- a/ast/ast_tester/dss.dss
+++ /dev/null
@@ -1,58 +0,0 @@
-CNPIX1 = 1.0 / X corner (pixels)
-CNPIX2 = 1.0 / Y corner (pixels)
-PPO1 = 0.0 / Orientation co-efficients
-PPO2 = 0.0
-PPO3 = -18825.904
-PPO4 = 0.0
-PPO5 = 0.0
-PPO6 = -22216.49
-XPIXELSZ= 25.28445 / X pixel size (microns)
-YPIXELSZ= 25.28445 / Y pixel size (microns)
-PLTRAH = 10.0 / RA at plate centre
-PLTRAM = 47.0
-PLTRAS = 57.30587
-PLTDECD = 60.0 / DEC at plate centre
-PLTDECM = 15.0
-PLTDECS = 51.85079
-PLTDECSN= '- '
-PLTSCALE= 67.230832 / Plate scale (arcsec/mm)
-AMDX1 = 67.23134 / Plate solution x co-efficients
-AMDX2 = 0.052773052
-AMDX3 = 1.3600013
-AMDX4 = -2.035506E-5
-AMDX5 = -5.975503E-7
-AMDX6 = 1.1968724E-5
-AMDX7 = 0.0
-AMDX8 = 2.4490575E-6
-AMDX9 = -3.7135409E-8
-AMDX10 = 2.3677266E-6
-AMDX11 = 1.6863765E-7
-AMDX12 = 0.0
-AMDX13 = 0.0
-AMDX14 = 0.0
-AMDX15 = 0.0
-AMDX16 = 0.0
-AMDX17 = 0.0
-AMDX18 = 0.0
-AMDX19 = 0.0
-AMDX20 = 0.0
-AMDY1 = 67.230323 / Plate solution y co-efficients
-AMDY2 = -0.05968221
-AMDY3 = 0.74643824
-AMDY4 = -1.8496356E-5
-AMDY5 = -6.3446158E-6
-AMDY6 = 9.778157E-7
-AMDY7 = 0.0
-AMDY8 = 2.5520067E-6
-AMDY9 = 6.6357427E-8
-AMDY10 = 2.4656782E-6
-AMDY11 = 2.6397309E-9
-AMDY12 = 0.0
-AMDY13 = 0.0
-AMDY14 = 0.0
-AMDY15 = 0.0
-AMDY16 = 0.0
-AMDY17 = 0.0
-AMDY18 = 0.0
-AMDY19 = 0.0
-AMDY20 = 0.0
diff --git a/ast/ast_tester/dss.fits-dss b/ast/ast_tester/dss.fits-dss
deleted file mode 100644
index c728dc4..0000000
--- a/ast/ast_tester/dss.fits-dss
+++ /dev/null
@@ -1,108 +0,0 @@
-SIMPLE = T /FITS header
-BITPIX = 16 /No.Bits per pixel
-NAXIS = 2 /No.dimensions
-NAXIS1 = 530 /Length X axis
-NAXIS2 = 530 /Length Y axis
-EXTEND = T /
-DATE = '29/08/02 ' /Date of FITS file creation
-ORIGIN = 'CASB -- STScI ' /Origin of FITS image
-PLTLABEL= 'V 11596 ' /Observatory plate label
-PLATEID = '06A6 ' /GSSS Plate ID
-REGION = 'XV128 ' /GSSS Region Name
-DATE-OBS= '19/01/87 ' /UT date of Observation
-UT = '17:35:00.00 ' /UT time of observation
-EPOCH = 1.9870512695313E+03 /Epoch of plate
-PLTRAH = 10 /Plate center RA
-PLTRAM = 47 /
-PLTRAS = 5.7305870000000E+01 /
-PLTDECSN= '- ' /Plate center Dec
-PLTDECD = 60 /
-PLTDECM = 15 /
-PLTDECS = 5.1850790000000E+01 /
-EQUINOX = 2.0000000000000E+03 /Julian Reference frame equinox
-EXPOSURE= 4.0000000000000E+00 /Exposure time minutes
-BANDPASS= 6 /GSSS Bandpass code
-PLTGRADE= 1 /Plate grade
-PLTSCALE= 6.7200000000000E+01 /Plate Scale arcsec per mm
-SITELAT = '-31:16:24.00 ' /Latitude of Observatory
-SITELONG= '+149:03:42.00 ' /Longitude of Observatory
-TELESCOP= 'UK Schmidt (new optics)' /Telescope where plate taken
-CNPIX1 = 7696 /X corner (pixels)
-CNPIX2 = 7926 /Y corner
-DATATYPE= 'INTEGER*2 ' /Type of Data
-SCANIMG = 'XV128_06A6_00_00.PIM' /Name of original scan
-SCANNUM = 0 /Identifies scan of the plate
-DCHOPPED= F /Image repaired for chopping effects
-DSHEARED= F /Image repaired for shearing effects
-DSCNDNUM= 0 /Identifies descendant of plate scan image
-XPIXELSZ= 2.5284450000000E+01 /X pixel size microns
-YPIXELSZ= 2.5284450000000E+01 /Y pixel size microns
-PPO1 = 0.0000000000000E+00 /Orientation Coefficients
-PPO2 = 0.0000000000000E+00 /
-PPO3 = 1.7573793885557E+05 /
-PPO4 = 0.0000000000000E+00 /
-PPO5 = 0.0000000000000E+00 /
-PPO6 = 1.7816277576304E+05 /
-AMDX1 = 6.7231339795838E+01 /Plate solution x coefficients
-AMDX2 = 5.2773052029014E-02 /
-AMDX3 = 1.3600012956653E+00 /
-AMDX4 = -2.0355060416487E-05 /
-AMDX5 = -5.9755030481433E-07 /
-AMDX6 = 1.1968723974358E-05 /
-AMDX7 = 0.0000000000000E+00 /
-AMDX8 = 2.4490575058667E-06 /
-AMDX9 = -3.7135408713158E-08 /
-AMDX10 = 2.3677266274674E-06 /
-AMDX11 = 1.6863764611929E-07 /
-AMDX12 = 0.0000000000000E+00 /
-AMDX13 = 0.0000000000000E+00 /
-AMDX14 = 0.0000000000000E+00 /
-AMDX15 = 0.0000000000000E+00 /
-AMDX16 = 0.0000000000000E+00 /
-AMDX17 = 0.0000000000000E+00 /
-AMDX18 = 0.0000000000000E+00 /
-AMDX19 = 0.0000000000000E+00 /
-AMDX20 = 0.0000000000000E+00 /
-AMDY1 = 6.7230323303554E+01 /Plate solution y coefficients
-AMDY2 = -5.9682210210548E-02 /
-AMDY3 = 7.4643824485917E-01 /
-AMDY4 = -1.8496356457673E-05 /
-AMDY5 = -6.3446157764134E-06 /
-AMDY6 = 9.7781570327705E-07 /
-AMDY7 = 0.0000000000000E+00 /
-AMDY8 = 2.5520066665557E-06 /
-AMDY9 = 6.6357426647323E-08 /
-AMDY10 = 2.4656782316245E-06 /
-AMDY11 = 2.6397309468495E-09 /
-AMDY12 = 0.0000000000000E+00 /
-AMDY13 = 0.0000000000000E+00 /
-AMDY14 = 0.0000000000000E+00 /
-AMDY15 = 0.0000000000000E+00 /
-AMDY16 = 0.0000000000000E+00 /
-AMDY17 = 0.0000000000000E+00 /
-AMDY18 = 0.0000000000000E+00 /
-AMDY19 = 0.0000000000000E+00 /
-AMDY20 = 0.0000000000000E+00 /
- Based on photographic data obtained using The UK Schmidt Telescope.
- The UK Schmidt Telescope was operated by the Royal Observatory
- Edinburgh, with funding from the UK Science and Engineering Research
- Council, until 1988 June, and thereafter by the Anglo-Australian
- Observatory. Original plate material is copyright (c) the Royal
- Observatory Edinburgh and the Anglo-Australian Observatory. The
- plates were processed into the present compressed digital form with
- their permission. The Digitized Sky Survey was produced at the Space
- Telescope Science Institute under US Government grant NAG W-2166.
-
- Investigators using these scans are requested to include the above
- acknowledgements in any publications.
-
- Copyright (c) 1993, 1994, Association of Universities for Research in
- Astronomy, Inc. All rights reserved.
-DATAMAX = 23833 /Maximum data value
-DATAMIN = 3673 /Minimum data value
-OBJECT = 'data ' /Object ID
-OBJCTRA = '10 44 10.340 ' /Object Right Ascension (J2000)
-OBJCTDEC= '-59 43 11.40 ' /Object Declination (J2000)
-OBJCTX = 7961.96 /Object X on plate (pixels)
-OBJCTY = 8191.07 /Object Y on plate (pixels)
-END
diff --git a/ast/ast_tester/dss.fits-wcs b/ast/ast_tester/dss.fits-wcs
deleted file mode 100644
index e9896db..0000000
--- a/ast/ast_tester/dss.fits-wcs
+++ /dev/null
@@ -1,39 +0,0 @@
-WCSAXES = 2 / Number of WCS axes
-CRPIX1 = -745.0645 / Reference pixel on axis 1
-CRPIX2 = -879.1622 / Reference pixel on axis 2
-CRVAL1 = 161.98877 / Value at ref. pixel on axis 1
-CRVAL2 = -60.264403 / Value at ref. pixel on axis 2
-CTYPE1 = 'RA---TAN' / Type of co-ordinate on axis 1
-CTYPE2 = 'DEC--TAN' / Type of co-ordinate on axis 2
-CD1_1 = -0.02528445 / Transformation matrix element
-CD2_2 = 0.02528445 / Transformation matrix element
-MJD-OBS = 51544.499 / Modified Julian Date of observation
-DATE-OBS= '2000-01-01T11:58:55.816' / Date of observation
-QV1_0 = 0.00037777814 / Projection parameter
-QV1_1 = 0.018675372 / Projection parameter
-QV1_2 = 1.4659181E-5 / Projection parameter
-QV1_4 = -5.6541834E-9 / Projection parameter
-QV1_5 = -1.659862E-10 / Projection parameter
-QV1_6 = 3.3246455E-9 / Projection parameter
-QV1_7 = 6.8029375E-10 / Projection parameter
-QV1_8 = -1.0315391E-11 / Projection parameter
-QV1_9 = 6.5770184E-10 / Projection parameter
-QV1_10 = 4.6843791E-11 / Projection parameter
-QV1_17 = 0.0 / Projection parameter
-QV1_19 = 0.0 / Projection parameter
-QV1_21 = 0.0 / Projection parameter
-QV2_0 = 0.00020734396 / Projection parameter
-QV2_1 = 0.01867509 / Projection parameter
-QV2_2 = -1.6578392E-5 / Projection parameter
-QV2_4 = -5.1378768E-9 / Projection parameter
-QV2_5 = -1.7623933E-9 / Projection parameter
-QV2_6 = 2.7161547E-10 / Projection parameter
-QV2_7 = 7.0889074E-10 / Projection parameter
-QV2_8 = 1.8432619E-11 / Projection parameter
-QV2_9 = 6.8491062E-10 / Projection parameter
-QV2_10 = 7.332586E-13 / Projection parameter
-QV2_17 = 0.0 / Projection parameter
-QV2_19 = 0.0 / Projection parameter
-QV2_21 = 0.0 / Projection parameter
-RADESYS = 'FK5 ' / Reference frame for RA/DEC values
-EQUINOX = 2000.0 / [yr] Epoch of reference equinox
diff --git a/ast/ast_tester/hpx.attr b/ast/ast_tester/hpx.attr
deleted file mode 100644
index 496403c..0000000
--- a/ast/ast_tester/hpx.attr
+++ /dev/null
@@ -1 +0,0 @@
-border=1
diff --git a/ast/ast_tester/hpx.box b/ast/ast_tester/hpx.box
deleted file mode 100644
index 8b52762..0000000
--- a/ast/ast_tester/hpx.box
+++ /dev/null
@@ -1 +0,0 @@
-0.5 0.5 300.5 200.5
diff --git a/ast/ast_tester/hpx.head b/ast/ast_tester/hpx.head
deleted file mode 100644
index 9e82b8e..0000000
--- a/ast/ast_tester/hpx.head
+++ /dev/null
@@ -1,10 +0,0 @@
-NAXIS1 = 300
-NAXIS2 = 200
-CTYPE1 = 'GLON-HPX'
-CTYPE2 = 'GLAT-HPX'
-CRVAL1 = -149.56866
-CRVAL2 = -19.758201
-CRPIX1 = 150.500
-CRPIX2 = 100.500
-CDELT1 = -1.00000
-CDELT2 = 1.00000
diff --git a/ast/ast_tester/joye_car_headers/CAR_model.head b/ast/ast_tester/joye_car_headers/CAR_model.head
deleted file mode 100644
index 82a7d4e..0000000
--- a/ast/ast_tester/joye_car_headers/CAR_model.head
+++ /dev/null
@@ -1,47 +0,0 @@
-FITS headers in CAR_model.fits:
-SIMPLE = T / File conforms to NOST standard
-BITPIX = -32 / Bits per pixel
-NAXIS = 2 / No data is associated with this header
-NAXIS1 = 72 / Length of data axis 1
-NAXIS2 = 36 / Length of data axis 2
-EXTEND = T / Extensions may be present
-COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy
-COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H
-CTYPE1 = 'RA---CAR' / RA---%%%, %%% is the projection, e.g., AIT
-CRPIX1 = 36.5 / Reference pixel
-CRVAL1 = 266.41683 / RA at the reference pixel
-CDELT1 = -5. / X-axis incr per pixel at ref pixel (deg)
-CUNIT1 = 'deg ' / Physical unit of X-axis
-CTYPE2 = 'DEC--CAR' / DEC---%%%, %%% is the projection, e.g., AIT
-CRPIX2 = 18.5 / Reference pixel
-CRVAL2 = -29.00781 / DEC at the reference pixel
-CDELT2 = 5. / Y-axis incr per pixel at ref pixel (deg)
-CUNIT2 = 'deg ' / Physical unit of Y-axis
-CROTA2 = 0. / Image rotation (deg)
-DATE = '2011-03-16T11:50:24' /
-TELESCOP= 'GLAST ' / Name of telescope generating data
-INSTRUME= 'LAT ' / Name of instrument generating data
-EQUINOX = 2000. / Equinox of RA & DEC specifications
-CREATOR = 'gtmodel ' / Software creating file
-HISTORY $Id: LatCountsMapTemplate,v 1.2 2004/09/24 03:54:20 jc
-HISTORY hiang E
-CHECKSUM= 'AU2LCU0IAU0IAU0I' / HDU checksum updated 2011-03-16T15:51:49
-DATASUM = '2800807754' / data unit checksum updated 2011-03-16T15:51:49
-DSTYP1 = 'TIME '
-DSUNI1 = 's '
-DSVAL1 = 'TABLE '
-DSREF1 = ':GTI '
-DSTYP2 = 'ENERGY '
-DSUNI2 = 'MeV '
-DSVAL2 = '100:1000'
-DSTYP3 = 'EVENT_CLASS'
-DSUNI3 = 'dimensionless'
-DSVAL3 = '4:4 '
-DSTYP4 = 'ZENITH_ANGLE'
-DSUNI4 = 'deg '
-DSVAL4 = '0:105 '
-NDSKEYS = 4
-FILENAME= 'CAR_model.fits'
-HISTORY File modified by user 'jsperki1' with fv on 2011-03-16T12:00:29
-HISTORY File modified by user 'jsperki1' with fv on 2011-03-16T12:01:49
-END
diff --git a/ast/ast_tester/joye_car_headers/CHIPASS_Equ.head b/ast/ast_tester/joye_car_headers/CHIPASS_Equ.head
deleted file mode 100644
index 5356fa5..0000000
--- a/ast/ast_tester/joye_car_headers/CHIPASS_Equ.head
+++ /dev/null
@@ -1,39 +0,0 @@
-FITS headers in CHIPASS_Equ.fits:
-SIMPLE = T / file does conform to FITS standard
-BITPIX = -32 / IEEE (big-endian) 32-bit floating point data
-NAXIS = 2 / number of data axes
-NAXIS1 = 5401 / length of data axis 1
-NAXIS2 = 1741 / length of data axis 2
-EXTEND = T / FITS dataset may contain extensions
-COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy
-COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H
-BUNIT = 'mK ' / Using 438.5 mK/(Jy/beam) plus 3300 mK offset
-CTYPE1 = 'RA---CAR'
-CRPIX1 = 2701.
-CDELT1 = -0.0666666666666667
-CRVAL1 = 180.
-CTYPE2 = 'DEC--CAR'
-CRPIX2 = 1351.
-CDELT2 = 0.0666666666666667
-CRVAL2 = 0.
-LONPOLE = 0. / Native longitude of celestial pole
-LATPOLE = 90. / Native latitude of celestial pole
-RADESYS = 'FK5 ' / Equatorial coordinate system
-EQUINOX = 2000.0 / Equinox of equatorial coordinates
-BMAJ = 0.24000 / [deg] Beam major axis
-BMIN = 0.24000 / [deg] Beam minor axis
-BPA = 0.0 / [deg] Beam position angle
-FREQENCY= 1.3945E+09 / [Hz] Centre frequency
-BANDWID = 6.4E+07 / [Hz] Bandwidth
-DATE = '2013-04-20T13:20:39' / file creation date (YYYY-MM-DDThh:mm:ss UT)
-COMMENT ------------------------------------------------------------------------
-COMMENT This file contains a 1.4 GHz continuum map of the sky south of dec +26
-COMMENT produced from HIPASS and ZOA data. These surveys were undertaken with
-COMMENT the 13-beam multibeam system on the Parkes radio telescope.
-COMMENT Details may be found in the following paper:
-COMMENT Calabretta, M.R., Staveley-Smith, L., and Barnes, D.G., (2013)
-COMMENT PASA (in preparation).
-COMMENT ------------------------------------------------------------------------
-COMMENT THIS IS A PRE-PUBLICATION IMAGE, FOR RESTRICTED DISTRIBUTION ONLY
-COMMENT ------------------------------------------------------------------------
-END
diff --git a/ast/ast_tester/joye_car_headers/car1.fattr b/ast/ast_tester/joye_car_headers/car1.fattr
deleted file mode 100644
index 5f408d2..0000000
--- a/ast/ast_tester/joye_car_headers/car1.fattr
+++ /dev/null
@@ -1 +0,0 @@
-carlin=1
diff --git a/ast/ast_tester/joye_car_headers/car1.head b/ast/ast_tester/joye_car_headers/car1.head
deleted file mode 100644
index bec8d59..0000000
--- a/ast/ast_tester/joye_car_headers/car1.head
+++ /dev/null
@@ -1,32 +0,0 @@
-SIMPLE = T / Standard FITS format
-BITPIX = 16 / Bits per pixel
-NAXIS = 2 / Number of axes
-NAXIS1 = 2961 / Number pixels on axis 1
-NAXIS2 = 561 / Number pixels on axis 2
-CTYPE1 = 'GLON-CAR' / axis 1 coord type
-CRVAL1 = 1.850000e+02 / coord value at CRPIX1
-CDELT1 = -1.250000e-01 / pixel spacing for axis 1
-CRPIX1 = 1.000000 / ref pixel for axis 1
-CTYPE2 = 'GLAT-CAR' / axis 2 coord type
-CRVAL2 = -3.500000e+01 / coord value at CRPIX2
-CDELT2 = 1.250000e-01 / pixel spacing for axis 2
-CRPIX2 = 1.000000 / ref pixel for axis 2
-BSCALE = 2.610167e-02 / real = int*bscale + bzero
-BZERO = 8.321995e+02 /
-DATAMIN = -6.326761e+00 / minimum real value
-DATAMAX = 1.670731e+03 / maximum real value
-BLANK = -32768 / missing data flag
-COMMENT PARENT DISK FILE: Wco_DHT2001.fits
-COMMENT temp =colscales( CHANGE-ME , -185.0000, 185.0000)
-COMMENT coords=rowscales( temp, 35.0000, -35.0000)
-COMMENT Written by MacFITS
-COMMENT Created: Tuesday, 14 August, 2001 01:18:06 PM
-COMMENT Whole-Galaxy velocity-integrated CO(1-0) map (Fig. 2) from
-COMMENT "The Milky Way in Molecular Clouds: A New Complete CO Survey"
-COMMENT T. M. Dame, Dap Hartmann, & P. Thaddeus (2001), ApJ, 547, 792.
-COMMENT WARNING: Both the angular resolution and the sensitivity varies
-COMMENT from region to region in this map: see Fig. 1 and Table 1 from
-COMMENT the paper above. Moment masking and clipping were used as
-COMMENT necessary to keep the noise in the map below ~1.5 K km/s.
-COMMENT See Section 2.2 for details.
-END
diff --git a/ast/ast_tester/joye_car_headers/car2.fattr b/ast/ast_tester/joye_car_headers/car2.fattr
deleted file mode 100644
index 5f408d2..0000000
--- a/ast/ast_tester/joye_car_headers/car2.fattr
+++ /dev/null
@@ -1 +0,0 @@
-carlin=1
diff --git a/ast/ast_tester/joye_car_headers/car2.head b/ast/ast_tester/joye_car_headers/car2.head
deleted file mode 100644
index bec8d59..0000000
--- a/ast/ast_tester/joye_car_headers/car2.head
+++ /dev/null
@@ -1,32 +0,0 @@
-SIMPLE = T / Standard FITS format
-BITPIX = 16 / Bits per pixel
-NAXIS = 2 / Number of axes
-NAXIS1 = 2961 / Number pixels on axis 1
-NAXIS2 = 561 / Number pixels on axis 2
-CTYPE1 = 'GLON-CAR' / axis 1 coord type
-CRVAL1 = 1.850000e+02 / coord value at CRPIX1
-CDELT1 = -1.250000e-01 / pixel spacing for axis 1
-CRPIX1 = 1.000000 / ref pixel for axis 1
-CTYPE2 = 'GLAT-CAR' / axis 2 coord type
-CRVAL2 = -3.500000e+01 / coord value at CRPIX2
-CDELT2 = 1.250000e-01 / pixel spacing for axis 2
-CRPIX2 = 1.000000 / ref pixel for axis 2
-BSCALE = 2.610167e-02 / real = int*bscale + bzero
-BZERO = 8.321995e+02 /
-DATAMIN = -6.326761e+00 / minimum real value
-DATAMAX = 1.670731e+03 / maximum real value
-BLANK = -32768 / missing data flag
-COMMENT PARENT DISK FILE: Wco_DHT2001.fits
-COMMENT temp =colscales( CHANGE-ME , -185.0000, 185.0000)
-COMMENT coords=rowscales( temp, 35.0000, -35.0000)
-COMMENT Written by MacFITS
-COMMENT Created: Tuesday, 14 August, 2001 01:18:06 PM
-COMMENT Whole-Galaxy velocity-integrated CO(1-0) map (Fig. 2) from
-COMMENT "The Milky Way in Molecular Clouds: A New Complete CO Survey"
-COMMENT T. M. Dame, Dap Hartmann, & P. Thaddeus (2001), ApJ, 547, 792.
-COMMENT WARNING: Both the angular resolution and the sensitivity varies
-COMMENT from region to region in this map: see Fig. 1 and Table 1 from
-COMMENT the paper above. Moment masking and clipping were used as
-COMMENT necessary to keep the noise in the map below ~1.5 K km/s.
-COMMENT See Section 2.2 for details.
-END
diff --git a/ast/ast_tester/joye_car_headers/car3.head b/ast/ast_tester/joye_car_headers/car3.head
deleted file mode 100644
index de6c76e..0000000
--- a/ast/ast_tester/joye_car_headers/car3.head
+++ /dev/null
@@ -1,8 +0,0 @@
-CTYPE1 = 'GLON-CAR'
-CRVAL1 = 1.850000e+02
-CDELT1 = -1.250000e-01
-CRPIX1 = 200.000000
-CTYPE2 = 'GLAT-CAR'
-CRVAL2 = -3.500000e+01
-CDELT2 = 1.250000e-01
-CRPIX2 = 200.000000
diff --git a/ast/ast_tester/joye_car_headers/car4.fattr b/ast/ast_tester/joye_car_headers/car4.fattr
deleted file mode 100644
index 5f408d2..0000000
--- a/ast/ast_tester/joye_car_headers/car4.fattr
+++ /dev/null
@@ -1 +0,0 @@
-carlin=1
diff --git a/ast/ast_tester/joye_car_headers/car4.head b/ast/ast_tester/joye_car_headers/car4.head
deleted file mode 100644
index 95cd97a..0000000
--- a/ast/ast_tester/joye_car_headers/car4.head
+++ /dev/null
@@ -1,38 +0,0 @@
-SIMPLE = T / Written by IDL: Thu Apr 27 08:52:27 2000
-BITPIX = -32 /
-NAXIS = 2 /
-NAXIS1 = 951 /
-NAXIS2 = 1851 /
-CRPIX1 = 211076.0 /
-CRVAL1 = 0.000000000 /
-CTYPE1 = 'GLON-CAR' /
-CRPIX2 = 475.39400 /
-CRVAL2 = 0.000000000 /
-CTYPE2 = 'GLAT-CAR' /
-CROTA2 = 0.000000000 /
-LONPOLE = 0.00000 / Defined by Greisen and Calabretta
-CD1_1 = -0.0016666667 /
-CD1_2 = 0.00000 /
-CD2_1 = 0.00000 /
-CD2_2 = 0.0016666667 /
-WAVELENG= 8.28000e-06 / Isophotal wavelength in meters
-BUNIT = 'W/m^2-sr' /
-SECURITY= 'Unclassified' /
-TELESCOP= 'MSX ' /
-INSTRUME= 'SPIRITIII' /
-ORIGIN = 'AFRL-VSBC' /
-MJD-OBS = 50295.5 / Mean modified Julian date of observation
-DATE = '16/02/2000' / Date of file generation
-HISTORY Convert Version 6.2.X
-HISTORY Level-2A Deshadow Version 4.0
-HISTORY Level-2A Saturation Correction Version 1.0
-HISTORY Pointing Convert Version 6.0.1
-HISTORY Makeimage Version 3.2
-HISTORY Destriped
-HISTORY Data collected in J2000 FK5 coordinates
-HISTORY Data samples transformed to Galactic coordinates
-HISTORY and convolved onto image grid using sigma=3.0 arcsec
-HISTORY Gaussian kernel
-HISTORY Master Plate: GP_351.0_+0.0_A.fits
-HISTORY Written by IDL: 28-Jan-2000 17:44:54.00
-END
diff --git a/ast/ast_tester/joye_car_headers/car5.head b/ast/ast_tester/joye_car_headers/car5.head
deleted file mode 100644
index 2be3a64..0000000
--- a/ast/ast_tester/joye_car_headers/car5.head
+++ /dev/null
@@ -1,38 +0,0 @@
-SIMPLE = T / Written by IDL: Thu Apr 27 08:52:27 2000
-BITPIX = -32 /
-NAXIS = 2 /
-NAXIS1 = 951 /
-NAXIS2 = 1851 /
-CRPIX1 = -4932.0204 /
-CRVAL1 = 0.000000000 /
-CTYPE1 = 'GLON-CAR' /
-CRPIX2 = 475.39400 /
-CRVAL2 = 0.000000000 /
-CTYPE2 = 'GLAT-CAR' /
-CROTA2 = 0.000000000 /
-LONPOLE = 0.00000 / Defined by Greisen and Calabretta
-CD1_1 = -0.0016666667 /
-CD1_2 = 0.00000 /
-CD2_1 = 0.00000 /
-CD2_2 = 0.0016666667 /
-WAVELENG= 8.28000e-06 / Isophotal wavelength in meters
-BUNIT = 'W/m^2-sr' /
-SECURITY= 'Unclassified' /
-TELESCOP= 'MSX ' /
-INSTRUME= 'SPIRITIII' /
-ORIGIN = 'AFRL-VSBC' /
-MJD-OBS = 50295.5 / Mean modified Julian date of observation
-DATE = '16/02/2000' / Date of file generation
-HISTORY Convert Version 6.2.X
-HISTORY Level-2A Deshadow Version 4.0
-HISTORY Level-2A Saturation Correction Version 1.0
-HISTORY Pointing Convert Version 6.0.1
-HISTORY Makeimage Version 3.2
-HISTORY Destriped
-HISTORY Data collected in J2000 FK5 coordinates
-HISTORY Data samples transformed to Galactic coordinates
-HISTORY and convolved onto image grid using sigma=3.0 arcsec
-HISTORY Gaussian kernel
-HISTORY Master Plate: GP_351.0_+0.0_A.fits
-HISTORY Written by IDL: 28-Jan-2000 17:44:54.00
-END
diff --git a/ast/ast_tester/joye_car_headers/cmap_3years_GP_D2.head b/ast/ast_tester/joye_car_headers/cmap_3years_GP_D2.head
deleted file mode 100644
index d27e368..0000000
--- a/ast/ast_tester/joye_car_headers/cmap_3years_GP_D2.head
+++ /dev/null
@@ -1,162 +0,0 @@
-FITS headers in cmap_3years_GP_D2.fits:
-SIMPLE = T / File conforms to NOST standard
-BITPIX = 32 / Bits per pixel
-NAXIS = 2 / No data is associated with this header
-NAXIS1 = 1800 / Length of data axis 1
-NAXIS2 = 500 / Length of data axis 2
-EXTEND = T / Extensions may be present
-COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy
-COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H
-CTYPE1 = 'GLON-CAR' / RA---%%%, %%% represents the projection method
-CRPIX1 = 900.5 / Reference pixel
-CRVAL1 = 0. / RA at the reference pixel
-CDELT1 = -0.2 / X-axis incr per pixel of physical coord at posi
-CUNIT1 = 'deg ' / Physical unit of X-axis
-CTYPE2 = 'GLAT-CAR' / DEC---%%%, %%% represents the projection method
-CRPIX2 = 250.5 / Reference pixel
-CRVAL2 = 0. / DEC at the reference pixel
-CDELT2 = 0.2 / Y-axis incr per pixel of physical coord at posi
-CUNIT2 = 'deg ' / Physical unit of Y-axis
-CROTA2 = 0. / Image rotation (deg)
-DATE = '2011-11-18T09:38:44' / file creation date (YYYY-MM-DDThh:mm:ss U
-FILENAME= 'cmap_3years_GP_D2.fits' /
-TELESCOP= 'GLAST ' / name of telescope generating data
-INSTRUME= 'LAT ' / name of instrument generating data
-DATE-OBS= '2008-08-04T15:43:37.6089' / start date and time of the observation (U
-DATE-END= '2011-07-31T23:59:59.0000' / end date and time of the observation (UTC
-TIMEUNIT= 's ' / units for the time related keywords
-TIMEZERO= 0. / clock correction
-TIMESYS = 'TT ' / type of time system that is used
-TIMEREF = 'LOCAL ' / reference frame used for times
-CLOCKAPP= F / whether a clock drift correction has been appli
-GPS_OUT = F / whether GPS time was unavailable at any time du
-NDSKEYS = 5
-EQUINOX = 2000. / Equinox of RA & DEC specifications
-OBSERVER= 'Peter Michelson' / GLAST/LAT PI
-CREATOR = 'gtbin ' / Software and version creating file
-HISTORY LatCountMapTemplate,v 1.3 2005/04/05 21:06:39 peachey
-HISTORY Exp
-CHECKSUM= 'HG8SH95PHE5PH95P' / HDU checksum updated 2011-11-18T08:38:44
-DATASUM = '3748023 ' / data unit checksum updated 2011-11-18T08:38:44
-DSTYP1 = 'TIME '
-DSUNI1 = 's '
-DSVAL1 = 'TABLE '
-DSREF1 = ':GTI '
-DSTYP2 = 'CONVERSION_TYPE'
-DSUNI2 = 'dimensionless'
-DSVAL2 = '1:1 '
-DSTYP3 = 'ENERGY '
-DSUNI3 = 'MeV '
-DSVAL3 = '2000:10000'
-DSTYP4 = 'EVENT_CLASS'
-DSUNI4 = 'dimensionless'
-DSVAL4 = '4: '
-DSTYP5 = 'ZENITH_ANGLE'
-DSUNI5 = 'deg '
-DSVAL5 = '0:100 '
-HISTORY The following history was copied from input files by gtbin
-HISTORY ------------------------------------------------------------------------
-HISTORY BEGIN history copied from ft1_D2_Front.fits[EVENTS]
-HISTORY ------------------------------------------------------------------------
-HISTORY Input merit file: /scratch/glastmp/P120-FT1/128/r0240311566_v120_merit.r
-HISTORY oot
-HISTORY Filter string: (FT1EventClass!=0) && (EvtElapsedTime >= 240311568) && (
-HISTORY EvtElapsedTime <= 240314221)
-HISTORY CFITSIO used the following filtering expression to create this table:
-HISTORY /scratch/glastmp/P120-FT1/128/foo.fit[EVENTS][gtifilter("/scratch/glastm
-HISTORY p/P120-FT1/128/gll_xp_p120_r0240311566_v122.fit_tempgti")]
-HISTORY CFITSIO used the following filtering expression to create this table:
-HISTORY data/august_08-ft1.fits[EVENTS][100 <= ENERGY && ENERGY <= 1000000 && 4
-HISTORY <= EVENT_CLASS && 0 <= TIME && TIME <= 1000000000 && 0 <= ZENITH_ANGLE &
-HISTORY & ZENITH_ANGLE <= 100 && gtifilter()]
-HISTORY Filter string: 100 <= ENERGY && ENERGY <= 1000000 && 4 <= EVENT_CLASS &&
-HISTORY 0 <= TIME && TIME <= 1000000000 && 0 <= ZENITH_ANGLE && ZENITH_ANGLE <=
-HISTORY 100 && gtifilter()
-HISTORY CFITSIO used the following filtering expression to create this table:
-HISTORY data/august_08_z100_ft1.fits[EVENTS][gtifilter("data/august_08-ft1.fits_
-HISTORY rocking_tempgti")]
-HISTORY Filter string: 0 <= CONVERSION_TYPE && CONVERSION_TYPE <= 0 && 1000 <= E
-HISTORY NERGY && ENERGY <= 5000 && 4 <= EVENT_CLASS && 0 <= TIME && TIME <= 1000
-HISTORY 000000 && 0 <= ZENITH_ANGLE && ZENITH_ANGLE <= 100 && gtifilter()
-HISTORY ------------------------------------------------------------------------
-HISTORY END copied history
-HISTORY ------------------------------------------------------------------------
-HISTORY ------------------------------------------------------------------------
-HISTORY BEGIN history copied from ft1_D2_Back.fits[EVENTS]
-HISTORY ------------------------------------------------------------------------
-HISTORY Input merit file: /scratch/glastmp/P120-FT1/128/r0240311566_v120_merit.r
-HISTORY oot
-HISTORY Filter string: (FT1EventClass!=0) && (EvtElapsedTime >= 240311568) && (
-HISTORY EvtElapsedTime <= 240314221)
-HISTORY CFITSIO used the following filtering expression to create this table:
-HISTORY /scratch/glastmp/P120-FT1/128/foo.fit[EVENTS][gtifilter("/scratch/glastm
-HISTORY p/P120-FT1/128/gll_xp_p120_r0240311566_v122.fit_tempgti")]
-HISTORY CFITSIO used the following filtering expression to create this table:
-HISTORY data/august_08-ft1.fits[EVENTS][100 <= ENERGY && ENERGY <= 1000000 && 4
-HISTORY <= EVENT_CLASS && 0 <= TIME && TIME <= 1000000000 && 0 <= ZENITH_ANGLE &
-HISTORY & ZENITH_ANGLE <= 100 && gtifilter()]
-HISTORY Filter string: 100 <= ENERGY && ENERGY <= 1000000 && 4 <= EVENT_CLASS &&
-HISTORY 0 <= TIME && TIME <= 1000000000 && 0 <= ZENITH_ANGLE && ZENITH_ANGLE <=
-HISTORY 100 && gtifilter()
-HISTORY CFITSIO used the following filtering expression to create this table:
-HISTORY data/august_08_z100_ft1.fits[EVENTS][gtifilter("data/august_08-ft1.fits_
-HISTORY rocking_tempgti")]
-HISTORY Filter string: 1 <= CONVERSION_TYPE && CONVERSION_TYPE <= 1 && 2000 <= E
-HISTORY NERGY && ENERGY <= 10000 && 4 <= EVENT_CLASS && 0 <= TIME && TIME <= 100
-HISTORY 0000000 && 0 <= ZENITH_ANGLE && ZENITH_ANGLE <= 100 && gtifilter()
-HISTORY ------------------------------------------------------------------------
-HISTORY END copied history
-HISTORY ------------------------------------------------------------------------
-END
-XTENSION= 'BINTABLE' / Binary table extension
-BITPIX = 8 / Bits per pixel
-NAXIS = 2 / Required value
-NAXIS1 = 16 / Number of bytes per row
-NAXIS2 = 17159 / Number of rows
-PCOUNT = 0 / Normally 0 (no varying arrays)
-GCOUNT = 1 / Required value
-TFIELDS = 2 / Number of columns in table
-TTYPE1 = 'START ' / Start time of an interval
-TFORM1 = 'D ' / Data format of this field
-TTYPE2 = 'STOP ' / Stop time of an interval
-TFORM2 = 'D ' / Data format of this field
-EXTNAME = 'GTI ' / Extension name
-TELESCOP= 'GLAST ' / name of telescope generating data
-INSTRUME= 'LAT ' / name of instrument generating data
-MJDREFI = 51910. / Integer part of MJD corresponding to SC clock s
-MJDREFF = '7.428703703703703D-4' / Fractional part of MJD corresponding to SC c
-TSTART = 239557418.608944 / mission time of the start of the observation
-TSTOP = 333849601. / mission time of the end of the observation
-EXPOSURE= 69878014.2344566 / Integration time (in seconds) for the PHA data
-HDUCLASS= 'OGIP ' / File format is OGIP standard
-HDUCLAS1= 'GTI ' / Contains Good Time Intervals
-HDUVERS = '1.2.0 ' / Version of file format
-DATE-OBS= '2008-08-04T15:43:37.6089' / start date and time of the observation (U
-DATE-END= '2011-07-31T23:59:59.0000' / end date and time of the observation (UTC
-TIMEUNIT= 's ' / units for the time related keywords
-TIMEZERO= 0. / clock correction
-TIMESYS = 'TT ' / type of time system that is used
-TIMEREF = 'LOCAL ' / reference frame used for times
-CLOCKAPP= F / whether a clock drift correction has been appli
-GPS_OUT = F / whether GPS time was unavailable at any time du
-CREATOR = 'gtbin ' / Software and version creating file
-HISTORY LatCountMapTemplate,v 1.3 2005/04/05 21:06:39 peachey
-HISTORY Exp
-
-
-
-
-TUNIT1 = 's ' / Unit of this field
-
-TUNIT2 = 's ' / Unit of this field
-EXTVER = 1 / auto assigned by template parser
-CHECKSUM= 'S4FDU3FBS3FBS3FB' / HDU checksum updated 2011-11-18T08:38:44
-DATASUM = '1639695499' / data unit checksum updated 2011-11-18T08:38:44
-HISTORY The following history was copied from input files by gtbin
-HISTORY ------------------------------------------------------------------------
-HISTORY No history available in ft1_D2_Front.fits[GTI]
-HISTORY ------------------------------------------------------------------------
-HISTORY ------------------------------------------------------------------------
-HISTORY No history available in ft1_D2_Back.fits[GTI]
-HISTORY ------------------------------------------------------------------------
-END
diff --git a/ast/ast_tester/joye_car_headers/doit b/ast/ast_tester/joye_car_headers/doit
deleted file mode 100755
index a78a590..0000000
--- a/ast/ast_tester/joye_car_headers/doit
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/tcsh
-
-foreach n (*.head)
- set bn = `basename $n .head`
- echo "Doing $bn"
-
- set fat = "${bn}.fattr"
- if( -e "$fat" ) then
- set fattr = `cat $fat`
- else
- set fattr = ""
- endif
-
- $HOME/work/ast/fplottest $n ps_l "$fattr" n
- mv gks74.ps ${bn}.ps
-end
-
diff --git a/ast/ast_tester/joye_car_headers/total_hi.head b/ast/ast_tester/joye_car_headers/total_hi.head
deleted file mode 100644
index 2ed691c..0000000
--- a/ast/ast_tester/joye_car_headers/total_hi.head
+++ /dev/null
@@ -1,35 +0,0 @@
-SIMPLE = T
-BITPIX = -32
-NAXIS = 2
-NAXIS1 = 721
-NAXIS2 = 361
-BUNIT = 'K km/s '
-DATAMAX = 11847.260742187500
-DATAMIN = -368.407501220703
-BZERO = 0.000000000000
-BSCALE = 1.000000000000
-BLANK = -32768
-OBJECT = 'Leiden/Dwingeloo HI Survey; (l,b) total HI'
-TELESCOP= 'Dwingeloo 25-m'
-OBSERVER= 'Dap Hartmann'
-DATE-OBS= '02/09/93'
-DATE = '20/01/96'
-CTYPE1 = 'GLON-CAR'
-CRVAL1 = 360.000000000000
-CRPIX1 = 1
-CDELT1 = -0.500000000000
-CTYPE2 = 'GLAT-CAR'
-CRVAL2 = -90.000000000000
-CRPIX2 = 1
-CDELT2 = 0.500000000000
-COMMENT = +-------------------------------------------------------------+
-COMMENT = | (l,b) map, integrated between -450 km/s < V_lsr < +400 km/s |
-COMMENT = | To Convert to N_HI, multiply by 1.8224e18 K km s^-1 cm^-2 |
-COMMENT = +-------------------------------------------------------------+
-COMMENT =
-COMMENT = +-------------------------------------------------+
-COMMENT = | The Leiden/Dwingeloo Survey of HI in the Galaxy |
-COMMENT = | Dap Hartmann & W.B.Burton |
-COMMENT = | Leiden Observatory |
-COMMENT = | Cambridge University Press 1997 |
-END
diff --git a/ast/ast_tester/longslit.fits-pc b/ast/ast_tester/longslit.fits-pc
deleted file mode 100644
index 2adf05a..0000000
--- a/ast/ast_tester/longslit.fits-pc
+++ /dev/null
@@ -1,18 +0,0 @@
-NAXIS = 3
-NAXIS1 = 1024
-NAXIS2 = 2048
-NAXIS3 = 1
-CRPIX1 = 1
-CRPIX2 = 1024.5
-CRPIX3 = 1
-CDELT1 = 100.0 / delta lambda = 100 nm
-CDELT2 = -0.0005555555 / sigma = 2 arcsec
-CDELT3 = 1
-CTYPE1 = 'WAVE '
-CTYPE2 = 'RA---ARC'
-CTYPE3 = 'DEC--ARC'
-CUNIT1 = 'nm '
-CRVAL1 = 1000.0 / Lambda-ref = 1000 nm
-CRVAL2 = 150.000 / RA-ref = 150 deg (10:00:00)
-CRVAL3 = -35.0 / Dec-ref = -35:00:00
-LONPOLE = 120.0 / rho = 30 degs
diff --git a/ast/ast_tester/longslit.fits-wcs b/ast/ast_tester/longslit.fits-wcs
deleted file mode 100644
index cff2ca0..0000000
--- a/ast/ast_tester/longslit.fits-wcs
+++ /dev/null
@@ -1,22 +0,0 @@
-NAXIS = 3
-NAXIS1 = 1024
-NAXIS2 = 2048
-NAXIS3 = 1
-CRPIX1 = 1.0 / Reference pixel on axis 1
-CRPIX2 = 1024.5 / Reference pixel on axis 2
-CRPIX3 = 1.0 / Reference pixel on axis 3
-CTYPE1 = 'WAVE ' / Type of co-ordinate on axis 1
-CTYPE2 = 'RA---ARC' / Type of co-ordinate on axis 2
-CTYPE3 = 'DEC--ARC' / Type of co-ordinate on axis 3
-CUNIT1 = 'nm ' / Units for axis 1
-CRVAL1 = 1000.0 / Lambda-ref = 1000 nm
-CRVAL2 = 150.0 / RA-ref = 150 deg (10:00:00)
-CRVAL3 = -35.0 / Dec-ref = -35:00:00
-LONPOLE = 120.0 / rho = 30 degs
-CD1_1 = 100.0 / Transformation matrix element
-CD2_2 = -5.555555E-4 / Transformation matrix element
-CD3_3 = 1.0 / Transformation matrix element
-PV2_3 = 120.0 / Projection parameter
-RADESYS = 'ICRS ' / Reference frame for RA/DEC values
-SPECSYS = 'HELIOCEN' / Standard of rest for spectral axis
-VELOSYS = -20038.807 / [m/s] Topo. apparent velocity of rest frame
diff --git a/ast/ast_tester/makeplot b/ast/ast_tester/makeplot
deleted file mode 100755
index 760fac9..0000000
--- a/ast/ast_tester/makeplot
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/tcsh
-
-if( "$1" == "" ) then
- echo "Usage: makeplot <plot>"
- echo " (e.g. makeplot serpens)"
- exit
-endif
-
-gfortran -fno-second-underscore -w -g -fno-range-check -o plotter plotter.f \
- -I$GITSTAR/include -L$GITSTAR/lib `ast_link -pgp -ems` `pgplot_link`
-
-set bn = $1
-
-set atfile = "${bn}.attr"
-if( -e $atfile ) then
- set attr1 = `cat $atfile`
-else
- set attr1 = ' '
-endif
-
-set atfile = "${bn}.fattr"
-if( -e $atfile ) then
- set attr2 = `cat $atfile`
-else
- set attr2 = ' '
-endif
-
-set boxfile = "${bn}.box"
-if( -e $boxfile ) then
- set box = `cat $boxfile`
-else
- set box = ' '
-endif
-
-
-set psfile = "${bn}-new.ps"
-echo "plotter $bn.head '$attr1' '$attr2' a.ps $box"
-plotter $bn.head "$attr1" "$attr2" a.ps $box
-
-if( -e $GITSTAR/bin/psmerge ) then
- $GITSTAR/bin/psmerge -t300x300 -r90 a.ps > $psfile
-else
- cp a.ps $psfile
-endif
-
-gv $psfile -orientation=landscape
-
diff --git a/ast/ast_tester/maketest b/ast/ast_tester/maketest
deleted file mode 100755
index 5891121..0000000
--- a/ast/ast_tester/maketest
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/tcsh
-
-if( "$1" == "" ) then
- echo "Usage: maketest <test>"
- echo " (e.g. maketest regions)"
- exit
-endif
-
-if( ! $?LDFLAGS ) then
- setenv LDFLAGS ""
-endif
-
-set a = "test$1"
-
-echo "Building $a"
-if( "$a" == "testplot3d" ) then
- gfortran -fno-second-underscore -w -g -fno-range-check $LDFLAGS -o testplot3d testplot3d.f \
- -L$GITSTAR/lib -I$GITSTAR/include \
- `ast_link -ems -pgplot3d` `sla_link` `chr_link` `err_link`
-
-else if( -e "$a.f" ) then
- gfortran -fno-second-underscore -w -g -fno-range-check $LDFLAGS -o $a $a.f -L$GITSTAR/lib -I$GITSTAR/include \
- `ast_link -ems` `chr_link` `err_link` `prm_link` `psx_link`
-
-else if( -e "$a.c" ) then
- gcc -o $a -g $a.c -I.. -DHAVE_CONFIG_H -L$GITSTAR/lib $LDFLAGS `ast_link`
-
-else
- echo "Cannot find $a.f or $a.c"
-
-endif
-
-echo "Running $a"
-$a
-
diff --git a/ast/ast_tester/origin.attr b/ast/ast_tester/origin.attr
deleted file mode 100644
index 277e359..0000000
--- a/ast/ast_tester/origin.attr
+++ /dev/null
@@ -1 +0,0 @@
-format(1)=ghms,format(2)=gdm,edge(2)=r,tickall=0,grid=1
diff --git a/ast/ast_tester/origin.box b/ast/ast_tester/origin.box
deleted file mode 100644
index 9b5eb80..0000000
--- a/ast/ast_tester/origin.box
+++ /dev/null
@@ -1 +0,0 @@
-0 0 500 500
diff --git a/ast/ast_tester/origin.head b/ast/ast_tester/origin.head
deleted file mode 100644
index 88ea783..0000000
--- a/ast/ast_tester/origin.head
+++ /dev/null
@@ -1,18 +0,0 @@
-SIMPLE = T / file does conform to FITS standard
-BITPIX = 16 / number of bits per data pixel
-NAXIS = 2 / number of data axes
-NAXIS1 = 500 / length of data axis 1
-NAXIS2 = 500 / length of data axis 2
-EPOCH = 1.977780E+03 / Epoch of observation
-RADECSYS= 'ICRS ' / Reference frame for RA/DEC in original file
-CRVAL1 = 0.0 / Axis 1 reference value
-CRPIX1 = 250 / Axis 1 pixel value
-CTYPE1 = 'RA---ARC' / Quantity represented by axis 1
-CRVAL2 = 0.0 / Axis 2 reference value
-CRPIX2 = 250 / Axis 2 pixel value
-CTYPE2 = 'DEC--ARC' / Quantity represented by axis 2
-CDELT1 = 0.001 / Co-ordinate transformation matrix
-CDELT2 = 0.001 / Co-ordinate transformation matrix
-EQUINOX = 2.000000E+03 / Julian reference frame equinox
-
-END
diff --git a/ast/ast_tester/plot3d-test1.ast b/ast/ast_tester/plot3d-test1.ast
deleted file mode 100644
index 271faf1..0000000
--- a/ast/ast_tester/plot3d-test1.ast
+++ /dev/null
@@ -1,340 +0,0 @@
- Begin FrameSet # Set of inter-related coordinate systems
-# Title = "3-d compound coordinate system" # Title of coordinate system
-# Naxes = 3 # Number of coordinate axes
-# Domain = "SKY-DSBSPECTRUM" # Coordinate system domain
-# Epoch = 2007.3268594222 # Julian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# Lbl3 = "Radio velocity (USB)" # Label for axis 3
-# System = "Compound" # Coordinate system type
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Uni3 = "km/s" # Units for axis 3
-# Dir1 = 0 # Plot axis 1 in reverse direction
- IsA Frame # Coordinate system description
- Nframe = 4 # Number of Frames in FrameSet
-# Base = 1 # Index of base Frame
- Currnt = 4 # Index of current Frame
- Nnode = 5 # Number of nodes in FrameSet
- Nod1 = 3 # Frame 1 is associated with node 3
- Nod2 = 4 # Frame 2 is associated with node 4
- Nod3 = 5 # Frame 3 is associated with node 5
- Nod4 = 2 # Frame 4 is associated with node 2
- Lnk2 = 1 # Node 2 is derived from node 1
- Lnk3 = 1 # Node 3 is derived from node 1
- Lnk4 = 1 # Node 4 is derived from node 1
- Lnk5 = 1 # Node 5 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame # Coordinate system description
- Title = "Data grid indices; first pixel at (1,1,1)" # Title of coordinate system
- Naxes = 3 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Data grid index 1" # Label for axis 1
-# Lbl2 = "Data grid index 2" # Label for axis 2
-# Lbl3 = "Data grid index 3" # Label for axis 3
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
-# Uni3 = "pixel" # Units for axis 3
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Data grid index 1" # Axis Label
- Symbol = "g1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Data grid index 2" # Axis Label
- Symbol = "g2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax3 = # Axis number 3
- Begin Axis # Coordinate axis
- Label = "Data grid index 3" # Axis Label
- Symbol = "g3" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin Frame # Coordinate system description
- Title = "Pixel coordinates; first pixel at (-77.5,-52.5,-820.5)" # Title of coordinate system
- Naxes = 3 # Number of coordinate axes
- Domain = "PIXEL" # Coordinate system domain
-# Lbl1 = "Pixel coordinate 1" # Label for axis 1
-# Lbl2 = "Pixel coordinate 2" # Label for axis 2
-# Lbl3 = "Pixel coordinate 3" # Label for axis 3
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
-# Uni3 = "pixel" # Units for axis 3
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 1" # Axis Label
- Symbol = "p1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 2" # Axis Label
- Symbol = "p2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax3 = # Axis number 3
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 3" # Axis Label
- Symbol = "p3" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm3 = # Frame number 3
- Begin Frame # Coordinate system description
- Title = "Axis coordinates; first pixel at (-77.5,-52.5,-820.5)" # Title of coordinate system
- Naxes = 3 # Number of coordinate axes
- Domain = "AXIS" # Coordinate system domain
-# Lbl1 = "Axis 1" # Label for axis 1
-# Lbl2 = "Axis 2" # Label for axis 2
-# Lbl3 = "Axis 3" # Label for axis 3
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
-# Uni3 = "pixel" # Units for axis 3
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Axis 1" # Axis Label
- Symbol = "a1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Axis 2" # Axis Label
- Symbol = "a2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax3 = # Axis number 3
- Begin Axis # Coordinate axis
- Label = "Axis 3" # Axis Label
- Symbol = "a3" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm4 = # Frame number 4
- Begin CmpFrame # Compound coordinate system description
-# Title = "3-d compound coordinate system" # Title of coordinate system
-# Naxes = 3 # Number of coordinate axes
-# Domain = "SKY-DSBSPECTRUM" # Coordinate system domain
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# Lbl3 = "Radio velocity (USB)" # Label for axis 3
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Uni3 = "km/s" # Units for axis 3
-# Dir1 = 0 # Plot axis 1 in reverse direction
- IsA Frame # Coordinate system description
- FrameA = # First component Frame
- Begin SkyFrame # Description of celestial coordinate system
- Naxes = 2 # Number of coordinate axes
- Epoch = 2007.3268594222 # Julian epoch of observation
- System = "FK5" # Coordinate system type
- ObsLat = 0.346026050148997 # Observers geodetic latitude (rads)
- ObsLon = -2.71363306946838 # Observers geodetic longitude (rads)
- Dut1 = -0.0989801599329792 # UT1-UTC in seconds
- Ax1 = # Axis number 1
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- Ax2 = # Axis number 2
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- IsA Frame # Coordinate system description
- SRef1 = 4.8432980149123 # Ref. pos. RA 18:30:00.1
- SRef2 = 0.0213067755653197 # Ref. pos. Dec 1:13:15
- End SkyFrame
- FrameB = # Second component Frame
- Begin DSBSpecFrame # Dual sideband spectral axis
- Naxes = 1 # Number of coordinate axes
- Epoch = 2007.3268594222 # Julian epoch of observation
- System = "VRAD" # Coordinate system type
- ObsLat = 0.346026069000144 # Observers geodetic latitude (rads)
- ObsLon = -2.71363307300091 # Observers geodetic longitude (rads)
- Dut1 = -0.0989801599329792 # UT1-UTC in seconds
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- End Axis
- IsA Frame # Coordinate system description
- SoR = "LSRK" # Standard of rest
- RefRA = 4.84328867428426 # Reference RA (rads, FK5 J2000)
- RefDec = 0.0213075607299356 # Reference Dec (rads, FK5 J2000)
- RstFrq = 345795989900 # Rest frequency (Hz)
- SrcVel = 7000.08172321467 # Source velocity (m/s)
- SrcVRF = "LSRK" # Source velocity rest frame
- UFreq = "GHz" # Preferred units for frequency
- IsA SpecFrame # Description of spectral coordinate system
- DSBCen = 345834569302.861 # Central frequency (Hz topo)
- IF = -5000001243.89453 # Intermediate frequency (Hz)
- SideBn = "USB" # Represents upper sideband
- AlSdBn = 1 # Align sidebands?
- End DSBSpecFrame
- End CmpFrame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -78.9102040827274 # Shift for axis 1
- Sft2 = -54.3591836988926 # Shift for axis 2
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 1 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = 346188848728.921 # Shift for axis 1
- Scl1 = -488347.122802699 # Scale factor for axis 1
- End WinMap
- MapB = # Second component Mapping
- Begin SpecMap # Conversion between spectral coordinate systems
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Nspec = 2 # Number of conversion steps
- Spec1 = "FRTOVL" # Convert frequency to rel. velocity
- Spec1a = 345795989900 # Rest frequency (Hz)
- Spec2 = "VLTOVR" # Convert relativistic to radio velocity
- End SpecMap
- End CmpMap
- End CmpMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 2 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 1.49080827566563e-05 # Forward matrix value
- M1 = -3.19704866431787e-05 # Forward matrix value
- M2 = -3.19704866431787e-05 # Forward matrix value
- M3 = -1.49080827566563e-05 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "TAN" # Gnomonic projection
- End WcsMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 0 # Polar longitude (rad.s)
- End SphMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 0.00278113801100606 # Forward matrix value
- M1 = 0.991443912134338 # Forward matrix value
- M2 = 0.130503771451718 # Forward matrix value
- M3 = -0.021123653434259 # Forward matrix value
- M4 = 0.130533402207093 # Forward matrix value
- M5 = -0.9912188568494 # Forward matrix value
- M6 = -0.999773002504545 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = 0.0213059490060158 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 4.84329594648948 # Polar longitude (rad.s)
- End SphMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- MapB = # Second component Mapping
- Begin ZoomMap # Zoom about the origin
- Nin = 1 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Zoom = 0.001 # Zoom factor
- End ZoomMap
- End CmpMap
- End CmpMap
- Map3 = # Mapping between nodes 1 and 3
- Begin UnitMap # Unit (null) Mapping
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- End UnitMap
- Map4 = # Mapping between nodes 1 and 4
- Begin WinMap # Map one window on to another
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -78.5 # Shift for axis 1
- Sft2 = -53.5 # Shift for axis 2
- Sft3 = -821.5 # Shift for axis 3
- End WinMap
- Map5 = # Mapping between nodes 1 and 5
- Begin WinMap # Map one window on to another
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -78.5 # Shift for axis 1
- Sft2 = -53.5 # Shift for axis 2
- Sft3 = -821.5 # Shift for axis 3
- End WinMap
- End FrameSet
diff --git a/ast/ast_tester/plotter.f b/ast/ast_tester/plotter.f
deleted file mode 100644
index 79bb8e1..0000000
--- a/ast/ast_tester/plotter.f
+++ /dev/null
@@ -1,230 +0,0 @@
- PROGRAM PLOTTER
-
-* Usage:
-* PLOTTER <fits file> <attr1> <attr2> <ps file> [<xlo> <ylo> <xhi> <yhi>]
-
-* Description:
-* Plots a standard grid from the specified fits header file, using
-* the specified attributes, and sends postscript output to the
-* specified ps file.
-
-* Parameters:
-* file file
-* A text file containing fits headers.
-* attr1
-* A string containg a comma-separated list of attribute
-* settings for the Plot.
-* attr2
-* A string containg a comma-separated list of attribute
-* settings for the FitsChan.
-* ps file
-* The output postscript file
-* xlo ylo xhi yhi
-* The bounds within the GRID Frame of the required plot.
-* Taken from the FITS headers if not supplied
-
-
- IMPLICIT NONE
- INCLUDE 'AST_PAR'
-
- INTEGER STATUS, FC, FS, NAXIS1, NAXIS2, PL, PGBEG, IARGC, OC
- CHARACTER FILE*80, CARD*80, DEVN*80, PSFILE*80, ATTR*255, TEXT*80
- REAL GBOX(4), RANGE, DELTA, ASP
- DOUBLE PRECISION PBOX(4)
-
- STATUS = 0
-*
-* Check command line arguments have been supplied.
-*
- IF( IARGC() .LT. 3 ) THEN
- WRITE(*,*) 'Usage: plotter <file file> <attrs> <fattrs> '//
- : '<ps file> [<xlo> <ylo> <xhi> <yhi>]'
- RETURN
- END IF
-
-*
-* Use object caching to minimise allocation of new memory
-*
- OC = AST_TUNE( 'ObjectCaching', 1, STATUS )
- IF( OC .NE. 0 ) THEN
- WRITE(*,'(A,I6)') 'Default ObjectCaching VALUE is ',OC
- END IF
-
- IF( AST_TUNE( 'ObjectCaching', AST__TUNULL, STATUS ) .NE. 1 ) THEN
- WRITE(*,'(A,I6)') 'Set ObjectCaching VALUE is ',OC
- END IF
-
-*
-* Create a FitsChan to store the FITS headers.
-*
- CALL GETARG( 3, ATTR )
- FC = AST_FITSCHAN( AST_NULL, AST_NULL, ATTR, STATUS )
-
-*
-* Open a text file containing a list of FITS headers.
-*
- CALL GETARG( 1, FILE )
- OPEN( UNIT=10, FILE=FILE, STATUS='OLD' )
-
-*
-* Read each card out of the text file and store it in the FitsChan.
-*
- DO WHILE( .TRUE. )
- READ( 10, '(A)', END = 10 ) CARD
- CALL AST_PUTFITS( FC, CARD, 0, STATUS )
- END DO
-
- 10 CLOSE( 10 )
-
-
-*
-* If the base frame box was supplied on the command line, use it.
-*
- IF( IARGC() .GT. 6 ) THEN
- CALL GETARG( 5, TEXT )
- READ( TEXT, * ) PBOX( 1 )
-
- CALL GETARG( 6, TEXT )
- READ( TEXT, * ) PBOX( 2 )
-
- CALL GETARG( 7, TEXT )
- READ( TEXT, * ) PBOX( 3 )
-
- CALL GETARG( 8, TEXT )
- READ( TEXT, * ) PBOX( 4 )
-
-* Otherwise use NAXISi keywords in the header.
- ELSE
-
-*
-* See if values were supplied for NAXIS1 and NAXIS2. If not assume a value
-* of 100 for each. The FitsChan is re-wound before calling AST_FINDFITS so
-* that the search starts form the beginning.
-*
- CALL AST_CLEAR( FC, 'CARD', STATUS )
- IF ( AST_FINDFITS( FC, 'NAXIS1', CARD, .TRUE., STATUS ) ) THEN
- READ(CARD(11:),*) NAXIS1
- ELSE
- NAXIS1 = 100
- END IF
-
- CALL AST_CLEAR( FC, 'CARD', STATUS )
- IF ( AST_FINDFITS( FC, 'NAXIS2', CARD, .TRUE., STATUS ) ) THEN
- READ(CARD(11:),*) NAXIS2
- ELSE
- NAXIS2 = 100
- END IF
-
- PBOX(1) = 0.5
- PBOX(2) = 0.5
- PBOX(3) = DBLE( NAXIS1 )+0.5
- PBOX(4) = DBLE( NAXIS2 )+0.5
- END IF
-
-*
-* Read an Object from the contents of the FitsChan. This should be a
-* FrameSet (this should be tested really, and an error reported if any
-* other type of Object is obtained). Re-wind the FitsChan first so that
-* its entire contents are read. Note, this is a destructive read, in that
-* the cards which are significant to the creation of the FrameSet are
-* removed from the FitsChan (this is why NAXIS1 and NAXIS2 are read out
-* earlier - just in case they are significant to the FrameSet). Any
-* insignificant cards are left as they are.
-*
- CALL AST_CLEAR( FC, 'CARD', STATUS )
- FS = AST_READ( FC, STATUS )
-
- IF( FS .EQ. AST__NULL ) THEN
- WRITE(*,*) '!!! No object read from FitsChan!!!'
- GO TO 999
- END IF
-
-*
-* If all is OK, start up PGPLOT.
-*
- IF( STATUS .EQ. 0 ) THEN
- CALL GETARG( 4, PSFILE )
- CALL DELETEFILE( PSFILE )
-
- DEVN = 'pscol_l;'//PSFILE
-c IF( PGBEG( 0, '?', 1, 1 ) .EQ. 1 ) THEN
- IF( PGBEG( 0, DEVN, 1, 1 ) .EQ. 1 ) THEN
- CALL PGPAGE
- CALL PGWNAD( 0.0, 1.0, 0.0, 1.0 )
-
-*
-* Create the Plot. The pixel coordinates box is
-* mapped onto a window which is 10% smaller than the full PGPLOT window.
-* This gives some space for things like tick marks with negative length
-* (which stick outside the pixel cooridnates box).
-*
- CALL PGQWIN( GBOX(1), GBOX(3), GBOX(2), GBOX(4) )
-
- RANGE = GBOX(3) - GBOX(1)
- GBOX(1) = GBOX(1) + 0.05*RANGE
- GBOX(3) = GBOX(3) - 0.05*RANGE
-
- RANGE = GBOX(4) - GBOX(2)
- GBOX(2) = GBOX(2) + 0.05*RANGE
- GBOX(4) = GBOX(4) - 0.05*RANGE
-
- ASP = REAL( PBOX(4) - PBOX(2) )/REAL( PBOX(3) - PBOX(1) )
- IF( ASP .LT. 0.05 .OR. ASP .GT. 20 ) ASP = 1.0
-
- IF( ASP .GT. 1.0 ) THEN
- DELTA = 0.5*( ( GBOX(3) - GBOX(1) ) -
- : ( GBOX(4) - GBOX(2) )/ASP )
- GBOX(3) = GBOX(3) - DELTA
- GBOX(1) = GBOX(1) + DELTA
- ELSE
- DELTA = 0.5*( ( GBOX(4) - GBOX(2) ) -
- : ASP*( GBOX(3) - GBOX(1) ) )
- GBOX(4) = GBOX(4) - DELTA
- GBOX(2) = GBOX(2) + DELTA
- END IF
-
- CALL GETARG( 2, ATTR )
- PL = AST_PLOT( FS, GBOX, PBOX, 'title = A FITS test',
- : STATUS )
- CALL AST_SET( PL, ATTR, STATUS )
-
-*
-* Draw the grid.
-*
- CALL AST_GRID( PL, STATUS )
-
-*
-* Annul the Plot, and close PGPLOT.
-*
- CALL AST_ANNUL( PL, STATUS )
- CALL PGEND
- END IF
- END IF
-
-*
-* Annul the other objects.
-*
- CALL AST_ANNUL( FS, STATUS )
- 999 CALL AST_ANNUL( FC, STATUS )
-
- END
-
-
-*
-* Delete a file if it exists.
-*
- SUBROUTINE DELETEFILE( FILNAM )
- IMPLICIT NONE
-
- CHARACTER FILNAM*(*)
- LOGICAL EXISTS
-
- INQUIRE ( FILE = FILNAM,
- : EXIST = EXISTS )
-
- IF( EXISTS ) THEN
- OPEN ( UNIT=10, FILE=FILNAM, STATUS='OLD' )
- CLOSE ( 10, STATUS='DELETE' )
- END IF
-
- END
diff --git a/ast/ast_tester/polco.attr b/ast/ast_tester/polco.attr
deleted file mode 100644
index c220287..0000000
--- a/ast/ast_tester/polco.attr
+++ /dev/null
@@ -1 +0,0 @@
-Grid=1,labelling=interior,bottom(1)=0
diff --git a/ast/ast_tester/polco.box b/ast/ast_tester/polco.box
deleted file mode 100644
index 0661792..0000000
--- a/ast/ast_tester/polco.box
+++ /dev/null
@@ -1 +0,0 @@
--300 -300 500 500
diff --git a/ast/ast_tester/polco.head b/ast/ast_tester/polco.head
deleted file mode 100644
index d953089..0000000
--- a/ast/ast_tester/polco.head
+++ /dev/null
@@ -1,86 +0,0 @@
-
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AST
-COMMENT AST Beginning of AST data for FrameSet object AST
-COMMENT AST ................................................................ AST
-BEGAST_A= 'FrameSet' / Set of inter-related coordinate systems
-NFRAME_A= 2 / Number of Frames in FrameSet
-CURRNT_A= 2 / Index of current Frame
-NOD1_A = 2 / Frame 1 is associated with node 2
-NOD2_A = 1 / Frame 2 is associated with node 1
-LNK2_A = 1 / Node 2 is derived from node 1
-FRM1_A = ' ' / Frame number 1
-BEGAST_B= 'Frame ' / Coordinate system description
-TITLE_A = 'Data grid indices; first pixel at (1&'/ Title of coordinate system
-CONTINUE '",1) "'
-NAXES_A = 2 / Number of coordinate axes
-DOMAIN_A= 'GRID ' / Coordinate system domain
-AX1_A = ' ' / Axis number 1
-BEGAST_C= 'Axis ' / Coordinate axis
-LABEL_A = 'Data grid index 1' / Axis Label
-SYMBOL_A= 'g1 ' / Axis symbol
-UNIT_A = 'pixel ' / Axis units
-FORMAT_A= '%3.1f ' / Format specifier
-ENDAST_A= 'Axis ' / End of object definition
-AX2_A = ' ' / Axis number 2
-BEGAST_D= 'Axis ' / Coordinate axis
-LABEL_B = 'Data grid index 2' / Axis Label
-SYMBOL_B= 'g2 ' / Axis symbol
-UNIT_B = 'pixel ' / Axis units
-FORMAT_B= '%3.1f ' / Format specifier
-ENDAST_B= 'Axis ' / End of object definition
-ENDAST_C= 'Frame ' / End of object definition
-FRM2_A = ' ' / Frame number 2
-BEGAST_E= 'Frame ' / Coordinate system description
-TITLE_B = 'Pixel coordinates; first pixel at (-&'/ Title of coordinate system
-CONTINUE '100.5,-200.5)'
-NAXES_B = 2 / Number of coordinate axes
-DOMAIN_B= 'POLAR ' / Coordinate system domain
-AX1_B = ' ' / Axis number 1
-BEGAST_F= 'Axis ' / Coordinate axis
-LABEL_C = 'Pixel coordinate 1' / Axis Label
-SYMBOL_C= 'p1 ' / Axis symbol
-UNIT_C = 'pixel ' / Axis units
-FORMAT_C= '%3.1f ' / Format specifier
-BOTTOM_A= 0.0 / Minimum legal axis value
-ENDAST_D= 'Axis ' / End of object definition
-AX2_B = ' ' / Axis number 2
-BEGAST_G= 'Axis ' / Coordinate axis
-LABEL_D = 'Pixel coordinate 2' / Axis Label
-SYMBOL_D= 'p2 ' / Axis symbol
-UNIT_D = 'pixel ' / Axis units
-FORMAT_D= '%3.1f ' / Format specifier
-TOP_A = 3.141592 / Maximum legal axis value
-BOTTOM_B= -3.141592 / Minimum legal axis value
-ENDAST_E= 'Axis ' / End of object definition
-ENDAST_F= 'Frame ' / End of object definition
-MAP2_A = ' ' / Mapping between nodes 1 and 2
-BEGAST_H= 'CmpMap ' / Compound Mapping
-NIN_A = 2 / Number of input coordinates
-ISA_A = 'Mapping ' / Mapping between coordinate systems
-INVA_A = 1 / First Mapping used in inverse direction
-INVB_A = 1 / Second Mapping used in inverse direction
-MAPA_A = ' ' / First component Mapping
-BEGAST_I= 'MathMap ' / Transformation using mathematical functions
-NIN_B = 2 / Number of input coordinates
-INVERT_A= 0 / Mapping not inverted
-ISA_B = 'Mapping ' / Mapping between coordinate systems
-FWD1_A = 'r=sqrt(x*x+y*y)' / Forward function 1
-FWD2_A = 'theta=atan2(y,x)' / Forward function 2
-INV1_A = 'x=r*cos(theta)' / Inverse function 1
-INV2_A = 'y=r*sin(theta)' / Inverse function 2
-SIMPFI_A= 1 / Forward-inverse pairs may simplify
-SIMPIF_A= 1 / Inverse-forward pairs may simplify
-ENDAST_G= 'MathMap ' / End of object definition
-MAPB_A = ' ' / Second component Mapping
-BEGAST_J= 'WinMap ' / Map one window on to another
-NIN_C = 2 / Number of input coordinates
-INVERT_B= 0 / Mapping not inverted
-ISA_C = 'Mapping ' / Mapping between coordinate systems
-SFT1_A = -101.5 / Shift for axis 1
-SFT2_A = -201.5 / Shift for axis 2
-ENDAST_H= 'WinMap ' / End of object definition
-ENDAST_I= 'CmpMap ' / End of object definition
-ENDAST_J= 'FrameSet' / End of object definition
-COMMENT AST ................................................................ AST
-COMMENT AST End of AST data for FrameSet object AST
-COMMENT AST ---------------------------------------------------------------- AST
diff --git a/ast/ast_tester/polco2.attr b/ast/ast_tester/polco2.attr
deleted file mode 100644
index 5019421..0000000
--- a/ast/ast_tester/polco2.attr
+++ /dev/null
@@ -1 +0,0 @@
-Grid=0,labelling=exterior,gap(1)=50
diff --git a/ast/ast_tester/polco2.box b/ast/ast_tester/polco2.box
deleted file mode 100644
index 0661792..0000000
--- a/ast/ast_tester/polco2.box
+++ /dev/null
@@ -1 +0,0 @@
--300 -300 500 500
diff --git a/ast/ast_tester/polco2.head b/ast/ast_tester/polco2.head
deleted file mode 100644
index d953089..0000000
--- a/ast/ast_tester/polco2.head
+++ /dev/null
@@ -1,86 +0,0 @@
-
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AST
-COMMENT AST Beginning of AST data for FrameSet object AST
-COMMENT AST ................................................................ AST
-BEGAST_A= 'FrameSet' / Set of inter-related coordinate systems
-NFRAME_A= 2 / Number of Frames in FrameSet
-CURRNT_A= 2 / Index of current Frame
-NOD1_A = 2 / Frame 1 is associated with node 2
-NOD2_A = 1 / Frame 2 is associated with node 1
-LNK2_A = 1 / Node 2 is derived from node 1
-FRM1_A = ' ' / Frame number 1
-BEGAST_B= 'Frame ' / Coordinate system description
-TITLE_A = 'Data grid indices; first pixel at (1&'/ Title of coordinate system
-CONTINUE '",1) "'
-NAXES_A = 2 / Number of coordinate axes
-DOMAIN_A= 'GRID ' / Coordinate system domain
-AX1_A = ' ' / Axis number 1
-BEGAST_C= 'Axis ' / Coordinate axis
-LABEL_A = 'Data grid index 1' / Axis Label
-SYMBOL_A= 'g1 ' / Axis symbol
-UNIT_A = 'pixel ' / Axis units
-FORMAT_A= '%3.1f ' / Format specifier
-ENDAST_A= 'Axis ' / End of object definition
-AX2_A = ' ' / Axis number 2
-BEGAST_D= 'Axis ' / Coordinate axis
-LABEL_B = 'Data grid index 2' / Axis Label
-SYMBOL_B= 'g2 ' / Axis symbol
-UNIT_B = 'pixel ' / Axis units
-FORMAT_B= '%3.1f ' / Format specifier
-ENDAST_B= 'Axis ' / End of object definition
-ENDAST_C= 'Frame ' / End of object definition
-FRM2_A = ' ' / Frame number 2
-BEGAST_E= 'Frame ' / Coordinate system description
-TITLE_B = 'Pixel coordinates; first pixel at (-&'/ Title of coordinate system
-CONTINUE '100.5,-200.5)'
-NAXES_B = 2 / Number of coordinate axes
-DOMAIN_B= 'POLAR ' / Coordinate system domain
-AX1_B = ' ' / Axis number 1
-BEGAST_F= 'Axis ' / Coordinate axis
-LABEL_C = 'Pixel coordinate 1' / Axis Label
-SYMBOL_C= 'p1 ' / Axis symbol
-UNIT_C = 'pixel ' / Axis units
-FORMAT_C= '%3.1f ' / Format specifier
-BOTTOM_A= 0.0 / Minimum legal axis value
-ENDAST_D= 'Axis ' / End of object definition
-AX2_B = ' ' / Axis number 2
-BEGAST_G= 'Axis ' / Coordinate axis
-LABEL_D = 'Pixel coordinate 2' / Axis Label
-SYMBOL_D= 'p2 ' / Axis symbol
-UNIT_D = 'pixel ' / Axis units
-FORMAT_D= '%3.1f ' / Format specifier
-TOP_A = 3.141592 / Maximum legal axis value
-BOTTOM_B= -3.141592 / Minimum legal axis value
-ENDAST_E= 'Axis ' / End of object definition
-ENDAST_F= 'Frame ' / End of object definition
-MAP2_A = ' ' / Mapping between nodes 1 and 2
-BEGAST_H= 'CmpMap ' / Compound Mapping
-NIN_A = 2 / Number of input coordinates
-ISA_A = 'Mapping ' / Mapping between coordinate systems
-INVA_A = 1 / First Mapping used in inverse direction
-INVB_A = 1 / Second Mapping used in inverse direction
-MAPA_A = ' ' / First component Mapping
-BEGAST_I= 'MathMap ' / Transformation using mathematical functions
-NIN_B = 2 / Number of input coordinates
-INVERT_A= 0 / Mapping not inverted
-ISA_B = 'Mapping ' / Mapping between coordinate systems
-FWD1_A = 'r=sqrt(x*x+y*y)' / Forward function 1
-FWD2_A = 'theta=atan2(y,x)' / Forward function 2
-INV1_A = 'x=r*cos(theta)' / Inverse function 1
-INV2_A = 'y=r*sin(theta)' / Inverse function 2
-SIMPFI_A= 1 / Forward-inverse pairs may simplify
-SIMPIF_A= 1 / Inverse-forward pairs may simplify
-ENDAST_G= 'MathMap ' / End of object definition
-MAPB_A = ' ' / Second component Mapping
-BEGAST_J= 'WinMap ' / Map one window on to another
-NIN_C = 2 / Number of input coordinates
-INVERT_B= 0 / Mapping not inverted
-ISA_C = 'Mapping ' / Mapping between coordinate systems
-SFT1_A = -101.5 / Shift for axis 1
-SFT2_A = -201.5 / Shift for axis 2
-ENDAST_H= 'WinMap ' / End of object definition
-ENDAST_I= 'CmpMap ' / End of object definition
-ENDAST_J= 'FrameSet' / End of object definition
-COMMENT AST ................................................................ AST
-COMMENT AST End of AST data for FrameSet object AST
-COMMENT AST ---------------------------------------------------------------- AST
diff --git a/ast/ast_tester/regression.current b/ast/ast_tester/regression.current
deleted file mode 100644
index 788c2bc..0000000
--- a/ast/ast_tester/regression.current
+++ /dev/null
@@ -1,7583 +0,0 @@
- Begin FitsChan # I/O channels to FITS files
- Card = 1 # Index of current card
-# Encod = "NATIVE" # Encoding system
-# FitsDg = 15 # No. of digits for floating point values
-# DfB1950 = 1 # Default to FK4 B1950
-# CdMat = 0 # Use PC matrix
-# CarLin = 0 # Use full FITS-WCS CAR projections
-# Iwc = 0 # Do not include an IWC Frame
-# Warn = "Tnx Zpx BadCel BadMat BadCTYPE" # Warnings to be reported
- Nm1 = "NAXIS" # FITS keyword name
- Ty1 = "integer" # FITS keyword data type
- Dt1 = 1 # FITS keyword value
- Nm2 = "NAXIS1" # FITS keyword name
- Ty2 = "integer" # FITS keyword data type
- Dt2 = 100 # FITS keyword value
- Nm3 = "CTYPE1" # FITS keyword name
- Ty3 = "string" # FITS keyword data type
- Dt3 = "fred" # FITS keyword value
- Nm4 = "CDELT1" # FITS keyword name
- Ty4 = "floating point" # FITS keyword data type
- Dt4 = 0 # FITS keyword value
- Nm5 = "CRPIX1" # FITS keyword name
- Ty5 = "integer" # FITS keyword data type
- Dt5 = 50 # FITS keyword value
- Nm6 = "CUNIT1" # FITS keyword name
- Ty6 = "string" # FITS keyword data type
- Dt6 = "GHz" # FITS keyword value
- Nm7 = " " # FITS keyword name
- Ty7 = "comment" # FITS keyword data type
- End FitsChan
- Begin FrameSet # Set of inter-related coordinate systems
-# Title = "IAU (1958) galactic coordinates; zenithal equal area projection" # Title of coordinate system
-# Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
-# Epoch = 1950 # Besselian epoch of observation
-# Lbl1 = "Galactic longitude" # Label for axis 1
-# Lbl2 = "Galactic latitude" # Label for axis 2
-# System = "GALACTIC" # Coordinate system type
-# Uni1 = "degrees" # Units for axis 1
-# Uni2 = "degrees" # Units for axis 2
-# Bot2 = -1.5707963267949 # Lowest legal axis value
-# Top2 = 1.5707963267949 # Highest legal axis value
- IsA Frame # Coordinate system description
- Nframe = 2 # Number of Frames in FrameSet
- Base = 1 # Index of base Frame
- Currnt = 2 # Index of current Frame
- Lnk2 = 1 # Node 2 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame # Coordinate system description
- Title = "Pixel Coordinates" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Pixel axis 1" # Label for axis 1
-# Lbl2 = "Pixel axis 2" # Label for axis 2
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Pixel axis 1" # Axis Label
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Pixel axis 2" # Axis Label
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin SkyFrame # Description of celestial coordinate system
- Ident = " " # Permanent Object identification string
- IsA Object # AST Object
-# Title = "IAU (1958) galactic coordinates; zenithal equal area projection" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
- Epoch = 1950 # Besselian epoch of observation
-# Lbl1 = "Galactic longitude" # Label for axis 1
-# Lbl2 = "Galactic latitude" # Label for axis 2
- System = "GALACTIC" # Coordinate system type
-# Uni1 = "degrees" # Units for axis 1
-# Uni2 = "degrees" # Units for axis 2
-# Bot2 = -1.5707963267949 # Lowest legal axis value
-# Top2 = 1.5707963267949 # Highest legal axis value
- Ax1 = # Axis number 1
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- Ax2 = # Axis number 2
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- IsA Frame # Coordinate system description
- Proj = "zenithal equal area" # Description of sky projection
- SRefIs = "Ignored" # Not rotated (ref. pos. is ignored)
- SRef1 = -2.61046557479594 # Ref. pos. l -149.5687
- SRef2 = -0.344845661720836 # Ref. pos. b -19.7582
- End SkyFrame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -150.5 # Shift for axis 1
- Sft2 = -150.5 # Shift for axis 2
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -0.020943951023932 # Forward matrix value
- M1 = 0.020943951023932 # Forward matrix value
- Form = "Diagonal" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 2 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "ZEA" # Zenithal equal area projection
- End WcsMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 0 # Polar longitude (rad.s)
- End SphMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 0.291480364581799 # Forward matrix value
- M1 = 0.506505471460186 # AST version 4.2- 1
-PutCards Ncards = 7
-PutCards Card = 1
-PutCards Card = 8
-PutCards Ncards = 7
-PutCards Card = 1
-
-
-
-
- FITS test number 1
- ====================
-
-
-
-AST_SHOW:
-
-REG_SINK:
-SIMPLE = T / Written by IDL: 30-Jul-1997 05:35:42.00
-BITPIX = -32 / Bits per pixel.
-NAXIS = 2 / Number of dimensions
-NAXIS1 = 300 / Length of x axis.
-NAXIS2 = 300 / Length of y axis.
-COMMENT
-COMMENT This file was produced by the SkyView survey analysis system from
-COMMENT available astronomical surveys. The data are formatted
-COMMENT as a simple two-dimensional FITS image with the same units as
-COMMENT the orginal survey. A single ASCII table extension may be present
-COMMENT which describes catalog objects found within the field of view.
-COMMENT Copies of relevant copyright notices are included in this file.
-COMMENT
-COMMENT Questions should be directed to:
-COMMENT
-COMMENT scollick@skyview.gsfc.nasa.gov
-COMMENT or
-COMMENT mcglynn@grossc.gsfc.nasa.gov
-COMMENT
-COMMENT SkyView
-COMMENT Code 668.1
-COMMENT Goddard Space Flight Center, Greenbelt, MD 20771
-COMMENT 301-286-7780
-COMMENT
-COMMENT SkyView is supported by NASA ADP grant NAS 5-32068.
-COMMENT
-SURVEY = 'COBE DIRBE'
-BUNITS = 'MJy/sr '
-ORIGIN = 'CDAC ' / Cosmology Data Analysis Center
-TELESCOP= 'COBE ' / COsmic Background Explorer satellite
-INSTRUME= 'DIRBE ' / COBE instrument [DIRBE, DMR, FIRAS]
-PIXRESOL= 9 / Quad tree pixel resolution [6, 9]
-DATE = '27/09/94' / FITS file creation date (dd/mm/yy)
-DATE-MAP= '16/09/94' / Date of original file creation (dd/mm/yy)
-COMMENT COBE specific keywords
-DATE-BEG= '08/12/89' / date of initial data represented (dd/mm/yy)
-DATE-END= '25/09/90' / date of final data represented (dd/mm/yy)
-COMMENT
-COMMENT THE COBE DIRBE map is a combination of the original ten
-COMMENT band passes with the following wavelengths:
-COMMENT Band 1 - 1.25 microns
-COMMENT Band 2 - 2.2 microns
-COMMENT Band 3 - 3.5 microns
-COMMENT Band 4 - 4.9 microns
-COMMENT Band 5 - 12 microns
-COMMENT Band 6 - 25 microns
-COMMENT Band 7 - 60 microns
-COMMENT Band 8 - 100 microns
-COMMENT Band 9 - 140 microns
-COMMENT Band 10 - 240 microns
-COMMENT
-
-Objects written: 1
-
-Native Encoding:
-
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AST
-COMMENT AST WCS information in AST format AST
-COMMENT AST See http://www.starlink.ac.uk/ast/ AST
-COMMENT AST Beginning of AST data for FrameSet object AST
-COMMENT AST ................................................................ AST
-BEGAST_A= 'FrameSet' / Set of inter-related coordinate systems
-NFRAME_A= 2 / Number of Frames in FrameSet
-BASE_A = 1 / Index of base Frame
-CURRNT_A= 2 / Index of current Frame
-LNK2_A = 1 / Node 2 is derived from node 1
-FRM1_A = ' ' / Frame number 1
-BEGAST_B= 'Frame ' / Coordinate system description
-TITLE_A = 'Pixel Coordinates' / Title of coordinate system
-NAXES_A = 2 / Number of coordinate axes
-DOMAIN_A= 'GRID ' / Coordinate system domain
-AX1_A = ' ' / Axis number 1
-BEGAST_C= 'Axis ' / Coordinate axis
-LABEL_A = 'Pixel axis 1' / Axis Label
-ENDAST_A= 'Axis ' / End of object definition
-AX2_A = ' ' / Axis number 2
-BEGAST_D= 'Axis ' / Coordinate axis
-LABEL_B = 'Pixel axis 2' / Axis Label
-ENDAST_B= 'Axis ' / End of object definition
-ENDAST_C= 'Frame ' / End of object definition
-FRM2_A = ' ' / Frame number 2
-BEGAST_E= 'SkyFrame' / Description of celestial coordinate system
-IDENT_A = '" " ' / Permanent Object identification string
-ISA_A = 'Object ' / AST Object
-NAXES_B = 2 / Number of coordinate axes
-EPOCH_A = 1950.0 / Besselian epoch of observation
-SYSTEM_A= 'GALACTIC' / Coordinate system type
-AX1_B = ' ' / Axis number 1
-BEGAST_F= 'SkyAxis ' / Celestial coordinate axis
-ENDAST_D= 'SkyAxis ' / End of object definition
-AX2_B = ' ' / Axis number 2
-BEGAST_G= 'SkyAxis ' / Celestial coordinate axis
-ENDAST_E= 'SkyAxis ' / End of object definition
-ISA_B = 'Frame ' / Coordinate system description
-PROJ_A = 'zenithal equal area'/ Description of sky projection
-SREFIS_A= 'Ignored ' / Not rotated (ref. pos. is ignored)
-SREF1_A = -2.61046557479594 / Ref. pos. l -149.5687
-SREF2_A = -0.344845661720836 / Ref. pos. b -19.7582
-ENDAST_F= 'SkyFrame' / End of object definition
-MAP2_A = ' ' / Mapping between nodes 1 and 2
-BEGAST_H= 'CmpMap ' / Compound Mapping
-NIN_A = 2 / Number of input coordinates
-ISSIMP_A= 1 / Mapping has been simplified
-ISA_C = 'Mapping ' / Mapping between coordinate systems
-MAPA_A = ' ' / First component Mapping
-BEGAST_I= 'WinMap ' / Map one window on to another
-NIN_B = 2 / Number of input coordinates
-INVERT_A= 0 / Mapping not inverted
-ISA_D = 'Mapping ' / Mapping between coordinate systems
-SFT1_A = -150.5 / Shift for axis 1
-SFT2_A = -150.5 / Shift for axis 2
-ENDAST_G= 'WinMap ' / End of object definition
-MAPB_A = ' ' / Second component Mapping
-BEGAST_J= 'CmpMap ' / Compound Mapping
-NIN_C = 2 / Number of input coordinates
-ISA_E = 'Mapping ' / Mapping between coordinate systems
-MAPA_B = ' ' / First component Mapping
-BEGAST_K= 'MatrixMap' / Matrix transformation
-NIN_D = 2 / Number of input coordinates
-INVERT_B= 0 / Mapping not inverted
-ISA_F = 'Mapping ' / Mapping between coordinate systems
-M0_A = -0.020943951023932 / Forward matrix value
-M1_A = 0.020943951023932 / Forward matrix value
-FORM_A = 'Diagonal' / Matrix storage form
-ENDAST_H= 'MatrixMap' / End of object definition
-MAPB_B = ' ' / Second component Mapping
-BEGAST_L= 'CmpMap ' / Compound Mapping
-NIN_E = 2 / Number of input coordinates
-ISA_G = 'Mapping ' / Mapping between coordinate systems
-INVA_A = 1 / First Mapping used in inverse direction
-MAPA_C = ' ' / First component Mapping
-BEGAST_M= 'WcsMap ' / FITS-WCS sky projection
-NIN_F = 2 / Number of input coordinates
-INVERT_C= 1 / Mapping inverted
-ISA_H = 'Mapping ' / Mapping between coordinate systems
-TYPE_A = 'ZEA ' / Zenithal equal area projection
-ENDAST_I= 'WcsMap ' / End of object definition
-MAPB_C = ' ' / Second component Mapping
-BEGAST_N= 'CmpMap ' / Compound Mapping
-NIN_G = 2 / Number of input coordinates
-ISA_I = 'Mapping ' / Mapping between coordinate systems
-INVA_B = 1 / First Mapping used in inverse direction
-MAPA_D = ' ' / First component Mapping
-BEGAST_O= 'SphMap ' / Cartesian to Spherical mapping
-NIN_H = 3 / Number of input coordinates
-NOUT_A = 2 / Number of output coordinates
-INVERT_D= 1 / Mapping inverted
-ISA_J = 'Mapping ' / Mapping between coordinate systems
-UNTRD_A = 1 / All input vectors have unit length
-PLRLG_A = 0.0 / Polar longitude (rad.s)
-ENDAST_J= 'SphMap ' / End of object definition
-MAPB_D = ' ' / Second component Mapping
-BEGAST_P= 'CmpMap ' / Compound Mapping
-NIN_I = 3 / Number of input coordinates
-NOUT_B = 2 / Number of output coordinates
-ISA_K = 'Mapping ' / Mapping between coordinate systems
-MAPA_E = ' ' / First component Mapping
-BEGAST_Q= 'MatrixMap' / Matrix transformation
-NIN_J = 3 / Number of input coordinates
-INVERT_E= 0 / Mapping not inverted
-ISA_L = 'Mapping ' / Mapping between coordinate systems
-M0_B = 0.291480364581799 / Forward matrix value
-M1_B = 0.506505471460186 / Forward matrix value
-M2_A = -0.811474832908671 / Forward matrix value
-M3_A = 0.171224898552328 / Forward matrix value
-M4_A = -0.862236746712233 / Forward matrix value
-M5_A = -0.476686298035564 / Forward matrix value
-M6_A = -0.941127638091139 / Forward matrix value
-M7_A = 0.0 / Forward matrix value
-M8_A = -0.338051429254475 / Forward matrix value
-FORM_B = 'Full ' / Matrix storage form
-ENDAST_K= 'MatrixMap' / End of object definition
-MAPB_E = ' ' / Second component Mapping
-BEGAST_R= 'SphMap ' / Cartesian to Spherical mapping
-NIN_K = 3 / Number of input coordinates
-NOUT_C = 2 / Number of output coordinates
-INVERT_F= 0 / Mapping not inverted
-ISA_M = 'Mapping ' / Mapping between coordinate systems
-UNTRD_B = 1 / All input vectors have unit length
-PLRLG_B = -2.61046557479594 / Polar longitude (rad.s)
-ENDAST_L= 'SphMap ' / End of object definition
-ENDAST_M= 'CmpMap ' / End of object definition
-ENDAST_N= 'CmpMap ' / End of object definition
-ENDAST_O= 'CmpMap ' / End of object definition
-ENDAST_P= 'CmpMap ' / End of object definition
-ENDAST_Q= 'CmpMap ' / End of object definition
-ENDAST_R= 'FrameSet' / End of object definition
-COMMENT AST ................................................................ AST
-COMMENT AST End of AST data for FrameSet object AST
-COMMENT AST ---------------------------------------------------------------- AST
-
-ATTRIBUTES:
- Colour(axis1) : 1
- Font(Stri) : 1
- Nout : 1
- Class : 4
- Tol : 0.100000E-01
- Gap(1) : 1.04720
- Border : 0
- Invert : 0
- TextLabGap : 0.100000E-01
- Nin : 2
- Current : 3
- Base : 1
- Nobject : 1
- RefCOUNT : 1
-
-AST_GRID:
-REG_LINE: 15
- 25.4 -29.7
- 20.1 -16.6
- 15.4 -2.03
- 11.5 13.7
- 8.35 30.3
- 5.92 47.5
- 4.25 65.0
- 3.39 82.6
- 3.35 100.
- 4.19 117.
- 5.99 133.
- 8.83 149.
- 12.9 163.
- 18.3 175.
- 25.4 185.
-REG_LINE: 119
- 25.4 -29.7
- 24.6 -29.7
- 23.8 -29.7
- 22.9 -29.6
- 22.1 -29.5
- 21.3 -29.5
- 20.4 -29.3
- 19.6 -29.2
- 18.8 -29.0
- 17.9 -28.9
- 17.1 -28.7
- 16.3 -28.5
- 15.5 -28.2
- 14.6 -28.0
- 13.8 -27.7
- 13.0 -27.4
- 12.2 -27.1
- 11.4 -26.7
- 10.6 -26.4
- 9.74 -26.0
- 8.93 -25.6
- 8.12 -25.2
- 7.32 -24.8
- 6.52 -24.3
- 5.73 -23.9
- 4.93 -23.4
- 4.14 -22.9
- 3.35 -22.3
- 2.57 -21.8
- 1.79 -21.2
- 1.02 -20.6
- .247 -20.0
- -.520 -19.4
- -1.28 -18.8
- -2.04 -18.1
- -2.79 -17.4
- -3.54 -16.7
- -4.29 -16.0
- -5.02 -15.3
- -5.76 -14.5
- -6.49 -13.7
- -7.21 -12.9
- -7.92 -12.1
- -17.3 1.12
- -25.1 17.7
- -31.1 37.2
- -34.6 59.1
- -35.4 82.8
- -33.1 107.
- -32.8 109.
- -32.5 111.
- -32.2 112.
- -31.9 114.
- -31.5 116.
- -31.1 117.
- -30.7 119.
- -30.3 121.
- -29.9 123.
- -29.4 124.
- -28.9 126.
- -28.5 128.
- -27.9 129.
- -27.4 131.
- -26.9 132.
- -26.3 134.
- -25.7 136.
- -25.2 137.
- -24.5 139.
- -23.9 140.
- -23.3 142.
- -22.6 143.
- -21.9 145.
- -21.2 146.
- -20.5 148.
- -19.8 149.
- -19.0 151.
- -18.2 152.
- -17.5 154.
- -16.7 155.
- -15.8 156.
- -15.0 158.
- -14.2 159.
- -13.3 160.
- -12.4 162.
- -11.5 163.
- -10.6 164.
- -9.69 165.
- -8.75 166.
- -7.80 167.
- -6.83 168.
- -5.85 170.
- -4.86 171.
- -3.85 172.
- -2.83 172.
- -1.80 173.
- -.761 174.
- .293 175.
- 1.36 176.
- 2.43 177.
- 3.52 178.
- 4.61 178.
- 5.72 179.
- 6.83 180.
- 7.95 180.
- 9.08 181.
- 10.2 181.
- 11.4 182.
- 12.5 182.
- 13.7 183.
- 14.8 183.
- 16.0 184.
- 17.2 184.
- 18.3 184.
- 19.5 184.
- 20.7 185.
- 21.9 185.
- 23.1 185.
- 24.3 185.
- 25.4 185.
-REG_LINE: 171
- 25.4 -29.7
- 19.1 -40.9
- 11.9 -49.9
- 11.3 -50.4
- 10.8 -50.9
- 10.2 -51.4
- 9.62 -51.9
- 9.04 -52.4
- 8.46 -52.8
- 7.87 -53.3
- 7.28 -53.7
- 6.68 -54.1
- 6.07 -54.5
- 5.46 -54.9
- 4.84 -55.2
- 4.21 -55.6
- 3.58 -55.9
- 2.95 -56.2
- 2.30 -56.5
- 1.65 -56.7
- .990 -56.9
- .325 -57.2
- -.348 -57.3
- -1.03 -57.5
- -1.71 -57.7
- -2.41 -57.8
- -3.11 -57.9
- -3.82 -57.9
- -4.54 -58.0
- -5.27 -58.0
- -6.00 -58.0
- -6.74 -58.0
- -7.50 -57.9
- -8.26 -57.8
- -9.03 -57.7
- -9.80 -57.5
- -10.6 -57.3
- -11.4 -57.1
- -12.2 -56.8
- -13.0 -56.5
- -13.8 -56.2
- -14.7 -55.8
- -15.5 -55.4
- -16.4 -55.0
- -17.2 -54.5
- -18.1 -53.9
- -19.0 -53.4
- -19.9 -52.7
- -20.8 -52.0
- -21.7 -51.3
- -22.6 -50.5
- -23.6 -49.7
- -24.5 -48.8
- -25.5 -47.8
- -26.4 -46.8
- -27.4 -45.7
- -28.4 -44.5
- -29.4 -43.3
- -30.4 -42.0
- -31.4 -40.6
- -32.4 -39.1
- -33.5 -37.6
- -34.5 -36.0
- -35.5 -34.3
- -36.6 -32.5
- -37.6 -30.5
- -38.7 -28.5
- -39.7 -26.4
- -40.8 -24.2
- -41.8 -21.9
- -42.8 -19.5
- -43.9 -16.9
- -44.9 -14.2
- -45.9 -11.4
- -46.9 -8.53
- -47.8 -5.48
- -48.8 -2.30
- -49.7 1.01
- -50.6 4.45
- -51.4 8.02
- -52.2 11.7
- -53.0 15.6
- -53.7 19.5
- -54.4 23.6
- -55.0 27.8
- -55.5 32.2
- -56.0 36.6
- -56.4 41.1
- -56.7 45.8
- -56.9 50.5
- -57.1 55.3
- -57.1 60.1
- -57.1 65.1
- -56.9 70.0
- -56.7 74.9
- -56.4 79.9
- -55.9 84.9
- -55.4 89.8
- -54.8 94.7
- -54.1 99.5
- -53.3 104.
- -52.4 109.
- -51.4 114.
- -50.3 118.
- -49.2 122.
- -48.0 127.
- -46.7 131.
- -45.4 135.
- -44.1 138.
- -42.7 142.
- -41.2 146.
- -39.8 149.
- -38.3 152.
- -36.8 155.
- -35.2 158.
- -33.7 161.
- -32.2 164.
- -30.6 166.
- -29.1 168.
- -27.5 171.
- -26.0 173.
- -24.5 175.
- -23.0 176.
- -21.5 178.
- -20.0 180.
- -18.5 181.
- -17.1 182.
- -15.7 184.
- -14.3 185.
- -12.9 186.
- -11.5 187.
- -10.2 188.
- -8.92 188.
- -7.64 189.
- -6.38 190.
- -5.15 190.
- -3.94 191.
- -2.75 191.
- -1.59 192.
- -.448 192.
- .669 193.
- 1.76 193.
- 2.83 193.
- 3.88 193.
- 4.91 193.
- 5.92 193.
- 6.91 193.
- 7.88 193.
- 8.82 193.
- 9.75 193.
- 10.7 193.
- 11.6 193.
- 12.4 193.
- 13.3 192.
- 14.1 192.
- 14.9 192.
- 15.7 192.
- 16.5 191.
- 17.3 191.
- 18.1 190.
- 18.8 190.
- 19.5 190.
- 20.2 189.
- 20.9 189.
- 21.6 188.
- 22.3 188.
- 22.9 187.
- 23.6 187.
- 24.2 186.
- 24.8 185.
- 25.4 185.
-REG_LINE: 171
- 25.4 -29.7
- 31.6 -41.1
- 38.7 -50.2
- 39.2 -50.7
- 39.8 -51.2
- 40.3 -51.8
- 40.9 -52.3
- 41.5 -52.8
- 42.0 -53.2
- 42.6 -53.7
- 43.2 -54.1
- 43.8 -54.6
- 44.4 -55.0
- 45.0 -55.4
- 45.6 -55.7
- 46.2 -56.1
- 46.8 -56.4
- 47.4 -56.7
- 48.1 -57.0
- 48.7 -57.3
- 49.4 -57.6
- 50.0 -57.8
- 50.7 -58.0
- 51.3 -58.2
- 52.0 -58.4
- 52.7 -58.5
- 53.4 -58.6
- 54.1 -58.7
- 54.8 -58.8
- 55.5 -58.8
- 56.2 -58.9
- 57.0 -58.8
- 57.7 -58.8
- 58.5 -58.7
- 59.2 -58.6
- 60.0 -58.5
- 60.8 -58.3
- 61.6 -58.2
- 62.4 -57.9
- 63.2 -57.7
- 64.0 -57.4
- 64.8 -57.0
- 65.6 -56.6
- 66.5 -56.2
- 67.3 -55.8
- 68.2 -55.2
- 69.1 -54.7
- 70.0 -54.1
- 70.9 -53.4
- 71.8 -52.7
- 72.7 -52.0
- 73.7 -51.2
- 74.6 -50.3
- 75.6 -49.4
- 76.6 -48.4
- 77.5 -47.3
- 78.5 -46.2
- 79.5 -45.0
- 80.5 -43.7
- 81.6 -42.4
- 82.6 -41.0
- 83.6 -39.5
- 84.7 -37.9
- 85.7 -36.2
- 86.8 -34.4
- 87.8 -32.5
- 88.9 -30.5
- 90.0 -28.5
- 91.1 -26.3
- 92.1 -23.9
- 93.2 -21.5
- 94.2 -19.0
- 95.3 -16.3
- 96.3 -13.5
- 97.3 -10.6
- 98.4 -7.51
- 99.3 -4.31
- 100. -.976
- 101. 2.50
- 102. 6.12
- 103. 9.88
- 104. 13.8
- 105. 17.8
- 105. 22.0
- 106. 26.3
- 106. 30.7
- 107. 35.2
- 107. 39.9
- 108. 44.7
- 108. 49.5
- 108. 54.4
- 108. 59.4
- 108. 64.5
- 108. 69.5
- 108. 74.6
- 107. 79.7
- 107. 84.8
- 106. 89.9
- 106. 94.9
- 105. 99.9
- 104. 105.
- 103. 110.
- 102. 114.
- 101. 119.
- 100. 123.
- 98.8 128.
- 97.5 132.
- 96.1 136.
- 94.7 140.
- 93.3 143.
- 91.8 147.
- 90.3 150.
- 88.8 154.
- 87.2 157.
- 85.7 159.
- 84.1 162.
- 82.5 165.
- 80.9 167.
- 79.4 170.
- 77.8 172.
- 76.3 174.
- 74.7 176.
- 73.2 177.
- 71.7 179.
- 70.2 181.
- 68.8 182.
- 67.3 183.
- 65.9 185.
- 64.5 186.
- 63.2 187.
- 61.8 188.
- 60.5 188.
- 59.2 189.
- 57.9 190.
- 56.7 191.
- 55.5 191.
- 54.3 192.
- 53.1 192.
- 51.9 192.
- 50.8 193.
- 49.7 193.
- 48.6 193.
- 47.6 193.
- 46.5 193.
- 45.5 194.
- 44.5 194.
- 43.6 194.
- 42.6 194.
- 41.7 193.
- 40.8 193.
- 39.9 193.
- 39.0 193.
- 38.2 193.
- 37.3 193.
- 36.5 192.
- 35.7 192.
- 34.9 192.
- 34.2 191.
- 33.4 191.
- 32.7 191.
- 31.9 190.
- 31.2 190.
- 30.5 189.
- 29.8 189.
- 29.2 188.
- 28.5 188.
- 27.9 187.
- 27.3 187.
- 26.6 186.
- 26.0 185.
- 25.4 185.
-REG_LINE: 119
- 25.4 -29.7
- 26.3 -29.7
- 27.1 -29.7
- 28.0 -29.7
- 28.8 -29.6
- 29.6 -29.5
- 30.5 -29.4
- 31.3 -29.3
- 32.1 -29.2
- 33.0 -29.0
- 33.8 -28.8
- 34.6 -28.6
- 35.4 -28.4
- 36.3 -28.2
- 37.1 -27.9
- 37.9 -27.6
- 38.7 -27.3
- 39.5 -27.0
- 40.4 -26.7
- 41.2 -26.3
- 42.0 -25.9
- 42.8 -25.5
- 43.6 -25.1
- 44.4 -24.7
- 45.2 -24.2
- 46.0 -23.7
- 46.8 -23.2
- 47.6 -22.7
- 48.4 -22.2
- 49.2 -21.6
- 49.9 -21.1
- 50.7 -20.5
- 51.5 -19.8
- 52.2 -19.2
- 53.0 -18.6
- 53.8 -17.9
- 54.5 -17.2
- 55.3 -16.5
- 56.0 -15.8
- 56.8 -15.0
- 57.5 -14.3
- 58.2 -13.5
- 58.9 -12.7
- 68.4 .462
- 76.3 17.0
- 82.3 36.5
- 85.9 58.6
- 86.8 82.4
- 84.5 107.
- 84.2 109.
- 83.9 110.
- 83.5 112.
- 83.2 114.
- 82.8 116.
- 82.4 117.
- 82.0 119.
- 81.6 121.
- 81.2 122.
- 80.7 124.
- 80.2 126.
- 79.7 128.
- 79.2 129.
- 78.7 131.
- 78.1 132.
- 77.6 134.
- 77.0 136.
- 76.4 137.
- 75.8 139.
- 75.1 140.
- 74.5 142.
- 73.8 144.
- 73.1 145.
- 72.4 147.
- 71.7 148.
- 70.9 150.
- 70.2 151.
- 69.4 152.
- 68.6 154.
- 67.8 155.
- 67.0 157.
- 66.1 158.
- 65.3 159.
- 64.4 160.
- 63.5 162.
- 62.6 163.
- 61.7 164.
- 60.8 165.
- 59.8 166.
- 58.8 168.
- 57.9 169.
- 56.9 170.
- 55.9 171.
- 54.9 172.
- 53.8 173.
- 52.8 174.
- 51.8 175.
- 50.7 175.
- 49.6 176.
- 48.5 177.
- 47.4 178.
- 46.3 178.
- 45.2 179.
- 44.1 180.
- 43.0 180.
- 41.8 181.
- 40.7 182.
- 39.6 182.
- 38.4 182.
- 37.2 183.
- 36.1 183.
- 34.9 184.
- 33.7 184.
- 32.6 184.
- 31.4 184.
- 30.2 185.
- 29.0 185.
- 27.8 185.
- 26.6 185.
- 25.4 185.
-REG_LINE: 15
- 25.4 -29.7
- 31.0 -16.7
- 35.7 -2.18
- 39.8 13.5
- 43.0 30.1
- 45.5 47.3
- 47.2 64.8
- 48.1 82.5
- 48.2 99.9
- 47.3 117.
- 45.5 133.
- 42.5 149.
- 38.4 163.
- 32.8 175.
- 25.4 185.
-REG_LINE: 197
- 37.2 2.94
- 36.4 3.34
- 35.6 3.71
- 34.8 4.05
- 34.0 4.37
- 33.2 4.65
- 32.3 4.90
- 31.5 5.13
- 30.7 5.32
- 29.8 5.49
- 29.0 5.63
- 28.2 5.74
- 27.3 5.82
- 26.5 5.87
- 25.6 5.89
- 24.8 5.88
- 23.9 5.84
- 23.1 5.77
- 22.2 5.68
- 21.4 5.55
- 20.5 5.40
- 19.7 5.21
- 18.9 5.00
- 18.1 4.75
- 17.2 4.48
- 16.4 4.18
- 15.6 3.85
- 14.8 3.49
- 14.0 3.10
- 13.3 2.69
- 12.5 2.24
- 11.8 1.77
- 11.0 1.26
- 10.3 .730
- 9.57 .169
- 8.87 -.420
- 8.18 -1.04
- 7.51 -1.68
- 6.86 -2.36
- 6.23 -3.06
- 5.61 -3.79
- 5.02 -4.55
- 4.44 -5.33
- 3.89 -6.14
- 3.35 -6.98
- 2.84 -7.84
- 2.36 -8.73
- 1.89 -9.65
- 1.46 -10.6
- 1.04 -11.6
- .660 -12.5
- .304 -13.6
- -0.240E-01 -14.6
- -.322 -15.7
- -.589 -16.7
- -.825 -17.8
- -1.03 -19.0
- -1.20 -20.1
- -1.34 -21.3
- -1.44 -22.5
- -1.50 -23.6
- -1.53 -24.9
- -1.52 -26.1
- -1.48 -27.3
- -1.39 -28.6
- -1.26 -29.8
- -1.10 -31.1
- -.889 -32.3
- -.640 -33.6
- -.348 -34.9
- -0.127E-01 -36.1
- .365 -37.4
- .787 -38.7
- 1.25 -39.9
- 1.76 -41.2
- 2.32 -42.4
- 2.92 -43.6
- 3.56 -44.8
- 4.24 -45.9
- 4.97 -47.1
- 5.74 -48.2
- 6.56 -49.2
- 7.41 -50.3
- 8.30 -51.3
- 9.23 -52.2
- 10.2 -53.1
- 11.2 -54.0
- 12.2 -54.8
- 13.3 -55.5
- 14.4 -56.2
- 15.5 -56.8
- 16.7 -57.4
- 17.9 -57.9
- 19.1 -58.3
- 20.3 -58.7
- 21.5 -58.9
- 22.7 -59.1
- 24.0 -59.3
- 25.2 -59.3
- 26.4 -59.3
- 27.7 -59.2
- 28.9 -59.0
- 30.1 -58.8
- 31.4 -58.5
- 32.6 -58.1
- 33.7 -57.6
- 34.9 -57.1
- 36.0 -56.5
- 37.1 -55.8
- 38.2 -55.1
- 39.3 -54.3
- 40.3 -53.5
- 41.3 -52.6
- 42.2 -51.7
- 43.1 -50.7
- 44.0 -49.7
- 44.8 -48.6
- 45.6 -47.5
- 46.4 -46.4
- 47.1 -45.2
- 47.7 -44.1
- 48.3 -42.9
- 48.9 -41.7
- 49.4 -40.4
- 49.9 -39.2
- 50.4 -37.9
- 50.8 -36.7
- 51.1 -35.4
- 51.4 -34.1
- 51.7 -32.8
- 51.9 -31.6
- 52.1 -30.3
- 52.2 -29.1
- 52.3 -27.8
- 52.4 -26.6
- 52.4 -25.3
- 52.4 -24.1
- 52.4 -22.9
- 52.3 -21.7
- 52.2 -20.6
- 52.0 -19.4
- 51.8 -18.3
- 51.6 -17.2
- 51.3 -16.1
- 51.0 -15.0
- 50.7 -14.0
- 50.4 -13.0
- 50.0 -12.0
- 49.6 -11.0
- 49.2 -10.0
- 48.7 -9.10
- 48.2 -8.20
- 47.7 -7.32
- 47.2 -6.48
- 46.7 -5.65
- 46.1 -4.86
- 45.5 -4.09
- 44.9 -3.35
- 44.3 -2.64
- 43.6 -1.95
- 43.0 -1.29
- 42.3 -.665
- 41.6 -0.645E-01
- 40.9 .508
- 40.2 1.05
- 39.4 1.57
- 38.7 2.05
- 37.9 2.51
- 37.2 2.94
- 36.4 3.34
- 35.6 3.71
- 34.8 4.05
- 34.0 4.37
- 33.2 4.65
- 32.3 4.90
- 31.5 5.13
- 30.7 5.32
- 29.8 5.49
- 29.0 5.63
- 28.2 5.74
- 27.3 5.82
- 26.5 5.87
- 25.6 5.89
- 24.8 5.88
- 23.9 5.84
- 23.1 5.77
- 22.2 5.68
- 21.4 5.55
- 20.5 5.40
- 19.7 5.21
- 18.9 5.00
- 18.1 4.75
- 17.2 4.48
- 16.4 4.18
- 15.6 3.85
- 14.8 3.49
- 14.0 3.10
-REG_LINE: 197
- 44.8 41.5
- 43.5 42.0
- 42.1 42.5
- 40.8 42.9
- 39.5 43.3
- 38.1 43.6
- 36.7 43.9
- 35.4 44.2
- 34.0 44.4
- 32.6 44.6
- 31.3 44.8
- 29.9 44.9
- 28.5 45.0
- 27.1 45.1
- 25.7 45.1
- 24.3 45.1
- 23.0 45.1
- 21.6 45.0
- 20.2 44.9
- 18.8 44.7
- 17.4 44.5
- 16.1 44.3
- 14.7 44.0
- 13.3 43.7
- 12.0 43.4
- 10.6 43.0
- 9.29 42.6
- 7.96 42.2
- 6.65 41.7
- 5.34 41.2
- 4.04 40.6
- 2.75 40.0
- 1.48 39.4
- .220 38.8
- -1.02 38.0
- -2.25 37.3
- -3.47 36.5
- -4.66 35.7
- -5.84 34.8
- -7.00 33.9
- -8.14 33.0
- -9.25 32.0
- -10.3 31.0
- -11.4 29.9
- -12.5 28.8
- -13.5 27.6
- -14.5 26.4
- -15.5 25.2
- -16.4 23.9
- -17.3 22.5
- -18.2 21.2
- -19.0 19.7
- -19.8 18.2
- -20.6 16.7
- -21.4 15.1
- -22.1 13.5
- -22.7 11.8
- -23.3 10.1
- -23.9 8.29
- -24.4 6.45
- -24.9 4.55
- -25.3 2.59
- -25.7 .576
- -26.0 -1.49
- -26.3 -3.62
- -26.5 -5.81
- -26.6 -8.05
- -26.7 -10.4
- -26.7 -12.7
- -26.6 -15.1
- -26.4 -17.6
- -26.2 -20.2
- -25.8 -22.7
- -25.4 -25.4
- -24.9 -28.1
- -24.3 -30.8
- -23.5 -33.6
- -22.7 -36.4
- -21.7 -39.3
- -20.7 -42.1
- -19.5 -45.0
- -18.1 -47.9
- -16.6 -50.8
- -15.0 -53.6
- -13.3 -56.4
- -11.4 -59.2
- -9.34 -61.9
- -7.15 -64.5
- -4.82 -67.0
- -2.34 -69.3
- .268 -71.5
- 3.01 -73.5
- 5.87 -75.3
- 8.84 -76.9
- 11.9 -78.3
- 15.1 -79.3
- 18.3 -80.1
- 21.5 -80.6
- 24.8 -80.9
- 28.1 -80.8
- 31.3 -80.4
- 34.6 -79.7
- 37.7 -78.7
- 40.8 -77.5
- 43.8 -76.0
- 46.7 -74.3
- 49.5 -72.4
- 52.2 -70.2
- 54.7 -67.9
- 57.1 -65.5
- 59.4 -63.0
- 61.5 -60.3
- 63.4 -57.6
- 65.2 -54.8
- 66.9 -51.9
- 68.4 -49.1
- 69.8 -46.2
- 71.1 -43.3
- 72.2 -40.4
- 73.2 -37.6
- 74.1 -34.7
- 74.9 -31.9
- 75.5 -29.2
- 76.1 -26.5
- 76.6 -23.8
- 76.9 -21.2
- 77.2 -18.6
- 77.4 -16.1
- 77.5 -13.7
- 77.6 -11.3
- 77.5 -8.97
- 77.4 -6.71
- 77.3 -4.50
- 77.0 -2.34
- 76.7 -.250
- 76.4 1.79
- 76.0 3.76
- 75.5 5.69
- 75.0 7.55
- 74.5 9.37
- 73.9 11.1
- 73.2 12.8
- 72.5 14.5
- 71.8 16.1
- 71.1 17.6
- 70.3 19.1
- 69.4 20.6
- 68.6 22.0
- 67.7 23.3
- 66.7 24.7
- 65.8 25.9
- 64.8 27.1
- 63.8 28.3
- 62.7 29.5
- 61.7 30.5
- 60.6 31.6
- 59.5 32.6
- 58.4 33.5
- 57.2 34.5
- 56.0 35.3
- 54.8 36.2
- 53.6 37.0
- 52.4 37.7
- 51.2 38.5
- 49.9 39.2
- 48.7 39.8
- 47.4 40.4
- 46.1 41.0
- 44.8 41.5
- 43.5 42.0
- 42.1 42.5
- 40.8 42.9
- 39.5 43.3
- 38.1 43.6
- 36.7 43.9
- 35.4 44.2
- 34.0 44.4
- 32.6 44.6
- 31.3 44.8
- 29.9 44.9
- 28.5 45.0
- 27.1 45.1
- 25.7 45.1
- 24.3 45.1
- 23.0 45.1
- 21.6 45.0
- 20.2 44.9
- 18.8 44.7
- 17.4 44.5
- 16.1 44.3
- 14.7 44.0
- 13.3 43.7
- 12.0 43.4
- 10.6 43.0
- 9.29 42.6
- 7.96 42.2
- 6.65 41.7
-REG_LINE: 197
- 48.1 82.5
- 46.6 82.8
- 45.0 83.2
- 43.4 83.5
- 41.8 83.8
- 40.3 84.1
- 38.7 84.4
- 37.1 84.6
- 35.5 84.8
- 33.8 84.9
- 32.2 85.0
- 30.6 85.2
- 29.0 85.2
- 27.4 85.3
- 25.8 85.3
- 24.2 85.3
- 22.5 85.3
- 20.9 85.2
- 19.3 85.1
- 17.7 85.0
- 16.1 84.8
- 14.5 84.6
- 12.9 84.4
- 11.3 84.2
- 9.69 83.9
- 8.10 83.7
- 6.52 83.3
- 4.95 83.0
- 3.39 82.6
- 1.83 82.2
- .284 81.8
- -1.25 81.3
- -2.78 80.8
- -4.29 80.3
- -5.80 79.7
- -7.29 79.2
- -8.77 78.6
- -10.2 77.9
- -11.7 77.2
- -13.1 76.5
- -14.5 75.8
- -15.9 75.0
- -17.3 74.2
- -18.7 73.4
- -20.1 72.5
- -21.4 71.6
- -22.7 70.7
- -24.0 69.7
- -25.3 68.7
- -26.5 67.6
- -27.8 66.5
- -29.0 65.4
- -30.1 64.2
- -31.3 63.0
- -32.4 61.8
- -33.5 60.5
- -34.6 59.1
- -35.7 57.8
- -36.7 56.3
- -37.7 54.8
- -38.7 53.3
- -39.6 51.7
- -40.5 50.0
- -41.3 48.3
- -42.2 46.5
- -42.9 44.6
- -43.7 42.7
- -44.4 40.6
- -45.0 38.5
- -45.7 36.3
- -46.2 34.0
- -46.7 31.6
- -47.1 29.1
- -47.5 26.5
- -47.8 23.7
- -48.1 20.8
- -48.2 17.8
- -48.3 14.5
- -48.2 11.1
- -48.1 7.50
- -47.8 3.67
- -47.3 -.401
- -46.7 -4.73
- -45.9 -9.33
- -44.9 -14.2
- -43.6 -19.5
- -42.0 -25.0
- -40.0 -30.9
- -37.7 -37.2
- -34.8 -43.8
- -31.3 -50.6
- -27.2 -57.6
- -22.3 -64.7
- -16.7 -71.6
- -10.1 -78.1
- -2.67 -83.8
- 5.54 -88.4
- 14.4 -91.5
- 23.6 -92.8
- 32.8 -92.3
- 41.9 -89.9
- 50.3 -85.8
- 58.1 -80.5
- 65.0 -74.3
- 71.1 -67.5
- 76.2 -60.5
- 80.7 -53.4
- 84.4 -46.5
- 87.5 -39.8
- 90.0 -33.4
- 92.1 -27.4
- 93.9 -21.7
- 95.3 -16.3
- 96.4 -11.3
- 97.3 -6.55
- 98.0 -2.11
- 98.5 2.06
- 98.8 5.99
- 99.1 9.69
- 99.1 13.2
- 99.1 16.5
- 99.0 19.6
- 98.8 22.6
- 98.5 25.4
- 98.2 28.1
- 97.8 30.6
- 97.3 33.1
- 96.8 35.4
- 96.2 37.7
- 95.6 39.8
- 94.9 41.9
- 94.1 43.8
- 93.4 45.7
- 92.6 47.6
- 91.7 49.3
- 90.8 51.0
- 89.9 52.6
- 89.0 54.2
- 88.0 55.7
- 87.0 57.2
- 85.9 58.6
- 84.9 60.0
- 83.8 61.3
- 82.7 62.5
- 81.5 63.8
- 80.3 65.0
- 79.1 66.1
- 77.9 67.2
- 76.7 68.3
- 75.4 69.3
- 74.1 70.3
- 72.8 71.2
- 71.5 72.2
- 70.1 73.0
- 68.8 73.9
- 67.4 74.7
- 66.0 75.5
- 64.6 76.2
- 63.2 77.0
- 61.7 77.6
- 60.3 78.3
- 58.8 78.9
- 57.3 79.5
- 55.8 80.1
- 54.3 80.6
- 52.8 81.1
- 51.2 81.6
- 49.7 82.0
- 48.1 82.5
- 46.6 82.8
- 45.0 83.2
- 43.4 83.5
- 41.8 83.8
- 40.3 84.1
- 38.7 84.4
- 37.1 84.6
- 35.5 84.8
- 33.8 84.9
- 32.2 85.0
- 30.6 85.2
- 29.0 85.2
- 27.4 85.3
- 25.8 85.3
- 24.2 85.3
- 22.5 85.3
- 20.9 85.2
- 19.3 85.1
- 17.7 85.0
- 16.1 84.8
- 14.5 84.6
- 12.9 84.4
- 11.3 84.2
- 9.69 83.9
- 8.10 83.7
- 6.52 83.3
- 4.95 83.0
- 3.39 82.6
-REG_LINE: 158
- 46.8 122.
- 25.8 124.
- 4.68 123.
- -14.9 119.
- -31.6 115.
- -32.7 115.
- -33.7 115.
- -34.7 114.
- -35.7 114.
- -36.6 114.
- -37.5 114.
- -38.4 114.
- -39.3 113.
- -40.1 113.
- -41.0 113.
- -41.7 113.
- -42.5 113.
- -43.2 113.
- -43.9 113.
- -44.6 113.
- -45.2 113.
- -45.8 114.
- -46.3 114.
- -46.8 114.
- -47.2 115.
- -47.6 116.
- -48.0 116.
- -48.3 117.
- -48.5 118.
- -48.6 120.
- -48.7 121.
- -48.6 123.
- -48.4 125.
- -48.1 128.
- -47.6 131.
- -46.8 134.
- -45.8 138.
- -44.3 143.
- -42.4 149.
- -39.8 155.
- -36.3 163.
- -31.6 172.
- -25.2 181.
- -16.8 192.
- -5.96 201.
- -5.08 202.
- -4.20 203.
- -3.30 203.
- -2.39 204.
- -1.47 204.
- -.536 205.
- .410 205.
- 1.37 206.
- 2.33 206.
- 3.31 207.
- 4.30 207.
- 5.30 208.
- 6.31 208.
- 7.33 209.
- 8.36 209.
- 9.40 209.
- 10.4 210.
- 11.5 210.
- 12.6 210.
- 13.6 211.
- 14.7 211.
- 15.8 211.
- 16.9 211.
- 17.9 212.
- 19.0 212.
- 20.1 212.
- 21.2 212.
- 22.3 212.
- 23.4 212.
- 24.5 212.
- 25.6 212.
- 26.8 212.
- 27.9 212.
- 29.0 212.
- 30.1 212.
- 31.2 212.
- 32.3 212.
- 33.3 212.
- 34.4 211.
- 35.5 211.
- 36.6 211.
- 37.7 211.
- 38.7 210.
- 39.8 210.
- 40.8 210.
- 41.9 209.
- 42.9 209.
- 43.9 209.
- 44.9 208.
- 46.0 208.
- 47.0 207.
- 47.9 207.
- 48.9 206.
- 49.9 206.
- 50.8 205.
- 51.8 205.
- 52.7 204.
- 53.6 204.
- 54.5 203.
- 55.4 202.
- 56.3 202.
- 57.2 201.
- 58.0 200.
- 58.9 200.
- 59.7 199.
- 60.5 198.
- 61.3 198.
- 62.1 197.
- 62.9 196.
- 63.6 196.
- 73.0 186.
- 80.2 176.
- 85.5 166.
- 89.4 158.
- 92.4 151.
- 94.5 145.
- 96.1 140.
- 97.3 136.
- 98.2 132.
- 98.8 129.
- 99.2 126.
- 99.4 124.
- 99.5 122.
- 99.5 120.
- 99.4 119.
- 99.3 118.
- 99.0 117.
- 98.7 116.
- 98.3 115.
- 97.9 115.
- 97.4 114.
- 96.9 114.
- 96.3 114.
- 95.7 113.
- 95.1 113.
- 94.4 113.
- 93.7 113.
- 92.9 113.
- 92.2 113.
- 91.4 113.
- 90.5 113.
- 89.7 113.
- 88.8 114.
- 87.9 114.
- 86.9 114.
- 86.0 114.
- 85.0 115.
- 84.0 115.
- 82.9 115.
- 66.3 119.
- 46.8 122.
- 25.8 124.
- 4.68 123.
-REG_LINE: 132
- 39.9 158.
- 25.7 158.
- 11.4 158.
- -1.28 160.
- -2.08 160.
- -2.85 160.
- -3.60 160.
- -4.34 161.
- -5.05 161.
- -5.74 161.
- -6.40 162.
- -7.04 162.
- -7.66 162.
- -8.25 163.
- -8.81 163.
- -9.34 163.
- -9.84 164.
- -10.3 164.
- -10.7 165.
- -11.1 165.
- -11.5 166.
- -11.8 167.
- -12.1 167.
- -12.4 168.
- -12.6 169.
- -12.7 169.
- -12.8 170.
- -12.9 171.
- -12.9 172.
- -12.9 173.
- -12.8 174.
- -12.6 174.
- -12.4 175.
- -12.1 177.
- -11.7 178.
- -11.3 179.
- -10.8 180.
- -10.2 181.
- -9.53 182.
- -8.78 184.
- -7.94 185.
- -7.02 186.
- -6.00 188.
- -4.88 189.
- -3.67 190.
- -2.36 192.
- -.951 193.
- .557 194.
- 2.16 195.
- 3.87 197.
- 5.66 198.
- 7.55 199.
- 9.52 200.
- 11.6 201.
- 13.7 202.
- 15.9 202.
- 18.1 203.
- 20.4 203.
- 22.7 203.
- 25.0 203.
- 27.3 203.
- 29.6 203.
- 31.9 203.
- 34.1 202.
- 36.3 202.
- 38.5 201.
- 40.6 200.
- 42.6 199.
- 44.5 198.
- 46.3 197.
- 48.1 196.
- 49.7 195.
- 51.2 193.
- 52.7 192.
- 54.0 191.
- 55.3 189.
- 56.5 188.
- 57.5 187.
- 58.5 185.
- 59.3 184.
- 60.1 183.
- 60.8 182.
- 61.4 180.
- 62.0 179.
- 62.4 178.
- 62.8 177.
- 63.2 176.
- 63.4 175.
- 63.6 174.
- 63.7 173.
- 63.8 172.
- 63.8 171.
- 63.8 170.
- 63.7 170.
- 63.5 169.
- 63.3 168.
- 63.1 167.
- 62.9 167.
- 62.5 166.
- 62.2 166.
- 61.8 165.
- 61.4 165.
- 60.9 164.
- 60.4 164.
- 59.9 163.
- 59.4 163.
- 58.8 162.
- 58.2 162.
- 57.6 162.
- 56.9 161.
- 56.2 161.
- 55.5 161.
- 54.8 161.
- 54.0 160.
- 53.3 160.
- 52.5 160.
- 51.7 160.
- 50.9 159.
- 50.0 159.
- 49.2 159.
- 48.3 159.
- 47.4 159.
- 46.5 159.
- 45.6 159.
- 44.7 158.
- 43.8 158.
- 42.8 158.
- 41.9 158.
- 40.9 158.
- 39.9 158.
- 25.7 158.
- 11.4 158.
-REG_LINE: 2
- 40.8 84.0
- 40.8 85.8
-REG_LINE: 2
- 33.3 85.0
- 33.3 86.7
-REG_LINE: 2
- 25.8 85.3
- 25.8 87.0
-REG_LINE: 2
- 18.2 85.0
- 18.2 86.8
-REG_LINE: 2
- 10.7 84.1
- 10.7 85.9
-REG_LINE: 2
- -3.79 80.5
- -3.83 82.2
-REG_LINE: 2
- -10.7 77.7
- -10.8 79.4
-REG_LINE: 2
- -17.3 74.2
- -17.4 76.0
-REG_LINE: 2
- -23.6 70.0
- -23.6 71.8
-REG_LINE: 2
- -29.4 65.0
- -29.5 66.8
-REG_LINE: 2
- -39.3 52.2
- -39.4 54.0
-REG_LINE: 2
- -43.2 44.0
- -43.4 45.7
-REG_LINE: 2
- -46.2 34.0
- -46.4 35.8
-REG_LINE: 2
- -48.0 21.8
- -48.3 23.5
-REG_LINE: 2
- -48.0 6.25
- -48.3 7.96
-REG_LINE: 2
- -35.8 -41.5
- -36.5 -39.9
-REG_LINE: 2
- -14.6 -73.9
- -15.8 -72.6
-REG_LINE: 2
- 23.6 -92.8
- 22.6 -94.3
-REG_LINE: 2
- 62.8 -76.5
- 64.1 -75.2
-REG_LINE: 2
- 85.5 -44.2
- 86.2 -42.6
-REG_LINE: 2
- 98.7 4.70
- 99.1 6.41
-REG_LINE: 2
- 99.0 20.6
- 99.3 22.3
-REG_LINE: 2
- 97.3 33.1
- 97.5 34.8
-REG_LINE: 2
- 94.4 43.2
- 94.6 44.9
-REG_LINE: 2
- 90.5 51.6
- 90.7 53.3
-REG_LINE: 2
- 80.7 64.6
- 80.8 66.3
-REG_LINE: 2
- 75.0 69.6
- 75.1 71.4
-REG_LINE: 2
- 68.8 73.9
- 68.8 75.6
-REG_LINE: 2
- 62.2 77.4
- 62.2 79.2
-REG_LINE: 2
- 55.3 80.3
- 55.3 82.0
-REG_LINE: 2
- 40.8 84.0
- 40.8 85.8
-REG_LINE: 2
- 33.3 85.0
- 33.3 86.7
-REG_LINE: 2
- 25.8 85.3
- 25.8 87.0
-REG_LINE: 2
- 18.2 85.0
- 18.2 86.8
-REG_LINE: 2
- 10.7 84.1
- 10.7 85.9
-REG_LINE: 2
- 23.1 -34.3
- 21.6 -33.5
-REG_LINE: 2
- 20.6 -38.6
- 19.1 -37.7
-REG_LINE: 2
- 18.0 -42.6
- 16.5 -41.7
-REG_LINE: 2
- 15.2 -46.2
- 13.8 -45.2
-REG_LINE: 2
- 12.3 -49.4
- 10.9 -48.4
-REG_LINE: 2
- 6.00 -54.5
- 4.63 -53.5
-REG_LINE: 2
- 2.59 -56.3
- 1.25 -55.2
-REG_LINE: 2
- -1.03 -57.5
- -2.33 -56.3
-REG_LINE: 2
- -4.86 -58.0
- -6.12 -56.8
-REG_LINE: 2
- -8.94 -57.7
- -10.1 -56.4
-REG_LINE: 2
- -17.9 -54.1
- -19.0 -52.7
-REG_LINE: 2
- -22.8 -50.3
- -23.9 -48.9
-REG_LINE: 2
- -28.1 -44.9
- -29.0 -43.4
-REG_LINE: 2
- -33.6 -37.4
- -34.4 -35.9
-REG_LINE: 2
- -39.3 -27.4
- -40.0 -25.8
-REG_LINE: 2
- -50.1 2.52
- -50.5 4.22
-REG_LINE: 2
- -54.3 23.2
- -54.6 24.9
-REG_LINE: 2
- -56.8 47.3
- -56.8 49.1
-REG_LINE: 2
- -56.8 73.8
- -56.1 75.5
-REG_LINE: 2
- -53.9 101.
- -54.0 98.8
-REG_LINE: 2
- -41.1 146.
- -41.7 144.
-REG_LINE: 2
- -32.8 162.
- -33.7 161.
-REG_LINE: 2
- -24.5 175.
- -25.5 173.
-REG_LINE: 2
- -16.5 183.
- -17.6 182.
-REG_LINE: 2
- -9.06 188.
- -10.4 187.
-REG_LINE: 2
- 3.65 193.
- 2.17 192.
-REG_LINE: 2
- 9.03 193.
- 7.49 192.
-REG_LINE: 2
- 13.8 192.
- 12.2 192.
-REG_LINE: 2
- 18.1 190.
- 16.5 190.
-REG_LINE: 2
- 22.0 188.
- 20.3 187.
-REG_LINE: 15
- 3.39 82.6
- 6.52 83.3
- 9.69 83.9
- 12.9 84.4
- 16.1 84.8
- 19.3 85.1
- 22.5 85.3
- 25.8 85.3
- 29.0 85.2
- 32.2 85.0
- 35.5 84.8
- 38.7 84.4
- 41.8 83.8
- 45.0 83.2
- 48.1 82.5
-REG_LINE: 15
- 3.39 82.6
- .284 81.8
- -2.78 80.8
- -5.80 79.7
- -8.77 78.6
- -11.7 77.2
- -14.5 75.8
- -17.3 74.2
- -20.1 72.5
- -22.7 70.7
- -25.3 68.7
- -27.8 66.5
- -30.1 64.2
- -32.4 61.8
- -34.6 59.1
-REG_LINE: 15
- -34.6 59.1
- -36.7 56.3
- -38.7 53.3
- -40.5 50.0
- -42.2 46.5
- -43.7 42.7
- -45.0 38.5
- -46.2 34.0
- -47.1 29.1
- -47.8 23.7
- -48.2 17.8
- -48.2 11.1
- -47.8 3.67
- -46.7 -4.73
- -44.9 -14.2
-REG_LINE: 93
- -44.9 -14.2
- -42.0 -25.0
- -37.7 -37.2
- -31.3 -50.6
- -22.3 -64.7
- -21.6 -65.7
- -20.8 -66.7
- -20.0 -67.7
- -19.2 -68.7
- -18.4 -69.7
- -17.5 -70.7
- -16.7 -71.6
- -15.8 -72.6
- -14.9 -73.5
- -14.0 -74.5
- -13.0 -75.4
- -12.1 -76.3
- -11.1 -77.2
- -10.1 -78.1
- -9.08 -79.0
- -8.06 -79.8
- -7.01 -80.7
- -5.95 -81.5
- -4.87 -82.3
- -3.78 -83.1
- -2.67 -83.8
- -1.54 -84.6
- -.395 -85.3
- .764 -86.0
- 1.94 -86.6
- 3.13 -87.2
- 4.33 -87.8
- 5.54 -88.4
- 6.77 -89.0
- 8.01 -89.5
- 9.27 -89.9
- 10.5 -90.4
- 11.8 -90.8
- 13.1 -91.2
- 14.4 -91.5
- 15.7 -91.8
- 17.0 -92.1
- 18.3 -92.3
- 19.6 -92.5
- 20.9 -92.6
- 22.3 -92.8
- 23.6 -92.8
- 24.9 -92.9
- 26.2 -92.9
- 27.6 -92.8
- 28.9 -92.7
- 30.2 -92.6
- 31.5 -92.5
- 32.8 -92.3
- 34.2 -92.0
- 35.5 -91.8
- 36.8 -91.4
- 38.0 -91.1
- 39.3 -90.7
- 40.6 -90.3
- 41.9 -89.9
- 43.1 -89.4
- 44.3 -88.9
- 45.6 -88.3
- 46.8 -87.7
- 48.0 -87.1
- 49.2 -86.5
- 50.3 -85.8
- 51.5 -85.2
- 52.6 -84.4
- 53.8 -83.7
- 54.9 -82.9
- 56.0 -82.2
- 57.0 -81.4
- 58.1 -80.5
- 59.1 -79.7
- 60.2 -78.8
- 61.2 -78.0
- 62.2 -77.1
- 63.1 -76.2
- 64.1 -75.2
- 65.0 -74.3
- 65.9 -73.4
- 66.8 -72.4
- 67.7 -71.4
- 68.6 -70.5
- 69.4 -69.5
- 70.2 -68.5
- 71.1 -67.5
- 80.7 -53.4
- 87.5 -39.8
- 92.1 -27.4
- 95.3 -16.3
-REG_LINE: 15
- 95.3 -16.3
- 97.3 -6.55
- 98.5 2.06
- 99.1 9.69
- 99.1 16.5
- 98.8 22.6
- 98.2 28.1
- 97.3 33.1
- 96.2 37.7
- 94.9 41.9
- 93.4 45.7
- 91.7 49.3
- 89.9 52.6
- 88.0 55.7
- 85.9 58.6
-REG_LINE: 15
- 85.9 58.6
- 83.8 61.3
- 81.5 63.8
- 79.1 66.1
- 76.7 68.3
- 74.1 70.3
- 71.5 72.2
- 68.8 73.9
- 66.0 75.5
- 63.2 77.0
- 60.3 78.3
- 57.3 79.5
- 54.3 80.6
- 51.2 81.6
- 48.1 82.5
-REG_LINE: 15
- 48.1 82.5
- 45.0 83.2
- 41.8 83.8
- 38.7 84.4
- 35.5 84.8
- 32.2 85.0
- 29.0 85.2
- 25.8 85.3
- 22.5 85.3
- 19.3 85.1
- 16.1 84.8
- 12.9 84.4
- 9.69 83.9
- 6.52 83.3
- 3.39 82.6
-REG_LINE: 15
- 48.1 82.5
- 45.0 83.2
- 41.8 83.8
- 38.7 84.4
- 35.5 84.8
- 32.2 85.0
- 29.0 85.2
- 25.8 85.3
- 22.5 85.3
- 19.3 85.1
- 16.1 84.8
- 12.9 84.4
- 9.69 83.9
- 6.52 83.3
- 3.39 82.6
-REG_LINE: 15
- 25.4 -29.7
- 24.4 -31.7
- 23.4 -33.7
- 22.4 -35.6
- 21.3 -37.4
- 20.2 -39.2
- 19.1 -40.9
- 18.0 -42.6
- 16.8 -44.2
- 15.6 -45.7
- 14.4 -47.2
- 13.1 -48.6
- 11.9 -49.9
- 10.6 -51.1
- 9.23 -52.2
-REG_LINE: 15
- 9.23 -52.2
- 7.87 -53.3
- 6.48 -54.2
- 5.05 -55.1
- 3.58 -55.9
- 2.08 -56.5
- .548 -57.1
- -1.03 -57.5
- -2.64 -57.8
- -4.30 -58.0
- -6.00 -58.0
- -7.75 -57.9
- -9.54 -57.6
- -11.4 -57.1
- -13.3 -56.4
-REG_LINE: 15
- -13.3 -56.4
- -15.2 -55.6
- -17.2 -54.5
- -19.3 -53.2
- -21.4 -51.6
- -23.6 -49.7
- -25.8 -47.5
- -28.1 -44.9
- -30.4 -42.0
- -32.8 -38.6
- -35.2 -34.8
- -37.6 -30.5
- -40.1 -25.7
- -42.5 -20.3
- -44.9 -14.2
-REG_LINE: 15
- -44.9 -14.2
- -47.2 -7.52
- -49.4 -.109
- -51.4 8.02
- -53.3 16.9
- -54.8 26.4
- -56.0 36.6
- -56.8 47.3
- -57.1 58.5
- -56.9 70.0
- -56.2 81.6
- -55.0 93.1
- -53.3 104.
- -51.0 115.
- -48.4 125.
-REG_LINE: 15
- -48.4 125.
- -45.4 135.
- -42.2 143.
- -38.8 151.
- -35.2 158.
- -31.6 164.
- -28.0 170.
- -24.5 175.
- -21.0 179.
- -17.6 182.
- -14.3 185.
- -11.1 187.
- -8.06 189.
- -5.15 190.
- -2.36 192.
-REG_LINE: 15
- -2.36 192.
- .299 192.
- 2.83 193.
- 5.25 193.
- 7.56 193.
- 9.75 193.
- 11.8 193.
- 13.8 192.
- 15.7 192.
- 17.6 191.
- 19.3 190.
- 20.9 189.
- 22.5 188.
- 24.0 186.
- 25.4 185.
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-Forward matrix value
- M2 = -0.811474832908671 # Forward matrix value
- M3 = 0.171224898552328 # Forward matrix value
- M4 = -0.862236746712233 # Forward matrix value
- M5 = -0.476686298035564 # Forward matrix value
- M6 = -0.941127638091139 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = -0.338051429254475 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = -2.61046557479594 # Polar longitude (rad.s)
- End SphMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End FrameSet
- Begin FrameSet # Set of inter-related coordinate systems
-# Title = "Pixel coordinates; first pixel at (-100.5,-200.5)" # Title of coordinate system
-# Naxes = 2 # Number of coordinate axes
-# Domain = "POLAR" # Coordinate system domain
-# Lbl1 = "Pixel coordinate 1" # Label for axis 1
-# Lbl2 = "Pixel coordinate 2" # Label for axis 2
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
- IsA Frame # Coordinate system description
- Nframe = 2 # Number of Frames in FrameSet
-# Base = 1 # Index of base Frame
- Currnt = 2 # Index of current Frame
- Nod1 = 2 # Frame 1 is associated with node 2
- Nod2 = 1 # Frame 2 is associated with node 1
- Lnk2 = 1 # Node 2 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame # Coordinate system description
- Title = "Data grid indices; first pixel at (1,1) " # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Data grid index 1" # Label for axis 1
-# Lbl2 = "Data grid index 2" # Label for axis 2
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Data grid index 1" # Axis Label
- Symbol = "g1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Data grid index 2" # Axis Label
- Symbol = "g2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin Frame # Coordinate system description
- Title = "Pixel coordinates; first pixel at (-100.5,-200.5)" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "POLAR" # Coordinate system domain
-# Lbl1 = "Pixel coordinate 1" # Label for axis 1
-# Lbl2 = "Pixel coordinate 2" # Label for axis 2
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 1" # Axis Label
- REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '240'
- 4.00 80.2 TC -.245 .969
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '300'
- -32.7 57.6 TC -.791 .612
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0'
- -42.4 -13.7 BC .974 .227
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '60'
- 92.9 -15.7 BC -.973 .231
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '120'
- 84.0 57.1 TC .798 .602
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '180'
- 47.5 80.0 TC .253 .968
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-90'
- 27.7 -30.8 TC -.899 .438
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-60'
- 10.8 -54.2 TC -.629 .777
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-30'
- -14.2 -58.8 TC .374 .927
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0'
- -47.2 -15.1 TC .937 .350
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '30'
- -50.8 126. BC -.960 .278
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '60'
- -3.21 194. BC -.341 .940
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '90'
- 27.2 187. BC .711 .704
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 1
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: ' A FITS test'
- 31.5 225. BC .000 1.00
-
-
-
-
- FITS test number 2
- ====================
-
-
-
-AST_SHOW:
-
-REG_SINK:
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-AST
-COMMENT AST Beginning of AST data for FrameSet object
-AST
-COMMENT AST ................................................................
-AST
-COMMENT AST ................................................................
-AST
-COMMENT AST End of AST data for FrameSet object
-AST
-COMMENT AST ----------------------------------------------------------------
-
-Objects written: 1
-
-Native Encoding:
-
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AST
-COMMENT AST WCS information in AST format AST
-COMMENT AST See http://www.starlink.ac.uk/ast/ AST
-COMMENT AST Beginning of AST data for FrameSet object AST
-COMMENT AST ................................................................ AST
-BEGAST_A= 'FrameSet' / Set of inter-related coordinate systems
-NFRAME_A= 2 / Number of Frames in FrameSet
-CURRNT_A= 2 / Index of current Frame
-NOD1_A = 2 / Frame 1 is associated with node 2
-NOD2_A = 1 / Frame 2 is associated with node 1
-LNK2_A = 1 / Node 2 is derived from node 1
-FRM1_A = ' ' / Frame number 1
-BEGAST_B= 'Frame ' / Coordinate system description
-TITLE_A = 'Data grid indices; first pixel at (1&'/ Title of coordinate system
-CONTINUE '",1) "'
-NAXES_A = 2 / Number of coordinate axes
-DOMAIN_A= 'GRID ' / Coordinate system domain
-AX1_A = ' ' / Axis number 1
-BEGAST_C= 'Axis ' / Coordinate axis
-LABEL_A = 'Data grid index 1' / Axis Label
-SYMBOL_A= 'g1 ' / Axis symbol
-UNIT_A = 'pixel ' / Axis units
-FORMAT_A= '%3.1f ' / Format specifier
-ENDAST_A= 'Axis ' / End of object definition
-AX2_A = ' ' / Axis number 2
-BEGAST_D= 'Axis ' / Coordinate axis
-LABEL_B = 'Data grid index 2' / Axis Label
-SYMBOL_B= 'g2 ' / Axis symbol
-UNIT_B = 'pixel ' / Axis units
-FORMAT_B= '%3.1f ' / Format specifier
-ENDAST_B= 'Axis ' / End of object definition
-ENDAST_C= 'Frame ' / End of object definition
-FRM2_A = ' ' / Frame number 2
-BEGAST_E= 'Frame ' / Coordinate system description
-TITLE_B = 'Pixel coordinates; first pixel at (-&'/ Title of coordinate system
-CONTINUE '100.5,-200.5)'
-NAXES_B = 2 / Number of coordinate axes
-DOMAIN_B= 'POLAR ' / Coordinate system domain
-AX1_B = ' ' / Axis number 1
-BEGAST_F= 'Axis ' / Coordinate axis
-LABEL_C = 'Pixel coordinate 1' / Axis Label
-SYMBOL_C= 'p1 ' / Axis symbol
-UNIT_C = 'pixel ' / Axis units
-FORMAT_C= '%3.1f ' / Format specifier
-ENDAST_D= 'Axis ' / End of object definition
-AX2_B = ' ' / Axis number 2
-BEGAST_G= 'Axis ' / Coordinate axis
-LABEL_D = 'Pixel coordinate 2' / Axis Label
-SYMBOL_D= 'p2 ' / Axis symbol
-UNIT_D = 'pixel ' / Axis units
-FORMAT_D= '%3.1f ' / Format specifier
-ENDAST_E= 'Axis ' / End of object definition
-ENDAST_F= 'Frame ' / End of object definition
-MAP2_A = ' ' / Mapping between nodes 1 and 2
-BEGAST_H= 'CmpMap ' / Compound Mapping
-NIN_A = 2 / Number of input coordinates
-ISA_A = 'Mapping ' / Mapping between coordinate systems
-INVA_A = 1 / First Mapping used in inverse direction
-INVB_A = 1 / Second Mapping used in inverse direction
-MAPA_A = ' ' / First component Mapping
-BEGAST_I= 'MathMap ' / Transformation using mathematical functions
-NIN_B = 2 / Number of input coordinates
-INVERT_A= 0 / Mapping not inverted
-ISA_B = 'Mapping ' / Mapping between coordinate systems
-FWD1_A = 'r=sqrt(x*x+y*y)' / Forward function 1
-FWD2_A = 'theta=atan2(y,x)' / Forward function 2
-INV1_A = 'x=r*cos(theta)' / Inverse function 1
-INV2_A = 'y=r*sin(theta)' / Inverse function 2
-SIMPFI_A= 1 / Forward-inverse pairs may simplify
-SIMPIF_A= 1 / Inverse-forward pairs may simplify
-ENDAST_G= 'MathMap ' / End of object definition
-MAPB_A = ' ' / Second component Mapping
-BEGAST_J= 'WinMap ' / Map one window on to another
-NIN_C = 2 / Number of input coordinates
-INVERT_B= 0 / Mapping not inverted
-ISA_C = 'Mapping ' / Mapping between coordinate systems
-SFT1_A = -101.5 / Shift for axis 1
-SFT2_A = -201.5 / Shift for axis 2
-ENDAST_H= 'WinMap ' / End of object definition
-ENDAST_I= 'CmpMap ' / End of object definition
-ENDAST_J= 'FrameSet' / End of object definition
-COMMENT AST ................................................................ AST
-COMMENT AST End of AST data for FrameSet object AST
-COMMENT AST ---------------------------------------------------------------- AST
-
-ATTRIBUTES:
- Colour(axis1) : 1
- Font(Stri) : 1
- Nout : 1
- Class : 4
- Tol : 0.100000E-01
- Gap(1) : 50.0000
- Border : 0
- Invert : 0
- TextLabGap : 0.100000E-01
- Nin : 2
- Current : 3
- Base : 1
- Nobject : 1
- RefCOUNT : 1
-
-AST_GRID:
-REG_LINE: 197
- 10.8 124.
- 10.7 123.
- 10.5 122.
- 10.3 121.
- 10.2 120.
- 10.1 119.
- 10.0 118.
- 9.94 117.
- 9.89 116.
- 9.85 115.
- 9.84 113.
- 9.85 112.
- 9.88 111.
- 9.93 110.
- 10.0 109.
- 10.1 108.
- 10.2 107.
- 10.3 106.
- 10.5 105.
- 10.6 104.
- 10.8 103.
- 11.0 102.
- 11.2 100.
- 11.5 99.5
- 11.7 98.5
- 12.0 97.5
- 12.3 96.6
- 12.6 95.6
- 13.0 94.7
- 13.3 93.9
- 13.7 93.0
- 14.0 92.2
- 14.4 91.4
- 14.8 90.6
- 15.2 89.8
- 15.7 89.1
- 16.1 88.4
- 16.5 87.8
- 17.0 87.2
- 17.5 86.6
- 18.0 86.0
- 18.5 85.5
- 19.0 85.0
- 19.5 84.6
- 20.0 84.2
- 20.5 83.8
- 21.1 83.5
- 21.6 83.2
- 22.1 82.9
- 22.7 82.7
- 23.2 82.5
- 23.8 82.4
- 24.3 82.3
- 24.9 82.2
- 25.5 82.2
- 26.0 82.2
- 26.6 82.3
- 27.1 82.4
- 27.7 82.5
- 28.2 82.7
- 28.8 82.9
- 29.3 83.2
- 29.9 83.4
- 30.4 83.8
- 30.9 84.2
- 31.4 84.6
- 32.0 85.0
- 32.5 85.5
- 33.0 86.0
- 33.4 86.6
- 33.9 87.1
- 34.4 87.8
- 34.8 88.4
- 35.3 89.1
- 35.7 89.8
- 36.1 90.6
- 36.5 91.3
- 36.9 92.1
- 37.3 93.0
- 37.6 93.8
- 38.0 94.7
- 38.3 95.6
- 38.6 96.5
- 38.9 97.5
- 39.2 98.5
- 39.4 99.4
- 39.7 100.
- 39.9 101.
- 40.1 103.
- 40.3 104.
- 40.5 105.
- 40.6 106.
- 40.7 107.
- 40.8 108.
- 40.9 109.
- 41.0 110.
- 41.1 111.
- 41.1 112.
- 41.1 113.
- 41.1 115.
- 41.1 116.
- 41.0 117.
- 40.9 118.
- 40.8 119.
- 40.7 120.
- 40.6 121.
- 40.5 122.
- 40.3 123.
- 40.1 124.
- 39.9 125.
- 39.7 126.
- 39.4 127.
- 39.2 128.
- 38.9 129.
- 38.6 130.
- 38.3 131.
- 38.0 132.
- 37.6 133.
- 37.3 134.
- 36.9 135.
- 36.5 136.
- 36.1 136.
- 35.7 137.
- 35.3 138.
- 34.8 138.
- 34.4 139.
- 33.9 140.
- 33.4 140.
- 33.0 141.
- 32.5 141.
- 32.0 142.
- 31.4 142.
- 30.9 143.
- 30.4 143.
- 29.9 143.
- 29.3 144.
- 28.8 144.
- 28.2 144.
- 27.7 144.
- 27.1 145.
- 26.6 145.
- 26.0 145.
- 25.5 145.
- 24.9 145.
- 24.3 145.
- 23.8 145.
- 23.2 144.
- 22.7 144.
- 22.1 144.
- 21.6 144.
- 21.1 143.
- 20.5 143.
- 20.0 143.
- 19.5 142.
- 19.0 142.
- 18.5 141.
- 18.0 141.
- 17.5 140.
- 17.0 140.
- 16.5 139.
- 16.1 138.
- 15.7 138.
- 15.2 137.
- 14.8 136.
- 14.4 136.
- 14.0 135.
- 13.7 134.
- 13.3 133.
- 13.0 132.
- 12.6 131.
- 12.3 130.
- 12.0 129.
- 11.7 128.
- 11.5 127.
- 11.2 126.
- 11.0 125.
- 10.8 124.
- 10.6 123.
- 10.5 122.
- 10.3 121.
- 10.2 120.
- 10.1 119.
- 10.0 118.
- 9.93 117.
- 9.88 116.
- 9.85 115.
- 9.84 113.
- 9.85 112.
- 9.89 111.
- 9.94 110.
- 10.0 109.
- 10.1 108.
- 10.2 107.
- 10.3 106.
- 10.5 105.
- 10.7 104.
- 10.8 102.
-REG_LINE: 197
- -3.80 135.
- -4.17 133.
- -4.50 131.
- -4.80 129.
- -5.06 127.
- -5.28 125.
- -5.46 122.
- -5.60 120.
- -5.70 118.
- -5.76 116.
- -5.78 114.
- -5.76 111.
- -5.70 109.
- -5.61 107.
- -5.47 105.
- -5.29 102.
- -5.07 100.
- -4.82 98.1
- -4.53 95.9
- -4.19 93.8
- -3.82 91.7
- -3.42 89.6
- -2.97 87.5
- -2.49 85.5
- -1.97 83.5
- -1.42 81.6
- -.838 79.7
- -.219 77.8
- .433 76.0
- 1.12 74.3
- 1.83 72.6
- 2.58 70.9
- 3.35 69.3
- 4.15 67.7
- 4.98 66.2
- 5.84 64.8
- 6.72 63.4
- 7.62 62.1
- 8.55 60.9
- 9.50 59.7
- 10.5 58.6
- 11.5 57.6
- 12.5 56.6
- 13.5 55.7
- 14.5 54.9
- 15.6 54.2
- 16.6 53.5
- 17.7 52.9
- 18.8 52.4
- 19.9 51.9
- 21.0 51.6
- 22.1 51.3
- 23.2 51.1
- 24.3 51.0
- 25.4 50.9
- 26.6 51.0
- 27.7 51.1
- 28.8 51.3
- 29.9 51.6
- 31.0 51.9
- 32.1 52.4
- 33.2 52.9
- 34.3 53.5
- 35.3 54.1
- 36.4 54.9
- 37.4 55.7
- 38.4 56.6
- 39.4 57.5
- 40.4 58.6
- 41.4 59.7
- 42.4 60.8
- 43.3 62.1
- 44.2 63.4
- 45.1 64.8
- 45.9 66.2
- 46.8 67.7
- 47.6 69.2
- 48.3 70.8
- 49.1 72.5
- 49.8 74.2
- 50.5 76.0
- 51.1 77.8
- 51.8 79.6
- 52.3 81.5
- 52.9 83.5
- 53.4 85.5
- 53.9 87.5
- 54.3 89.5
- 54.7 91.6
- 55.1 93.7
- 55.5 95.8
- 55.7 98.0
- 56.0 100.
- 56.2 102.
- 56.4 105.
- 56.5 107.
- 56.6 109.
- 56.7 111.
- 56.7 113.
- 56.7 116.
- 56.6 118.
- 56.5 120.
- 56.4 122.
- 56.2 125.
- 56.0 127.
- 55.7 129.
- 55.5 131.
- 55.1 133.
- 54.7 135.
- 54.3 137.
- 53.9 139.
- 53.4 141.
- 52.9 143.
- 52.3 145.
- 51.8 147.
- 51.1 149.
- 50.5 151.
- 49.8 153.
- 49.1 154.
- 48.3 156.
- 47.6 158.
- 46.8 159.
- 45.9 161.
- 45.1 162.
- 44.2 163.
- 43.3 165.
- 42.4 166.
- 41.4 167.
- 40.4 168.
- 39.4 169.
- 38.4 170.
- 37.4 171.
- 36.4 172.
- 35.3 173.
- 34.3 173.
- 33.2 174.
- 32.1 175.
- 31.0 175.
- 29.9 175.
- 28.8 176.
- 27.7 176.
- 26.6 176.
- 25.4 176.
- 24.3 176.
- 23.2 176.
- 22.1 176.
- 21.0 175.
- 19.9 175.
- 18.8 174.
- 17.7 174.
- 16.6 173.
- 15.6 173.
- 14.5 172.
- 13.5 171.
- 12.5 170.
- 11.5 169.
- 10.5 168.
- 9.50 167.
- 8.55 166.
- 7.62 165.
- 6.72 163.
- 5.84 162.
- 4.98 161.
- 4.15 159.
- 3.35 158.
- 2.58 156.
- 1.83 154.
- 1.12 153.
- .433 151.
- -.219 149.
- -.838 147.
- -1.42 145.
- -1.97 143.
- -2.49 141.
- -2.97 139.
- -3.42 137.
- -3.82 135.
- -4.19 133.
- -4.53 131.
- -4.82 129.
- -5.07 127.
- -5.29 124.
- -5.47 122.
- -5.61 120.
- -5.70 118.
- -5.76 116.
- -5.78 113.
- -5.76 111.
- -5.70 109.
- -5.60 107.
- -5.46 104.
- -5.28 102.
- -5.06 100.
- -4.80 97.9
- -4.50 95.7
- -4.17 93.6
- -3.80 91.5
-REG_LINE: 197
- -18.4 146.
- -19.0 143.
- -19.5 140.
- -19.9 137.
- -20.3 133.
- -20.7 130.
- -20.9 127.
- -21.1 124.
- -21.3 120.
- -21.4 117.
- -21.4 114.
- -21.4 110.
- -21.3 107.
- -21.1 104.
- -20.9 100.
- -20.7 96.9
- -20.3 93.6
- -20.0 90.4
- -19.5 87.1
- -19.0 83.9
- -18.5 80.8
- -17.9 77.7
- -17.2 74.6
- -16.5 71.6
- -15.7 68.6
- -14.9 65.7
- -14.0 62.8
- -13.1 60.0
- -12.1 57.3
- -11.1 54.7
- -9.99 52.1
- -8.87 49.6
- -7.71 47.2
- -6.50 44.9
- -5.26 42.6
- -3.98 40.5
- -2.66 38.4
- -1.30 36.5
- 0.922E-01 34.6
- 1.52 32.9
- 2.97 31.2
- 4.45 29.6
- 5.96 28.2
- 7.50 26.9
- 9.05 25.6
- 10.6 24.5
- 12.2 23.5
- 13.8 22.6
- 15.5 21.8
- 17.1 21.2
- 18.8 20.7
- 20.4 20.2
- 22.1 19.9
- 23.8 19.7
- 25.4 19.7
- 27.1 19.7
- 28.8 19.9
- 30.5 20.2
- 32.1 20.6
- 33.8 21.2
- 35.4 21.8
- 37.0 22.6
- 38.7 23.5
- 40.2 24.5
- 41.8 25.6
- 43.4 26.8
- 44.9 28.1
- 46.4 29.6
- 47.9 31.1
- 49.4 32.8
- 50.8 34.5
- 52.2 36.4
- 53.5 38.4
- 54.9 40.4
- 56.2 42.6
- 57.4 44.8
- 58.6 47.1
- 59.8 49.5
- 60.9 52.0
- 62.0 54.6
- 63.0 57.2
- 64.0 60.0
- 64.9 62.7
- 65.8 65.6
- 66.6 68.5
- 67.4 71.5
- 68.1 74.5
- 68.8 77.5
- 69.4 80.7
- 69.9 83.8
- 70.4 87.0
- 70.9 90.2
- 71.3 93.5
- 71.6 96.8
- 71.9 100.
- 72.1 103.
- 72.2 107.
- 72.3 110.
- 72.3 113.
- 72.3 117.
- 72.2 120.
- 72.1 123.
- 71.9 127.
- 71.6 130.
- 71.3 133.
- 70.9 137.
- 70.4 140.
- 69.9 143.
- 69.4 146.
- 68.8 149.
- 68.1 152.
- 67.4 155.
- 66.6 158.
- 65.8 161.
- 64.9 164.
- 64.0 167.
- 63.0 170.
- 62.0 172.
- 60.9 175.
- 59.8 177.
- 58.6 180.
- 57.4 182.
- 56.2 184.
- 54.9 186.
- 53.5 189.
- 52.2 190.
- 50.8 192.
- 49.4 194.
- 47.9 196.
- 46.4 197.
- 44.9 199.
- 43.4 200.
- 41.8 201.
- 40.2 202.
- 38.7 203.
- 37.0 204.
- 35.4 205.
- 33.8 206.
- 32.1 206.
- 30.5 207.
- 28.8 207.
- 27.1 207.
- 25.4 207.
- 23.8 207.
- 22.1 207.
- 20.4 207.
- 18.8 206.
- 17.1 206.
- 15.5 205.
- 13.8 204.
- 12.2 203.
- 10.6 202.
- 9.05 201.
- 7.50 200.
- 5.96 199.
- 4.45 197.
- 2.97 196.
- 1.52 194.
- 0.922E-01 192.
- -1.30 190.
- -2.66 188.
- -3.98 186.
- -5.26 184.
- -6.50 182.
- -7.71 180.
- -8.87 177.
- -9.99 175.
- -11.1 172.
- -12.1 170.
- -13.1 167.
- -14.0 164.
- -14.9 161.
- -15.7 158.
- -16.5 155.
- -17.2 152.
- -17.9 149.
- -18.5 146.
- -19.0 143.
- -19.5 140.
- -20.0 137.
- -20.3 133.
- -20.7 130.
- -20.9 127.
- -21.1 123.
- -21.3 120.
- -21.4 117.
- -21.4 113.
- -21.4 110.
- -21.3 107.
- -21.1 103.
- -20.9 100.
- -20.7 96.7
- -20.3 93.4
- -19.9 90.1
- -19.5 86.9
- -19.0 83.7
- -18.4 80.6
-REG_LINE: 197
- -33.1 157.
- -33.8 153.
- -34.5 149.
- -35.1 145.
- -35.6 140.
- -36.0 136.
- -36.4 131.
- -36.7 127.
- -36.9 123.
- -37.0 118.
- -37.0 114.
- -37.0 109.
- -36.9 105.
- -36.7 100.
- -36.4 95.8
- -36.1 91.4
- -35.6 87.0
- -35.1 82.7
- -34.5 78.4
- -33.9 74.1
- -33.1 69.9
- -32.3 65.7
- -31.4 61.6
- -30.5 57.6
- -29.4 53.6
- -28.3 49.8
- -27.1 46.0
- -25.9 42.3
- -24.6 38.6
- -23.2 35.1
- -21.8 31.7
- -20.3 28.3
- -18.8 25.1
- -17.2 22.0
- -15.5 19.0
- -13.8 16.2
- -12.0 13.4
- -10.2 10.8
- -8.37 8.34
- -6.47 5.99
- -4.53 3.78
- -2.55 1.71
- -.540 -.225
- 1.51 -2.01
- 3.58 -3.65
- 5.69 -5.14
- 7.82 -6.47
- 9.97 -7.66
- 12.1 -8.69
- 14.3 -9.56
- 16.5 -10.3
- 18.7 -10.8
- 21.0 -11.2
- 23.2 -11.5
- 25.4 -11.6
- 27.7 -11.5
- 29.9 -11.2
- 32.1 -10.9
- 34.3 -10.3
- 36.5 -9.59
- 38.7 -8.72
- 40.9 -7.70
- 43.0 -6.52
- 45.2 -5.19
- 47.3 -3.70
- 49.4 -2.07
- 51.4 -.290
- 53.4 1.63
- 55.4 3.70
- 57.3 5.91
- 59.2 8.25
- 61.1 10.7
- 62.9 13.3
- 64.7 16.1
- 66.4 18.9
- 68.0 21.9
- 69.6 25.0
- 71.2 28.2
- 72.7 31.6
- 74.1 35.0
- 75.5 38.5
- 76.8 42.1
- 78.0 45.8
- 79.2 49.6
- 80.3 53.5
- 81.4 57.5
- 82.3 61.5
- 83.2 65.6
- 84.0 69.7
- 84.8 73.9
- 85.4 78.2
- 86.0 82.5
- 86.5 86.9
- 87.0 91.2
- 87.3 95.6
- 87.6 100.
- 87.8 105.
- 87.9 109.
- 88.0 113.
- 87.9 118.
- 87.8 122.
- 87.6 127.
- 87.3 131.
- 87.0 136.
- 86.5 140.
- 86.0 144.
- 85.4 149.
- 84.8 153.
- 84.0 157.
- 83.2 161.
- 82.3 165.
- 81.4 169.
- 80.3 173.
- 79.2 177.
- 78.0 181.
- 76.8 185.
- 75.5 188.
- 74.1 192.
- 72.7 195.
- 71.2 199.
- 69.6 202.
- 68.0 205.
- 66.4 208.
- 64.7 211.
- 62.9 214.
- 61.1 216.
- 59.2 219.
- 57.3 221.
- 55.4 223.
- 53.4 225.
- 51.4 227.
- 49.4 229.
- 47.3 231.
- 45.2 232.
- 43.0 233.
- 40.9 235.
- 38.7 236.
- 36.5 236.
- 34.3 237.
- 32.1 238.
- 29.9 238.
- 27.7 238.
- 25.4 238.
- 23.2 238.
- 21.0 238.
- 18.7 238.
- 16.5 237.
- 14.3 236.
- 12.1 236.
- 9.97 235.
- 7.82 233.
- 5.69 232.
- 3.58 231.
- 1.51 229.
- -.540 227.
- -2.55 225.
- -4.53 223.
- -6.47 221.
- -8.37 219.
- -10.2 216.
- -12.0 213.
- -13.8 211.
- -15.5 208.
- -17.2 205.
- -18.8 202.
- -20.3 199.
- -21.8 195.
- -23.2 192.
- -24.6 188.
- -25.9 185.
- -27.1 181.
- -28.3 177.
- -29.4 173.
- -30.5 169.
- -31.4 165.
- -32.3 161.
- -33.1 157.
- -33.9 153.
- -34.5 149.
- -35.1 144.
- -35.6 140.
- -36.1 135.
- -36.4 131.
- -36.7 127.
- -36.9 122.
- -37.0 118.
- -37.0 113.
- -37.0 109.
- -36.9 104.
- -36.7 99.9
- -36.4 95.5
- -36.0 91.1
- -35.6 86.7
- -35.1 82.4
- -34.5 78.1
- -33.8 73.8
- -33.1 69.6
-REG_LINE: 197
- -47.7 168.
- -48.6 163.
- -49.5 158.
- -50.2 152.
- -50.8 147.
- -51.4 141.
- -51.8 136.
- -52.2 130.
- -52.4 125.
- -52.6 119.
- -52.7 114.
- -52.6 108.
- -52.5 102.
- -52.2 96.9
- -51.9 91.4
- -51.4 85.9
- -50.9 80.4
- -50.3 75.0
- -49.5 69.6
- -48.7 64.3
- -47.8 59.0
- -46.7 53.8
- -45.6 48.7
- -44.4 43.6
- -43.1 38.7
- -41.8 33.8
- -40.3 29.1
- -38.8 24.5
- -37.1 19.9
- -35.4 15.5
- -33.6 11.2
- -31.8 7.08
- -29.8 3.06
- -27.8 -.822
- -25.7 -4.55
- -23.6 -8.14
- -21.4 -11.6
- -19.1 -14.8
- -16.8 -17.9
- -14.5 -20.9
- -12.0 -23.6
- -9.56 -26.2
- -7.04 -28.6
- -4.49 -30.9
- -1.89 -32.9
- .740 -34.8
- 3.40 -36.5
- 6.09 -37.9
- 8.81 -39.2
- 11.5 -40.3
- 14.3 -41.2
- 17.1 -41.9
- 19.8 -42.4
- 22.6 -42.7
- 25.4 -42.8
- 28.2 -42.7
- 31.0 -42.4
- 33.8 -41.9
- 36.5 -41.2
- 39.3 -40.3
- 42.0 -39.3
- 44.7 -38.0
- 47.4 -36.5
- 50.1 -34.8
- 52.7 -33.0
- 55.3 -30.9
- 57.9 -28.7
- 60.4 -26.3
- 62.9 -23.7
- 65.3 -21.0
- 67.7 -18.0
- 70.0 -14.9
- 72.3 -11.7
- 74.5 -8.26
- 76.6 -4.68
- 78.7 -.956
- 80.7 2.92
- 82.6 6.93
- 84.5 11.1
- 86.3 15.4
- 88.0 19.8
- 89.6 24.3
- 91.2 28.9
- 92.6 33.7
- 94.0 38.5
- 95.3 43.5
- 96.5 48.5
- 97.6 53.6
- 98.7 58.8
- 99.6 64.1
- 100. 69.4
- 101. 74.8
- 102. 80.2
- 102. 85.7
- 103. 91.2
- 103. 96.7
- 103. 102.
- 104. 108.
- 104. 113.
- 104. 119.
- 103. 125.
- 103. 130.
- 103. 136.
- 102. 141.
- 102. 147.
- 101. 152.
- 100. 157.
- 99.6 163.
- 98.7 168.
- 97.6 173.
- 96.5 178.
- 95.3 183.
- 94.0 188.
- 92.6 193.
- 91.2 198.
- 89.6 203.
- 88.0 207.
- 86.3 212.
- 84.5 216.
- 82.6 220.
- 80.7 224.
- 78.7 228.
- 76.6 232.
- 74.5 235.
- 72.3 239.
- 70.0 242.
- 67.7 245.
- 65.3 248.
- 62.9 251.
- 60.4 253.
- 57.9 256.
- 55.3 258.
- 52.7 260.
- 50.1 262.
- 47.4 263.
- 44.7 265.
- 42.0 266.
- 39.3 267.
- 36.5 268.
- 33.8 269.
- 31.0 269.
- 28.2 270.
- 25.4 270.
- 22.6 270.
- 19.8 269.
- 17.1 269.
- 14.3 268.
- 11.5 267.
- 8.81 266.
- 6.09 265.
- 3.40 263.
- .740 262.
- -1.89 260.
- -4.49 258.
- -7.04 256.
- -9.56 253.
- -12.0 251.
- -14.5 248.
- -16.8 245.
- -19.1 242.
- -21.4 238.
- -23.6 235.
- -25.7 231.
- -27.8 228.
- -29.8 224.
- -31.8 220.
- -33.6 216.
- -35.4 211.
- -37.1 207.
- -38.8 202.
- -40.3 198.
- -41.8 193.
- -43.1 188.
- -44.4 183.
- -45.6 178.
- -46.7 173.
- -47.8 168.
- -48.7 163.
- -49.5 157.
- -50.3 152.
- -50.9 146.
- -51.4 141.
- -51.9 135.
- -52.2 130.
- -52.5 124.
- -52.6 119.
- -52.7 113.
- -52.6 108.
- -52.4 102.
- -52.2 96.5
- -51.8 91.0
- -51.4 85.5
- -50.8 80.0
- -50.2 74.6
- -49.5 69.2
- -48.6 63.9
- -47.7 58.6
-REG_LINE: 141
- -62.3 179.
- -63.4 173.
- -64.4 167.
- -65.3 160.
- -66.1 154.
- -66.8 147.
- -67.3 140.
- -67.7 134.
- -68.0 127.
- -68.2 120.
- -68.3 114.
- -68.2 107.
- -68.1 100.
- -67.8 93.6
- -67.3 87.0
- -66.8 80.4
- -66.2 73.8
- -65.4 67.3
- -64.5 60.8
- -63.5 54.4
- -62.4 48.1
- -61.2 41.9
- -59.9 35.7
- -58.4 29.7
- -56.9 23.8
- -55.2 17.9
- -53.5 12.2
- -51.6 6.66
- -49.6 1.22
- -47.6 -4.07
- -45.4 -9.21
- -43.2 -14.2
- -40.9 -19.0
- -38.5 -23.7
- -36.0 -28.2
- -33.4 -32.5
- -30.8 -36.6
- -28.1 -40.5
- -25.3 -44.2
- -22.4 -47.7
- -19.5 -51.1
- -16.6 -54.2
- -13.5 -57.1
- -10.5 -59.7
- -7.36 -62.2
- -4.21 -64.4
- -1.01 -66.4
- 2.22 -68.2
- 5.47 -69.7
- 8.76 -71.1
- 12.1 -72.1
- 15.4 -73.0
- 18.7 -73.6
- 22.1 -73.9
- 25.4 -74.1
- 28.8 -73.9
- 32.1 -73.6
- 35.4 -73.0
- 38.8 -72.2
- 42.1 -71.1
- 45.3 -69.8
- 48.6 -68.3
- 51.8 -66.5
- 55.0 -64.5
- 58.2 -62.3
- 61.3 -59.8
- 64.4 -57.2
- 67.4 -54.3
- 70.4 -51.2
- 73.3 -47.9
- 76.1 -44.3
- 78.9 -40.6
- 81.6 -36.7
- 84.3 -32.6
- 86.8 -28.3
- 89.3 -23.8
- 91.7 -19.2
- 94.1 -14.4
- 96.3 -9.39
- 98.5 -4.25
- 101. 1.03
- 102. 6.46
- 104. 12.0
- 106. 17.7
- 108. 23.5
- 109. 29.5
- 111. 35.5
- 112. 41.7
- 113. 47.9
- 114. 54.2
- 115. 60.6
- 116. 67.0
- 117. 73.6
- 118. 80.1
- 118. 86.7
- 119. 93.4
- 119. 100.
- 119. 107.
- 119. 113.
- 119. 120.
- 119. 127.
- 119. 133.
- 118. 140.
- 118. 147.
- 117. 153.
- 116. 160.
- 115. 166.
- 114. 173.
- 113. 179.
- 112. 185.
- 111. 191.
- 109. 197.
- 108. 203.
- 106. 209.
- 104. 215.
- 102. 220.
- 101. 226.
- 98.5 231.
- 96.3 236.
- 94.1 241.
- 91.7 246.
- 89.3 251.
- 86.8 255.
- 84.3 259.
- 81.6 264.
- 78.9 267.
- 76.1 271.
- 73.3 275.
- 70.4 278.
- 67.4 281.
- 64.4 284.
- 61.3 287.
- 58.2 289.
- 55.0 291.
- 51.8 293.
- 48.6 295.
- 45.3 297.
- 42.1 298.
- 38.8 299.
- 35.4 300.
- 34.7 300.
-REG_LINE: 53
- 16.2 300.
- 15.4 300.
- 12.1 299.
- 8.76 298.
- 5.47 297.
- 2.22 295.
- -1.01 293.
- -4.21 291.
- -7.36 289.
- -10.5 287.
- -13.5 284.
- -16.6 281.
- -19.5 278.
- -22.4 275.
- -25.3 271.
- -28.1 267.
- -30.8 263.
- -33.4 259.
- -36.0 255.
- -38.5 251.
- -40.9 246.
- -43.2 241.
- -45.4 236.
- -47.6 231.
- -49.6 226.
- -51.6 220.
- -53.5 215.
- -55.2 209.
- -56.9 203.
- -58.4 197.
- -59.9 191.
- -61.2 185.
- -62.4 179.
- -63.5 172.
- -64.5 166.
- -65.4 160.
- -66.2 153.
- -66.8 147.
- -67.3 140.
- -67.8 133.
- -68.1 127.
- -68.2 120.
- -68.3 113.
- -68.2 107.
- -68.0 99.8
- -67.7 93.2
- -67.3 86.5
- -66.8 79.9
- -66.1 73.3
- -65.3 66.8
- -64.4 60.4
- -63.4 54.0
- -62.3 47.7
-REG_LINE: 128
- -77.0 190.
- -78.3 183.
- -79.4 175.
- -80.5 168.
- -81.4 160.
- -82.1 153.
- -82.8 145.
- -83.3 137.
- -83.6 129.
- -83.8 122.
- -83.9 114.
- -83.8 106.
- -83.6 98.1
- -83.3 90.3
- -82.8 82.6
- -82.2 74.9
- -81.4 67.2
- -80.5 59.6
- -79.5 52.0
- -78.3 44.6
- -77.1 37.2
- -75.6 29.9
- -74.1 22.8
- -72.4 15.7
- -70.6 8.81
- -68.7 2.01
- -66.6 -4.64
- -64.4 -11.1
- -62.2 -17.5
- -59.8 -23.7
- -57.3 -29.7
- -54.7 -35.5
- -51.9 -41.1
- -49.1 -46.5
- -46.2 -51.8
- -43.2 -56.8
- -40.2 -61.6
- -37.0 -66.1
- -33.7 -70.5
- -30.4 -74.6
- -27.0 -78.5
- -23.6 -82.1
- -20.0 -85.5
- -16.5 -88.6
- -12.8 -91.5
- -9.15 -94.1
- -5.42 -96.4
- -1.66 -98.5
- 2.14 -100.
- 5.97 -102.
- 9.83 -103.
- 13.7 -104.
- 17.6 -105.
- 21.5 -105.
- 25.4 -105.
- 29.3 -105.
- 33.2 -105.
- 37.1 -104.
- 41.0 -103.
- 44.8 -102.
- 48.7 -100.
- 52.5 -98.5
- 56.2 -96.5
- 60.0 -94.2
- 63.6 -91.6
- 67.3 -88.7
- 70.9 -85.6
- 74.4 -82.2
- 77.8 -78.6
- 81.2 -74.7
- 84.6 -70.6
- 87.8 -66.3
- 91.0 -61.7
- 94.1 -56.9
- 97.1 -51.9
- 100. -46.7
- 103. -41.3
- 105. -35.7
- 108. -29.9
- 111. -23.9
- 113. -17.7
- 115. -11.4
- 117. -4.87
- 120. 1.78
- 121. 8.56
- 123. 15.5
- 125. 22.5
- 127. 29.7
- 128. 37.0
- 129. 44.3
- 130. 51.8
- 131. 59.3
- 132. 66.9
- 133. 74.6
- 134. 82.3
- 134. 90.0
- 135. 97.8
- 135. 106.
- 135. 113.
- 135. 121.
- 135. 129.
- 134. 137.
- 134. 145.
- 133. 152.
- 132. 160.
- 131. 168.
- 130. 175.
- 129. 183.
- 128. 190.
- 127. 197.
- 125. 204.
- 123. 211.
- 121. 218.
- 120. 225.
- 117. 232.
- 115. 238.
- 113. 245.
- 111. 251.
- 108. 257.
- 105. 263.
- 103. 268.
- 100. 274.
- 97.1 279.
- 94.1 284.
- 91.0 289.
- 87.8 293.
- 84.6 298.
- 82.5 300.
-REG_LINE: 40
- -31.6 300.
- -33.7 297.
- -37.0 293.
- -40.2 288.
- -43.2 284.
- -46.2 279.
- -49.1 273.
- -51.9 268.
- -54.7 262.
- -57.3 257.
- -59.8 251.
- -62.2 244.
- -64.4 238.
- -66.6 232.
- -68.7 225.
- -70.6 218.
- -72.4 211.
- -74.1 204.
- -75.6 197.
- -77.1 190.
- -78.3 182.
- -79.5 175.
- -80.5 167.
- -81.4 160.
- -82.2 152.
- -82.8 144.
- -83.3 137.
- -83.6 129.
- -83.8 121.
- -83.9 113.
- -83.8 105.
- -83.6 97.5
- -83.3 89.8
- -82.8 82.0
- -82.1 74.3
- -81.4 66.7
- -80.5 59.0
- -79.4 51.5
- -78.3 44.1
- -77.0 36.7
-REG_LINE: 97
- -91.6 201.
- -93.1 193.
- -94.4 184.
- -95.6 176.
- -96.6 167.
- -97.5 158.
- -98.2 149.
- -98.8 140.
- -99.2 132.
- -99.4 123.
- -99.5 114.
- -99.5 105.
- -99.2 95.9
- -98.8 87.0
- -98.3 78.2
- -97.6 69.3
- -96.7 60.6
- -95.7 51.9
- -94.5 43.3
- -93.2 34.8
- -91.7 26.3
- -90.1 18.0
- -88.3 9.83
- -86.4 1.77
- -84.3 -6.14
- -82.1 -13.9
- -79.8 -21.5
- -77.3 -28.9
- -74.7 -36.2
- -71.9 -43.2
- -69.1 -50.1
- -66.1 -56.7
- -63.0 -63.2
- -59.8 -69.4
- -56.5 -75.3
- -53.1 -81.1
- -49.5 -86.6
- -45.9 -91.8
- -42.2 -96.8
- -38.4 -101.
- -34.5 -106.
- -30.6 -110.
- -26.5 -114.
- -22.5 -117.
- -18.3 -121.
- -14.1 -124.
- -9.84 -126.
- -5.53 -129.
- -1.19 -131.
- 3.19 -133.
- 7.59 -134.
- 12.0 -135.
- 16.5 -136.
- 20.9 -136.
- 25.4 -137.
- 29.9 -136.
- 34.3 -136.
- 38.8 -135.
- 43.2 -134.
- 47.6 -133.
- 52.0 -131.
- 56.3 -129.
- 60.6 -126.
- 64.9 -124.
- 69.1 -121.
- 73.2 -118.
- 77.3 -114.
- 81.4 -110.
- 85.3 -106.
- 89.2 -102.
- 93.0 -96.9
- 96.7 -92.0
- 100. -86.8
- 104. -81.3
- 107. -75.6
- 111. -69.6
- 114. -63.4
- 117. -57.0
- 120. -50.3
- 123. -43.5
- 126. -36.4
- 128. -29.2
- 131. -21.8
- 133. -14.2
- 135. -6.42
- 137. 1.49
- 139. 9.54
- 141. 17.7
- 143. 26.0
- 144. 34.5
- 145. 43.0
- 147. 51.6
- 148. 60.3
- 148. 69.0
- 149. 77.8
- 150. 86.7
- 150. 92.2
-REG_LINE: 23
- 150. 135.
- 150. 140.
- 149. 149.
- 148. 158.
- 148. 167.
- 147. 175.
- 145. 184.
- 144. 192.
- 143. 201.
- 141. 209.
- 139. 217.
- 137. 225.
- 135. 233.
- 133. 241.
- 131. 249.
- 128. 256.
- 126. 263.
- 123. 270.
- 120. 277.
- 117. 284.
- 114. 290.
- 111. 296.
- 109. 300.
-REG_LINE: 35
- -57.7 300.
- -59.8 296.
- -63.0 290.
- -66.1 284.
- -69.1 277.
- -71.9 270.
- -74.7 263.
- -77.3 256.
- -79.8 248.
- -82.1 241.
- -84.3 233.
- -86.4 225.
- -88.3 217.
- -90.1 209.
- -91.7 201.
- -93.2 192.
- -94.5 184.
- -95.7 175.
- -96.7 166.
- -97.6 158.
- -98.3 149.
- -98.8 140.
- -99.2 131.
- -99.5 122.
- -99.5 113.
- -99.4 104.
- -99.2 95.3
- -98.8 86.4
- -98.2 77.5
- -97.5 68.7
- -96.6 60.0
- -95.6 51.3
- -94.4 42.7
- -93.1 34.2
- -91.6 25.7
-REG_LINE: 63
- -100. -13.5
- -98.0 -21.1
- -95.5 -29.8
- -92.9 -38.4
- -90.1 -46.7
- -87.2 -54.9
- -84.1 -62.8
- -80.9 -70.5
- -77.5 -78.0
- -74.1 -85.2
- -70.5 -92.2
- -66.7 -98.9
- -62.9 -105.
- -58.9 -112.
- -54.8 -117.
- -50.7 -123.
- -46.4 -128.
- -42.0 -133.
- -37.6 -138.
- -33.1 -142.
- -28.4 -146.
- -23.8 -150.
- -19.0 -153.
- -14.3 -156.
- -9.41 -159.
- -4.52 -161.
- .403 -163.
- 5.36 -165.
- 10.3 -166.
- 15.3 -167.
- 20.4 -168.
- 25.4 -168.
- 30.4 -168.
- 35.4 -167.
- 40.4 -166.
- 45.4 -165.
- 50.4 -163.
- 55.3 -161.
- 60.2 -159.
- 65.0 -156.
- 69.8 -153.
- 74.5 -150.
- 79.2 -146.
- 83.8 -142.
- 88.4 -138.
- 92.8 -133.
- 97.2 -129.
- 101. -123.
- 106. -118.
- 110. -112.
- 114. -106.
- 118. -99.2
- 121. -92.5
- 125. -85.5
- 128. -78.3
- 132. -70.8
- 135. -63.1
- 138. -55.2
- 141. -47.0
- 144. -38.7
- 146. -30.1
- 149. -21.4
- 150. -17.1
-REG_LINE: 9
- 150. 244.
- 149. 248.
- 146. 257.
- 144. 266.
- 141. 274.
- 138. 282.
- 135. 290.
- 132. 298.
- 131. 300.
-REG_LINE: 9
- -79.7 300.
- -80.9 297.
- -84.1 290.
- -87.2 282.
- -90.1 274.
- -92.9 265.
- -95.5 257.
- -98.0 248.
- -100. 240.
-REG_LINE: 54
- -100. -72.8
- -99.7 -73.6
- -96.3 -82.4
- -92.7 -91.0
- -89.0 -99.3
- -85.1 -107.
- -81.1 -115.
- -77.0 -123.
- -72.7 -130.
- -68.3 -137.
- -63.8 -143.
- -59.1 -149.
- -54.4 -155.
- -49.5 -161.
- -44.6 -166.
- -39.6 -171.
- -34.4 -175.
- -29.2 -179.
- -24.0 -183.
- -18.7 -186.
- -13.3 -189.
- -7.85 -192.
- -2.38 -194.
- 3.13 -196.
- 8.66 -197.
- 14.2 -198.
- 19.8 -199.
- 25.4 -199.
- 30.9 -199.
- 36.5 -198.
- 42.1 -197.
- 47.6 -196.
- 53.1 -194.
- 58.6 -192.
- 64.0 -189.
- 69.4 -186.
- 74.7 -183.
- 80.0 -179.
- 85.2 -175.
- 90.3 -171.
- 95.3 -166.
- 100. -161.
- 105. -155.
- 110. -150.
- 115. -143.
- 119. -137.
- 123. -130.
- 128. -123.
- 132. -115.
- 136. -108.
- 140. -99.6
- 144. -91.3
- 147. -82.7
- 150. -75.3
-REG_LINE: 2
- -99.9 300.
- -100. 300.
-REG_LINE: 13
- -100. -121.
- -96.2 -129.
- -91.8 -138.
- -87.2 -146.
- -82.5 -154.
- -77.7 -162.
- -72.7 -169.
- -67.6 -176.
- -62.4 -182.
- -57.0 -188.
- -51.6 -194.
- -46.1 -199.
- -45.1 -200.
-REG_LINE: 13
- 96.0 -200.
- 96.8 -199.
- 102. -194.
- 108. -188.
- 113. -182.
- 118. -176.
- 123. -169.
- 128. -162.
- 133. -154.
- 138. -146.
- 143. -138.
- 147. -130.
- 150. -123.
-REG_LINE: 6
- -100. -165.
- -97.4 -170.
- -92.3 -178.
- -87.0 -187.
- -81.6 -194.
- -77.4 -200.
-REG_LINE: 6
- 128. -200.
- 132. -195.
- 138. -187.
- 143. -179.
- 148. -170.
- 150. -167.
-REG_LINE: 10
- 40.9 118.
- 24.4 113.
- 7.79 108.
- -8.78 104.
- -25.4 98.9
- -41.9 94.2
- -58.5 89.5
- -75.1 84.8
- -91.7 80.0
- -100. 77.7
-REG_LINE: 12
- 38.0 132.
- 24.6 112.
- 11.2 92.1
- -2.25 72.0
- -15.7 52.0
- -29.1 31.9
- -42.5 11.9
- -55.9 -8.13
- -69.3 -28.2
- -82.7 -48.2
- -96.1 -68.2
- -100. -74.0
-REG_LINE: 13
- 32.0 142.
- 25.0 111.
- 18.0 81.0
- 11.1 50.5
- 4.10 20.1
- -2.86 -10.4
- -9.83 -40.8
- -16.8 -71.3
- -23.8 -102.
- -30.7 -132.
- -37.7 -163.
- -44.7 -193.
- -46.3 -200.
-REG_LINE: 12
- 24.4 145.
- 25.5 111.
- 26.7 77.8
- 27.9 44.4
- 29.1 11.0
- 30.3 -22.4
- 31.5 -55.8
- 32.7 -89.2
- 33.8 -123.
- 35.0 -156.
- 36.2 -189.
- 36.6 -200.
-REG_LINE: 14
- 17.0 140.
- 26.1 112.
- 35.1 83.4
- 44.2 55.2
- 53.2 27.0
- 62.3 -1.14
- 71.3 -29.3
- 80.3 -57.5
- 89.4 -85.7
- 98.4 -114.
- 107. -142.
- 117. -170.
- 126. -198.
- 126. -200.
-REG_LINE: 11
- 11.8 128.
- 26.4 112.
- 41.1 96.3
- 55.8 80.3
- 70.5 64.2
- 85.2 48.2
- 99.9 32.1
- 115. 16.1
- 129. 0.199E-02
- 144. -16.1
- 150. -22.6
-REG_LINE: 10
- 9.84 113.
- 26.6 113.
- 43.3 113.
- 60.1 113.
- 76.8 113.
- 93.5 113.
- 110. 113.
- 127. 113.
- 144. 113.
- 150. 113.
-REG_LINE: 11
- 11.8 98.5
- 26.4 115.
- 41.1 131.
- 55.8 147.
- 70.5 163.
- 85.2 179.
- 99.9 195.
- 115. 211.
- 129. 227.
- 144. 243.
- 150. 250.
-REG_LINE: 9
- 17.0 87.1
- 26.1 115.
- 35.1 143.
- 44.2 172.
- 53.2 200.
- 62.3 228.
- 71.3 256.
- 80.3 284.
- 85.4 300.
-REG_LINE: 8
- 24.4 82.3
- 25.5 116.
- 26.7 149.
- 27.9 182.
- 29.1 216.
- 30.3 249.
- 31.5 283.
- 32.1 300.
-REG_LINE: 9
- 32.0 85.0
- 25.0 115.
- 18.0 146.
- 11.1 176.
- 4.10 207.
- -2.86 237.
- -9.83 268.
- -16.8 298.
- -17.2 300.
-REG_LINE: 12
- 38.0 94.7
- 24.6 115.
- 11.2 135.
- -2.25 155.
- -15.7 175.
- -29.1 195.
- -42.5 215.
- -55.9 235.
- -69.3 255.
- -82.7 275.
- -96.1 295.
- -99.4 300.
-REG_LINE: 10
- 40.9 109.
- 24.4 114.
- 7.79 118.
- -8.78 123.
- -25.4 128.
- -41.9 133.
- -58.5 137.
- -75.1 142.
- -91.7 147.
- -100. 149.
-REG_LINE: 2
- 18.7 134.
- 17.7 133.
-REG_LINE: 2
- 20.4 129.
- 19.4 128.
-REG_LINE: 2
- 22.1 124.
- 21.1 123.
-REG_LINE: 2
- 23.8 119.
- 22.8 117.
-REG_LINE: 2
- 27.2 108.
- 28.2 110.
-REG_LINE: 2
- 28.8 103.
- 29.8 104.
-REG_LINE: 2
- 30.5 97.7
- 31.5 99.1
-REG_LINE: 2
- 32.2 92.4
- 33.2 93.8
-REG_LINE: 2
- 35.6 81.9
- 36.6 83.3
-REG_LINE: 2
- 37.3 76.6
- 38.3 78.1
-REG_LINE: 2
- 39.0 71.4
- 40.0 72.8
-REG_LINE: 2
- 40.7 66.1
- 41.7 67.5
-REG_LINE: 2
- 44.0 55.6
- 45.0 57.0
-REG_LINE: 2
- 45.7 50.3
- 46.7 51.8
-REG_LINE: 2
- 47.4 45.1
- 48.4 46.5
-REG_LINE: 2
- 49.1 39.8
- 50.1 41.2
-REG_LINE: 2
- 52.5 29.3
- 53.5 30.7
-REG_LINE: 2
- 54.2 24.0
- 55.2 25.5
-REG_LINE: 2
- 55.9 18.8
- 56.9 20.2
-REG_LINE: 2
- 57.5 13.5
- 58.6 14.9
-REG_LINE: 2
- 60.9 2.99
- 61.9 4.43
-REG_LINE: 2
- 62.6 -2.26
- 63.6 -.831
-REG_LINE: 2
- 64.3 -7.52
- 65.3 -6.09
-REG_LINE: 2
- 66.0 -12.8
- 67.0 -11.3
-REG_LINE: 2
- 69.4 -23.3
- 70.4 -21.9
-REG_LINE: 2
- 71.1 -28.6
- 72.1 -27.1
-REG_LINE: 2
- 72.7 -33.8
- 73.7 -32.4
-REG_LINE: 2
- 74.4 -39.1
- 75.4 -37.6
-REG_LINE: 2
- 77.8 -49.6
- 78.8 -48.2
-REG_LINE: 2
- 79.5 -54.9
- 80.5 -53.4
-REG_LINE: 2
- 81.2 -60.1
- 82.2 -58.7
-REG_LINE: 2
- 82.9 -65.4
- 83.9 -63.9
-REG_LINE: 2
- 86.3 -75.9
- 87.3 -74.5
-REG_LINE: 2
- 87.9 -81.2
- 88.9 -79.7
-REG_LINE: 2
- 89.6 -86.4
- 90.6 -85.0
-REG_LINE: 2
- 91.3 -91.7
- 92.3 -90.2
-REG_LINE: 2
- 94.7 -102.
- 95.7 -101.
-REG_LINE: 2
- 96.4 -107.
- 97.4 -106.
-REG_LINE: 2
- 98.1 -113.
- 99.1 -111.
-REG_LINE: 2
- 99.8 -118.
- 101. -117.
-REG_LINE: 2
- 103. -128.
- 104. -127.
-REG_LINE: 2
- 105. -134.
- 106. -132.
-REG_LINE: 2
- 107. -139.
- 108. -138.
-REG_LINE: 2
- 108. -144.
- 109. -143.
-REG_LINE: 2
- 112. -155.
- 113. -153.
-REG_LINE: 2
- 113. -160.
- 114. -159.
-REG_LINE: 2
- 115. -165.
- 116. -164.
-REG_LINE: 2
- 117. -171.
- 118. -169.
-REG_LINE: 2
- 120. -181.
- 121. -180.
-REG_LINE: 2
- 122. -186.
- 123. -185.
-REG_LINE: 2
- 123. -192.
- 124. -190.
-REG_LINE: 2
- 125. -197.
- 126. -195.
-REG_LINE: 2
- -80.3 169.
- -81.8 170.
-REG_LINE: 2
- -82.5 148.
- -84.2 148.
-REG_LINE: 2
- -83.7 126.
- -85.5 126.
-REG_LINE: 2
- -83.8 104.
- -85.6 104.
-REG_LINE: 2
- -80.7 61.1
- -82.3 60.3
-REG_LINE: 2
- -77.6 40.2
- -79.0 39.1
-REG_LINE: 2
- -73.4 19.9
- -74.7 18.7
-REG_LINE: 2
- -68.3 .672
- -69.4 -.674
-REG_LINE: 2
- -55.2 -34.3
- -56.0 -35.9
-REG_LINE: 2
- -47.4 -49.7
- -48.1 -51.3
-REG_LINE: 2
- -38.9 -63.4
- -39.5 -65.1
-REG_LINE: 2
- -29.7 -75.4
- -30.2 -77.1
-REG_LINE: 2
- -9.89 -93.6
- -10.2 -95.3
-REG_LINE: 2
- .619 -99.6
- .416 -101.
-REG_LINE: 2
- 11.4 -103.
- 11.3 -105.
-REG_LINE: 2
- 22.3 -105.
- 22.2 -107.
-REG_LINE: 2
- 44.1 -102.
- 44.2 -104.
-REG_LINE: 2
- 54.7 -97.3
- 55.0 -99.1
-REG_LINE: 2
- 65.1 -90.4
- 65.4 -92.2
-REG_LINE: 2
- 75.1 -81.5
- 75.5 -83.2
-REG_LINE: 2
- 93.5 -57.9
- 94.1 -59.5
-REG_LINE: 2
- 102. -43.5
- 102. -45.1
-REG_LINE: 2
- 109. -27.5
- 110. -29.0
-REG_LINE: 2
- 116. -10.1
- 117. -11.5
-REG_LINE: 2
- 126. 28.3
- 128. 27.1
-REG_LINE: 2
- 130. 48.8
- 131. 47.9
-REG_LINE: 2
- 133. 70.0
- 134. 69.3
-REG_LINE: 2
- 134. 91.6
- 136. 91.3
-REG_LINE: 2
- 134. 135.
- 136. 136.
-REG_LINE: 2
- 133. 157.
- 134. 158.
-REG_LINE: 2
- 130. 178.
- 131. 179.
-REG_LINE: 2
- 126. 199.
- 128. 200.
-REG_LINE: 2
- 116. 237.
- 117. 238.
-REG_LINE: 2
- 109. 254.
- 110. 256.
-REG_LINE: 2
- 102. 270.
- 102. 272.
-REG_LINE: 2
- 93.5 285.
- 94.1 286.
-REG_LINE: 2
- -38.9 290.
- -39.5 292.
-REG_LINE: 2
- -47.4 277.
- -48.1 278.
-REG_LINE: 2
- -55.2 261.
- -56.0 263.
-REG_LINE: 2
- -68.3 226.
- -69.4 228.
-REG_LINE: 2
- -73.4 207.
- -74.7 208.
-REG_LINE: 2
- -77.6 187.
- -79.0 188.
-REG_LINE: 2
- -80.7 166.
- -82.3 167.
-REG_LINE: 2
- -83.8 123.
- -85.6 123.
-REG_LINE: 2
- -83.7 101.
- -85.5 100.
-REG_LINE: 2
- -82.5 78.9
- -84.2 78.4
-REG_LINE: 2
- -80.3 57.5
- -81.8 56.7
-REG_LINE: 15
- 25.5 113.
- 24.9 115.
- 24.3 117.
- 23.7 119.
- 23.1 121.
- 22.5 123.
- 21.9 125.
- 21.2 127.
- 20.6 128.
- 20.0 130.
- 19.4 132.
- 18.8 134.
- 18.2 136.
- 17.6 138.
- 17.0 140.
-REG_LINE: 15
- 25.5 113.
- 26.1 112.
- 26.7 110.
- 27.3 108.
- 27.9 106.
- 28.5 104.
- 29.1 102.
- 29.7 100.
- 30.3 98.4
- 30.9 96.5
- 31.5 94.7
- 32.1 92.8
- 32.7 90.9
- 33.3 89.0
- 33.9 87.1
-REG_LINE: 15
- 33.9 87.1
- 34.5 85.3
- 35.1 83.4
- 35.7 81.5
- 36.3 79.6
- 36.9 77.8
- 37.5 75.9
- 38.1 74.0
- 38.7 72.1
- 39.3 70.2
- 39.9 68.4
- 40.5 66.5
- 41.1 64.6
- 41.8 62.7
- 42.4 60.8
-REG_LINE: 15
- 42.4 60.8
- 43.0 59.0
- 43.6 57.1
- 44.2 55.2
- 44.8 53.3
- 45.4 51.5
- 46.0 49.6
- 46.6 47.7
- 47.2 45.8
- 47.8 43.9
- 48.4 42.1
- 49.0 40.2
- 49.6 38.3
- 50.2 36.4
- 50.8 34.5
-REG_LINE: 15
- 50.8 34.5
- 51.4 32.7
- 52.0 30.8
- 52.6 28.9
- 53.2 27.0
- 53.8 25.2
- 54.4 23.3
- 55.0 21.4
- 55.6 19.5
- 56.2 17.6
- 56.8 15.8
- 57.4 13.9
- 58.0 12.0
- 58.6 10.1
- 59.2 8.25
-REG_LINE: 15
- 59.2 8.25
- 59.8 6.38
- 60.4 4.50
- 61.0 2.62
- 61.6 .740
- 62.3 -1.14
- 62.9 -3.02
- 63.5 -4.89
- 64.1 -6.77
- 64.7 -8.65
- 65.3 -10.5
- 65.9 -12.4
- 66.5 -14.3
- 67.1 -16.2
- 67.7 -18.0
-REG_LINE: 15
- 67.7 -18.0
- 68.3 -19.9
- 68.9 -21.8
- 69.5 -23.7
- 70.1 -25.6
- 70.7 -27.4
- 71.3 -29.3
- 71.9 -31.2
- 72.5 -33.1
- 73.1 -34.9
- 73.7 -36.8
- 74.3 -38.7
- 74.9 -40.6
- 75.5 -42.5
- 76.1 -44.3
-REG_LINE: 15
- 76.1 -44.3
- 76.7 -46.2
- 77.3 -48.1
- 77.9 -50.0
- 78.5 -51.9
- 79.1 -53.7
- 79.7 -55.6
- 80.3 -57.5
- 80.9 -59.4
- 81.5 -61.2
- 82.2 -63.1
- 82.8 -65.0
- 83.4 -66.9
- 84.0 -68.8
- 84.6 -70.6
-REG_LINE: 15
- 84.6 -70.6
- 85.2 -72.5
- 85.8 -74.4
- 86.4 -76.3
- 87.0 -78.1
- 87.6 -80.0
- 88.2 -81.9
- 88.8 -83.8
- 89.4 -85.7
- 90.0 -87.5
- 90.6 -89.4
- 91.2 -91.3
- 91.8 -93.2
- 92.4 -95.1
- 93.0 -96.9
-REG_LINE: 15
- 93.0 -96.9
- 93.6 -98.8
- 94.2 -101.
- 94.8 -103.
- 95.4 -104.
- 96.0 -106.
- 96.6 -108.
- 97.2 -110.
- 97.8 -112.
- 98.4 -114.
- 99.0 -116.
- 99.6 -118.
- 100. -119.
- 101. -121.
- 101. -123.
-REG_LINE: 15
- 101. -123.
- 102. -125.
- 103. -127.
- 103. -129.
- 104. -131.
- 104. -133.
- 105. -134.
- 106. -136.
- 106. -138.
- 107. -140.
- 107. -142.
- 108. -144.
- 109. -146.
- 109. -148.
- 110. -150.
-REG_LINE: 15
- 110. -150.
- 110. -151.
- 111. -153.
- 112. -155.
- 112. -157.
- 113. -159.
- 114. -161.
- 114. -163.
- 115. -165.
- 115. -166.
- 116. -168.
- 117. -170.
- 117. -172.
- 118. -174.
- 118. -176.
-REG_LINE: 14
- 118. -176.
- 119. -178.
- 120. -180.
- 120. -181.
- 121. -183.
- 121. -185.
- 122. -187.
- 123. -189.
- 123. -191.
- 124. -193.
- 124. -195.
- 125. -196.
- 126. -198.
- 126. -200.
-REG_LINE: 15
- -82.8 82.6
- -83.3 90.3
- -83.6 98.1
- -83.8 106.
- -83.9 114.
- -83.8 122.
- -83.6 129.
- -83.3 137.
- -82.8 145.
- -82.1 153.
- -81.4 160.
- -80.5 168.
- -79.4 175.
- -78.3 183.
- -77.0 190.
-REG_LINE: 15
- -82.8 82.6
- -82.2 74.9
- -81.4 67.2
- -80.5 59.6
- -79.5 52.0
- -78.3 44.6
- -77.1 37.2
- -75.6 29.9
- -74.1 22.8
- -72.4 15.7
- -70.6 8.81
- -68.7 2.01
- -66.6 -4.64
- -64.4 -11.1
- -62.2 -17.5
-REG_LINE: 15
- -62.2 -17.5
- -59.8 -23.7
- -57.3 -29.7
- -54.7 -35.5
- -51.9 -41.1
- -49.1 -46.5
- -46.2 -51.8
- -43.2 -56.8
- -40.2 -61.6
- -37.0 -66.1
- -33.7 -70.5
- -30.4 -74.6
- -27.0 -78.5
- -23.6 -82.1
- -20.0 -85.5
-REG_LINE: 15
- -20.0 -85.5
- -16.5 -88.6
- -12.8 -91.5
- -9.15 -94.1
- -5.42 -96.4
- -1.66 -98.5
- 2.14 -100.
- 5.97 -102.
- 9.83 -103.
- 13.7 -104.
- 17.6 -105.
- 21.5 -105.
- 25.4 -105.
- 29.3 -105.
- 33.2 -105.
-REG_LINE: 15
- 33.2 -105.
- 37.1 -104.
- 41.0 -103.
- 44.8 -102.
- 48.7 -100.
- 52.5 -98.5
- 56.2 -96.5
- 60.0 -94.2
- 63.6 -91.6
- 67.3 -88.7
- 70.9 -85.6
- 74.4 -82.2
- 77.8 -78.6
- 81.2 -74.7
- 84.6 -70.6
-REG_LINE: 15
- 84.6 -70.6
- 87.8 -66.3
- 91.0 -61.7
- 94.1 -56.9
- 97.1 -51.9
- 100. -46.7
- 103. -41.3
- 105. -35.7
- 108. -29.9
- 111. -23.9
- 113. -17.7
- 115. -11.4
- 117. -4.87
- 120. 1.78
- 121. 8.56
-REG_LINE: 15
- 121. 8.56
- 123. 15.5
- 125. 22.5
- 127. 29.7
- 128. 37.0
- 129. 44.3
- 130. 51.8
- 131. 59.3
- 132. 66.9
- 133. 74.6
- 134. 82.3
- 134. 90.0
- 135. 97.8
- 135. 106.
- 135. 113.
-REG_LINE: 15
- 135. 113.
- 135. 121.
- 135. 129.
- 134. 137.
- 134. 145.
- 133. 152.
- 132. 160.
- 131. 168.
- 130. 175.
- 129. 183.
- 128. 190.
- 127. 197.
- 125. 204.
- 123. 211.
- 121. 218.
-REG_LINE: 15
- 121. 218.
- 120. 225.
- 117. 232.
- 115. 238.
- 113. 245.
- 111. 251.
- 108. 257.
- 105. 263.
- 103. 268.
- 100. 274.
- 97.1 279.
- 94.1 284.
- 91.0 289.
- 87.8 293.
- 84.6 298.
-REG_LINE: 2
- 84.6 298.
- 82.5 300.
-REG_LINE: 12
- -31.6 300.
- -33.7 297.
- -37.0 293.
- -40.2 288.
- -43.2 284.
- -46.2 279.
- -49.1 273.
- -51.9 268.
- -54.7 262.
- -57.3 257.
- -59.8 251.
- -62.2 244.
-REG_LINE: 15
- -62.2 244.
- -64.4 238.
- -66.6 232.
- -68.7 225.
- -70.6 218.
- -72.4 211.
- -74.1 204.
- -75.6 197.
- -77.1 190.
- -78.3 182.
- -79.5 175.
- -80.5 167.
- -81.4 160.
- -82.2 152.
- -82.8 144.
-REG_LINE: 15
- -82.8 144.
- -83.3 137.
- -83.6 129.
- -83.8 121.
- -83.9 113.
- -83.8 105.
- -83.6 97.5
- -83.3 89.8
- -82.8 82.0
- -82.1 74.3
- -81.4 66.7
- -80.5 59.0
- -79.4 51.5
- -78.3 44.1
- -77.0 36.7
-REG_LINE: 15
- -82.8 144.
- -83.3 137.
- -83.6 129.
- -83.8 121.
- -83.9 113.
- -83.8 105.
- -83.6 97.5
- -83.3 89.8
- -82.8 82.0
- -82.1 74.3
- -81.4 66.7
- -80.5 59.0
- -79.4 51.5
- -78.3 44.1
- -77.0 36.7
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0.0'
- 27.8 114. BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '50.0'
- 36.3 87.9 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '100.0'
- 44.7 61.6 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '150.0'
- 53.2 35.3 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '200.0'
- 61.6 9.02 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '250.0'
- 70.1 -17.3 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '300.0'
- 78.5 -43.6 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '350.0'
- 86.9 -69.9 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '400.0'
- 95.4 -96.2 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '450.0'
- 104. -122. BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '500.0'
- 112. -149. BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '550.0'
- 121. -175. BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-3.0'
- -80.3 82.7 BC .997 0.724E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-2.5'
- -59.8 -16.6 BC .936 .352
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-2.0'
- -18.4 -83.6 BC .673 .740
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-1.5'
-Symbol = "p1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 2" # Axis Label
- Symbol = "p2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- InvB = 1 # Second Mapping used in inverse direction
- MapA = # First component Mapping
- Begin MathMap # Transformation using mathematical functions
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Fwd1 = "r=sqrt(x*x+y*y)" # Forward function 1
- Fwd2 = "theta=atan2(y,x)" # Forward function 2
- Inv1 = "x=r*cos(theta)" # Inverse function 1
- Inv2 = "y=r*sin(theta)" # Inverse function 2
- SimpFI = 1 # Forward-inverse pairs may simplify
- SimpIF = 1 # Inverse-forward pairs may simplify
- End MathMap
- MapB = # Second component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -101.5 # Shift for axis 1
- Sft2 = -201.5 # Shift for axis 2
- End WinMap
- End CmpMap
- End FrameSet
- Begin FrameSet # Set of inter-related coordinate systems
-# Title = "FK5 equatorial coordinates; mean equinox J2000.0; gnomonic projection" # Title of coordinate system
-# Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
-# Epoch = 1977.77512999212 # Besselian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# System = "FK5" # Coordinate system type
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
-# Bot2 = -1.5707963267949 # Lowest legal axis value
-# Top2 = 1.5707963267949 # Highest legal axis value
- IsA Frame # Coordinate system description
- Nframe = 2 # Number of Frames in FrameSet
- Base = 1 # Index of base Frame
- Currnt = 2 # Index of current Frame
- Lnk2 = 1 # Node 2 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame # Coordinate system description
- Title = "Pixel Coordinates" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Pixel axis 1" # Label for axis 1
-# Lbl2 = "Pixel axis 2" # Label for axis 2
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Pixel axis 1" # Axis Label
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Pixel axis 2" # Axis Label
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin SkyFrame # Description of celestial coordinate system
- Ident = " " # Permanent Object identification string
- IsA Object # AST Object
-# Title = "FK5 equatorial coordinates; mean equinox J2000.0; gnomonic projection" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
- Epoch = 1977.77512999212 # Besselian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
- System = "FK5" # Coordinate system type
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
-# Bot2 = -1.5707963267949 # Lowest legal axis value
-# Top2 = 1.5707963267949 # Highest legal axis value
- Ax1 = # Axis number 1
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- Ax2 = # Axis number 2
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- IsA Frame # Coordinate system description
- Proj = "gnomonic" # Description of sky projection
- Eqnox = 2000 # Julian epoch of mean equinox
- SRefIs = "Ignored" # Not rotated (ref. pos. is ignored)
- SRef1 = 0 # Ref. pos. RA 0:00:00.0
- SRef2 = -1.57079633000002 # Ref. pos. Dec -90:00:00
- End SkyFrame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -893.6318379289 # Shift for axis 1
- Sft2 = -223.8380193875 # Shift for axis 2
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -3.25441534352674e-06 # Forward matrix value
- M1 = -1.60367292352974e-08 # Forward matrix value
- M2 = -1.812057487023e-08 # Forward matrix value
- M3 = 3.25725533992408e-06 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 2 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "TAN" # Gnomonic projection
- End WcsMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 0 # Polar longit 32.8 -102. BC -.145 .989
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-0.5'
- 119. 9.22 BC -.965 .262
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0.0'
- 132. 113. BC -1.00 0.125E-02
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0.5'
- 119. 218. TC .964 .265
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '1.0'
- 82.6 296. TC .787 .617
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '2.5'
- -59.8 243. TC -.936 .352
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '3.0'
- -80.3 144. TC -.997 0.724E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 1
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: ' A FITS test'
- 31.0 313. BC .000 1.00
-
-
-
-
- FITS test number 3
- ====================
-
-
-
-AST_SHOW:
-
-REG_SINK:
-SIMPLE = T / file does conform to FITS standard
-BITPIX = 16 / number of bits per data pixel
-NAXIS = 2 / number of data axes
-NAXIS1 = 1787 / length of data axis 1
-NAXIS2 = 447 / length of data axis 2
-EXTEND = T / FITS dataset may contain extensions
-COMMENT FITS (Flexible Image Transport System) format defined in Astronomy and
-COMMENT Astrophysics Supplement Series v44/p363, v44/p371, v73/p359, v73/p365.
-COMMENT Contact the NASA Science Office of Standards and Technology for the
-COMMENT FITS Definition document #100 and other FITS information.
-PLATENUM= '3665 ' / Plate number
-EMULSION= 'IIIaJ ' / Kodak emulsion type
-FILTER = 'GG395 ' / Schott glass filter type
-PLTSCALE= '67.14 ' / [arcsec/mm] plate scale
-FIELDNUM= '1 ' / Sky survey field number
-TELESCOP= 'UKST ' / Telescope on which the plate was taken
-TELETYPE= 'SCHM ' / Type of telescope
-SITELAT = -0.5458410576565 / [radians] latitude of telescope
-SITELONG= 2.601766194458 / [radians] longitude of telescope
-LST = '00:20 ' / [hh:mm] local sidereal time at start of obs
-INSTRUME= 'SuperCOSMOS I' / Measuring machine
-DATE-MES= '2000-11-04' / [yyyy-mm-dd] Date of this plate measurement
-NHKLINES= 146 / Number of lines from house-keeping file
-HKLIN001= 'JOB.JOBNO UKJ001'
-HKLIN002= 'JOB.DATE-MES 2000:11:04'
-HKLIN003= 'JOB.TIME 12:51:09'
-HKLIN004= 'JOB.INSTRUME SuperCOSMOS I'
-HKLIN005= 'JOB.ORIGIN Royal Observatory Edinburgh'
-HKLIN006= 'JOB.SOFTWARE /home/scosdev/v033'
-HKLIN007= 'JOB.OPERATOR ebt'
-HKLIN008= 'JOB.USER htm'
-HKLIN009= 'JOB.USERREF NONE'
-HKLIN010= 'JOB.UORIGIN ROE'
-HKLIN011= 'JOB.UCOUNTRY uk'
-HKLIN012= 'JOB.COMMENT Digital catalogue of the Sky'
-HKLIN013= 'JOB.IAM_FILE iam.srt'/ / ' /
-HKLIN014= 'PLATE.TELESCOP UKST'
-HKLIN015= 'PLATE.TELTYPE SCHM'
-HKLIN016= 'PLATE.PLATE 3665'
-HKLIN017= 'PLATE.MATERIAL 3mm glass'
-HKLIN018= 'PLATE.EMULSION IIIaJ'
-HKLIN019= 'PLATE.FILTER GG395'
-HKLIN020= 'PLATE.PSCALE 67.14'
-HKLIN021= 'PLATE.FIELD 1'
-HKLIN022= 'PLATE.RA_PNT 0'
-HKLIN023= 'PLATE.DEC_PNT -90'
-HKLIN024= 'PLATE.RADECSYS FK4'
-HKLIN025= 'PLATE.EQUINOX 1950'
-HKLIN026= 'PLATE.TIMESYS BESSELIAN'
-HKLIN027= 'PLATE.EPOCH 1977.78'/ / ' /
-HKLIN028= 'PLATE.EXPOSURE 75'
-HKLIN029= 'PLATE.UTDATE 771011'
-HKLIN030= 'PLATE.LST 0020'
-HKLIN031= 'PLATE.MJD 43426.573008796'
-HKLIN032= 'PLATE.TELLAT -0.54584105765654'
-HKLIN033= 'PLATE.TELLONG 2.6017661944583'
-HKLIN034= 'PLATE.TELHT 1145'
-HKLIN035= 'PLATE.TEMP 273.155'/ / ' /
-HKLIN036= 'PLATE.ATMOSP 1013.25'/ / ' /
-HKLIN037= 'PLATE.HUMID 0.5'
-HKLIN038= 'PLATE.WAVE 4500'
-HKLIN039= 'PLATE.TROPL 0.0065'
-HKLIN040= 'CALIBRATION.CALTYPE SPLINE'
-HKLIN041= 'CALIBRATION.STEPWEDG KPNO'
-HKLIN042= 'CALIBRATION.NSTEPS 8'
-HKLIN043= 'MEASUREMENT.ORIENTAT news'
-HKLIN044= 'MEASUREMENT.EMULPOS UP'
-HKLIN045= 'MEASUREMENT.SCANFILT 14'
-HKLIN046= 'MEASUREMENT.SOSP 552'
-HKLIN047= 'MEASUREMENT.STEPSIZE 10'
-HKLIN048= 'MEASUREMENT.SCANLEN 1152'
-HKLIN049= 'MEASUREMENT.A-XMIN 1622000'/ / ' /
-HKLIN050= 'MEASUREMENT.A-YMIN 1622000'/ / ' /
-HKLIN051= 'MEASUREMENT.A-XMAX 33878000'
-HKLIN052= 'MEASUREMENT.A-YMAX 33878000'
-HKLIN053= 'MEASUREMENT.X_PNT 17500000'
-HKLIN054= 'MEASUREMENT.Y_PNT 18000000'
-HKLIN055= 'ANALYSIS.NPARAMS 32'
-HKLIN056= 'ANALYSIS.AREACUT 8'
-HKLIN057= 'ANALYSIS.AP-PARAM 1.07'
-HKLIN058= 'DEBLEND.DB-PARAM 1.05'
-HKLIN059= 'DEBLEND.DB-AMIN 16'
-HKLIN060= 'DEBLEND.DB-AMAX 100000'
-HKLIN061= 'DEBLEND.DB-ACUT 8'
-HKLIN062= 'DEBLEND.DB-LEVEL 16'
-HKLIN063= 'DEBLEND.SELECT PARENT+CHILD'
-HKLIN064= 'SKY.SKYSQUAR 64'
-HKLIN065= 'SKY.SKYDEFN MEDIAN'
-HKLIN066= 'SKY.SKYFILTR bdkjunk'/ / ' /
-HKLIN067= 'SKY.F-THRESH 8'
-HKLIN068= 'SKY.F-SCLEN 4'
-HKLIN069= 'THRESHOLDING.PCUT 10'
-HKLIN070= 'IAMQC.AREAMIN 8'
-HKLIN071= 'IAMQC.AREAMAX 77346'
-HKLIN072= 'IAMQC.MINMAG -30515'
-HKLIN073= 'IAMQC.MAXMAG -17954'
-HKLIN074= 'IAMQC.MINELL 0.0004156232'
-HKLIN075= 'IAMQC.MAXELL 1'
-HKLIN076= 'IAMQC.MODELL 0.14'
-HKLIN077= 'IAMQC.MODOR 91'
-HKLIN078= 'IAMQC.MIDELL 0.21'
-HKLIN079= 'IAMQC.MIDOR 93'
-HKLIN080= 'IAMQC.MEANELL 0.2467037'
-HKLIN081= 'IAMQC.MEANOR 91.63474'
-HKLIN082= 'IAMQC.NUMOBJ 556985'
-HKLIN083= 'IAMQC.PARENTS 486656'
-HKLIN084= 'IAMQC.RANGING TRUE'
-HKLIN085= 'IAMQC.LANE_1 15571'
-HKLIN086= 'IAMQC.LANE_2 33207'
-HKLIN087= 'IAMQC.LANE_3 51478'
-HKLIN088= 'IAMQC.LANE_4 69944'
-HKLIN089= 'IAMQC.LANE_5 89236'
-HKLIN090= 'IAMQC.LANE_6 108416'
-HKLIN091= 'IAMQC.LANE_7 127481'
-HKLIN092= 'IAMQC.LANE_8 146699'
-HKLIN093= 'IAMQC.LANE_9 166380'
-HKLIN094= 'IAMQC.LANE_10 186126'
-HKLIN095= 'IAMQC.LANE_11 205946'
-HKLIN096= 'IAMQC.LANE_12 225915'
-HKLIN097= 'IAMQC.LANE_13 245926'
-HKLIN098= 'IAMQC.LANE_14 266574'
-HKLIN099= 'IAMQC.LANE_15 287150'
-HKLIN100= 'IAMQC.LANE_16 308087'
-HKLIN101= 'IAMQC.LANE_17 328830'
-HKLIN102= 'IAMQC.LANE_18 350253'
-HKLIN103= 'IAMQC.LANE_19 370738'
-HKLIN104= 'IAMQC.LANE_20 391722'
-HKLIN105= 'IAMQC.LANE_21 412801'
-HKLIN106= 'IAMQC.LANE_22 433795'
-HKLIN107= 'IAMQC.LANE_23 454383'
-HKLIN108= 'IAMQC.LANE_24 474711'
-HKLIN109= 'IAMQC.LANE_25 495108'
-HKLIN110= 'IAMQC.LANE_26 515755'
-HKLIN111= 'IAMQC.LANE_27 536499'
-HKLIN112= 'IAMQC.LANE_28 556985'
-HKLIN113= 'XYTORADEC.STARCAT /sdata/scos/refcats/tycho2.FIT'
-HKLIN114= 'XYTORADEC.BRIGHTLIM 9'
-HKLIN115= 'XYTORADEC.C-EQUIN 2000'
-HKLIN116= 'XYTORADEC.C-EQTSYS JULIAN'
-HKLIN117= 'XYTORADEC.C-EPOCH 2000'
-HKLIN118= 'XYTORADEC.C-EPTSYS JULIAN'
-HKLIN119= 'XYTORADEC.R-EQUIN 2000'
-HKLIN120= 'XYTORADEC.R-TSYS JULIAN'
-HKLIN121= 'XYTORADEC.MAXITER 5000'
-HKLIN122= 'XYTORADEC.RCRITINI 500000'
-HKLIN123= 'XYTORADEC.RCRITABS 50000'
-HKLIN124= 'XYTORADEC.RCRITREL 1'
-HKLIN125= 'XYTORADEC.RCRITFIN 3'
-HKLIN126= 'XYTORADEC.HARDCOPY /scos1/scos/UKJ001/UKJ001.ps'
-HKLIN127= 'XYTORADEC.REFSMULT 5'
-HKLIN128= 'XYTORADEC.RESDMULT 1000'
-HKLIN129= 'XYTORADEC.RACOL RA'
-HKLIN130= 'XYTORADEC.DECOL DEC'
-HKLIN131= 'XYTORADEC.RAPMCOL PMRA'
-HKLIN132= 'XYTORADEC.DECPMCOL PMDE'
-HKLIN133= 'XYTORADEC.PLXCOL NONE'
-HKLIN134= 'XYTORADEC.RVCOL NONE'
-HKLIN135= 'XYTORADEC.MAGCOL VT'
-HKLIN136= 'XYTORADEC.STARSC 2374'
-HKLIN137= 'XYTORADEC.STARSU 1727'
-HKLIN138= 'XYTORADEC.COEFFS_1 17.640343856524'
-HKLIN139= 'XYTORADEC.COEFFS_2 -260.44151995641'
-HKLIN140= 'XYTORADEC.COEFFS_3 -163.09155572601'
-HKLIN141= 'XYTORADEC.COEFFS_4 17.504230442205'
-HKLIN142= 'XYTORADEC.COEFFS_5 -163.08676953832'
-HKLIN143= 'XYTORADEC.COEFFS_6 260.48817907668'
-HKLIN144= 'XYTORADEC.DISTR -0.33333333333333'
-HKLIN145= 'XYTORADEC.RA_PNT 0.54924996662137'
-HKLIN146= 'XYTORADEC.DEC_PNT -1.5684931501781'
-HISTORY = 'SuperCOSMOS image analysis and mapping mode (IAM and MM)' /
-HISTORY = 'data written by xydcomp_ss.' /
-HISTORY = 'Any questions/comments/suggestions/bug reports should be sent' /
-HISTORY = 'to N.Hambly@roe.ac.uk' /
-ASTSIGX = 0.37 / [arcsec] std. dev. of astrometric fit in X
-ASTSIGY = 0.38 / [arcsec] std. dev. of astrometric fit in Y
-PC001001= 1.0 / DEPRECATED - Axis rotation matrix
-PC001002= 0.004927623810613 / DEPRECATED - Axis rotation matrix
-PC002001= -0.005563056187788 / DEPRECATED - Axis rotation matrix
-PC002002= 1.0 / DEPRECATED - Axis rotation matrix
-CROTA2 = 0.3005532298491 / DEPRECATED - rotation of axis 2
-DATATYPE= 'INTEGER*2' / Type of data
-DATUNITS= 'DENSITY ' / Units: transmission, density or intensity
-XPIXELSZ= 9.997114974 / [microns] X pixel size
-YPIXELSZ= 10.0 / [microns] Y pixel size
-OBJCTRA = ' 0 0 0.000' / Centre Right Ascension (J2000)
-OBJCTDEC= '-90 0 0.00' / Centre Declination (J2000)
-OBJCTX = 16368.63183793 / [pixels] Centre X on plate
-OBJCTY = 14740.83801939 / [pixels] Centre Y on plate
-
-Objects written: 1
-
-Native Encoding:
-
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AST
-COMMENT AST WCS information in AST format AST
-COMMENT AST See http://www.starlink.ac.uk/ast/ AST
-COMMENT AST Beginning of AST data for FrameSet object AST
-COMMENT AST ................................................................ AST
-BEGAST_A= 'FrameSet' / Set of inter-related coordinate systems
-NFRAME_A= 2 / Number of Frames in FrameSet
-BASE_A = 1 / Index of base Frame
-CURRNT_A= 2 / Index of current Frame
-LNK2_A = 1 / Node 2 is derived from node 1
-FRM1_A = ' ' / Frame number 1
-BEGAST_B= 'Frame ' / Coordinate system description
-TITLE_A = 'Pixel Coordinates' / Title of coordinate system
-NAXES_A = 2 / Number of coordinate axes
-DOMAIN_A= 'GRID ' / Coordinate system domain
-AX1_A = ' ' / Axis number 1
-BEGAST_C= 'Axis ' / Coordinate axis
-LABEL_A = 'Pixel axis 1' / Axis Label
-ENDAST_A= 'Axis ' / End of object definition
-AX2_A = ' ' / Axis number 2
-BEGAST_D= 'Axis ' / Coordinate axis
-LABEL_B = 'Pixel axis 2' / Axis Label
-ENDAST_B= 'Axis ' / End of object definition
-ENDAST_C= 'Frame ' / End of object definition
-FRM2_A = ' ' / Frame number 2
-BEGAST_E= 'SkyFrame' / Description of celestial coordinate system
-IDENT_A = '" " ' / Permanent Object identification string
-ISA_A = 'Object ' / AST Object
-NAXES_B = 2 / Number of coordinate axes
-EPOCH_A = 1977.77512999212 / Besselian epoch of observation
-SYSTEM_A= 'FK5 ' / Coordinate system type
-AX1_B = ' ' / Axis number 1
-BEGAST_F= 'SkyAxis ' / Celestial coordinate axis
-ENDAST_D= 'SkyAxis ' / End of object definition
-AX2_B = ' ' / Axis number 2
-BEGAST_G= 'SkyAxis ' / Celestial coordinate axis
-ENDAST_E= 'SkyAxis ' / End of object definition
-ISA_B = 'Frame ' / Coordinate system description
-PROJ_A = 'gnomonic' / Description of sky projection
-EQNOX_A = 2000.0 / Julian epoch of mean equinox
-SREFIS_A= 'Ignored ' / Not rotated (ref. pos. is ignored)
-SREF1_A = 0.0 / Ref. pos. RA 0:00:00.0
-SREF2_A = -1.57079633 / Ref. pos. Dec -90:00:00
-ENDAST_F= 'SkyFrame' / End of object definition
-MAP2_A = ' ' / Mapping between nodes 1 and 2
-BEGAST_H= 'CmpMap ' / Compound Mapping
-NIN_A = 2 / Number of input coordinates
-ISSIMP_A= 1 / Mapping has been simplified
-ISA_C = 'Mapping ' / Mapping between coordinate systems
-MAPA_A = ' ' / First component Mapping
-BEGAST_I= 'WinMap ' / Map one window on to another
-NIN_B = 2 / Number of input coordinates
-INVERT_A= 0 / Mapping not inverted
-ISA_D = 'Mapping ' / Mapping between coordinate systems
-SFT1_A = -893.6318379289 / Shift for axis 1
-SFT2_A = -223.8380193875 / Shift for axis 2
-ENDAST_G= 'WinMap ' / End of object definition
-MAPB_A = ' ' / Second component Mapping
-BEGAST_J= 'CmpMap ' / Compound Mapping
-NIN_C = 2 / Number of input coordinates
-ISA_E = 'Mapping ' / Mapping between coordinate systems
-MAPA_B = ' ' / First component Mapping
-BEGAST_K= 'MatrixMap' / Matrix transformation
-NIN_D = 2 / Number of input coordinates
-INVERT_B= 0 / Mapping not inverted
-ISA_F = 'Mapping ' / Mapping between coordinate systems
-M0_A = -3.25441534352674E-6/ Forward matrix value
-M1_A = -1.60367292352974E-8/ Forward matrix value
-M2_A = -1.812057487023E-8 / Forward matrix value
-M3_A = 3.25725533992408E-6 / Forward matrix value
-FORM_A = 'Full ' / Matrix storage form
-ENDAST_H= 'MatrixMap' / End of object definition
-MAPB_B = ' ' / Second component Mapping
-BEGAST_L= 'CmpMap ' / Compound Mapping
-NIN_E = 2 / Number of input coordinates
-ISA_G = 'Mapping ' / Mapping between coordinate systems
-INVA_A = 1 / First Mapping used in inverse direction
-MAPA_C = ' ' / First component Mapping
-BEGAST_M= 'WcsMap ' / FITS-WCS sky projection
-NIN_F = 2 / Number of input coordinates
-INVERT_C= 1 / Mapping inverted
-ISA_H = 'Mapping ' / Mapping between coordinate systems
-TYPE_A = 'TAN ' / Gnomonic projection
-ENDAST_I= 'WcsMap ' / End of object definition
-MAPB_C = ' ' / Second component Mapping
-BEGAST_N= 'CmpMap ' / Compound Mapping
-NIN_G = 2 / Number of input coordinates
-ISA_I = 'Mapping ' / Mapping between coordinate systems
-INVA_B = 1 / First Mapping used in inverse direction
-MAPA_D = ' ' / First component Mapping
-BEGAST_O= 'SphMap ' / Cartesian to Spherical mapping
-NIN_H = 3 / Number of input coordinates
-NOUT_A = 2 / Number of output coordinates
-INVERT_D= 1 / Mapping inverted
-ISA_J = 'Mapping ' / Mapping between coordinate systems
-UNTRD_A = 1 / All input vectors have unit length
-PLRLG_A = 0.0 / Polar longitude (rad.s)
-ENDAST_J= 'SphMap ' / End of object definition
-MAPB_D = ' ' / Second component Mapping
-BEGAST_P= 'CmpMap ' / Compound Mapping
-NIN_I = 3 / Number of input coordinates
-NOUT_B = 2 / Number of output coordinates
-ISA_K = 'Mapping ' / Mapping between coordinate systems
-MAPA_E = ' ' / First component Mapping
-BEGAST_Q= 'MatrixMap' / Matrix transformation
-NIN_J = 3 / Number of input coordinates
-INVERT_E= 0 / Mapping not inverted
-ISA_L = 'Mapping ' / Mapping between coordinate systems
-M0_B = -1.0 / Forward matrix value
-M1_B = 1.0 / Forward matrix value
-M2_B = -1.0 / Forward matrix value
-FORM_B = 'Diagonal' / Matrix storage form
-ENDAST_K= 'MatrixMap' / End of object definition
-MAPB_E = ' ' / Second component Mapping
-BEGAST_R= 'SphMap ' / Cartesian to Spherical mapping
-NIN_K = 3 / Number of input coordinates
-NOUT_C = 2 / Number of output coordinates
-INVERT_F= 0 / Mapping not inverted
-ISA_M = 'Mapping ' / Mapping between coordinate systems
-UNTRD_B = 1 / All input vectors have unit length
-PLRLG_B = 0.0 / Polar longitude (rad.s)
-ENDAST_L= 'SphMap ' / End of object definition
-ENDAST_M= 'CmpMap ' / End of object definition
-ENDAST_N= 'CmpMap ' / End of object definition
-ENDAST_O= 'CmpMap ' / End of object definition
-ENDAST_P= 'CmpMap ' / End of object definition
-ENDAST_Q= 'CmpMap ' / End of object definition
-ENDAST_R= 'FrameSet' / End of object definition
-COMMENT AST ................................................................ AST
-COMMENT AST End of AST data for FrameSet object AST
-COMMENT AST ---------------------------------------------------------------- AST
-
-ATTRIBUTES:
- Colour(axis1) : 1
- Font(Stri) : 1
- Nout : 1
- Class : 4
- Tol : 0.100000E-01
- Gap(1) : .523599
- Border : 0
- Invert : 0
- TextLabGap : 0.100000E-01
- Nin : 2
- Current : 3
- Base : 1
- Nobject : 1
- RefCOUNT : 1
-
-AST_GRID:
-REG_LINE: 2
- 15.5 -136.
- 15.4 -137.
-REG_LINE: 2
- 18.6 -144.
- 18.5 -146.
-REG_LINE: 2
- 21.8 -149.
- 21.8 -151.
-REG_LINE: 2
- 25.1 -150.
- 25.1 -154.
-REG_LINE: 2
- 28.3 -149.
- 28.4 -150.
-REG_LINE: 2
- 31.5 -143.
- 31.6 -145.
-REG_LINE: 2
- 34.6 -135.
- 34.7 -136.
-REG_LINE: 2
- 37.6 -123.
- 37.8 -127.
-REG_LINE: 2
- 40.3 -108.
- 40.4 -110.
-REG_LINE: 2
- 42.7 -91.0
- 42.9 -92.7
-REG_LINE: 2
- 44.9 -71.2
- 45.2 -72.9
-REG_LINE: 2
- 46.7 -49.3
- 47.5 -53.0
-REG_LINE: 2
- 48.1 -25.8
- 48.6 -27.4
-REG_LINE: 2
- 49.2 -.928
- 49.9 -2.51
-REG_LINE: 2
- 49.8 24.8
- 51.0 23.5
-REG_LINE: 2
- 50.0 50.9
- 53.7 51.1
-REG_LINE: 2
- 49.7 77.1
- 50.9 78.4
-REG_LINE: 2
- 49.1 103.
- 49.8 104.
-REG_LINE: 2
- 48.0 127.
- 48.5 129.
-REG_LINE: 2
- 46.6 151.
- 47.3 155.
-REG_LINE: 2
- 44.7 173.
- 45.0 174.
-REG_LINE: 2
- 42.6 192.
- 42.8 194.
-REG_LINE: 2
- 40.1 209.
- 40.2 211.
-REG_LINE: 2
- 37.4 224.
- 37.6 228.
-REG_LINE: 2
- 34.4 235.
- 34.5 237.
-REG_LINE: 2
- 31.3 244.
- 31.4 245.
-REG_LINE: 2
- 28.1 248.
- 28.1 250.
-REG_LINE: 2
- 24.8 250.
- 24.8 254.
-REG_LINE: 2
- 21.6 248.
- 21.5 250.
-REG_LINE: 2
- 18.4 243.
- 18.3 245.
-REG_LINE: 2
- 15.3 234.
- 15.2 236.
-REG_LINE: 2
- 12.3 223.
- 12.1 226.
-REG_LINE: 2
- 9.62 208.
- 9.45 210.
-REG_LINE: 2
- 7.17 191.
- 6.95 192.
-REG_LINE: 2
- 5.02 171.
- 4.74 173.
-REG_LINE: 2
- 3.22 149.
- 2.41 153.
-REG_LINE: 2
- 1.78 125.
- 1.27 127.
-REG_LINE: 2
- .747 101.
- -0.657E-02 102.
-REG_LINE: 2
- .124 74.8
- -1.11 76.1
-REG_LINE: 2
- -0.740E-01 48.7
- -3.82 48.5
-REG_LINE: 2
- .156 22.6
- -1.02 21.3
-REG_LINE: 2
- .811 -3.08
- 0.841E-01 -4.67
-REG_LINE: 2
- 1.88 -27.8
- 1.38 -29.5
-REG_LINE: 2
- 3.34 -51.3
- 2.56 -54.9
-REG_LINE: 2
- 5.17 -73.0
- 4.89 -74.7
-REG_LINE: 2
- 7.34 -92.6
- 7.13 -94.3
-REG_LINE: 2
- 9.81 -110.
- 9.65 -111.
-REG_LINE: 2
- 12.5 -124.
- 12.3 -128.
-REG_LINE: 2
- 15.5 -136.
- 15.4 -137.
-REG_LINE: 2
- 18.6 -144.
- 18.5 -146.
-REG_LINE: 2
- 21.8 -149.
- 21.8 -151.
-REG_LINE: 2
- 25.1 -150.
- 25.1 -154.
-REG_LINE: 2
- 28.3 -149.
- 28.4 -150.
-REG_LINE: 2
- 31.5 -143.
- 31.6 -145.
-REG_LINE: 2
- 34.6 -135.
- 34.7 -136.
-REG_LINE: 2
- 24.9 74.8
- 26.5 75.6
-REG_LINE: 2
- 24.9 99.9
- 26.5 101.
-REG_LINE: 2
- 24.9 125.
- 26.5 126.
-REG_LINE: 2
- 24.9 150.
- 28.3 152.
-REG_LINE: 2
- 24.9 175.
- 26.5 176.
-REG_LINE: 2
- 24.9 200.
- 26.4 201.
-REG_LINE: 2
- 24.8 225.
- 26.4 226.
-REG_LINE: 2
- 24.8 250.
- 28.2 252.
-REG_LINE: 2
- 24.8 275.
- 26.4 276.
-REG_LINE: 15
- 25.1 -150.
- 24.1 -150.
- 23.2 -150.
- 22.3 -149.
- 21.3 -148.
- 20.4 -147.
- 19.5 -146.
- 18.6 -144.
- 17.7 -142.
- 16.8 -140.
- 15.9 -137.
- 15.1 -134.
- 14.2 -131.
- 13.4 -128.
- 12.5 -124.
-REG_LINE: 15
- 25.1 -150.
- 26.0 -150.
- 26.9 -150.
- 27.9 -149.
- 28.8 -148.
- 29.7 -147.
- 30.6 -145.
- 31.5 -143.
- 32.4 -141.
- 33.3 -139.
- 34.2 -136.
- 35.1 -133.
- 35.9 -130.
- 36.7 -127.
- 37.6 -123.
-REG_LINE: 15
- 37.6 -123.
- 38.4 -119.
- 39.1 -115.
- 39.9 -111.
- 40.6 -106.
- 41.4 -101.
- 42.1 -96.2
- 42.7 -91.0
- 43.4 -85.6
- 44.0 -79.9
- 44.6 -74.2
- 45.2 -68.2
- 45.7 -62.1
- 46.2 -55.8
- 46.7 -49.3
-REG_LINE: 15
- 46.7 -49.3
- 47.1 -42.8
- 47.5 -36.1
- 47.9 -29.2
- 48.3 -22.3
- 48.6 -15.3
- 48.9 -8.13
- 49.2 -.928
- 49.4 6.35
- 49.6 13.7
- 49.7 21.1
- 49.8 28.5
- 49.9 36.0
- 50.0 43.4
- 50.0 50.9
-REG_LINE: 15
- 50.0 50.9
- 49.9 58.4
- 49.9 65.9
- 49.8 73.3
- 49.7 80.8
- 49.5 88.1
- 49.3 95.5
- 49.1 103.
- 48.8 110.
- 48.5 117.
- 48.2 124.
- 47.8 131.
- 47.4 138.
- 47.0 144.
- 46.6 151.
-REG_LINE: 15
- 46.6 151.
- 46.1 157.
- 45.6 164.
- 45.0 170.
- 44.4 176.
- 43.8 181.
- 43.2 187.
- 42.6 192.
- 41.9 197.
- 41.2 202.
- 40.5 207.
- 39.7 212.
- 38.9 216.
- 38.2 220.
- 37.4 224.
-REG_LINE: 15
- 37.4 224.
- 36.5 227.
- 35.7 231.
- 34.8 234.
- 34.0 237.
- 33.1 239.
- 32.2 241.
- 31.3 244.
- 30.4 245.
- 29.5 247.
- 28.6 248.
- 27.6 249.
- 26.7 250.
- 25.8 250.
- 24.8 250.
-REG_LINE: 15
- 24.8 250.
- 23.9 250.
- 23.0 249.
- 22.0 249.
- 21.1 248.
- 20.2 246.
- 19.3 245.
- 18.4 243.
- 17.5 241.
- 16.6 238.
- 15.7 236.
- 14.8 233.
- 14.0 230.
- 13.1 226.
- 12.3 223.
-REG_LINE: 15
- 12.3 223.
- 11.5 219.
- 10.8 215.
- 9.99 210.
- 9.25 206.
- 8.53 201.
- 7.84 196.
- 7.17 191.
- 6.52 185.
- 5.90 180.
- 5.31 174.
- 4.74 168.
- 4.20 162.
- 3.70 155.
- 3.22 149.
-REG_LINE: 15
- 3.22 149.
- 2.77 142.
- 2.35 136.
- 1.96 129.
- 1.61 122.
- 1.29 115.
- 1.00 108.
- .747 101.
- .526 93.3
- .339 85.9
- .187 78.6
- 0.696E-01 71.1
- -0.132E-01 63.7
- -0.611E-01 56.2
- -0.740E-01 48.7
-REG_LINE: 15
- -0.740E-01 48.7
- -0.519E-01 41.2
- 0.519E-02 33.7
- 0.971E-01 26.3
- .224 18.9
- .385 11.5
- .581 4.18
- .811 -3.08
- 1.07 -10.3
- 1.37 -17.4
- 1.70 -24.4
- 2.06 -31.3
- 2.46 -38.1
- 2.88 -44.7
- 3.34 -51.3
-REG_LINE: 15
- 3.34 -51.3
- 3.83 -57.7
- 4.34 -63.9
- 4.89 -70.0
- 5.46 -75.9
- 6.06 -81.6
- 6.69 -87.2
- 7.34 -92.6
- 8.02 -97.7
- 8.72 -103.
- 9.44 -107.
- 10.2 -112.
- 11.0 -116.
- 11.7 -120.
- 12.5 -124.
-REG_LINE: 15
- 12.5 -124.
- 13.4 -128.
- 14.2 -131.
- 15.1 -134.
- 15.9 -137.
- 16.8 -140.
- 17.7 -142.
- 18.6 -144.
- 19.5 -146.
- 20.4 -147.
- 21.3 -148.
- 22.3 -149.
- 23.2 -150.
- 24.1 -150.
- 25.1 -150.
-REG_LINE: 15
- 25.1 -150.
- 26.0 -150.
- 26.9 -150.
- 27.9 -149.
- 28.8 -148.
- 29.7 -147.
- 30.6 -145.
- 31.5 -143.
- 32.4 -141.
- 33.3 -139.
- 34.2 -136.
- 35.1 -133.
- 35.9 -130.
- 36.7 -127.
- 37.6 -123.
-REG_LINE: 15
- 25.1 -150.
- 26.0 -150.
- 26.9 -150.
- 27.9 -149.
- 28.8 -148.
- 29.7 -147.
- 30.6 -145.
- 31.5 -143.
- 32.4 -141.
- 33.3 -139.
- 34.2 -136.
- 35.1 -133.
- 35.9 -130.
- 36.7 -127.
- 37.6 -123.
-REG_LINE: 15
- 24.9 49.8
- 24.9 57.0
- 24.9 64.1
- 24.9 71.3
- 24.9 78.4
- 24.9 85.6
- 24.9 92.7
- 24.9 99.9
- 24.9 107.
- 24.9 114.
- 24.9 121.
- 24.9 128.
- 24.9 136.
- 24.9 143.
- 24.9 150.
-REG_LINE: 15
- 24.9 150.
- 24.9 157.
- 24.9 164.
- 24.9 171.
- 24.9 179.
- 24.9 186.
- 24.9 193.
- 24.9 200.
- 24.9 207.
- 24.8 214.
- 24.8 221.
- 24.8 229.
- 24.8 236.
- 24.8 243.
- 24.8 250.
-REG_LINE: 8
- 24.8 250.
- 24.8 257.
- 24.8 264.
- 24.8 272.
- 24.8 279.
- 24.8 286.
- 24.8 293.
- 24.8 300.
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '12'
- 24.9 -148. BC -0.654E-01 .998
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '14'
- 35.1 -123. BC -.978 .210
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '16'
- 44.2 -49.2 BC -.997 0.716E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '18'
- 47.5 50.9 BC -1.00 -0.942E-03
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '20'
- 44.1 151. TC .997 0.732E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '22'
- 34.9 223. TC .977 .213
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0'
- 24.9 248. TC -0.236E-01 1.00
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '2'
- 14.8 222. TC -.978 .210
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '4'
- 5.71 149. TC -.997 0.716E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '6'
- 2.43 48.7 BC 1.00 0.288E-03
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '8'
- 5.83 -51.1 BC .997 0.732E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '10'
- 15.0 -124. BC .977 .215
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-90:00'
- 22.4 49.8 BC -1.00 -0.615E-03
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '59'
- 22.4 150. BC -1.00 -0.615E-03
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-89:58'
- 22.3 250. BC -1.00 -0.615E-03
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 1
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: ' A FITS test'
- 30.9 313. BC .000 1.00
-ude (rad.s)
- End SphMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -1 # Forward matrix value
- M1 = 1 # Forward matrix value
- M2 = -1 # Forward matrix value
- Form = "Diagonal" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 0 # Polar longitude (rad.s)
- End SphMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End FrameSet
diff --git a/ast/ast_tester/regression.f b/ast/ast_tester/regression.f
deleted file mode 100644
index e9ca32e..0000000
--- a/ast/ast_tester/regression.f
+++ /dev/null
@@ -1,1515 +0,0 @@
- PROGRAM REGRESSION
-*+
-* Name:
-* REGRESSION
-
-* Purpose:
-* Tests many aspects of the AST library (Fortran interface).
-
-* Language:
-* Starlink Fortran 77
-
-* Type of Module:
-* Fortran program
-
-* Invocation:
-* regression
-
-* Description:
-* This application utilizes many aspects of the AST library, producing
-* textual output on standard output. The output should be redirected
-* to a text file and compared to the output from previous runs to
-* detect any changes in functionality.
-
-* Authors:
-* DSB: David Berry (STARLINK)
-* {enter_new_authors_here}
-
-* History:
-* 29-JAN-2002 (DSB):
-* Original version.
-* {enter_further_changes_here}
-
-*-
-
-* Type Definitions:
- IMPLICIT NONE ! No implicit typing
-
-* Global Variables:
- INTEGER CMN_FTEST ! Which FITS test are we doing?
- INTEGER CMN_LINE ! The index of the next header to read
- COMMON /REG/ CMN_FTEST, CMN_LINE
-
-* Global Constants:
- INCLUDE 'SAE_PAR' ! Standard SAE constants
- INCLUDE 'AST_PAR' ! AST constants and declarations
-
-* Status:
- INTEGER STATUS ! Global status
-
-* External References:
- INTEGER CHR_LEN
-
- EXTERNAL REG_SOURCE
- EXTERNAL REG_SINK
-
- EXTERNAL REG_ATTR
- EXTERNAL REG_FLUSH
- EXTERNAL REG_LINE
- EXTERNAL REG_MARK
- EXTERNAL REG_TEXT
- EXTERNAL REG_TXEXT
- EXTERNAL REG_CAP
- EXTERNAL REG_QCH
- EXTERNAL REG_SCALES
-
-* Local Constants:
- INTEGER NFITS_TESTS ! How many FITS tests?
- PARAMETER ( NFITS_TESTS = 3 )
-
- INTEGER NCAT, NRAT, NLAT, NDAT, NIAT ! Numbers of Attributes of each type
- PARAMETER ( NCAT = 4,
- : NRAT = 2,
- : NLAT = 2,
- : NDAT = 1,
- : NIAT = 5 )
-
-* Local Variables:
- CHARACTER ATTRS( NFITS_TESTS )*255 ! Plot attributes for each FITS test
- CHARACTER CARDS*(7*80) ! Used fot testing ast_putcards
- INTEGER FC, FS, PLOT, I, J, OC
-
- REAL GBOX( 4 ) ! Area of graphics coords to use
- DOUBLE PRECISION BBOX( 4, NFITS_TESTS ) ! Base Frame area to be
- ! mapped onto GBOX for each FITS test
-
- CHARACTER*20 CAT(NCAT), RAT(NRAT), LAT(NLAT), DAT(NDAT), IAT(NIAT)
- CHARACTER CV*50
- REAL RV
- LOGICAL LV
- DOUBLE PRECISION DV
- INTEGER IV, VERS, MAJ, MIN, REV
-
-* Data initialization:
- DATA CAT / 'Colour(axis1)', 'Font(Stri)', 'Nout', 'Class' /
- DATA RAT / 'Tol', 'Gap(1)' /
- DATA LAT / 'Border', 'Invert' /
- DATA DAT / 'TextLabGap' /
- DATA IAT / 'Nin', 'Current', 'Base', 'Nobject', 'RefCOUNT' /
- DATA GBOX /-100.0, -200.0, 150.0, 300.0/
-
-
-
- DATA BBOX / 10.0, -10.0, 290.0, 300.0,
- : -300.0, -300.0, 500.0, 500.0,
- : 1.0, 1.0, 1787.0, 447.0 /
-
-
-
- DATA ATTRS/ 'Grid=1,tickall=0',
- : 'Grid=1,labelling=interior',
- : 'Grid=0' /
-
-
-*.
-
-* Initialize inherited global status.
- STATUS = SAI__OK
-
-* Use object caching to minimise allocation of new memory
- OC = AST_TUNE( 'ObjectCaching', 1, STATUS )
- IF( OC .NE. 0 ) THEN
- WRITE(*,'(A,I2)') 'Default ObjectCaching VALUE is ',OC
- END IF
-
- IF( AST_TUNE( 'ObjectCaching', AST__TUNULL, STATUS ) .NE. 1 ) THEN
- WRITE(*,'(A,I2)') 'Set ObjectCaching VALUE is ',OC
- END IF
-
-* Display the AST version number.
- VERS = AST_VERSION()
- MAJ = VERS/1000000
- VERS = VERS - 1000000*MAJ
- MIN = VERS/1000
- REV = VERS - 1000*MIN
- WRITE(*,'(A,I2,A,I1,A,I2)') 'AST version ',MAJ,'.',MIN,'-',REV
-
-* First do a test of the AST_PUTCARDS routine.
- FC = AST_FITSCHAN( AST_NULL, AST_NULL, ' ', STATUS )
-
- CARDS = 'NAXIS = 1'
- CARDS( 81: ) = 'NAXIS1 = 100'
- CARDS( 2*80 + 1: ) = 'CTYPE1 = ''fred'''
- CARDS( 3*80 + 1: ) = 'CDELT1 = 0.0'
- CARDS( 4*80 + 1: ) = 'CRPIX1 = 50'
- CARDS( 5*80 + 1: ) = 'CUNIT1 = ''GHz'''
-
- CALL AST_PUTCARDS( FC, CARDS, STATUS )
- WRITE(*,'(A,I2)') 'PutCards Ncards = ',AST_GETI( FC, 'NCARD',
- : STATUS )
- WRITE(*,'(A,I2)') 'PutCards Card = ',AST_GETI( FC, 'CARD',
- : STATUS )
-
- CALL AST_SETI( FC, 'CARD', 10, STATUS )
- WRITE(*,'(A,I2)') 'PutCards Card = ',AST_GETI( FC, 'CARD',
- : STATUS )
-
- CALL AST_PUTCARDS( FC, CARDS, STATUS )
- WRITE(*,'(A,I2)') 'PutCards Ncards = ',AST_GETI( FC, 'NCARD',
- : STATUS )
- WRITE(*,'(A,I2)') 'PutCards Card = ',AST_GETI( FC, 'CARD',
- : STATUS )
- CALL AST_SHOW( FC, STATUS )
-
-* We loop round testing several sorts of FITS Headers.
- DO I = 1, NFITS_TESTS
- IF ( STATUS .NE. SAI__OK ) GO TO 999
-
-* Tell the REG_SOURCE function which FITS header to load.
- CMN_FTEST = I
- CMN_LINE = 1
-
- WRITE(*,'(A)') ' '
- WRITE(*,'(A)') ' '
- WRITE(*,'(A)') ' '
- WRITE(*,'(A)') ' '
- WRITE(*,'(A,I2)') ' FITS test number ',I
- WRITE(*,'(A)') ' ===================='
- WRITE(*,'(A)') ' '
- WRITE(*,'(A)') ' '
-
-* Create a FitsChan, read an Object from it, and dump the Object
-* to standard output. The Object should be a FrameSet if all is OK.
- FC = AST_FITSCHAN( REG_SOURCE, REG_SINK, ' ', STATUS )
- FS = AST_READ( FC, STATUS )
- WRITE(*,'(A)') ' '
- WRITE(*,'(A)') 'AST_SHOW:'
- CALL AST_SHOW( FS, STATUS )
-
-* Annul the FitsChan. This will cause the unused contents (if any) to
-* be written out using REG_SINK.
- WRITE(*,'(A)') ' '
- WRITE(*,'(A)') 'REG_SINK:'
- CALL AST_ANNUL( FC, STATUS )
-
-* Create another FrameSet with Native encoding. Write the FrameSet to
-* it, and then annul the FitsChan (this will cause the FITS cards to be
-* written to stdout).
- FC = AST_FITSCHAN( AST_NULL, REG_SINK, 'Encoding=native',
- : STATUS )
- WRITE(*,'(A)') ' '
- WRITE(*,'(A,I2)') 'Objects written: ', AST_WRITE( FC, FS,
- : STATUS )
- WRITE(*,'(A)') ' '
- WRITE(*,'(A)') 'Native Encoding:'
- CALL AST_ANNUL( FC, STATUS )
-
-* Create a Plot which maps the area specified by BBOX the Base Frame
-* of the FrameSet onto the GBOX area in graphics coords.
- PLOT = AST_PLOT( FS, GBOX, BBOX( 1, I), ' grf = 1 , '//
- : 'title = A FITS test', STATUS )
-
-* Annul the FrameSet.
- CALL AST_ANNUL( FS, STATUS )
-
-* Tell the Plot to use the REG_... routines included in this file to
-* do the drawing.
- CALL AST_GRFSET( PLOT, 'Attr', REG_ATTR, STATUS )
- CALL AST_GRFSET( PLOT, 'Flush', REG_FLUSH, STATUS )
- CALL AST_GRFSET( PLOT, 'Line', REG_LINE, STATUS )
- CALL AST_GRFSET( PLOT, 'Mark', REG_MARK, STATUS )
- CALL AST_GRFSET( PLOT, 'Text', REG_TEXT, STATUS )
- CALL AST_GRFSET( PLOT, 'TxExt', REG_TXEXT, STATUS )
- CALL AST_GRFSET( PLOT, 'Scales', REG_SCALES, STATUS )
- CALL AST_GRFSET( PLOT, 'Cap', REG_CAP, STATUS )
- CALL AST_GRFSET( PLOT, 'Qch', REG_QCH, STATUS )
-
-* Set some attributes.
- CALL AST_SET( PLOT, ATTRS( I ), STATUS )
-
-* Get some attributes (separate the AST_GET calls and the WRITEs in order
-* to avoid recursive I/O due to the REG_xxx routines trying to write to
-* standard output).
- WRITE(*,'(A)') ' '
- WRITE(*,'(A)') 'ATTRIBUTES:'
-
- DO J = 1, NCAT
- CV = AST_GETC( PLOT, CAT(J), STATUS )
- WRITE(*,'(A,I10)') ' '//CAT(J)//': ',CHR_LEN(CV)
- END DO
-
- DO J = 1, NRAT
- RV = AST_GETR( PLOT, RAT(J), STATUS )
- WRITE(*,'(A,G13.6)') ' '//RAT(J)//': ',RV
- END DO
-
- DO J = 1, NLAT
- LV = AST_GETL( PLOT, LAT(J), STATUS )
- IF( LV ) THEN
- IV = 1
- ELSE
- IV = 0
- END IF
- WRITE(*,'(A,I1)') ' '//LAT(J)//': ',IV
- END DO
-
- DO J = 1, NDAT
- DV = AST_GETD( PLOT, DAT(J), STATUS )
- WRITE(*,'(A,G13.6)') ' '//DAT(J)//': ',DV
- END DO
-
- DO J = 1, NIAT
- IV = AST_GETI( PLOT, IAT(J), STATUS )
- WRITE(*,'(A,I4)') ' '//IAT(J)//': ',IV
- END DO
-
-
-* Draw a grid.
- WRITE(*,'(A)') ' '
- WRITE(*,'(A)') 'AST_GRID:'
- CALL AST_GRID( PLOT, STATUS )
-
-* Annul the Plot.
- CALL AST_ANNUL( PLOT, STATUS )
-
- END DO
-
- 999 CONTINUE
-
- END
-
-
-
-
-
-* Grf plotting routines for the Plot tests. These are used in preference
-* to the grf routines specified at link time.
-* ======================================================================
-
-* Flush graphics.
-* ---------------
- INTEGER FUNCTION REG_FLUSH()
- WRITE(*,'(A)') 'REG_FLUSH:'
- REG_FLUSH = 1
- END
-
-* Set or get a Plot graphics attribute.
-* -------------------------------------
- INTEGER FUNCTION REG_ATTR( ATT, VAL, OLDVAL, PRIM )
- IMPLICIT NONE
-
-* Includes:
- INCLUDE 'AST_PAR'
- INCLUDE 'GRF_PAR'
-
-* Arguments:
- INTEGER ATT
- DOUBLE PRECISION VAL
- INTEGER PRIM
- DOUBLE PRECISION OLDVAL
-
-* Local Variables:
- INTEGER I, J
- DOUBLE PRECISION ATTRS( 5, 3 )
-
-* Initialization:
- DATA ATTRS /15*0.0D0/
-
-* Log this call.
- WRITE(*,'(I4,1X,G10.3,1X,I4)') 'REG_GATTR: ', ATT, VAL, PRIM
-
-* Identify the required element.
- IF( ATT .EQ. GRF__STYLE ) THEN
- I = 1
- ELSE IF( ATT .EQ. GRF__WIDTH ) THEN
- I = 2
- ELSE IF( ATT .EQ. GRF__SIZE ) THEN
- I = 3
- ELSE IF( ATT .EQ. GRF__FONT ) THEN
- I = 4
- ELSE IF( ATT .EQ. GRF__COLOUR ) THEN
- I = 5
- ELSE
- WRITE(*,'(A,I2)') 'Bad ATT value: ', ATT
- END IF
-
- IF( PRIM .EQ. GRF__LINE ) THEN
- J = 1
- ELSE IF( PRIM .EQ. GRF__MARK ) THEN
- J = 2
- ELSE IF( PRIM .EQ. GRF__TEXT ) THEN
- J = 3
- ELSE
- WRITE(*,'(A,I2)') 'Bad PRIM value: ', PRIM
- END IF
-
-* Return the old value.
- OLDVAL = ATTRS( I, J )
-
-* Store the new value if not bad.
- IF( VAL .NE. AST__BAD ) ATTRS( I, J ) = VAL
-
-* Initialize the returned value to indicate success.
- REG_ATTR = 1
-
- END
-
-
-* Draw a polyline.
-* ----------------
- INTEGER FUNCTION REG_LINE( N, X, Y )
- IMPLICIT NONE
-
- INTEGER N
- REAL X( N )
- REAL Y( N )
- INTEGER I
-
- WRITE(*,'(A,I4)') 'REG_LINE: ',N
- DO I = 1, N
- WRITE(*,'(3X,G10.3,1X,G10.3)') X(I),Y(I)
- END DO
-
- REG_LINE = 1
- END
-
-* Draw a set of markers.
-* ----------------------
- INTEGER FUNCTION REG_MARK( N, X, Y, TYPE )
- IMPLICIT NONE
-
- INTEGER N, TYPE
- REAL X( N )
- REAL Y( N )
- INTEGER I
-
- WRITE(*,'(A,I4,I2)') 'REG_MARK: ', N, TYPE
- DO I = 1, N
- WRITE(*,'(3X,G10.3,1X,G10.3)') X(I),Y(I)
- END DO
-
- REG_MARK = 1
- END
-
-* Draw a text string.
-* -------------------
- INTEGER FUNCTION REG_TEXT( TEXT, X, Y, JUST, UPX, UPY )
- IMPLICIT NONE
-
- CHARACTER TEXT*(*), JUST*(*)
- REAL X, Y, UPX, UPY
-
- WRITE(*,'(A,A,A)') 'REG_TEXT: ''', TEXT,''''
- WRITE(*,'(3X,G10.3,1X,G10.3,1X,A,1X,G10.3,1X,G10.3)')
- : X, Y, JUST, UPX, UPY
-
- REG_TEXT = 1
- END
-
-* Return the extent of a text string.
-*
-* For some reason, the arguments to this function seem particularly
-* prone to random rounding errors, resulting in the regression test
-* always failing when run twice in succession, even if not changes
-* have been made to the code in plot.c. For this reason this function
-* does not write out its argument to standard output.
-* --------------------------------------------------------------------
- INTEGER FUNCTION REG_TXEXT( TEXT, X, Y, JUST, UPX, UPY, XB, YB )
- IMPLICIT NONE
-
- CHARACTER TEXT*(*), JUST*(*)
- REAL X, Y, UPX, UPY, XB(4), YB(4)
-
-c WRITE(*,*) 'REG_TXEXT: ''', TEXT,''''
-c WRITE(*,*) ' ', X, Y, ' ''', JUST,''' ', UPX, UPY
-
- XB( 1 ) = X - LEN( TEXT )*0.5
- XB( 2 ) = X + LEN( TEXT )*0.5
- XB( 3 ) = XB( 2 )
- XB( 4 ) = XB( 1 )
-
- YB( 1 ) = Y - 0.5
- YB( 2 ) = YB( 1 )
- YB( 3 ) = Y + 0.5
- YB( 4 ) = YB( 3 )
-
- REG_TXEXT = 1
- END
-
-* Inquire a capability
-* ---------------------
- INTEGER FUNCTION REG_CAP( CAP, VALUE )
- IMPLICIT NONE
-
- INCLUDE 'GRF_PAR'
-
- INTEGER CAP, VALUE
-
- WRITE(*,'(A,I2)') 'REG_CAP: ', CAP
-
- REG_CAP = 0
- IF( CAP .EQ. GRF__SCALES ) REG_CAP = 1
-
- END
-
-* Inquire axis scales
-* ---------------------
- INTEGER FUNCTION REG_SCALES( ALPHA, BETA )
- IMPLICIT NONE
- REAL ALPHA, BETA
-
- WRITE(*,'(A)') 'REG_SCALES: '
-
- ALPHA = 1.0
- BETA = 1.0
-
- REG_SCALES = 1
-
- END
-
-* Inquire character size
-* ----------------------
- INTEGER FUNCTION REG_QCH( CHV, CHH )
- IMPLICIT NONE
- REAL CHV, CHH
-
- WRITE(*,'(A)') 'REG_QCH: '
-
- CHV = 0.01
- CHH = 0.01
-
- REG_QCH = 1
-
- END
-
-
-
-* A Sink funtion for use with the FitsChan class. It writes the FitsChan
-* contents to standard output.
-* ======================================================================
- SUBROUTINE REG_SINK( CARD, STATUS )
- IMPLICIT NONE
- CHARACTER CARD*80
- INTEGER STATUS
- WRITE(*,'(A)') CARD
- END
-
-
-
-* A Source funtion for use with the FitsChan class. It returns a different
-* header for each value of REG_FTEST.
-* ======================================================================
- INTEGER FUNCTION REG_SOURCE( CARD, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
-
- INTEGER CMN_FTEST ! Which FITS test are we doing?
- INTEGER CMN_LINE ! The index of the next header to read
- COMMON /REG/ CMN_FTEST, CMN_LINE
-
- CHARACTER CARD*80
- INTEGER STATUS
-
-* Check the inherited status
- REG_SOURCE = 0
- IF( STATUS .NE. SAI__OK ) RETURN
-
-* Assume more cards will be returned.
- REG_SOURCE = 1
-
-* The following code defines the FITS headers and is generated automatically
-* from FITS header files using script make_regtest (in the AST development
-* system)....
-
-
-* FITS headers from cobe.head (Tue Jan 29 13:37:07 2002)
- IF( CMN_FTEST .EQ. 1 ) THEN
- IF( CMN_LINE .EQ. 1 ) THEN
- CARD = 'SIMPLE = T / Written by I'//
- : 'DL: 30-Jul-1997 05:35:42.00'
- ELSE IF( CMN_LINE .EQ. 2 ) THEN
- CARD = 'BITPIX = -32 / Bits per pix'//
- : 'el.'
- ELSE IF( CMN_LINE .EQ. 3 ) THEN
- CARD = 'NAXIS = 2 / Number of di'//
- : 'mensions'
- ELSE IF( CMN_LINE .EQ. 4 ) THEN
- CARD = 'NAXIS1 = 300 / Length of x '//
- : 'axis.'
- ELSE IF( CMN_LINE .EQ. 5 ) THEN
- CARD = 'NAXIS2 = 300 / Length of y '//
- : 'axis.'
- ELSE IF( CMN_LINE .EQ. 6 ) THEN
- CARD = 'CTYPE1 = ''GLON-ZEA'' / X-axis typ'//
- : 'e'
- ELSE IF( CMN_LINE .EQ. 7 ) THEN
- CARD = 'CTYPE2 = ''GLAT-ZEA'' / Y-axis typ'//
- : 'e'
- ELSE IF( CMN_LINE .EQ. 8 ) THEN
- CARD = 'CRVAL1 = -149.56866 / Reference pi'//
- : 'xel value'
- ELSE IF( CMN_LINE .EQ. 9 ) THEN
- CARD = 'CRVAL2 = -19.758201 / Reference pi'//
- : 'xel value'
- ELSE IF( CMN_LINE .EQ. 10 ) THEN
- CARD = 'CRPIX1 = 150.500 / Reference pi'//
- : 'xel'
- ELSE IF( CMN_LINE .EQ. 11 ) THEN
- CARD = 'CRPIX2 = 150.500 / Reference pi'//
- : 'xel'
- ELSE IF( CMN_LINE .EQ. 12 ) THEN
- CARD = 'CDELT1 = -1.20000 / Degrees/pixe'//
- : 'l'
- ELSE IF( CMN_LINE .EQ. 13 ) THEN
- CARD = 'CDELT2 = 1.20000 / Degrees/pixe'//
- : 'l'
- ELSE IF( CMN_LINE .EQ. 14 ) THEN
- CARD = 'CROTA1 = 0.00000 / Rotation in '//
- : 'degrees.'
- ELSE IF( CMN_LINE .EQ. 15 ) THEN
- CARD = 'COMMENT'
- ELSE IF( CMN_LINE .EQ. 16 ) THEN
- CARD = 'COMMENT This file was produced by the SkyView'//
- : ' survey analysis system from'
- ELSE IF( CMN_LINE .EQ. 17 ) THEN
- CARD = 'COMMENT available astronomical surveys. The '//
- : 'data are formatted'
- ELSE IF( CMN_LINE .EQ. 18 ) THEN
- CARD = 'COMMENT as a simple two-dimensional FITS imag'//
- : 'e with the same units as'
- ELSE IF( CMN_LINE .EQ. 19 ) THEN
- CARD = 'COMMENT the orginal survey. A single ASCII t'//
- : 'able extension may be present'
- ELSE IF( CMN_LINE .EQ. 20 ) THEN
- CARD = 'COMMENT which describes catalog objects found'//
- : ' within the field of view.'
- ELSE IF( CMN_LINE .EQ. 21 ) THEN
- CARD = 'COMMENT Copies of relevant copyright notices '//
- : 'are included in this file.'
- ELSE IF( CMN_LINE .EQ. 22 ) THEN
- CARD = 'COMMENT'
- ELSE IF( CMN_LINE .EQ. 23 ) THEN
- CARD = 'COMMENT Questions should be directed to:'
- ELSE IF( CMN_LINE .EQ. 24 ) THEN
- CARD = 'COMMENT'
- ELSE IF( CMN_LINE .EQ. 25 ) THEN
- CARD = 'COMMENT scollick@skyview.gsfc.nasa.gov'
- ELSE IF( CMN_LINE .EQ. 26 ) THEN
- CARD = 'COMMENT or'
- ELSE IF( CMN_LINE .EQ. 27 ) THEN
- CARD = 'COMMENT mcglynn@grossc.gsfc.nasa.gov'
- ELSE IF( CMN_LINE .EQ. 28 ) THEN
- CARD = 'COMMENT'
- ELSE IF( CMN_LINE .EQ. 29 ) THEN
- CARD = 'COMMENT SkyView'
- ELSE IF( CMN_LINE .EQ. 30 ) THEN
- CARD = 'COMMENT Code 668.1'
- ELSE IF( CMN_LINE .EQ. 31 ) THEN
- CARD = 'COMMENT Goddard Space Flight Center, Gree'//
- : 'nbelt, MD 20771'
- ELSE IF( CMN_LINE .EQ. 32 ) THEN
- CARD = 'COMMENT 301-286-7780'
- ELSE IF( CMN_LINE .EQ. 33 ) THEN
- CARD = 'COMMENT'
- ELSE IF( CMN_LINE .EQ. 34 ) THEN
- CARD = 'COMMENT SkyView is supported by NASA ADP gran'//
- : 't NAS 5-32068.'
- ELSE IF( CMN_LINE .EQ. 35 ) THEN
- CARD = 'COMMENT'
- ELSE IF( CMN_LINE .EQ. 36 ) THEN
- CARD = 'SURVEY = ''COBE DIRBE'''
- ELSE IF( CMN_LINE .EQ. 37 ) THEN
- CARD = 'BUNITS = ''MJy/sr '' /'
- ELSE IF( CMN_LINE .EQ. 38 ) THEN
- CARD = 'ORIGIN = ''CDAC '' / Cosmology '//
- : 'Data Analysis Center'
- ELSE IF( CMN_LINE .EQ. 39 ) THEN
- CARD = 'TELESCOP= ''COBE '' / COsmic Bac'//
- : 'kground Explorer satellite'
- ELSE IF( CMN_LINE .EQ. 40 ) THEN
- CARD = 'INSTRUME= ''DIRBE '' / COBE instr'//
- : 'ument [DIRBE, DMR, FIRAS]'
- ELSE IF( CMN_LINE .EQ. 41 ) THEN
- CARD = 'PIXRESOL= 9 / Quad tree pi'//
- : 'xel resolution [6, 9]'
- ELSE IF( CMN_LINE .EQ. 42 ) THEN
- CARD = 'DATE = ''27/09/94'' / FITS file '//
- : 'creation date (dd/mm/yy)'
- ELSE IF( CMN_LINE .EQ. 43 ) THEN
- CARD = 'DATE-MAP= ''16/09/94'' / Date of or'//
- : 'iginal file creation (dd/mm/yy)'
- ELSE IF( CMN_LINE .EQ. 44 ) THEN
- CARD = 'COMMENT COBE specific keywords'
- ELSE IF( CMN_LINE .EQ. 45 ) THEN
- CARD = 'DATE-BEG= ''08/12/89'' / date of in'//
- : 'itial data represented (dd/mm/yy)'
- ELSE IF( CMN_LINE .EQ. 46 ) THEN
- CARD = 'DATE-END= ''25/09/90'' / date of fi'//
- : 'nal data represented (dd/mm/yy)'
- ELSE IF( CMN_LINE .EQ. 47 ) THEN
- CARD = 'COMMENT'
- ELSE IF( CMN_LINE .EQ. 48 ) THEN
- CARD = 'COMMENT THE COBE DIRBE map is a combination o'//
- : 'f the original ten'
- ELSE IF( CMN_LINE .EQ. 49 ) THEN
- CARD = 'COMMENT band passes with the following wavele'//
- : 'ngths:'
- ELSE IF( CMN_LINE .EQ. 50 ) THEN
- CARD = 'COMMENT Band 1 - 1.25 microns'
- ELSE IF( CMN_LINE .EQ. 51 ) THEN
- CARD = 'COMMENT Band 2 - 2.2 microns'
- ELSE IF( CMN_LINE .EQ. 52 ) THEN
- CARD = 'COMMENT Band 3 - 3.5 microns'
- ELSE IF( CMN_LINE .EQ. 53 ) THEN
- CARD = 'COMMENT Band 4 - 4.9 microns'
- ELSE IF( CMN_LINE .EQ. 54 ) THEN
- CARD = 'COMMENT Band 5 - 12 microns'
- ELSE IF( CMN_LINE .EQ. 55 ) THEN
- CARD = 'COMMENT Band 6 - 25 microns'
- ELSE IF( CMN_LINE .EQ. 56 ) THEN
- CARD = 'COMMENT Band 7 - 60 microns'
- ELSE IF( CMN_LINE .EQ. 57 ) THEN
- CARD = 'COMMENT Band 8 - 100 microns'
- ELSE IF( CMN_LINE .EQ. 58 ) THEN
- CARD = 'COMMENT Band 9 - 140 microns'
- ELSE IF( CMN_LINE .EQ. 59 ) THEN
- CARD = 'COMMENT Band 10 - 240 microns'
- ELSE IF( CMN_LINE .EQ. 60 ) THEN
- CARD = 'COMMENT'
- ELSE IF( CMN_LINE .EQ. 61 ) THEN
- CARD = 'END'
- REG_SOURCE = 0
- ELSE
- REG_SOURCE = 0
- END IF
-
-* FITS headers from polco.head (Tue Jan 29 15:06:35 2002)
- ELSE IF( CMN_FTEST .EQ. 2 ) THEN
- IF( CMN_LINE .EQ. 1 ) THEN
- CARD = 'COMMENT AST +++++++++++++++++++++++++++++++++'//
- : '+++++++++++++++++++++++++++++++'
- ELSE IF( CMN_LINE .EQ. 2 ) THEN
- CARD = 'AST'
- ELSE IF( CMN_LINE .EQ. 3 ) THEN
- CARD = 'COMMENT AST Beginning of AST data '//
- : 'for FrameSet object'
- ELSE IF( CMN_LINE .EQ. 4 ) THEN
- CARD = 'AST'
- ELSE IF( CMN_LINE .EQ. 5 ) THEN
- CARD = 'COMMENT AST .................................'//
- : '...............................'
- ELSE IF( CMN_LINE .EQ. 6 ) THEN
- CARD = 'AST'
- ELSE IF( CMN_LINE .EQ. 7 ) THEN
- CARD = 'BEGAST_A= ''FrameSet'' / Set of int'//
- : 'er-related coordinate systems'
- ELSE IF( CMN_LINE .EQ. 8 ) THEN
- CARD = 'NFRAME_A= 2 / Number of Fr'//
- : 'ames in FrameSet'
- ELSE IF( CMN_LINE .EQ. 9 ) THEN
- CARD = 'CURRNT_A= 2 / Index of cur'//
- : 'rent Frame'
- ELSE IF( CMN_LINE .EQ. 10 ) THEN
- CARD = 'NOD1_A = 2 / Frame 1 is a'//
- : 'ssociated with node 2'
- ELSE IF( CMN_LINE .EQ. 11 ) THEN
- CARD = 'NOD2_A = 1 / Frame 2 is a'//
- : 'ssociated with node 1'
- ELSE IF( CMN_LINE .EQ. 12 ) THEN
- CARD = 'LNK2_A = 1 / Node 2 is de'//
- : 'rived from node 1'
- ELSE IF( CMN_LINE .EQ. 13 ) THEN
- CARD = 'FRM1_A = '' '' / Frame numb'//
- : 'er 1'
- ELSE IF( CMN_LINE .EQ. 14 ) THEN
- CARD = 'BEGAST_B= ''Frame '' / Coordinate'//
- : ' system description'
- ELSE IF( CMN_LINE .EQ. 15 ) THEN
- CARD = 'TITLE_A = ''Data grid indices; first pixel at'//
- : ' (1&''/ Title of coordinate system'
- ELSE IF( CMN_LINE .EQ. 16 ) THEN
- CARD = 'CONTINUE '',1) '''
- ELSE IF( CMN_LINE .EQ. 17 ) THEN
- CARD = 'NAXES_A = 2 / Number of co'//
- : 'ordinate axes'
- ELSE IF( CMN_LINE .EQ. 18 ) THEN
- CARD = 'DOMAIN_A= ''GRID '' / Coordinate'//
- : ' system domain'
- ELSE IF( CMN_LINE .EQ. 19 ) THEN
- CARD = 'AX1_A = '' '' / Axis numbe'//
- : 'r 1'
- ELSE IF( CMN_LINE .EQ. 20 ) THEN
- CARD = 'BEGAST_C= ''Axis '' / Coordinate'//
- : ' axis'
- ELSE IF( CMN_LINE .EQ. 21 ) THEN
- CARD = 'LABEL_A = ''Data grid index 1'' / Axis Label'
- ELSE IF( CMN_LINE .EQ. 22 ) THEN
- CARD = 'SYMBOL_A= ''g1 '' / Axis symbo'//
- : 'l'
- ELSE IF( CMN_LINE .EQ. 23 ) THEN
- CARD = 'UNIT_A = ''pixel '' / Axis units'
- ELSE IF( CMN_LINE .EQ. 24 ) THEN
- CARD = 'FORMAT_A= ''%3.1f '' / Format spe'//
- : 'cifier'
- ELSE IF( CMN_LINE .EQ. 25 ) THEN
- CARD = 'ENDAST_A= ''Axis '' / End of obj'//
- : 'ect definition'
- ELSE IF( CMN_LINE .EQ. 26 ) THEN
- CARD = 'AX2_A = '' '' / Axis numbe'//
- : 'r 2'
- ELSE IF( CMN_LINE .EQ. 27 ) THEN
- CARD = 'BEGAST_D= ''Axis '' / Coordinate'//
- : ' axis'
- ELSE IF( CMN_LINE .EQ. 28 ) THEN
- CARD = 'LABEL_B = ''Data grid index 2'' / Axis Label'
- ELSE IF( CMN_LINE .EQ. 29 ) THEN
- CARD = 'SYMBOL_B= ''g2 '' / Axis symbo'//
- : 'l'
- ELSE IF( CMN_LINE .EQ. 30 ) THEN
- CARD = 'UNIT_B = ''pixel '' / Axis units'
- ELSE IF( CMN_LINE .EQ. 31 ) THEN
- CARD = 'FORMAT_B= ''%3.1f '' / Format spe'//
- : 'cifier'
- ELSE IF( CMN_LINE .EQ. 32 ) THEN
- CARD = 'ENDAST_B= ''Axis '' / End of obj'//
- : 'ect definition'
- ELSE IF( CMN_LINE .EQ. 33 ) THEN
- CARD = 'ENDAST_C= ''Frame '' / End of obj'//
- : 'ect definition'
- ELSE IF( CMN_LINE .EQ. 34 ) THEN
- CARD = 'FRM2_A = '' '' / Frame numb'//
- : 'er 2'
- ELSE IF( CMN_LINE .EQ. 35 ) THEN
- CARD = 'BEGAST_E= ''Frame '' / Coordinate'//
- : ' system description'
- ELSE IF( CMN_LINE .EQ. 36 ) THEN
- CARD = 'TITLE_B = ''Pixel coordinates; first pixel at'//
- : ' (-&''/ Title of coordinate system'
- ELSE IF( CMN_LINE .EQ. 37 ) THEN
- CARD = 'CONTINUE ''100.5,-200.5)'''
- ELSE IF( CMN_LINE .EQ. 38 ) THEN
- CARD = 'NAXES_B = 2 / Number of co'//
- : 'ordinate axes'
- ELSE IF( CMN_LINE .EQ. 39 ) THEN
- CARD = 'DOMAIN_B= ''POLAR '' / Coordinate'//
- : ' system domain'
- ELSE IF( CMN_LINE .EQ. 40 ) THEN
- CARD = 'AX1_B = '' '' / Axis numbe'//
- : 'r 1'
- ELSE IF( CMN_LINE .EQ. 41 ) THEN
- CARD = 'BEGAST_F= ''Axis '' / Coordinate'//
- : ' axis'
- ELSE IF( CMN_LINE .EQ. 42 ) THEN
- CARD = 'LABEL_C = ''Pixel coordinate 1'' / Axis Label'
- ELSE IF( CMN_LINE .EQ. 43 ) THEN
- CARD = 'SYMBOL_C= ''p1 '' / Axis symbo'//
- : 'l'
- ELSE IF( CMN_LINE .EQ. 44 ) THEN
- CARD = 'UNIT_C = ''pixel '' / Axis units'
- ELSE IF( CMN_LINE .EQ. 45 ) THEN
- CARD = 'FORMAT_C= ''%3.1f '' / Format spe'//
- : 'cifier'
- ELSE IF( CMN_LINE .EQ. 46 ) THEN
- CARD = 'ENDAST_D= ''Axis '' / End of obj'//
- : 'ect definition'
- ELSE IF( CMN_LINE .EQ. 47 ) THEN
- CARD = 'AX2_B = '' '' / Axis numbe'//
- : 'r 2'
- ELSE IF( CMN_LINE .EQ. 48 ) THEN
- CARD = 'BEGAST_G= ''Axis '' / Coordinate'//
- : ' axis'
- ELSE IF( CMN_LINE .EQ. 49 ) THEN
- CARD = 'LABEL_D = ''Pixel coordinate 2'' / Axis Label'
- ELSE IF( CMN_LINE .EQ. 50 ) THEN
- CARD = 'SYMBOL_D= ''p2 '' / Axis symbo'//
- : 'l'
- ELSE IF( CMN_LINE .EQ. 51 ) THEN
- CARD = 'UNIT_D = ''pixel '' / Axis units'
- ELSE IF( CMN_LINE .EQ. 52 ) THEN
- CARD = 'FORMAT_D= ''%3.1f '' / Format spe'//
- : 'cifier'
- ELSE IF( CMN_LINE .EQ. 53 ) THEN
- CARD = 'ENDAST_E= ''Axis '' / End of obj'//
- : 'ect definition'
- ELSE IF( CMN_LINE .EQ. 54 ) THEN
- CARD = 'ENDAST_F= ''Frame '' / End of obj'//
- : 'ect definition'
- ELSE IF( CMN_LINE .EQ. 55 ) THEN
- CARD = 'MAP2_A = '' '' / Mapping be'//
- : 'tween nodes 1 and 2'
- ELSE IF( CMN_LINE .EQ. 56 ) THEN
- CARD = 'BEGAST_H= ''CmpMap '' / Compound M'//
- : 'apping'
- ELSE IF( CMN_LINE .EQ. 57 ) THEN
- CARD = 'NIN_A = 2 / Number of in'//
- : 'put coordinates'
- ELSE IF( CMN_LINE .EQ. 58 ) THEN
- CARD = 'ISA_A = ''Mapping '' / Mapping be'//
- : 'tween coordinate systems'
- ELSE IF( CMN_LINE .EQ. 59 ) THEN
- CARD = 'INVA_A = 1 / First Mappin'//
- : 'g used in inverse direction'
- ELSE IF( CMN_LINE .EQ. 60 ) THEN
- CARD = 'INVB_A = 1 / Second Mappi'//
- : 'ng used in inverse direction'
- ELSE IF( CMN_LINE .EQ. 61 ) THEN
- CARD = 'MAPA_A = '' '' / First comp'//
- : 'onent Mapping'
- ELSE IF( CMN_LINE .EQ. 62 ) THEN
- CARD = 'BEGAST_I= ''MathMap '' / Transforma'//
- : 'tion using mathematical functions'
- ELSE IF( CMN_LINE .EQ. 63 ) THEN
- CARD = 'NIN_B = 2 / Number of in'//
- : 'put coordinates'
- ELSE IF( CMN_LINE .EQ. 64 ) THEN
- CARD = 'INVERT_A= 0 / Mapping not '//
- : 'inverted'
- ELSE IF( CMN_LINE .EQ. 65 ) THEN
- CARD = 'ISA_B = ''Mapping '' / Mapping be'//
- : 'tween coordinate systems'
- ELSE IF( CMN_LINE .EQ. 66 ) THEN
- CARD = 'FWD1_A = ''r=sqrt(x*x+y*y)'' / Forward fu'//
- : 'nction 1'
- ELSE IF( CMN_LINE .EQ. 67 ) THEN
- CARD = 'FWD2_A = ''theta=atan2(y,x)'' / Forward fu'//
- : 'nction 2'
- ELSE IF( CMN_LINE .EQ. 68 ) THEN
- CARD = 'INV1_A = ''x=r*cos(theta)'' / Inverse fu'//
- : 'nction 1'
- ELSE IF( CMN_LINE .EQ. 69 ) THEN
- CARD = 'INV2_A = ''y=r*sin(theta)'' / Inverse fu'//
- : 'nction 2'
- ELSE IF( CMN_LINE .EQ. 70 ) THEN
- CARD = 'SIMPFI_A= 1 / Forward-inve'//
- : 'rse pairs may simplify'
- ELSE IF( CMN_LINE .EQ. 71 ) THEN
- CARD = 'SIMPIF_A= 1 / Inverse-forw'//
- : 'ard pairs may simplify'
- ELSE IF( CMN_LINE .EQ. 72 ) THEN
- CARD = 'ENDAST_G= ''MathMap '' / End of obj'//
- : 'ect definition'
- ELSE IF( CMN_LINE .EQ. 73 ) THEN
- CARD = 'MAPB_A = '' '' / Second com'//
- : 'ponent Mapping'
- ELSE IF( CMN_LINE .EQ. 74 ) THEN
- CARD = 'BEGAST_J= ''WinMap '' / Map one wi'//
- : 'ndow on to another'
- ELSE IF( CMN_LINE .EQ. 75 ) THEN
- CARD = 'NIN_C = 2 / Number of in'//
- : 'put coordinates'
- ELSE IF( CMN_LINE .EQ. 76 ) THEN
- CARD = 'INVERT_B= 0 / Mapping not '//
- : 'inverted'
- ELSE IF( CMN_LINE .EQ. 77 ) THEN
- CARD = 'ISA_C = ''Mapping '' / Mapping be'//
- : 'tween coordinate systems'
- ELSE IF( CMN_LINE .EQ. 78 ) THEN
- CARD = 'SFT1_A = -101.5 / Shift for ax'//
- : 'is 1'
- ELSE IF( CMN_LINE .EQ. 79 ) THEN
- CARD = 'SFT2_A = -201.5 / Shift for ax'//
- : 'is 2'
- ELSE IF( CMN_LINE .EQ. 80 ) THEN
- CARD = 'ENDAST_H= ''WinMap '' / End of obj'//
- : 'ect definition'
- ELSE IF( CMN_LINE .EQ. 81 ) THEN
- CARD = 'ENDAST_I= ''CmpMap '' / End of obj'//
- : 'ect definition'
- ELSE IF( CMN_LINE .EQ. 82 ) THEN
- CARD = 'ENDAST_J= ''FrameSet'' / End of obj'//
- : 'ect definition'
- ELSE IF( CMN_LINE .EQ. 83 ) THEN
- CARD = 'COMMENT AST .................................'//
- : '...............................'
- ELSE IF( CMN_LINE .EQ. 84 ) THEN
- CARD = 'AST'
- ELSE IF( CMN_LINE .EQ. 85 ) THEN
- CARD = 'COMMENT AST End of AST data for'//
- : ' FrameSet object'
- ELSE IF( CMN_LINE .EQ. 86 ) THEN
- CARD = 'AST'
- ELSE IF( CMN_LINE .EQ. 87 ) THEN
- CARD = 'COMMENT AST ---------------------------------'//
- : '-------------------------------'
- ELSE IF( CMN_LINE .EQ. 88 ) THEN
- CARD = 'AST'
- REG_SOURCE = 0
- ELSE
- REG_SOURCE = 0
- END IF
-
-
-* FITS headers from scp.head (Tue Jan 29 15:17:50 2002)
- ELSE IF( CMN_FTEST .EQ. 3 ) THEN
- IF( CMN_LINE .EQ. 1 ) THEN
- CARD = 'SIMPLE = T / file does co'//
- : 'nform to FITS standard'
- ELSE IF( CMN_LINE .EQ. 2 ) THEN
- CARD = 'BITPIX = 16 / number of bi'//
- : 'ts per data pixel'
- ELSE IF( CMN_LINE .EQ. 3 ) THEN
- CARD = 'NAXIS = 2 / number of da'//
- : 'ta axes'
- ELSE IF( CMN_LINE .EQ. 4 ) THEN
- CARD = 'NAXIS1 = 1787 / length of da'//
- : 'ta axis 1'
- ELSE IF( CMN_LINE .EQ. 5 ) THEN
- CARD = 'NAXIS2 = 447 / length of da'//
- : 'ta axis 2'
- ELSE IF( CMN_LINE .EQ. 6 ) THEN
- CARD = 'EXTEND = T / FITS dataset'//
- : ' may contain extensions'
- ELSE IF( CMN_LINE .EQ. 7 ) THEN
- CARD = 'COMMENT FITS (Flexible Image Transport Syst'//
- : 'em) format defined in Astronomy and'
- ELSE IF( CMN_LINE .EQ. 8 ) THEN
- CARD = 'COMMENT Astrophysics Supplement Series v44/'//
- : 'p363, v44/p371, v73/p359, v73/p365.'
- ELSE IF( CMN_LINE .EQ. 9 ) THEN
- CARD = 'COMMENT Contact the NASA Science Office of '//
- : 'Standards and Technology for the'
- ELSE IF( CMN_LINE .EQ. 10 ) THEN
- CARD = 'COMMENT FITS Definition document #100 and o'//
- : 'ther FITS information.'
- ELSE IF( CMN_LINE .EQ. 11 ) THEN
- CARD = 'PLATENUM= ''3665 '' / Plate numb'//
- : 'er'
- ELSE IF( CMN_LINE .EQ. 12 ) THEN
- CARD = 'EMULSION= ''IIIaJ '' / Kodak emul'//
- : 'sion type'
- ELSE IF( CMN_LINE .EQ. 13 ) THEN
- CARD = 'FILTER = ''GG395 '' / Schott gla'//
- : 'ss filter type'
- ELSE IF( CMN_LINE .EQ. 14 ) THEN
- CARD = 'PLTSCALE= ''67.14 '' / [arcsec/mm'//
- : '] plate scale'
- ELSE IF( CMN_LINE .EQ. 15 ) THEN
- CARD = 'FIELDNUM= ''1 '' / Sky survey'//
- : ' field number'
- ELSE IF( CMN_LINE .EQ. 16 ) THEN
- CARD = 'EPOCH = 1.977780E+03 / Epoch of obs'//
- : 'ervation'
- ELSE IF( CMN_LINE .EQ. 17 ) THEN
- CARD = 'DATE-OBS= ''1977-10-11'' / [yyyy-mm-d'//
- : 'd] UT date of observation'
- ELSE IF( CMN_LINE .EQ. 18 ) THEN
- CARD = 'TELESCOP= ''UKST '' / Telescope '//
- : 'on which the plate was taken'
- ELSE IF( CMN_LINE .EQ. 19 ) THEN
- CARD = 'TELETYPE= ''SCHM '' / Type of te'//
- : 'lescope'
- ELSE IF( CMN_LINE .EQ. 20 ) THEN
- CARD = 'SITELAT = -5.458410576565E-01 / [radians] la'//
- : 'titude of telescope'
- ELSE IF( CMN_LINE .EQ. 21 ) THEN
- CARD = 'SITELONG= 2.601766194458E+00 / [radians] lo'//
- : 'ngitude of telescope'
- ELSE IF( CMN_LINE .EQ. 22 ) THEN
- CARD = 'LST = ''00:20 '' / [hh:mm] lo'//
- : 'cal sidereal time at start of obs'
- ELSE IF( CMN_LINE .EQ. 23 ) THEN
- CARD = 'MJD-OBS = 4.342657300880E+04 / Modified Jul'//
- : 'ian Date of observation'
- ELSE IF( CMN_LINE .EQ. 24 ) THEN
- CARD = 'INSTRUME= ''SuperCOSMOS I'' / Measuring '//
- : 'machine'
- ELSE IF( CMN_LINE .EQ. 25 ) THEN
- CARD = 'DATE-MES= ''2000-11-04'' / [yyyy-mm-d'//
- : 'd] Date of this plate measurement'
- ELSE IF( CMN_LINE .EQ. 26 ) THEN
- CARD = 'RADECSYS= ''FK5 '' / Reference '//
- : 'frame for RA/DEC in original file'
- ELSE IF( CMN_LINE .EQ. 27 ) THEN
- CARD = 'NHKLINES= 146 / Number of li'//
- : 'nes from house-keeping file'
- ELSE IF( CMN_LINE .EQ. 28 ) THEN
- CARD = 'HKLIN001= ''JOB.JOBNO UKJ001'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 29 ) THEN
- CARD = 'HKLIN002= ''JOB.DATE-MES 2000:11:'//
- : '04'' /'
- ELSE IF( CMN_LINE .EQ. 30 ) THEN
- CARD = 'HKLIN003= ''JOB.TIME 12:51:09'//
- : ''' /'
- ELSE IF( CMN_LINE .EQ. 31 ) THEN
- CARD = 'HKLIN004= ''JOB.INSTRUME SuperCOS'//
- : 'MOS I'' /'
- ELSE IF( CMN_LINE .EQ. 32 ) THEN
- CARD = 'HKLIN005= ''JOB.ORIGIN Royal Ob'//
- : 'servatory Edinburgh'' /'
- ELSE IF( CMN_LINE .EQ. 33 ) THEN
- CARD = 'HKLIN006= ''JOB.SOFTWARE /home/sc'//
- : 'osdev/v033'' /'
- ELSE IF( CMN_LINE .EQ. 34 ) THEN
- CARD = 'HKLIN007= ''JOB.OPERATOR ebt'' /'
- ELSE IF( CMN_LINE .EQ. 35 ) THEN
- CARD = 'HKLIN008= ''JOB.USER htm'' /'
- ELSE IF( CMN_LINE .EQ. 36 ) THEN
- CARD = 'HKLIN009= ''JOB.USERREF NONE'' /'
- ELSE IF( CMN_LINE .EQ. 37 ) THEN
- CARD = 'HKLIN010= ''JOB.UORIGIN ROE'' /'
- ELSE IF( CMN_LINE .EQ. 38 ) THEN
- CARD = 'HKLIN011= ''JOB.UCOUNTRY uk'' /'
- ELSE IF( CMN_LINE .EQ. 39 ) THEN
- CARD = 'HKLIN012= ''JOB.COMMENT Digital '//
- : 'catalogue of the Sky'' /'
- ELSE IF( CMN_LINE .EQ. 40 ) THEN
- CARD = 'HKLIN013= ''JOB.IAM_FILE iam.srt''//
- : '' /'
- ELSE IF( CMN_LINE .EQ. 41 ) THEN
- CARD = 'HKLIN014= ''PLATE.TELESCOP UKST'' /'
- ELSE IF( CMN_LINE .EQ. 42 ) THEN
- CARD = 'HKLIN015= ''PLATE.TELTYPE SCHM'' /'
- ELSE IF( CMN_LINE .EQ. 43 ) THEN
- CARD = 'HKLIN016= ''PLATE.PLATE 3665'' /'
- ELSE IF( CMN_LINE .EQ. 44 ) THEN
- CARD = 'HKLIN017= ''PLATE.MATERIAL 3mm glas'//
- : 's'' /'
- ELSE IF( CMN_LINE .EQ. 45 ) THEN
- CARD = 'HKLIN018= ''PLATE.EMULSION IIIaJ'' '//
- : '/'
- ELSE IF( CMN_LINE .EQ. 46 ) THEN
- CARD = 'HKLIN019= ''PLATE.FILTER GG395'' '//
- : '/'
- ELSE IF( CMN_LINE .EQ. 47 ) THEN
- CARD = 'HKLIN020= ''PLATE.PSCALE 67.14'' '//
- : '/'
- ELSE IF( CMN_LINE .EQ. 48 ) THEN
- CARD = 'HKLIN021= ''PLATE.FIELD 1'' /'
- ELSE IF( CMN_LINE .EQ. 49 ) THEN
- CARD = 'HKLIN022= ''PLATE.RA_PNT 0'' /'
- ELSE IF( CMN_LINE .EQ. 50 ) THEN
- CARD = 'HKLIN023= ''PLATE.DEC_PNT -90'' /'
- ELSE IF( CMN_LINE .EQ. 51 ) THEN
- CARD = 'HKLIN024= ''PLATE.RADECSYS FK4'' /'
- ELSE IF( CMN_LINE .EQ. 52 ) THEN
- CARD = 'HKLIN025= ''PLATE.EQUINOX 1950'' /'
- ELSE IF( CMN_LINE .EQ. 53 ) THEN
- CARD = 'HKLIN026= ''PLATE.TIMESYS BESSELIA'//
- : 'N'' /'
- ELSE IF( CMN_LINE .EQ. 54 ) THEN
- CARD = 'HKLIN027= ''PLATE.EPOCH 1977.78''//
- : '' /'
- ELSE IF( CMN_LINE .EQ. 55 ) THEN
- CARD = 'HKLIN028= ''PLATE.EXPOSURE 75'' /'
- ELSE IF( CMN_LINE .EQ. 56 ) THEN
- CARD = 'HKLIN029= ''PLATE.UTDATE 771011'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 57 ) THEN
- CARD = 'HKLIN030= ''PLATE.LST 0020'' /'
- ELSE IF( CMN_LINE .EQ. 58 ) THEN
- CARD = 'HKLIN031= ''PLATE.MJD 43426.57'//
- : '3008796'' /'
- ELSE IF( CMN_LINE .EQ. 59 ) THEN
- CARD = 'HKLIN032= ''PLATE.TELLAT -0.54584'//
- : '105765654'' /'
- ELSE IF( CMN_LINE .EQ. 60 ) THEN
- CARD = 'HKLIN033= ''PLATE.TELLONG 2.601766'//
- : '1944583'' /'
- ELSE IF( CMN_LINE .EQ. 61 ) THEN
- CARD = 'HKLIN034= ''PLATE.TELHT 1145'' /'
- ELSE IF( CMN_LINE .EQ. 62 ) THEN
- CARD = 'HKLIN035= ''PLATE.TEMP 273.155''//
- : '' /'
- ELSE IF( CMN_LINE .EQ. 63 ) THEN
- CARD = 'HKLIN036= ''PLATE.ATMOSP 1013.25''//
- : '' /'
- ELSE IF( CMN_LINE .EQ. 64 ) THEN
- CARD = 'HKLIN037= ''PLATE.HUMID 0.5'' /'
- ELSE IF( CMN_LINE .EQ. 65 ) THEN
- CARD = 'HKLIN038= ''PLATE.WAVE 4500'' /'
- ELSE IF( CMN_LINE .EQ. 66 ) THEN
- CARD = 'HKLIN039= ''PLATE.TROPL 0.0065'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 67 ) THEN
- CARD = 'HKLIN040= ''CALIBRATION.CALTYPE SPLINE'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 68 ) THEN
- CARD = 'HKLIN041= ''CALIBRATION.STEPWEDG KPNO'' /'
- ELSE IF( CMN_LINE .EQ. 69 ) THEN
- CARD = 'HKLIN042= ''CALIBRATION.NSTEPS 8'' /'
- ELSE IF( CMN_LINE .EQ. 70 ) THEN
- CARD = 'HKLIN043= ''MEASUREMENT.ORIENTAT news'' /'
- ELSE IF( CMN_LINE .EQ. 71 ) THEN
- CARD = 'HKLIN044= ''MEASUREMENT.EMULPOS UP'' /'
- ELSE IF( CMN_LINE .EQ. 72 ) THEN
- CARD = 'HKLIN045= ''MEASUREMENT.SCANFILT 14'' /'
- ELSE IF( CMN_LINE .EQ. 73 ) THEN
- CARD = 'HKLIN046= ''MEASUREMENT.SOSP 552'' /'
- ELSE IF( CMN_LINE .EQ. 74 ) THEN
- CARD = 'HKLIN047= ''MEASUREMENT.STEPSIZE 10'' /'
- ELSE IF( CMN_LINE .EQ. 75 ) THEN
- CARD = 'HKLIN048= ''MEASUREMENT.SCANLEN 1152'' /'
- ELSE IF( CMN_LINE .EQ. 76 ) THEN
- CARD = 'HKLIN049= ''MEASUREMENT.A-XMIN 1622000''//
- : '' /'
- ELSE IF( CMN_LINE .EQ. 77 ) THEN
- CARD = 'HKLIN050= ''MEASUREMENT.A-YMIN 1622000''//
- : '' /'
- ELSE IF( CMN_LINE .EQ. 78 ) THEN
- CARD = 'HKLIN051= ''MEASUREMENT.A-XMAX 33878000'//
- : ''' /'
- ELSE IF( CMN_LINE .EQ. 79 ) THEN
- CARD = 'HKLIN052= ''MEASUREMENT.A-YMAX 33878000'//
- : ''' /'
- ELSE IF( CMN_LINE .EQ. 80 ) THEN
- CARD = 'HKLIN053= ''MEASUREMENT.X_PNT 17500000'//
- : ''' /'
- ELSE IF( CMN_LINE .EQ. 81 ) THEN
- CARD = 'HKLIN054= ''MEASUREMENT.Y_PNT 18000000'//
- : ''' /'
- ELSE IF( CMN_LINE .EQ. 82 ) THEN
- CARD = 'HKLIN055= ''ANALYSIS.NPARAMS 32'' /'
- ELSE IF( CMN_LINE .EQ. 83 ) THEN
- CARD = 'HKLIN056= ''ANALYSIS.AREACUT 8'' /'
- ELSE IF( CMN_LINE .EQ. 84 ) THEN
- CARD = 'HKLIN057= ''ANALYSIS.AP-PARAM 1.07'' /'
- ELSE IF( CMN_LINE .EQ. 85 ) THEN
- CARD = 'HKLIN058= ''DEBLEND.DB-PARAM 1.05'' /'
- ELSE IF( CMN_LINE .EQ. 86 ) THEN
- CARD = 'HKLIN059= ''DEBLEND.DB-AMIN 16'' /'
- ELSE IF( CMN_LINE .EQ. 87 ) THEN
- CARD = 'HKLIN060= ''DEBLEND.DB-AMAX 100000'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 88 ) THEN
- CARD = 'HKLIN061= ''DEBLEND.DB-ACUT 8'' /'
- ELSE IF( CMN_LINE .EQ. 89 ) THEN
- CARD = 'HKLIN062= ''DEBLEND.DB-LEVEL 16'' /'
- ELSE IF( CMN_LINE .EQ. 90 ) THEN
- CARD = 'HKLIN063= ''DEBLEND.SELECT PARENT+C'//
- : 'HILD'' /'
- ELSE IF( CMN_LINE .EQ. 91 ) THEN
- CARD = 'HKLIN064= ''SKY.SKYSQUAR 64'' /'
- ELSE IF( CMN_LINE .EQ. 92 ) THEN
- CARD = 'HKLIN065= ''SKY.SKYDEFN MEDIAN'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 93 ) THEN
- CARD = 'HKLIN066= ''SKY.SKYFILTR bdkjunk''//
- : '' /'
- ELSE IF( CMN_LINE .EQ. 94 ) THEN
- CARD = 'HKLIN067= ''SKY.F-THRESH 8'' /'
- ELSE IF( CMN_LINE .EQ. 95 ) THEN
- CARD = 'HKLIN068= ''SKY.F-SCLEN 4'' /'
- ELSE IF( CMN_LINE .EQ. 96 ) THEN
- CARD = 'HKLIN069= ''THRESHOLDING.PCUT 10'' /'
- ELSE IF( CMN_LINE .EQ. 97 ) THEN
- CARD = 'HKLIN070= ''IAMQC.AREAMIN 8'' /'
- ELSE IF( CMN_LINE .EQ. 98 ) THEN
- CARD = 'HKLIN071= ''IAMQC.AREAMAX 77346'' '//
- : '/'
- ELSE IF( CMN_LINE .EQ. 99 ) THEN
- CARD = 'HKLIN072= ''IAMQC.MINMAG -30515'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 100 ) THEN
- CARD = 'HKLIN073= ''IAMQC.MAXMAG -17954'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 101 ) THEN
- CARD = 'HKLIN074= ''IAMQC.MINELL 0.000415'//
- : '6232'' /'
- ELSE IF( CMN_LINE .EQ. 102 ) THEN
- CARD = 'HKLIN075= ''IAMQC.MAXELL 1'' /'
- ELSE IF( CMN_LINE .EQ. 103 ) THEN
- CARD = 'HKLIN076= ''IAMQC.MODELL 0.14'' /'
- ELSE IF( CMN_LINE .EQ. 104 ) THEN
- CARD = 'HKLIN077= ''IAMQC.MODOR 91'' /'
- ELSE IF( CMN_LINE .EQ. 105 ) THEN
- CARD = 'HKLIN078= ''IAMQC.MIDELL 0.21'' /'
- ELSE IF( CMN_LINE .EQ. 106 ) THEN
- CARD = 'HKLIN079= ''IAMQC.MIDOR 93'' /'
- ELSE IF( CMN_LINE .EQ. 107 ) THEN
- CARD = 'HKLIN080= ''IAMQC.MEANELL 0.246703'//
- : '7'' /'
- ELSE IF( CMN_LINE .EQ. 108 ) THEN
- CARD = 'HKLIN081= ''IAMQC.MEANOR 91.63474'//
- : ''' /'
- ELSE IF( CMN_LINE .EQ. 109 ) THEN
- CARD = 'HKLIN082= ''IAMQC.NUMOBJ 556985'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 110 ) THEN
- CARD = 'HKLIN083= ''IAMQC.PARENTS 486656'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 111 ) THEN
- CARD = 'HKLIN084= ''IAMQC.RANGING TRUE'' /'
- ELSE IF( CMN_LINE .EQ. 112 ) THEN
- CARD = 'HKLIN085= ''IAMQC.LANE_1 15571'' '//
- : '/'
- ELSE IF( CMN_LINE .EQ. 113 ) THEN
- CARD = 'HKLIN086= ''IAMQC.LANE_2 33207'' '//
- : '/'
- ELSE IF( CMN_LINE .EQ. 114 ) THEN
- CARD = 'HKLIN087= ''IAMQC.LANE_3 51478'' '//
- : '/'
- ELSE IF( CMN_LINE .EQ. 115 ) THEN
- CARD = 'HKLIN088= ''IAMQC.LANE_4 69944'' '//
- : '/'
- ELSE IF( CMN_LINE .EQ. 116 ) THEN
- CARD = 'HKLIN089= ''IAMQC.LANE_5 89236'' '//
- : '/'
- ELSE IF( CMN_LINE .EQ. 117 ) THEN
- CARD = 'HKLIN090= ''IAMQC.LANE_6 108416'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 118 ) THEN
- CARD = 'HKLIN091= ''IAMQC.LANE_7 127481'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 119 ) THEN
- CARD = 'HKLIN092= ''IAMQC.LANE_8 146699'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 120 ) THEN
- CARD = 'HKLIN093= ''IAMQC.LANE_9 166380'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 121 ) THEN
- CARD = 'HKLIN094= ''IAMQC.LANE_10 186126'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 122 ) THEN
- CARD = 'HKLIN095= ''IAMQC.LANE_11 205946'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 123 ) THEN
- CARD = 'HKLIN096= ''IAMQC.LANE_12 225915'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 124 ) THEN
- CARD = 'HKLIN097= ''IAMQC.LANE_13 245926'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 125 ) THEN
- CARD = 'HKLIN098= ''IAMQC.LANE_14 266574'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 126 ) THEN
- CARD = 'HKLIN099= ''IAMQC.LANE_15 287150'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 127 ) THEN
- CARD = 'HKLIN100= ''IAMQC.LANE_16 308087'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 128 ) THEN
- CARD = 'HKLIN101= ''IAMQC.LANE_17 328830'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 129 ) THEN
- CARD = 'HKLIN102= ''IAMQC.LANE_18 350253'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 130 ) THEN
- CARD = 'HKLIN103= ''IAMQC.LANE_19 370738'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 131 ) THEN
- CARD = 'HKLIN104= ''IAMQC.LANE_20 391722'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 132 ) THEN
- CARD = 'HKLIN105= ''IAMQC.LANE_21 412801'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 133 ) THEN
- CARD = 'HKLIN106= ''IAMQC.LANE_22 433795'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 134 ) THEN
- CARD = 'HKLIN107= ''IAMQC.LANE_23 454383'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 135 ) THEN
- CARD = 'HKLIN108= ''IAMQC.LANE_24 474711'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 136 ) THEN
- CARD = 'HKLIN109= ''IAMQC.LANE_25 495108'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 137 ) THEN
- CARD = 'HKLIN110= ''IAMQC.LANE_26 515755'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 138 ) THEN
- CARD = 'HKLIN111= ''IAMQC.LANE_27 536499'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 139 ) THEN
- CARD = 'HKLIN112= ''IAMQC.LANE_28 556985'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 140 ) THEN
- CARD = 'HKLIN113= ''XYTORADEC.STARCAT /sdata/s'//
- : 'cos/refcats/tycho2.FIT'' /'
- ELSE IF( CMN_LINE .EQ. 141 ) THEN
- CARD = 'HKLIN114= ''XYTORADEC.BRIGHTLIM 9'' /'
- ELSE IF( CMN_LINE .EQ. 142 ) THEN
- CARD = 'HKLIN115= ''XYTORADEC.C-EQUIN 2000'' /'
- ELSE IF( CMN_LINE .EQ. 143 ) THEN
- CARD = 'HKLIN116= ''XYTORADEC.C-EQTSYS JULIAN'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 144 ) THEN
- CARD = 'HKLIN117= ''XYTORADEC.C-EPOCH 2000'' /'
- ELSE IF( CMN_LINE .EQ. 145 ) THEN
- CARD = 'HKLIN118= ''XYTORADEC.C-EPTSYS JULIAN'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 146 ) THEN
- CARD = 'HKLIN119= ''XYTORADEC.R-EQUIN 2000'' /'
- ELSE IF( CMN_LINE .EQ. 147 ) THEN
- CARD = 'HKLIN120= ''XYTORADEC.R-TSYS JULIAN'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 148 ) THEN
- CARD = 'HKLIN121= ''XYTORADEC.MAXITER 5000'' /'
- ELSE IF( CMN_LINE .EQ. 149 ) THEN
- CARD = 'HKLIN122= ''XYTORADEC.RCRITINI 500000'''//
- : ' /'
- ELSE IF( CMN_LINE .EQ. 150 ) THEN
- CARD = 'HKLIN123= ''XYTORADEC.RCRITABS 50000'' '//
- : '/'
- ELSE IF( CMN_LINE .EQ. 151 ) THEN
- CARD = 'HKLIN124= ''XYTORADEC.RCRITREL 1'' /'
- ELSE IF( CMN_LINE .EQ. 152 ) THEN
- CARD = 'HKLIN125= ''XYTORADEC.RCRITFIN 3'' /'
- ELSE IF( CMN_LINE .EQ. 153 ) THEN
- CARD = 'HKLIN126= ''XYTORADEC.HARDCOPY /scos1/s'//
- : 'cos/UKJ001/UKJ001.ps'' /'
- ELSE IF( CMN_LINE .EQ. 154 ) THEN
- CARD = 'HKLIN127= ''XYTORADEC.REFSMULT 5'' /'
- ELSE IF( CMN_LINE .EQ. 155 ) THEN
- CARD = 'HKLIN128= ''XYTORADEC.RESDMULT 1000'' /'
- ELSE IF( CMN_LINE .EQ. 156 ) THEN
- CARD = 'HKLIN129= ''XYTORADEC.RACOL RA'' /'
- ELSE IF( CMN_LINE .EQ. 157 ) THEN
- CARD = 'HKLIN130= ''XYTORADEC.DECOL DEC'' /'
- ELSE IF( CMN_LINE .EQ. 158 ) THEN
- CARD = 'HKLIN131= ''XYTORADEC.RAPMCOL PMRA'' /'
- ELSE IF( CMN_LINE .EQ. 159 ) THEN
- CARD = 'HKLIN132= ''XYTORADEC.DECPMCOL PMDE'' /'
- ELSE IF( CMN_LINE .EQ. 160 ) THEN
- CARD = 'HKLIN133= ''XYTORADEC.PLXCOL NONE'' /'
- ELSE IF( CMN_LINE .EQ. 161 ) THEN
- CARD = 'HKLIN134= ''XYTORADEC.RVCOL NONE'' /'
- ELSE IF( CMN_LINE .EQ. 162 ) THEN
- CARD = 'HKLIN135= ''XYTORADEC.MAGCOL VT'' /'
- ELSE IF( CMN_LINE .EQ. 163 ) THEN
- CARD = 'HKLIN136= ''XYTORADEC.STARSC 2374'' /'
- ELSE IF( CMN_LINE .EQ. 164 ) THEN
- CARD = 'HKLIN137= ''XYTORADEC.STARSU 1727'' /'
- ELSE IF( CMN_LINE .EQ. 165 ) THEN
- CARD = 'HKLIN138= ''XYTORADEC.COEFFS_1 17.64034'//
- : '3856524'' /'
- ELSE IF( CMN_LINE .EQ. 166 ) THEN
- CARD = 'HKLIN139= ''XYTORADEC.COEFFS_2 -260.441'//
- : '51995641'' /'
- ELSE IF( CMN_LINE .EQ. 167 ) THEN
- CARD = 'HKLIN140= ''XYTORADEC.COEFFS_3 -163.091'//
- : '55572601'' /'
- ELSE IF( CMN_LINE .EQ. 168 ) THEN
- CARD = 'HKLIN141= ''XYTORADEC.COEFFS_4 17.50423'//
- : '0442205'' /'
- ELSE IF( CMN_LINE .EQ. 169 ) THEN
- CARD = 'HKLIN142= ''XYTORADEC.COEFFS_5 -163.086'//
- : '76953832'' /'
- ELSE IF( CMN_LINE .EQ. 170 ) THEN
- CARD = 'HKLIN143= ''XYTORADEC.COEFFS_6 260.4881'//
- : '7907668'' /'
- ELSE IF( CMN_LINE .EQ. 171 ) THEN
- CARD = 'HKLIN144= ''XYTORADEC.DISTR -0.33333'//
- : '333333333'' /'
- ELSE IF( CMN_LINE .EQ. 172 ) THEN
- CARD = 'HKLIN145= ''XYTORADEC.RA_PNT 0.549249'//
- : '96662137'' /'
- ELSE IF( CMN_LINE .EQ. 173 ) THEN
- CARD = 'HKLIN146= ''XYTORADEC.DEC_PNT -1.56849'//
- : '31501781'' /'
- ELSE IF( CMN_LINE .EQ. 174 ) THEN
- CARD = 'HISTORY = ''SuperCOSMOS image analysis and ma'//
- : 'pping mode (IAM and MM)'' /'
- ELSE IF( CMN_LINE .EQ. 175 ) THEN
- CARD = 'HISTORY = ''data written by xydcomp_ss.'' /'
- ELSE IF( CMN_LINE .EQ. 176 ) THEN
- CARD = 'HISTORY = ''Any questions/comments/suggestion'//
- : 's/bug reports should be sent'' /'
- ELSE IF( CMN_LINE .EQ. 177 ) THEN
- CARD = 'HISTORY = ''to N.Hambly@roe.ac.uk'' /'
- ELSE IF( CMN_LINE .EQ. 178 ) THEN
- CARD = 'ASTSIGX = 3.700000E-01 / [arcsec] std'//
- : '. dev. of astrometric fit in X'
- ELSE IF( CMN_LINE .EQ. 179 ) THEN
- CARD = 'ASTSIGY = 3.800000E-01 / [arcsec] std'//
- : '. dev. of astrometric fit in Y'
- ELSE IF( CMN_LINE .EQ. 180 ) THEN
- CARD = 'CRVAL1 = 0.000000000000E+00 / Axis 1 refer'//
- : 'ence value'
- ELSE IF( CMN_LINE .EQ. 181 ) THEN
- CARD = 'CRPIX1 = 8.936318379289E+02 / Axis 1 pixel'//
- : ' value'
- ELSE IF( CMN_LINE .EQ. 182 ) THEN
- CARD = 'CTYPE1 = ''RA---TAN'' / Quantity r'//
- : 'epresented by axis 1'
- ELSE IF( CMN_LINE .EQ. 183 ) THEN
- CARD = 'CRVAL2 = -9.000000018364E+01 / Axis 2 refer'//
- : 'ence value'
- ELSE IF( CMN_LINE .EQ. 184 ) THEN
- CARD = 'CRPIX2 = 2.238380193875E+02 / Axis 2 pixel'//
- : ' value'
- ELSE IF( CMN_LINE .EQ. 185 ) THEN
- CARD = 'CTYPE2 = ''DEC--TAN'' / Quantity r'//
- : 'epresented by axis 2'
- ELSE IF( CMN_LINE .EQ. 186 ) THEN
- CARD = 'CD1_1 = -1.864642639667E-04 / Co-ordinate '//
- : 'transformation matrix'
- ELSE IF( CMN_LINE .EQ. 187 ) THEN
- CARD = 'CD1_2 = -9.188369023766E-07 / Co-ordinate '//
- : 'transformation matrix'
- ELSE IF( CMN_LINE .EQ. 188 ) THEN
- CARD = 'CD2_1 = -1.038232462415E-06 / Co-ordinate '//
- : 'transformation matrix'
- ELSE IF( CMN_LINE .EQ. 189 ) THEN
- CARD = 'CD2_2 = 1.866269837741E-04 / Co-ordinate '//
- : 'transformation matrix'
- ELSE IF( CMN_LINE .EQ. 190 ) THEN
- CARD = 'CDELT1 = -1.864665278217E-04 / DEPRECATED -'//
- : ' Increment per pixel on axis 1'
- ELSE IF( CMN_LINE .EQ. 191 ) THEN
- CARD = 'CDELT2 = 1.866298716692E-04 / DEPRECATED -'//
- : ' Increment per pixel on axis 2'
- ELSE IF( CMN_LINE .EQ. 192 ) THEN
- CARD = 'PC001001= 9.999878591881E-01 / DEPRECATED -'//
- : ' Axis rotation matrix'
- ELSE IF( CMN_LINE .EQ. 193 ) THEN
- CARD = 'PC001002= 4.927623810613E-03 / DEPRECATED -'//
- : ' Axis rotation matrix'
- ELSE IF( CMN_LINE .EQ. 194 ) THEN
- CARD = 'PC002001= -5.563056187788E-03 / DEPRECATED -'//
- : ' Axis rotation matrix'
- ELSE IF( CMN_LINE .EQ. 195 ) THEN
- CARD = 'PC002002= 9.999845260832E-01 / DEPRECATED -'//
- : ' Axis rotation matrix'
- ELSE IF( CMN_LINE .EQ. 196 ) THEN
- CARD = 'CROTA2 = 3.005532298491E-01 / DEPRECATED -'//
- : ' rotation of axis 2'
- ELSE IF( CMN_LINE .EQ. 197 ) THEN
- CARD = 'EQUINOX = 2.000000E+03 / Julian refer'//
- : 'ence frame equinox'
- ELSE IF( CMN_LINE .EQ. 198 ) THEN
- CARD = 'DATATYPE= ''INTEGER*2'' / Type of da'//
- : 'ta'
- ELSE IF( CMN_LINE .EQ. 199 ) THEN
- CARD = 'DATUNITS= ''DENSITY '' / Units: tra'//
- : 'nsmission, density or intensity'
- ELSE IF( CMN_LINE .EQ. 200 ) THEN
- CARD = 'XPIXELSZ= 9.997114974000E+00 / [microns] X '//
- : 'pixel size'
- ELSE IF( CMN_LINE .EQ. 201 ) THEN
- CARD = 'YPIXELSZ= 1.000000000000E+01 / [microns] Y '//
- : 'pixel size'
- ELSE IF( CMN_LINE .EQ. 202 ) THEN
- CARD = 'OBJCTRA = '' 0 0 0.000'' / Centre Rig'//
- : 'ht Ascension (J2000)'
- ELSE IF( CMN_LINE .EQ. 203 ) THEN
- CARD = 'OBJCTDEC= ''-90 0 0.00'' / Centre Dec'//
- : 'lination (J2000)'
- ELSE IF( CMN_LINE .EQ. 204 ) THEN
- CARD = 'OBJCTX = 1.636863183793E+04 / [pixels] Cen'//
- : 'tre X on plate'
- ELSE IF( CMN_LINE .EQ. 205 ) THEN
- CARD = 'OBJCTY = 1.474083801939E+04 / [pixels] Cen'//
- : 'tre Y on plate'
- ELSE IF( CMN_LINE .EQ. 206 ) THEN
- CARD = 'END'
- REG_SOURCE = 0
- ELSE
- REG_SOURCE = 0
- END IF
-
-
-* Insert new header code here.... (create new header code using script
-* "make_regtest" in the AST development archive).
- ELSE
- REG_SOURCE = 0
- STATUS = SAI__ERROR
- WRITE(*,'(A,I2)') 'REG_SOURCE: No such test: ',CMN_FTEST
- END IF
-
- CMN_LINE = CMN_LINE + 1
-
- END
-
-
diff --git a/ast/ast_tester/regression.out b/ast/ast_tester/regression.out
deleted file mode 100644
index 7fcaa9c..0000000
--- a/ast/ast_tester/regression.out
+++ /dev/null
@@ -1,7630 +0,0 @@
- Begin FitsChan # I/O channels to FITS files
- Card = 1 # Index of current card
-# Encod = "NATIVE" # Encoding system
-# FitsDg = 15 # No. of digits for floating point values
-# DfB1950 = 1 # Default to FK4 B1950
-# CdMat = 0 # Use PC matrix
-# CarLin = 0 # Use full FITS-WCS CAR projections
-# Iwc = 0 # Do not include an IWC Frame
-# Warn = "Tnx Zpx BadCel BadMat BadCTYPE" # Warnings to be reported
- Nm1 = "NAXIS" # FITS keyword name
- Ty1 = "integer" # FITS keyword data type
- Dt1 = 1 # FITS keyword value
- Nm2 = "NAXIS1" # FITS keyword name
- Ty2 = "integer" # FITS keyword data type
- Dt2 = 100 # FITS keyword value
- Nm3 = "CTYPE1" # FITS keyword name
- Ty3 = "string" # FITS keyword data type
- Dt3 = "fred" # FITS keyword value
- Nm4 = "CDELT1" # FITS keyword name
- Ty4 = "floating point" # FITS keyword data type
- Dt4 = 0 # FITS keyword value
- Nm5 = "CRPIX1" # FITS keyword name
- Ty5 = "integer" # FITS keyword data type
- Dt5 = 50 # FITS keyword value
- Nm6 = "CUNIT1" # FITS keyword name
- Ty6 = "string" # FITS keyword data type
- Dt6 = "GHz" # FITS keyword value
- Nm7 = " " # FITS keyword name
- Ty7 = "comment" # FITS keyword data type
- End FitsChan
- Begin FrameSet # Set of inter-related coordinate systems
-# Title = "IAU (1958) galactic coordinates; zenithal equal area projection" # Title of coordinate system
-# Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
-# Epoch = 1950 # Besselian epoch of observation
-# Lbl1 = "Galactic longitude" # Label for axis 1
-# Lbl2 = "Galactic latitude" # Label for axis 2
-# System = "GALACTIC" # Coordinate system type
-# Uni1 = "degrees" # Units for axis 1
-# Uni2 = "degrees" # Units for axis 2
-# Bot2 = -1.5707963267949 # Lowest legal axis value
-# Top2 = 1.5707963267949 # Highest legal axis value
- IsA Frame # Coordinate system description
- Nframe = 2 # Number of Frames in FrameSet
- Base = 1 # Index of base Frame
- Currnt = 2 # Index of current Frame
- Lnk2 = 1 # Node 2 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame # Coordinate system description
- Title = "Pixel Coordinates" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Pixel axis 1" # Label for axis 1
-# Lbl2 = "Pixel axis 2" # Label for axis 2
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Pixel axis 1" # Axis Label
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Pixel axis 2" # Axis Label
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin SkyFrame # Description of celestial coordinate system
- Ident = " " # Permanent Object identification string
- IsA Object # AST Object
-# Title = "IAU (1958) galactic coordinates; zenithal equal area projection" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
- Epoch = 1950 # Besselian epoch of observation
-# Lbl1 = "Galactic longitude" # Label for axis 1
-# Lbl2 = "Galactic latitude" # Label for axis 2
- System = "GALACTIC" # Coordinate system type
-# Uni1 = "degrees" # Units for axis 1
-# Uni2 = "degrees" # Units for axis 2
-# Bot2 = -1.5707963267949 # Lowest legal axis value
-# Top2 = 1.5707963267949 # Highest legal axis value
- Ax1 = # Axis number 1
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- Ax2 = # Axis number 2
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- IsA Frame # Coordinate system description
- Proj = "zenithal equal area" # Description of sky projection
- SRefIs = "Ignored" # Not rotated (ref. pos. is ignored)
- SRef1 = -2.61046557479594 # Ref. pos. l -149.5687
- SRef2 = -0.344845661720836 # Ref. pos. b -19.7582
- End SkyFrame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -150.5 # Shift for axis 1
- Sft2 = -150.5 # Shift for axis 2
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -0.020943951023932 # Forward matrix value
- M1 = 0.020943951023932 # Forward matrix value
- Form = "Diagonal" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 2 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "ZEA" # Zenithal equal area projection
- End WcsMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 0 # Polar longitude (rad.s)
- End SphMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 0.291480364581799 # Forward matrix value
- M1 = 0.506505471460186 # AST version 4.3- 0
-PutCards Ncards = 7
-PutCards Card = 1
-PutCards Card = 8
-PutCards Ncards = 7
-PutCards Card = 1
-
-
-
-
- FITS test number 1
- ====================
-
-
-
-AST_SHOW:
-
-REG_SINK:
-SIMPLE = T / Written by IDL: 30-Jul-1997 05:35:42.00
-BITPIX = -32 / Bits per pixel.
-NAXIS = 2 / Number of dimensions
-NAXIS1 = 300 / Length of x axis.
-NAXIS2 = 300 / Length of y axis.
-COMMENT
-COMMENT This file was produced by the SkyView survey analysis system from
-COMMENT available astronomical surveys. The data are formatted
-COMMENT as a simple two-dimensional FITS image with the same units as
-COMMENT the orginal survey. A single ASCII table extension may be present
-COMMENT which describes catalog objects found within the field of view.
-COMMENT Copies of relevant copyright notices are included in this file.
-COMMENT
-COMMENT Questions should be directed to:
-COMMENT
-COMMENT scollick@skyview.gsfc.nasa.gov
-COMMENT or
-COMMENT mcglynn@grossc.gsfc.nasa.gov
-COMMENT
-COMMENT SkyView
-COMMENT Code 668.1
-COMMENT Goddard Space Flight Center, Greenbelt, MD 20771
-COMMENT 301-286-7780
-COMMENT
-COMMENT SkyView is supported by NASA ADP grant NAS 5-32068.
-COMMENT
-SURVEY = 'COBE DIRBE'
-BUNITS = 'MJy/sr '
-ORIGIN = 'CDAC ' / Cosmology Data Analysis Center
-TELESCOP= 'COBE ' / COsmic Background Explorer satellite
-INSTRUME= 'DIRBE ' / COBE instrument [DIRBE, DMR, FIRAS]
-PIXRESOL= 9 / Quad tree pixel resolution [6, 9]
-DATE = '27/09/94' / FITS file creation date (dd/mm/yy)
-DATE-MAP= '16/09/94' / Date of original file creation (dd/mm/yy)
-COMMENT COBE specific keywords
-DATE-BEG= '08/12/89' / date of initial data represented (dd/mm/yy)
-DATE-END= '25/09/90' / date of final data represented (dd/mm/yy)
-COMMENT
-COMMENT THE COBE DIRBE map is a combination of the original ten
-COMMENT band passes with the following wavelengths:
-COMMENT Band 1 - 1.25 microns
-COMMENT Band 2 - 2.2 microns
-COMMENT Band 3 - 3.5 microns
-COMMENT Band 4 - 4.9 microns
-COMMENT Band 5 - 12 microns
-COMMENT Band 6 - 25 microns
-COMMENT Band 7 - 60 microns
-COMMENT Band 8 - 100 microns
-COMMENT Band 9 - 140 microns
-COMMENT Band 10 - 240 microns
-COMMENT
-
-Objects written: 1
-
-Native Encoding:
-
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AST
-COMMENT AST WCS information in AST format AST
-COMMENT AST See http://www.starlink.ac.uk/ast/ AST
-COMMENT AST Beginning of AST data for FrameSet object AST
-COMMENT AST ................................................................ AST
-BEGAST_A= 'FrameSet' / Set of inter-related coordinate systems
-NFRAME_A= 2 / Number of Frames in FrameSet
-BASE_A = 1 / Index of base Frame
-CURRNT_A= 2 / Index of current Frame
-LNK2_A = 1 / Node 2 is derived from node 1
-FRM1_A = ' ' / Frame number 1
-BEGAST_B= 'Frame ' / Coordinate system description
-TITLE_A = 'Pixel Coordinates' / Title of coordinate system
-NAXES_A = 2 / Number of coordinate axes
-DOMAIN_A= 'GRID ' / Coordinate system domain
-AX1_A = ' ' / Axis number 1
-BEGAST_C= 'Axis ' / Coordinate axis
-LABEL_A = 'Pixel axis 1' / Axis Label
-ENDAST_A= 'Axis ' / End of object definition
-AX2_A = ' ' / Axis number 2
-BEGAST_D= 'Axis ' / Coordinate axis
-LABEL_B = 'Pixel axis 2' / Axis Label
-ENDAST_B= 'Axis ' / End of object definition
-ENDAST_C= 'Frame ' / End of object definition
-FRM2_A = ' ' / Frame number 2
-BEGAST_E= 'SkyFrame' / Description of celestial coordinate system
-IDENT_A = '" " ' / Permanent Object identification string
-ISA_A = 'Object ' / AST Object
-NAXES_B = 2 / Number of coordinate axes
-EPOCH_A = 1950.0 / Besselian epoch of observation
-SYSTEM_A= 'GALACTIC' / Coordinate system type
-AX1_B = ' ' / Axis number 1
-BEGAST_F= 'SkyAxis ' / Celestial coordinate axis
-ENDAST_D= 'SkyAxis ' / End of object definition
-AX2_B = ' ' / Axis number 2
-BEGAST_G= 'SkyAxis ' / Celestial coordinate axis
-ENDAST_E= 'SkyAxis ' / End of object definition
-ISA_B = 'Frame ' / Coordinate system description
-PROJ_A = 'zenithal equal area'/ Description of sky projection
-SREFIS_A= 'Ignored ' / Not rotated (ref. pos. is ignored)
-SREF1_A = -2.61046557479594 / Ref. pos. l -149.5687
-SREF2_A = -0.344845661720836 / Ref. pos. b -19.7582
-ENDAST_F= 'SkyFrame' / End of object definition
-MAP2_A = ' ' / Mapping between nodes 1 and 2
-BEGAST_H= 'CmpMap ' / Compound Mapping
-NIN_A = 2 / Number of input coordinates
-ISSIMP_A= 1 / Mapping has been simplified
-ISA_C = 'Mapping ' / Mapping between coordinate systems
-MAPA_A = ' ' / First component Mapping
-BEGAST_I= 'WinMap ' / Map one window on to another
-NIN_B = 2 / Number of input coordinates
-INVERT_A= 0 / Mapping not inverted
-ISA_D = 'Mapping ' / Mapping between coordinate systems
-SFT1_A = -150.5 / Shift for axis 1
-SFT2_A = -150.5 / Shift for axis 2
-ENDAST_G= 'WinMap ' / End of object definition
-MAPB_A = ' ' / Second component Mapping
-BEGAST_J= 'CmpMap ' / Compound Mapping
-NIN_C = 2 / Number of input coordinates
-ISA_E = 'Mapping ' / Mapping between coordinate systems
-MAPA_B = ' ' / First component Mapping
-BEGAST_K= 'MatrixMap' / Matrix transformation
-NIN_D = 2 / Number of input coordinates
-INVERT_B= 0 / Mapping not inverted
-ISA_F = 'Mapping ' / Mapping between coordinate systems
-M0_A = -0.020943951023932 / Forward matrix value
-M1_A = 0.020943951023932 / Forward matrix value
-FORM_A = 'Diagonal' / Matrix storage form
-ENDAST_H= 'MatrixMap' / End of object definition
-MAPB_B = ' ' / Second component Mapping
-BEGAST_L= 'CmpMap ' / Compound Mapping
-NIN_E = 2 / Number of input coordinates
-ISA_G = 'Mapping ' / Mapping between coordinate systems
-INVA_A = 1 / First Mapping used in inverse direction
-MAPA_C = ' ' / First component Mapping
-BEGAST_M= 'WcsMap ' / FITS-WCS sky projection
-NIN_F = 2 / Number of input coordinates
-INVERT_C= 1 / Mapping inverted
-ISA_H = 'Mapping ' / Mapping between coordinate systems
-TYPE_A = 'ZEA ' / Zenithal equal area projection
-ENDAST_I= 'WcsMap ' / End of object definition
-MAPB_C = ' ' / Second component Mapping
-BEGAST_N= 'CmpMap ' / Compound Mapping
-NIN_G = 2 / Number of input coordinates
-ISA_I = 'Mapping ' / Mapping between coordinate systems
-INVA_B = 1 / First Mapping used in inverse direction
-MAPA_D = ' ' / First component Mapping
-BEGAST_O= 'SphMap ' / Cartesian to Spherical mapping
-NIN_H = 3 / Number of input coordinates
-NOUT_A = 2 / Number of output coordinates
-INVERT_D= 1 / Mapping inverted
-ISA_J = 'Mapping ' / Mapping between coordinate systems
-UNTRD_A = 1 / All input vectors have unit length
-PLRLG_A = 0.0 / Polar longitude (rad.s)
-ENDAST_J= 'SphMap ' / End of object definition
-MAPB_D = ' ' / Second component Mapping
-BEGAST_P= 'CmpMap ' / Compound Mapping
-NIN_I = 3 / Number of input coordinates
-NOUT_B = 2 / Number of output coordinates
-ISA_K = 'Mapping ' / Mapping between coordinate systems
-MAPA_E = ' ' / First component Mapping
-BEGAST_Q= 'MatrixMap' / Matrix transformation
-NIN_J = 3 / Number of input coordinates
-INVERT_E= 0 / Mapping not inverted
-ISA_L = 'Mapping ' / Mapping between coordinate systems
-M0_B = 0.291480364581799 / Forward matrix value
-M1_B = 0.506505471460186 / Forward matrix value
-M2_A = -0.811474832908671 / Forward matrix value
-M3_A = 0.171224898552328 / Forward matrix value
-M4_A = -0.862236746712233 / Forward matrix value
-M5_A = -0.476686298035564 / Forward matrix value
-M6_A = -0.941127638091139 / Forward matrix value
-M7_A = 0.0 / Forward matrix value
-M8_A = -0.338051429254475 / Forward matrix value
-FORM_B = 'Full ' / Matrix storage form
-ENDAST_K= 'MatrixMap' / End of object definition
-MAPB_E = ' ' / Second component Mapping
-BEGAST_R= 'SphMap ' / Cartesian to Spherical mapping
-NIN_K = 3 / Number of input coordinates
-NOUT_C = 2 / Number of output coordinates
-INVERT_F= 0 / Mapping not inverted
-ISA_M = 'Mapping ' / Mapping between coordinate systems
-UNTRD_B = 1 / All input vectors have unit length
-PLRLG_B = -2.61046557479594 / Polar longitude (rad.s)
-ENDAST_L= 'SphMap ' / End of object definition
-ENDAST_M= 'CmpMap ' / End of object definition
-ENDAST_N= 'CmpMap ' / End of object definition
-ENDAST_O= 'CmpMap ' / End of object definition
-ENDAST_P= 'CmpMap ' / End of object definition
-ENDAST_Q= 'CmpMap ' / End of object definition
-ENDAST_R= 'FrameSet' / End of object definition
-COMMENT AST ................................................................ AST
-COMMENT AST End of AST data for FrameSet object AST
-COMMENT AST ---------------------------------------------------------------- AST
-
-ATTRIBUTES:
- Colour(axis1) : 1
- Font(Stri) : 1
- Nout : 1
- Class : 4
- Tol : 0.100000E-01
- Gap(1) : 1.04720
- Border : 0
- Invert : 0
- TextLabGap : 0.100000E-01
- Nin : 2
- Current : 3
- Base : 1
- Nobject : 1
- RefCOUNT : 1
-
-AST_GRID:
-REG_LINE: 15
- 25.4 -29.7
- 31.0 -16.7
- 35.7 -2.18
- 39.8 13.5
- 43.0 30.1
- 45.5 47.3
- 47.2 64.8
- 48.1 82.5
- 48.2 99.9
- 47.3 117.
- 45.5 133.
- 42.5 149.
- 38.4 163.
- 32.8 175.
- 25.4 185.
-REG_LINE: 15
- 25.4 -29.7
- 20.1 -16.6
- 15.4 -2.03
- 11.5 13.7
- 8.35 30.3
- 5.92 47.5
- 4.25 65.0
- 3.39 82.6
- 3.35 100.
- 4.19 117.
- 5.99 133.
- 8.83 149.
- 12.9 163.
- 18.3 175.
- 25.4 185.
-REG_LINE: 119
- 25.4 -29.7
- 24.6 -29.7
- 23.8 -29.7
- 22.9 -29.6
- 22.1 -29.5
- 21.3 -29.5
- 20.4 -29.3
- 19.6 -29.2
- 18.8 -29.0
- 17.9 -28.9
- 17.1 -28.7
- 16.3 -28.5
- 15.5 -28.2
- 14.6 -28.0
- 13.8 -27.7
- 13.0 -27.4
- 12.2 -27.1
- 11.4 -26.7
- 10.6 -26.4
- 9.74 -26.0
- 8.93 -25.6
- 8.12 -25.2
- 7.32 -24.8
- 6.52 -24.3
- 5.73 -23.9
- 4.93 -23.4
- 4.14 -22.9
- 3.35 -22.3
- 2.57 -21.8
- 1.79 -21.2
- 1.02 -20.6
- .247 -20.0
- -.520 -19.4
- -1.28 -18.8
- -2.04 -18.1
- -2.79 -17.4
- -3.54 -16.7
- -4.29 -16.0
- -5.02 -15.3
- -5.76 -14.5
- -6.49 -13.7
- -7.21 -12.9
- -7.92 -12.1
- -17.3 1.12
- -25.1 17.7
- -31.1 37.2
- -34.6 59.1
- -35.4 82.8
- -33.1 107.
- -32.8 109.
- -32.5 111.
- -32.2 112.
- -31.9 114.
- -31.5 116.
- -31.1 117.
- -30.7 119.
- -30.3 121.
- -29.9 123.
- -29.4 124.
- -28.9 126.
- -28.5 128.
- -27.9 129.
- -27.4 131.
- -26.9 132.
- -26.3 134.
- -25.7 136.
- -25.2 137.
- -24.5 139.
- -23.9 140.
- -23.3 142.
- -22.6 143.
- -21.9 145.
- -21.2 146.
- -20.5 148.
- -19.8 149.
- -19.0 151.
- -18.2 152.
- -17.5 154.
- -16.7 155.
- -15.8 156.
- -15.0 158.
- -14.2 159.
- -13.3 160.
- -12.4 162.
- -11.5 163.
- -10.6 164.
- -9.69 165.
- -8.75 166.
- -7.80 167.
- -6.83 168.
- -5.85 170.
- -4.86 171.
- -3.85 172.
- -2.83 172.
- -1.80 173.
- -.761 174.
- .293 175.
- 1.36 176.
- 2.43 177.
- 3.52 178.
- 4.61 178.
- 5.72 179.
- 6.83 180.
- 7.95 180.
- 9.08 181.
- 10.2 181.
- 11.4 182.
- 12.5 182.
- 13.7 183.
- 14.8 183.
- 16.0 184.
- 17.2 184.
- 18.3 184.
- 19.5 184.
- 20.7 185.
- 21.9 185.
- 23.1 185.
- 24.3 185.
- 25.4 185.
-REG_LINE: 171
- 25.4 -29.7
- 19.1 -40.9
- 11.9 -49.9
- 11.3 -50.4
- 10.8 -50.9
- 10.2 -51.4
- 9.62 -51.9
- 9.04 -52.4
- 8.46 -52.8
- 7.87 -53.3
- 7.28 -53.7
- 6.68 -54.1
- 6.07 -54.5
- 5.46 -54.9
- 4.84 -55.2
- 4.21 -55.6
- 3.58 -55.9
- 2.95 -56.2
- 2.30 -56.5
- 1.65 -56.7
- .990 -56.9
- .325 -57.2
- -.348 -57.3
- -1.03 -57.5
- -1.71 -57.7
- -2.41 -57.8
- -3.11 -57.9
- -3.82 -57.9
- -4.54 -58.0
- -5.27 -58.0
- -6.00 -58.0
- -6.74 -58.0
- -7.50 -57.9
- -8.26 -57.8
- -9.03 -57.7
- -9.80 -57.5
- -10.6 -57.3
- -11.4 -57.1
- -12.2 -56.8
- -13.0 -56.5
- -13.8 -56.2
- -14.7 -55.8
- -15.5 -55.4
- -16.4 -55.0
- -17.2 -54.5
- -18.1 -53.9
- -19.0 -53.4
- -19.9 -52.7
- -20.8 -52.0
- -21.7 -51.3
- -22.6 -50.5
- -23.6 -49.7
- -24.5 -48.8
- -25.5 -47.8
- -26.4 -46.8
- -27.4 -45.7
- -28.4 -44.5
- -29.4 -43.3
- -30.4 -42.0
- -31.4 -40.6
- -32.4 -39.1
- -33.5 -37.6
- -34.5 -36.0
- -35.5 -34.3
- -36.6 -32.5
- -37.6 -30.5
- -38.7 -28.5
- -39.7 -26.4
- -40.8 -24.2
- -41.8 -21.9
- -42.8 -19.5
- -43.9 -16.9
- -44.9 -14.2
- -45.9 -11.4
- -46.9 -8.53
- -47.8 -5.48
- -48.8 -2.30
- -49.7 1.01
- -50.6 4.45
- -51.4 8.02
- -52.2 11.7
- -53.0 15.6
- -53.7 19.5
- -54.4 23.6
- -55.0 27.8
- -55.5 32.2
- -56.0 36.6
- -56.4 41.1
- -56.7 45.8
- -56.9 50.5
- -57.1 55.3
- -57.1 60.1
- -57.1 65.1
- -56.9 70.0
- -56.7 74.9
- -56.4 79.9
- -55.9 84.9
- -55.4 89.8
- -54.8 94.7
- -54.1 99.5
- -53.3 104.
- -52.4 109.
- -51.4 114.
- -50.3 118.
- -49.2 122.
- -48.0 127.
- -46.7 131.
- -45.4 135.
- -44.1 138.
- -42.7 142.
- -41.2 146.
- -39.8 149.
- -38.3 152.
- -36.8 155.
- -35.2 158.
- -33.7 161.
- -32.2 164.
- -30.6 166.
- -29.1 168.
- -27.5 171.
- -26.0 173.
- -24.5 175.
- -23.0 176.
- -21.5 178.
- -20.0 180.
- -18.5 181.
- -17.1 182.
- -15.7 184.
- -14.3 185.
- -12.9 186.
- -11.5 187.
- -10.2 188.
- -8.92 188.
- -7.64 189.
- -6.38 190.
- -5.15 190.
- -3.94 191.
- -2.75 191.
- -1.59 192.
- -.448 192.
- .669 193.
- 1.76 193.
- 2.83 193.
- 3.88 193.
- 4.91 193.
- 5.92 193.
- 6.91 193.
- 7.88 193.
- 8.82 193.
- 9.75 193.
- 10.7 193.
- 11.6 193.
- 12.4 193.
- 13.3 192.
- 14.1 192.
- 14.9 192.
- 15.7 192.
- 16.5 191.
- 17.3 191.
- 18.1 190.
- 18.8 190.
- 19.5 190.
- 20.2 189.
- 20.9 189.
- 21.6 188.
- 22.3 188.
- 22.9 187.
- 23.6 187.
- 24.2 186.
- 24.8 185.
- 25.4 185.
-REG_LINE: 171
- 25.4 -29.7
- 31.6 -41.1
- 38.7 -50.2
- 39.2 -50.7
- 39.8 -51.2
- 40.3 -51.8
- 40.9 -52.3
- 41.5 -52.8
- 42.0 -53.2
- 42.6 -53.7
- 43.2 -54.1
- 43.8 -54.6
- 44.4 -55.0
- 45.0 -55.4
- 45.6 -55.7
- 46.2 -56.1
- 46.8 -56.4
- 47.4 -56.7
- 48.1 -57.0
- 48.7 -57.3
- 49.4 -57.6
- 50.0 -57.8
- 50.7 -58.0
- 51.3 -58.2
- 52.0 -58.4
- 52.7 -58.5
- 53.4 -58.6
- 54.1 -58.7
- 54.8 -58.8
- 55.5 -58.8
- 56.2 -58.9
- 57.0 -58.8
- 57.7 -58.8
- 58.5 -58.7
- 59.2 -58.6
- 60.0 -58.5
- 60.8 -58.3
- 61.6 -58.2
- 62.4 -57.9
- 63.2 -57.7
- 64.0 -57.4
- 64.8 -57.0
- 65.6 -56.6
- 66.5 -56.2
- 67.3 -55.8
- 68.2 -55.2
- 69.1 -54.7
- 70.0 -54.1
- 70.9 -53.4
- 71.8 -52.7
- 72.7 -52.0
- 73.7 -51.2
- 74.6 -50.3
- 75.6 -49.4
- 76.6 -48.4
- 77.5 -47.3
- 78.5 -46.2
- 79.5 -45.0
- 80.5 -43.7
- 81.6 -42.4
- 82.6 -41.0
- 83.6 -39.5
- 84.7 -37.9
- 85.7 -36.2
- 86.8 -34.4
- 87.8 -32.5
- 88.9 -30.5
- 90.0 -28.5
- 91.1 -26.3
- 92.1 -23.9
- 93.2 -21.5
- 94.2 -19.0
- 95.3 -16.3
- 96.3 -13.5
- 97.3 -10.6
- 98.4 -7.51
- 99.3 -4.31
- 100. -.976
- 101. 2.50
- 102. 6.12
- 103. 9.88
- 104. 13.8
- 105. 17.8
- 105. 22.0
- 106. 26.3
- 106. 30.7
- 107. 35.2
- 107. 39.9
- 108. 44.7
- 108. 49.5
- 108. 54.4
- 108. 59.4
- 108. 64.5
- 108. 69.5
- 108. 74.6
- 107. 79.7
- 107. 84.8
- 106. 89.9
- 106. 94.9
- 105. 99.9
- 104. 105.
- 103. 110.
- 102. 114.
- 101. 119.
- 100. 123.
- 98.8 128.
- 97.5 132.
- 96.1 136.
- 94.7 140.
- 93.3 143.
- 91.8 147.
- 90.3 150.
- 88.8 154.
- 87.2 157.
- 85.7 159.
- 84.1 162.
- 82.5 165.
- 80.9 167.
- 79.4 170.
- 77.8 172.
- 76.3 174.
- 74.7 176.
- 73.2 177.
- 71.7 179.
- 70.2 181.
- 68.8 182.
- 67.3 183.
- 65.9 185.
- 64.5 186.
- 63.2 187.
- 61.8 188.
- 60.5 188.
- 59.2 189.
- 57.9 190.
- 56.7 191.
- 55.5 191.
- 54.3 192.
- 53.1 192.
- 51.9 192.
- 50.8 193.
- 49.7 193.
- 48.6 193.
- 47.6 193.
- 46.5 193.
- 45.5 194.
- 44.5 194.
- 43.6 194.
- 42.6 194.
- 41.7 193.
- 40.8 193.
- 39.9 193.
- 39.0 193.
- 38.2 193.
- 37.3 193.
- 36.5 192.
- 35.7 192.
- 34.9 192.
- 34.2 191.
- 33.4 191.
- 32.7 191.
- 31.9 190.
- 31.2 190.
- 30.5 189.
- 29.8 189.
- 29.2 188.
- 28.5 188.
- 27.9 187.
- 27.3 187.
- 26.6 186.
- 26.0 185.
- 25.4 185.
-REG_LINE: 119
- 25.4 -29.7
- 26.3 -29.7
- 27.1 -29.7
- 28.0 -29.7
- 28.8 -29.6
- 29.6 -29.5
- 30.5 -29.4
- 31.3 -29.3
- 32.1 -29.2
- 33.0 -29.0
- 33.8 -28.8
- 34.6 -28.6
- 35.4 -28.4
- 36.3 -28.2
- 37.1 -27.9
- 37.9 -27.6
- 38.7 -27.3
- 39.5 -27.0
- 40.4 -26.7
- 41.2 -26.3
- 42.0 -25.9
- 42.8 -25.5
- 43.6 -25.1
- 44.4 -24.7
- 45.2 -24.2
- 46.0 -23.7
- 46.8 -23.2
- 47.6 -22.7
- 48.4 -22.2
- 49.2 -21.6
- 49.9 -21.1
- 50.7 -20.5
- 51.5 -19.8
- 52.2 -19.2
- 53.0 -18.6
- 53.8 -17.9
- 54.5 -17.2
- 55.3 -16.5
- 56.0 -15.8
- 56.8 -15.0
- 57.5 -14.3
- 58.2 -13.5
- 58.9 -12.7
- 68.4 .462
- 76.3 17.0
- 82.3 36.5
- 85.9 58.6
- 86.8 82.4
- 84.5 107.
- 84.2 109.
- 83.9 110.
- 83.5 112.
- 83.2 114.
- 82.8 116.
- 82.4 117.
- 82.0 119.
- 81.6 121.
- 81.2 122.
- 80.7 124.
- 80.2 126.
- 79.7 128.
- 79.2 129.
- 78.7 131.
- 78.1 132.
- 77.6 134.
- 77.0 136.
- 76.4 137.
- 75.8 139.
- 75.1 140.
- 74.5 142.
- 73.8 144.
- 73.1 145.
- 72.4 147.
- 71.7 148.
- 70.9 150.
- 70.2 151.
- 69.4 152.
- 68.6 154.
- 67.8 155.
- 67.0 157.
- 66.1 158.
- 65.3 159.
- 64.4 160.
- 63.5 162.
- 62.6 163.
- 61.7 164.
- 60.8 165.
- 59.8 166.
- 58.8 168.
- 57.9 169.
- 56.9 170.
- 55.9 171.
- 54.9 172.
- 53.8 173.
- 52.8 174.
- 51.8 175.
- 50.7 175.
- 49.6 176.
- 48.5 177.
- 47.4 178.
- 46.3 178.
- 45.2 179.
- 44.1 180.
- 43.0 180.
- 41.8 181.
- 40.7 182.
- 39.6 182.
- 38.4 182.
- 37.2 183.
- 36.1 183.
- 34.9 184.
- 33.7 184.
- 32.6 184.
- 31.4 184.
- 30.2 185.
- 29.0 185.
- 27.8 185.
- 26.6 185.
- 25.4 185.
-REG_LINE: 15
- 25.4 -29.7
- 31.0 -16.7
- 35.7 -2.18
- 39.8 13.5
- 43.0 30.1
- 45.5 47.3
- 47.2 64.8
- 48.1 82.5
- 48.2 99.9
- 47.3 117.
- 45.5 133.
- 42.5 149.
- 38.4 163.
- 32.8 175.
- 25.4 185.
-REG_LINE: 197
- 52.0 -19.4
- 51.8 -18.1
- 51.5 -16.9
- 51.2 -15.6
- 50.9 -14.4
- 50.5 -13.2
- 50.1 -12.1
- 49.6 -11.0
- 49.1 -9.89
- 48.6 -8.84
- 48.0 -7.82
- 47.5 -6.84
- 46.8 -5.89
- 46.2 -4.97
- 45.5 -4.09
- 44.8 -3.25
- 44.1 -2.44
- 43.4 -1.67
- 42.6 -.931
- 41.8 -.233
- 41.0 .428
- 40.2 1.05
- 39.3 1.64
- 38.5 2.19
- 37.6 2.70
- 36.7 3.17
- 35.8 3.61
- 34.9 4.01
- 34.0 4.37
- 33.0 4.69
- 32.1 4.97
- 31.2 5.22
- 30.2 5.42
- 29.2 5.59
- 28.3 5.72
- 27.3 5.82
- 26.3 5.87
- 25.4 5.89
- 24.4 5.87
- 23.4 5.81
- 22.5 5.71
- 21.5 5.57
- 20.5 5.40
- 19.6 5.18
- 18.6 4.93
- 17.7 4.64
- 16.8 4.31
- 15.9 3.95
- 14.9 3.55
- 14.0 3.10
- 13.2 2.63
- 12.3 2.11
- 11.4 1.55
- 10.6 .962
- 9.77 .333
- 8.97 -.334
- 8.18 -1.04
- 7.42 -1.78
- 6.68 -2.56
- 5.96 -3.37
- 5.27 -4.22
- 4.60 -5.10
- 3.96 -6.02
- 3.35 -6.98
- 2.77 -7.97
- 2.22 -8.99
- 1.70 -10.1
- 1.22 -11.1
- .767 -12.3
- .353 -13.4
- -0.240E-01 -14.6
- -.362 -15.8
- -.660 -17.1
- -.917 -18.3
- -1.13 -19.6
- -1.30 -20.9
- -1.42 -22.3
- -1.50 -23.6
- -1.53 -25.0
- -1.51 -26.4
- -1.44 -27.8
- -1.32 -29.3
- -1.15 -30.7
- -.921 -32.2
- -.640 -33.6
- -.302 -35.1
- 0.909E-01 -36.5
- .541 -37.9
- 1.05 -39.4
- 1.61 -40.8
- 2.24 -42.2
- 2.92 -43.6
- 3.65 -44.9
- 4.45 -46.3
- 5.30 -47.5
- 6.20 -48.8
- 7.16 -50.0
- 8.17 -51.1
- 9.23 -52.2
- 10.3 -53.3
- 11.5 -54.2
- 12.7 -55.1
- 13.9 -55.9
- 15.2 -56.7
- 16.5 -57.3
- 17.9 -57.9
- 19.2 -58.4
- 20.6 -58.7
- 22.0 -59.0
- 23.4 -59.2
- 24.8 -59.3
- 26.3 -59.3
- 27.7 -59.2
- 29.1 -59.0
- 30.5 -58.7
- 31.9 -58.3
- 33.2 -57.8
- 34.6 -57.2
- 35.9 -56.6
- 37.1 -55.8
- 38.4 -55.0
- 39.6 -54.1
- 40.7 -53.1
- 41.8 -52.1
- 42.9 -51.0
- 43.9 -49.8
- 44.8 -48.6
- 45.7 -47.4
- 46.6 -46.1
- 47.4 -44.7
- 48.1 -43.4
- 48.8 -42.0
- 49.4 -40.6
- 49.9 -39.2
- 50.4 -37.7
- 50.9 -36.3
- 51.2 -34.8
- 51.6 -33.4
- 51.9 -31.9
- 52.1 -30.5
- 52.2 -29.1
- 52.3 -27.6
- 52.4 -26.2
- 52.4 -24.8
- 52.4 -23.4
- 52.3 -22.1
- 52.2 -20.7
- 52.0 -19.4
- 51.8 -18.1
- 51.5 -16.9
- 51.2 -15.6
- 50.9 -14.4
- 50.5 -13.2
- 50.1 -12.1
- 49.6 -11.0
- 49.1 -9.89
- 48.6 -8.84
- 48.0 -7.82
- 47.5 -6.84
- 46.8 -5.89
- 46.2 -4.97
- 45.5 -4.09
- 44.8 -3.25
- 44.1 -2.44
- 43.4 -1.67
- 42.6 -.931
- 41.8 -.233
- 41.0 .428
- 40.2 1.05
- 39.3 1.64
- 38.5 2.19
- 37.6 2.70
- 36.7 3.17
- 35.8 3.61
- 34.9 4.01
- 34.0 4.37
- 33.0 4.69
- 32.1 4.97
- 31.2 5.22
- 30.2 5.42
- 29.2 5.59
- 28.3 5.72
- 27.3 5.82
- 26.3 5.87
- 25.4 5.89
- 24.4 5.87
- 23.4 5.81
- 22.5 5.71
- 21.5 5.57
- 20.5 5.40
- 19.6 5.18
- 18.6 4.93
- 17.7 4.64
- 16.8 4.31
- 15.9 3.95
- 14.9 3.55
- 14.0 3.10
-REG_LINE: 197
- 73.9 11.1
- 73.1 13.1
- 72.3 14.9
- 71.5 16.8
- 70.6 18.5
- 69.7 20.2
- 68.7 21.8
- 67.7 23.3
- 66.6 24.8
- 65.5 26.3
- 64.4 27.7
- 63.2 29.0
- 62.0 30.2
- 60.7 31.4
- 59.5 32.6
- 58.2 33.7
- 56.9 34.7
- 55.5 35.7
- 54.2 36.7
- 52.8 37.5
- 51.4 38.4
- 49.9 39.2
- 48.5 39.9
- 47.0 40.6
- 45.5 41.2
- 44.0 41.8
- 42.5 42.3
- 41.0 42.8
- 39.5 43.3
- 37.9 43.7
- 36.4 44.0
- 34.8 44.3
- 33.2 44.6
- 31.7 44.8
- 30.1 44.9
- 28.5 45.0
- 26.9 45.1
- 25.3 45.1
- 23.7 45.1
- 22.2 45.0
- 20.6 44.9
- 19.0 44.7
- 17.4 44.5
- 15.9 44.3
- 14.3 44.0
- 12.8 43.6
- 11.2 43.2
- 9.68 42.8
- 8.15 42.3
- 6.65 41.7
- 5.15 41.1
- 3.67 40.5
- 2.20 39.8
- .758 39.0
- -.671 38.2
- -2.08 37.4
- -3.47 36.5
- -4.83 35.6
- -6.17 34.6
- -7.49 33.5
- -8.78 32.4
- -10.0 31.3
- -11.3 30.0
- -12.5 28.8
- -13.6 27.5
- -14.8 26.1
- -15.9 24.6
- -16.9 23.1
- -17.9 21.6
- -18.9 19.9
- -19.8 18.2
- -20.7 16.5
- -21.6 14.7
- -22.3 12.8
- -23.1 10.8
- -23.7 8.81
- -24.4 6.71
- -24.9 4.55
- -25.4 2.30
- -25.8 -0.953E-02
- -26.1 -2.40
- -26.4 -4.86
- -26.6 -7.41
- -26.7 -10.0
- -26.7 -12.7
- -26.6 -15.5
- -26.4 -18.3
- -26.0 -21.3
- -25.6 -24.2
- -25.0 -27.3
- -24.4 -30.4
- -23.5 -33.6
- -22.6 -36.8
- -21.4 -40.1
- -20.2 -43.4
- -18.7 -46.7
- -17.1 -49.9
- -15.3 -53.2
- -13.3 -56.4
- -11.1 -59.6
- -8.73 -62.7
- -6.17 -65.6
- -3.42 -68.3
- -.492 -70.9
- 2.61 -73.3
- 5.87 -75.3
- 9.27 -77.1
- 12.8 -78.6
- 16.4 -79.7
- 20.1 -80.5
- 23.8 -80.8
- 27.6 -80.8
- 31.3 -80.4
- 35.0 -79.6
- 38.6 -78.4
- 42.1 -76.9
- 45.5 -75.1
- 48.8 -72.9
- 51.8 -70.6
- 54.7 -67.9
- 57.5 -65.2
- 60.0 -62.2
- 62.3 -59.1
- 64.5 -56.0
- 66.4 -52.7
- 68.2 -49.5
- 69.8 -46.2
- 71.2 -42.9
- 72.5 -39.6
- 73.6 -36.3
- 74.6 -33.1
- 75.4 -30.0
- 76.0 -26.8
- 76.6 -23.8
- 77.0 -20.8
- 77.3 -17.9
- 77.5 -15.1
- 77.6 -12.3
- 77.5 -9.63
- 77.4 -7.03
- 77.3 -4.50
- 77.0 -2.04
- 76.6 .337
- 76.2 2.64
- 75.7 4.87
- 75.2 7.03
- 74.5 9.11
- 73.9 11.1
- 73.1 13.1
- 72.3 14.9
- 71.5 16.8
- 70.6 18.5
- 69.7 20.2
- 68.7 21.8
- 67.7 23.3
- 66.6 24.8
- 65.5 26.3
- 64.4 27.7
- 63.2 29.0
- 62.0 30.2
- 60.7 31.4
- 59.5 32.6
- 58.2 33.7
- 56.9 34.7
- 55.5 35.7
- 54.2 36.7
- 52.8 37.5
- 51.4 38.4
- 49.9 39.2
- 48.5 39.9
- 47.0 40.6
- 45.5 41.2
- 44.0 41.8
- 42.5 42.3
- 41.0 42.8
- 39.5 43.3
- 37.9 43.7
- 36.4 44.0
- 34.8 44.3
- 33.2 44.6
- 31.7 44.8
- 30.1 44.9
- 28.5 45.0
- 26.9 45.1
- 25.3 45.1
- 23.7 45.1
- 22.2 45.0
- 20.6 44.9
- 19.0 44.7
- 17.4 44.5
- 15.9 44.3
- 14.3 44.0
- 12.8 43.6
- 11.2 43.2
- 9.68 42.8
- 8.15 42.3
- 6.65 41.7
-REG_LINE: 197
- 85.9 58.6
- 84.7 60.1
- 83.5 61.6
- 82.2 63.1
- 80.8 64.4
- 79.5 65.8
- 78.1 67.0
- 76.7 68.3
- 75.2 69.4
- 73.7 70.6
- 72.2 71.6
- 70.7 72.7
- 69.2 73.6
- 67.6 74.6
- 66.0 75.5
- 64.4 76.3
- 62.7 77.2
- 61.1 77.9
- 59.4 78.7
- 57.7 79.3
- 56.0 80.0
- 54.3 80.6
- 52.5 81.2
- 50.8 81.7
- 49.0 82.2
- 47.2 82.7
- 45.5 83.1
- 43.7 83.5
- 41.8 83.8
- 40.0 84.1
- 38.2 84.4
- 36.4 84.7
- 34.5 84.9
- 32.7 85.0
- 30.9 85.1
- 29.0 85.2
- 27.2 85.3
- 25.3 85.3
- 23.5 85.3
- 21.6 85.2
- 19.8 85.1
- 17.9 85.0
- 16.1 84.8
- 14.2 84.6
- 12.4 84.4
- 10.6 84.1
- 8.78 83.8
- 6.97 83.4
- 5.17 83.0
- 3.39 82.6
- 1.61 82.2
- -.156 81.6
- -1.91 81.1
- -3.65 80.5
- -5.37 79.9
- -7.08 79.2
- -8.77 78.6
- -10.4 77.8
- -12.1 77.0
- -13.7 76.2
- -15.3 75.4
- -16.9 74.4
- -18.5 73.5
- -20.1 72.5
- -21.6 71.5
- -23.1 70.4
- -24.5 69.3
- -26.0 68.1
- -27.4 66.9
- -28.8 65.6
- -30.1 64.2
- -31.5 62.9
- -32.8 61.4
- -34.0 59.9
- -35.2 58.4
- -36.4 56.7
- -37.6 55.0
- -38.7 53.3
- -39.7 51.4
- -40.7 49.5
- -41.7 47.5
- -42.6 45.4
- -43.5 43.2
- -44.3 40.9
- -45.0 38.5
- -45.7 36.0
- -46.4 33.4
- -46.9 30.6
- -47.4 27.6
- -47.7 24.5
- -48.0 21.3
- -48.2 17.8
- -48.3 14.1
- -48.2 10.1
- -47.9 5.89
- -47.5 1.37
- -46.9 -3.46
- -46.0 -8.66
- -44.9 -14.2
- -43.4 -20.2
- -41.5 -26.7
- -39.1 -33.6
- -36.1 -40.9
- -32.4 -48.6
- -27.8 -56.6
- -22.3 -64.7
- -15.8 -72.6
- -8.06 -79.8
- .764 -86.0
- 10.5 -90.4
- 20.9 -92.6
- 31.5 -92.5
- 41.9 -89.9
- 51.5 -85.2
- 60.2 -78.8
- 67.7 -71.4
- 74.1 -63.5
- 79.5 -55.4
- 83.9 -47.5
- 87.5 -39.8
- 90.4 -32.5
- 92.7 -25.7
- 94.5 -19.3
- 96.0 -13.4
- 97.1 -7.87
- 97.9 -2.73
- 98.5 2.06
- 98.9 6.53
- 99.1 10.7
- 99.2 14.6
- 99.1 18.3
- 98.9 21.7
- 98.6 25.0
- 98.2 28.1
- 97.7 31.0
- 97.2 33.8
- 96.5 36.4
- 95.8 38.9
- 95.1 41.3
- 94.3 43.6
- 93.4 45.7
- 92.5 47.8
- 91.5 49.8
- 90.5 51.7
- 89.4 53.5
- 88.3 55.3
- 87.1 57.0
- 85.9 58.6
- 84.7 60.1
- 83.5 61.6
- 82.2 63.1
- 80.8 64.4
- 79.5 65.8
- 78.1 67.0
- 76.7 68.3
- 75.2 69.4
- 73.7 70.6
- 72.2 71.6
- 70.7 72.7
- 69.2 73.6
- 67.6 74.6
- 66.0 75.5
- 64.4 76.3
- 62.7 77.2
- 61.1 77.9
- 59.4 78.7
- 57.7 79.3
- 56.0 80.0
- 54.3 80.6
- 52.5 81.2
- 50.8 81.7
- 49.0 82.2
- 47.2 82.7
- 45.5 83.1
- 43.7 83.5
- 41.8 83.8
- 40.0 84.1
- 38.2 84.4
- 36.4 84.7
- 34.5 84.9
- 32.7 85.0
- 30.9 85.1
- 29.0 85.2
- 27.2 85.3
- 25.3 85.3
- 23.5 85.3
- 21.6 85.2
- 19.8 85.1
- 17.9 85.0
- 16.1 84.8
- 14.2 84.6
- 12.4 84.4
- 10.6 84.1
- 8.78 83.8
- 6.97 83.4
- 5.17 83.0
- 3.39 82.6
-REG_LINE: 145
- 82.9 115.
- 63.7 120.
- 40.9 123.
- 16.6 123.
- -6.79 121.
- -27.2 116.
- -28.5 116.
- -29.8 116.
- -31.0 115.
- -32.2 115.
- -33.4 115.
- -34.5 114.
- -35.7 114.
- -36.7 114.
- -37.8 114.
- -38.8 113.
- -39.8 113.
- -40.7 113.
- -41.6 113.
- -42.5 113.
- -43.3 113.
- -44.1 113.
- -44.8 113.
- -45.5 114.
- -46.1 114.
- -46.7 114.
- -47.2 115.
- -47.7 116.
- -48.1 117.
- -48.4 118.
- -48.6 119.
- -48.7 121.
- -48.6 123.
- -48.4 125.
- -48.0 128.
- -47.4 132.
- -46.4 136.
- -45.0 141.
- -43.0 147.
- -40.2 154.
- -36.3 163.
- -30.8 173.
- -23.1 184.
- -12.5 196.
- -11.6 197.
- -10.7 198.
- -9.78 198.
- -8.85 199.
- -7.90 200.
- -6.94 201.
- -5.96 201.
- -4.96 202.
- -3.94 203.
- -2.91 203.
- -1.87 204.
- -.804 205.
- .274 205.
- 1.37 206.
- 2.47 207.
- 3.60 207.
- 4.73 208.
- 5.88 208.
- 7.04 209.
- 8.21 209.
- 9.40 209.
- 10.6 210.
- 11.8 210.
- 13.0 211.
- 14.2 211.
- 15.5 211.
- 16.7 211.
- 17.9 212.
- 19.2 212.
- 20.4 212.
- 21.7 212.
- 23.0 212.
- 24.2 212.
- 25.5 212.
- 26.8 212.
- 28.0 212.
- 29.3 212.
- 30.5 212.
- 31.8 212.
- 33.0 212.
- 34.3 211.
- 35.5 211.
- 36.7 211.
- 38.0 211.
- 39.2 210.
- 40.4 210.
- 41.6 209.
- 42.8 209.
- 43.9 209.
- 45.1 208.
- 46.2 208.
- 47.4 207.
- 48.5 206.
- 49.6 206.
- 50.7 205.
- 51.8 205.
- 65.1 194.
- 75.3 183.
- 82.6 171.
- 87.9 162.
- 91.6 153.
- 94.3 146.
- 96.1 140.
- 97.5 135.
- 98.4 131.
- 99.0 128.
- 99.3 125.
- 99.5 122.
- 99.5 121.
- 99.4 119.
- 99.2 118.
- 98.9 116.
- 98.5 116.
- 98.1 115.
- 97.5 114.
- 97.0 114.
- 96.3 114.
- 95.6 113.
- 94.9 113.
- 94.1 113.
- 93.3 113.
- 92.4 113.
- 91.5 113.
- 90.5 113.
- 89.5 113.
- 88.5 114.
- 87.5 114.
- 86.4 114.
- 85.3 114.
- 84.1 115.
- 82.9 115.
- 81.7 115.
- 80.5 116.
- 79.2 116.
- 77.9 116.
- 76.6 117.
- 75.3 117.
- 73.9 117.
- 52.6 122.
- 28.8 124.
- 4.68 123.
-REG_LINE: 145
- 61.4 165.
- 60.9 164.
- 60.3 163.
- 59.7 163.
- 59.0 163.
- 58.4 162.
- 57.6 162.
- 56.9 161.
- 56.1 161.
- 55.3 161.
- 54.5 160.
- 53.6 160.
- 52.7 160.
- 51.8 160.
- 50.9 159.
- 49.9 159.
- 48.9 159.
- 47.9 159.
- 46.9 159.
- 45.9 159.
- 44.8 158.
- 43.8 158.
- 42.7 158.
- 41.6 158.
- 40.5 158.
- 39.4 158.
- 38.2 158.
- 37.1 158.
- 35.9 158.
- 19.4 158.
- 3.82 159.
- 2.81 159.
- 1.81 159.
- .836 159.
- -.119 159.
- -1.05 160.
- -1.96 160.
- -2.85 160.
- -3.71 160.
- -4.54 161.
- -5.35 161.
- -6.12 161.
- -6.86 162.
- -7.57 162.
- -8.25 163.
- -8.88 163.
- -9.48 164.
- -10.0 164.
- -10.6 165.
- -11.0 165.
- -11.5 166.
- -11.8 167.
- -12.2 167.
- -12.4 168.
- -12.6 169.
- -12.8 170.
- -12.9 171.
- -12.9 172.
- -12.9 173.
- -12.7 174.
- -12.5 175.
- -12.3 176.
- -11.9 177.
- -11.4 178.
- -10.9 180.
- -10.2 181.
- -9.43 183.
- -8.55 184.
- -7.56 186.
- -6.44 187.
- -5.21 189.
- -3.85 190.
- -2.36 192.
- -.742 193.
- 1.01 195.
- 2.88 196.
- 4.88 197.
- 7.00 199.
- 9.23 200.
- 11.6 201.
- 14.0 202.
- 16.5 202.
- 19.1 203.
- 21.7 203.
- 24.3 203.
- 27.0 203.
- 29.6 203.
- 32.2 203.
- 34.8 202.
- 37.3 202.
- 39.7 201.
- 42.0 200.
- 44.2 198.
- 46.3 197.
- 48.3 196.
- 50.2 194.
- 51.9 193.
- 53.5 191.
- 55.0 190.
- 56.3 188.
- 57.5 187.
- 58.6 185.
- 59.6 184.
- 60.4 182.
- 61.2 181.
- 61.8 180.
- 62.4 178.
- 62.8 177.
- 63.2 176.
- 63.5 175.
- 63.7 173.
- 63.8 172.
- 63.8 171.
- 63.8 170.
- 63.7 170.
- 63.5 169.
- 63.3 168.
- 63.0 167.
- 62.7 166.
- 62.3 166.
- 61.9 165.
- 61.4 165.
- 60.9 164.
- 60.3 163.
- 59.7 163.
- 59.0 163.
- 58.4 162.
- 57.6 162.
- 56.9 161.
- 56.1 161.
- 55.3 161.
- 54.5 160.
- 53.6 160.
- 52.7 160.
- 51.8 160.
- 50.9 159.
- 49.9 159.
- 48.9 159.
- 47.9 159.
- 46.9 159.
- 45.9 159.
- 44.8 158.
- 43.8 158.
- 27.7 158.
- 11.4 158.
-REG_LINE: 2
- 80.7 64.6
- 80.8 66.3
-REG_LINE: 2
- 75.0 69.6
- 75.1 71.4
-REG_LINE: 2
- 68.8 73.9
- 68.8 75.6
-REG_LINE: 2
- 62.2 77.4
- 62.2 79.2
-REG_LINE: 2
- 55.3 80.3
- 55.3 82.0
-REG_LINE: 2
- 40.8 84.0
- 40.8 85.8
-REG_LINE: 2
- 33.3 85.0
- 33.3 86.7
-REG_LINE: 2
- 25.8 85.3
- 25.8 87.0
-REG_LINE: 2
- 18.2 85.0
- 18.2 86.8
-REG_LINE: 2
- 10.7 84.1
- 10.7 85.9
-REG_LINE: 2
- -3.79 80.5
- -3.83 82.2
-REG_LINE: 2
- -10.7 77.7
- -10.8 79.4
-REG_LINE: 2
- -17.3 74.2
- -17.4 76.0
-REG_LINE: 2
- -23.6 70.0
- -23.6 71.8
-REG_LINE: 2
- -29.4 65.0
- -29.5 66.8
-REG_LINE: 2
- -39.3 52.2
- -39.4 54.0
-REG_LINE: 2
- -43.2 44.0
- -43.4 45.7
-REG_LINE: 2
- -46.2 34.0
- -46.4 35.8
-REG_LINE: 2
- -48.0 21.8
- -48.3 23.5
-REG_LINE: 2
- -48.0 6.25
- -48.3 7.96
-REG_LINE: 2
- -35.8 -41.5
- -36.5 -39.9
-REG_LINE: 2
- -14.6 -73.9
- -15.8 -72.6
-REG_LINE: 2
- 23.6 -92.8
- 22.6 -94.3
-REG_LINE: 2
- 62.8 -76.5
- 64.1 -75.2
-REG_LINE: 2
- 85.5 -44.2
- 86.2 -42.6
-REG_LINE: 2
- 98.7 4.70
- 99.1 6.41
-REG_LINE: 2
- 99.0 20.6
- 99.3 22.3
-REG_LINE: 2
- 97.3 33.1
- 97.5 34.8
-REG_LINE: 2
- 94.4 43.2
- 94.6 44.9
-REG_LINE: 2
- 90.5 51.6
- 90.7 53.3
-REG_LINE: 2
- 80.7 64.6
- 80.8 66.3
-REG_LINE: 2
- 75.0 69.6
- 75.1 71.4
-REG_LINE: 2
- 68.8 73.9
- 68.8 75.6
-REG_LINE: 2
- 62.2 77.4
- 62.2 79.2
-REG_LINE: 2
- 55.3 80.3
- 55.3 82.0
-REG_LINE: 2
- 40.8 84.0
- 40.8 85.8
-REG_LINE: 2
- 33.3 85.0
- 33.3 86.7
-REG_LINE: 2
- 25.8 85.3
- 25.8 87.0
-REG_LINE: 2
- 18.2 85.0
- 18.2 86.8
-REG_LINE: 2
- 10.7 84.1
- 10.7 85.9
-REG_LINE: 2
- 23.1 -34.3
- 21.6 -33.5
-REG_LINE: 2
- 20.6 -38.6
- 19.1 -37.7
-REG_LINE: 2
- 18.0 -42.6
- 16.5 -41.7
-REG_LINE: 2
- 15.2 -46.2
- 13.8 -45.2
-REG_LINE: 2
- 12.3 -49.4
- 10.9 -48.4
-REG_LINE: 2
- 6.00 -54.5
- 4.63 -53.5
-REG_LINE: 2
- 2.59 -56.3
- 1.25 -55.2
-REG_LINE: 2
- -1.03 -57.5
- -2.33 -56.3
-REG_LINE: 2
- -4.86 -58.0
- -6.12 -56.8
-REG_LINE: 2
- -8.94 -57.7
- -10.1 -56.4
-REG_LINE: 2
- -17.9 -54.1
- -19.0 -52.7
-REG_LINE: 2
- -22.8 -50.3
- -23.9 -48.9
-REG_LINE: 2
- -28.1 -44.9
- -29.0 -43.4
-REG_LINE: 2
- -33.6 -37.4
- -34.4 -35.9
-REG_LINE: 2
- -39.3 -27.4
- -40.0 -25.8
-REG_LINE: 2
- -50.1 2.52
- -50.5 4.22
-REG_LINE: 2
- -54.3 23.2
- -54.6 24.9
-REG_LINE: 2
- -56.8 47.3
- -56.8 49.1
-REG_LINE: 2
- -56.8 73.8
- -56.1 75.5
-REG_LINE: 2
- -53.9 101.
- -54.0 98.8
-REG_LINE: 2
- -41.1 146.
- -41.7 144.
-REG_LINE: 2
- -32.8 162.
- -33.7 161.
-REG_LINE: 2
- -24.5 175.
- -25.5 173.
-REG_LINE: 2
- -16.5 183.
- -17.6 182.
-REG_LINE: 2
- -9.06 188.
- -10.4 187.
-REG_LINE: 2
- 3.65 193.
- 2.17 192.
-REG_LINE: 2
- 9.03 193.
- 7.49 192.
-REG_LINE: 2
- 13.8 192.
- 12.2 192.
-REG_LINE: 2
- 18.1 190.
- 16.5 190.
-REG_LINE: 2
- 22.0 188.
- 20.3 187.
-REG_LINE: 15
- 48.1 82.5
- 51.2 81.6
- 54.3 80.6
- 57.3 79.5
- 60.3 78.3
- 63.2 77.0
- 66.0 75.5
- 68.8 73.9
- 71.5 72.2
- 74.1 70.3
- 76.7 68.3
- 79.1 66.1
- 81.5 63.8
- 83.8 61.3
- 85.9 58.6
-REG_LINE: 15
- 48.1 82.5
- 45.0 83.2
- 41.8 83.8
- 38.7 84.4
- 35.5 84.8
- 32.2 85.0
- 29.0 85.2
- 25.8 85.3
- 22.5 85.3
- 19.3 85.1
- 16.1 84.8
- 12.9 84.4
- 9.69 83.9
- 6.52 83.3
- 3.39 82.6
-REG_LINE: 15
- 3.39 82.6
- .284 81.8
- -2.78 80.8
- -5.80 79.7
- -8.77 78.6
- -11.7 77.2
- -14.5 75.8
- -17.3 74.2
- -20.1 72.5
- -22.7 70.7
- -25.3 68.7
- -27.8 66.5
- -30.1 64.2
- -32.4 61.8
- -34.6 59.1
-REG_LINE: 15
- -34.6 59.1
- -36.7 56.3
- -38.7 53.3
- -40.5 50.0
- -42.2 46.5
- -43.7 42.7
- -45.0 38.5
- -46.2 34.0
- -47.1 29.1
- -47.8 23.7
- -48.2 17.8
- -48.2 11.1
- -47.8 3.67
- -46.7 -4.73
- -44.9 -14.2
-REG_LINE: 93
- -44.9 -14.2
- -42.0 -25.0
- -37.7 -37.2
- -31.3 -50.6
- -22.3 -64.7
- -21.6 -65.7
- -20.8 -66.7
- -20.0 -67.7
- -19.2 -68.7
- -18.4 -69.7
- -17.5 -70.7
- -16.7 -71.6
- -15.8 -72.6
- -14.9 -73.5
- -14.0 -74.5
- -13.0 -75.4
- -12.1 -76.3
- -11.1 -77.2
- -10.1 -78.1
- -9.08 -79.0
- -8.06 -79.8
- -7.01 -80.7
- -5.95 -81.5
- -4.87 -82.3
- -3.78 -83.1
- -2.67 -83.8
- -1.54 -84.6
- -.395 -85.3
- .764 -86.0
- 1.94 -86.6
- 3.13 -87.2
- 4.33 -87.8
- 5.54 -88.4
- 6.77 -89.0
- 8.01 -89.5
- 9.27 -89.9
- 10.5 -90.4
- 11.8 -90.8
- 13.1 -91.2
- 14.4 -91.5
- 15.7 -91.8
- 17.0 -92.1
- 18.3 -92.3
- 19.6 -92.5
- 20.9 -92.6
- 22.3 -92.8
- 23.6 -92.8
- 24.9 -92.9
- 26.2 -92.9
- 27.6 -92.8
- 28.9 -92.7
- 30.2 -92.6
- 31.5 -92.5
- 32.8 -92.3
- 34.2 -92.0
- 35.5 -91.8
- 36.8 -91.4
- 38.0 -91.1
- 39.3 -90.7
- 40.6 -90.3
- 41.9 -89.9
- 43.1 -89.4
- 44.3 -88.9
- 45.6 -88.3
- 46.8 -87.7
- 48.0 -87.1
- 49.2 -86.5
- 50.3 -85.8
- 51.5 -85.2
- 52.6 -84.4
- 53.8 -83.7
- 54.9 -82.9
- 56.0 -82.2
- 57.0 -81.4
- 58.1 -80.5
- 59.1 -79.7
- 60.2 -78.8
- 61.2 -78.0
- 62.2 -77.1
- 63.1 -76.2
- 64.1 -75.2
- 65.0 -74.3
- 65.9 -73.4
- 66.8 -72.4
- 67.7 -71.4
- 68.6 -70.5
- 69.4 -69.5
- 70.2 -68.5
- 71.1 -67.5
- 80.7 -53.4
- 87.5 -39.8
- 92.1 -27.4
- 95.3 -16.3
-REG_LINE: 15
- 95.3 -16.3
- 97.3 -6.55
- 98.5 2.06
- 99.1 9.69
- 99.1 16.5
- 98.8 22.6
- 98.2 28.1
- 97.3 33.1
- 96.2 37.7
- 94.9 41.9
- 93.4 45.7
- 91.7 49.3
- 89.9 52.6
- 88.0 55.7
- 85.9 58.6
-REG_LINE: 15
- 85.9 58.6
- 83.8 61.3
- 81.5 63.8
- 79.1 66.1
- 76.7 68.3
- 74.1 70.3
- 71.5 72.2
- 68.8 73.9
- 66.0 75.5
- 63.2 77.0
- 60.3 78.3
- 57.3 79.5
- 54.3 80.6
- 51.2 81.6
- 48.1 82.5
-REG_LINE: 15
- 48.1 82.5
- 45.0 83.2
- 41.8 83.8
- 38.7 84.4
- 35.5 84.8
- 32.2 85.0
- 29.0 85.2
- 25.8 85.3
- 22.5 85.3
- 19.3 85.1
- 16.1 84.8
- 12.9 84.4
- 9.69 83.9
- 6.52 83.3
- 3.39 82.6
-REG_LINE: 15
- 48.1 82.5
- 45.0 83.2
- 41.8 83.8
- 38.7 84.4
- 35.5 84.8
- 32.2 85.0
- 29.0 85.2
- 25.8 85.3
- 22.5 85.3
- 19.3 85.1
- 16.1 84.8
- 12.9 84.4
- 9.69 83.9
- 6.52 83.3
- 3.39 82.6
-REG_LINE: 15
- 25.4 -29.7
- 24.4 -31.7
- 23.4 -33.7
- 22.4 -35.6
- 21.3 -37.4
- 20.2 -39.2
- 19.1 -40.9
- 18.0 -42.6
- 16.8 -44.2
- 15.6 -45.7
- 14.4 -47.2
- 13.1 -48.6
- 11.9 -49.9
- 10.6 -51.1
- 9.23 -52.2
-REG_LINE: 15
- 9.23 -52.2
- 7.87 -53.3
- 6.48 -54.2
- 5.05 -55.1
- 3.58 -55.9
- 2.08 -56.5
- .548 -57.1
- -1.03 -57.5
- -2.64 -57.8
- -4.30 -58.0
- -6.00 -58.0
- -7.75 -57.9
- -9.54 -57.6
- -11.4 -57.1
- -13.3 -56.4
-REG_LINE: 15
- -13.3 -56.4
- -15.2 -55.6
- -17.2 -54.5
- -19.3 -53.2
- -21.4 -51.6
- -23.6 -49.7
- -25.8 -47.5
- -28.1 -44.9
- -30.4 -42.0
- -32.8 -38.6
- -35.2 -34.8
- -37.6 -30.5
- -40.1 -25.7
- -42.5 -20.3
- -44.9 -14.2
-REG_LINE: 15
- -44.9 -14.2
- -47.2 -7.52
- -49.4 -.109
- -51.4 8.02
- -53.3 16.9
- -54.8 26.4
- -56.0 36.6
- -56.8 47.3
- -57.1 58.5
- -56.9 70.0
- -56.2 81.6
- -55.0 93.1
- -53.3 104.
- -51.0 115.
- -48.4 125.
-REG_LINE: 15
- -48.4 125.
- -45.4 135.
- -42.2 143.
- -38.8 151.
- -35.2 158.
- -31.6 164.
- -28.0 170.
- -24.5 175.
- -21.0 179.
- -17.6 182.
- -14.3 185.
- -11.1 187.
-Forward matrix value
- M2 = -0.811474832908671 # Forward matrix value
- M3 = 0.171224898552328 # Forward matrix value
- M4 = -0.862236746712233 # Forward matrix value
- M5 = -0.476686298035564 # Forward matrix value
- M6 = -0.941127638091139 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = -0.338051429254475 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = -2.61046557479594 # Polar longitude (rad.s)
- End SphMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End FrameSet
- Begin FrameSet # Set of inter-related coordinate systems
-# Title = "Pixel coordinates; first pixel at (-100.5,-200.5)" # Title of coordinate system
-# Naxes = 2 # Number of coordinate axes
-# Domain = "POLAR" # Coordinate system domain
-# Lbl1 = "Pixel coordinate 1" # Label for axis 1
-# Lbl2 = "Pixel coordinate 2" # Label for axis 2
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
- IsA Frame # Coordinate system description
- Nframe = 2 # Number of Frames in FrameSet
-# Base = 1 # Index of base Frame
- Currnt = 2 # Index of current Frame
- Nod1 = 2 # Frame 1 is associated with node 2
- Nod2 = 1 # Frame 2 is associated with node 1
- Lnk2 = 1 # Node 2 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame # Coordinate system description
- Title = "Data grid indices; first pixel at (1,1) " # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Data grid index 1" # Label for axis 1
-# Lbl2 = "Data grid index 2" # Label for axis 2
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Data grid index 1" # Axis Label
- Symbol = "g1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Data grid index 2" # Axis Label
- Symbol = "g2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin Frame # Coordinate system description
- Title = "Pixel coordinates; first pixel at (-100.5,-200.5)" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "POLAR" # Coordinate system domain
-# Lbl1 = "Pixel coordinate 1" # Label for axis 1
-# Lbl2 = "Pixel coordinate 2" # Label for axis 2
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 1" # Axis Label
- -8.06 189.
- -5.15 190.
- -2.36 192.
-REG_LINE: 15
- -2.36 192.
- .299 192.
- 2.83 193.
- 5.25 193.
- 7.56 193.
- 9.75 193.
- 11.8 193.
- 13.8 192.
- 15.7 192.
- 17.6 191.
- 19.3 190.
- 20.9 189.
- 22.5 188.
- 24.0 186.
- 25.4 185.
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '180'
- 47.5 80.0 TC .248 .969
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '240'
- 4.00 80.2 TC -.245 .969
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '300'
- -32.7 57.6 TC -.786 .618
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0'
- -42.4 -13.7 BC .976 .217
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '60'
- 92.9 -15.7 BC -.971 .241
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '120'
- 84.0 57.1 TC .798 .602
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-90'
- 27.7 -30.8 TC -.899 .438
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-60'
- 10.8 -54.2 TC -.629 .777
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-30'
- -14.2 -58.8 TC .374 .927
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0'
- -47.2 -15.1 TC .937 .350
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '30'
- -50.8 126. BC -.960 .278
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '60'
- -3.21 194. BC -.341 .940
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '90'
- 27.2 187. BC .711 .704
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 1
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: ' A FITS test'
- 31.5 225. BC .000 1.00
-
-
-
-
- FITS test number 2
- ====================
-
-
-
-AST_SHOW:
-
-REG_SINK:
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-AST
-COMMENT AST Beginning of AST data for FrameSet object
-AST
-COMMENT AST ................................................................
-AST
-COMMENT AST ................................................................
-AST
-COMMENT AST End of AST data for FrameSet object
-AST
-COMMENT AST ----------------------------------------------------------------
-
-Objects written: 1
-
-Native Encoding:
-
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AST
-COMMENT AST WCS information in AST format AST
-COMMENT AST See http://www.starlink.ac.uk/ast/ AST
-COMMENT AST Beginning of AST data for FrameSet object AST
-COMMENT AST ................................................................ AST
-BEGAST_A= 'FrameSet' / Set of inter-related coordinate systems
-NFRAME_A= 2 / Number of Frames in FrameSet
-CURRNT_A= 2 / Index of current Frame
-NOD1_A = 2 / Frame 1 is associated with node 2
-NOD2_A = 1 / Frame 2 is associated with node 1
-LNK2_A = 1 / Node 2 is derived from node 1
-FRM1_A = ' ' / Frame number 1
-BEGAST_B= 'Frame ' / Coordinate system description
-TITLE_A = 'Data grid indices; first pixel at (1&'/ Title of coordinate system
-CONTINUE '",1) "'
-NAXES_A = 2 / Number of coordinate axes
-DOMAIN_A= 'GRID ' / Coordinate system domain
-AX1_A = ' ' / Axis number 1
-BEGAST_C= 'Axis ' / Coordinate axis
-LABEL_A = 'Data grid index 1' / Axis Label
-SYMBOL_A= 'g1 ' / Axis symbol
-UNIT_A = 'pixel ' / Axis units
-FORMAT_A= '%3.1f ' / Format specifier
-ENDAST_A= 'Axis ' / End of object definition
-AX2_A = ' ' / Axis number 2
-BEGAST_D= 'Axis ' / Coordinate axis
-LABEL_B = 'Data grid index 2' / Axis Label
-SYMBOL_B= 'g2 ' / Axis symbol
-UNIT_B = 'pixel ' / Axis units
-FORMAT_B= '%3.1f ' / Format specifier
-ENDAST_B= 'Axis ' / End of object definition
-ENDAST_C= 'Frame ' / End of object definition
-FRM2_A = ' ' / Frame number 2
-BEGAST_E= 'Frame ' / Coordinate system description
-TITLE_B = 'Pixel coordinates; first pixel at (-&'/ Title of coordinate system
-CONTINUE '100.5,-200.5)'
-NAXES_B = 2 / Number of coordinate axes
-DOMAIN_B= 'POLAR ' / Coordinate system domain
-AX1_B = ' ' / Axis number 1
-BEGAST_F= 'Axis ' / Coordinate axis
-LABEL_C = 'Pixel coordinate 1' / Axis Label
-SYMBOL_C= 'p1 ' / Axis symbol
-UNIT_C = 'pixel ' / Axis units
-FORMAT_C= '%3.1f ' / Format specifier
-ENDAST_D= 'Axis ' / End of object definition
-AX2_B = ' ' / Axis number 2
-BEGAST_G= 'Axis ' / Coordinate axis
-LABEL_D = 'Pixel coordinate 2' / Axis Label
-SYMBOL_D= 'p2 ' / Axis symbol
-UNIT_D = 'pixel ' / Axis units
-FORMAT_D= '%3.1f ' / Format specifier
-ENDAST_E= 'Axis ' / End of object definition
-ENDAST_F= 'Frame ' / End of object definition
-MAP2_A = ' ' / Mapping between nodes 1 and 2
-BEGAST_H= 'CmpMap ' / Compound Mapping
-NIN_A = 2 / Number of input coordinates
-ISA_A = 'Mapping ' / Mapping between coordinate systems
-INVA_A = 1 / First Mapping used in inverse direction
-INVB_A = 1 / Second Mapping used in inverse direction
-MAPA_A = ' ' / First component Mapping
-BEGAST_I= 'MathMap ' / Transformation using mathematical functions
-NIN_B = 2 / Number of input coordinates
-INVERT_A= 0 / Mapping not inverted
-ISA_B = 'Mapping ' / Mapping between coordinate systems
-FWD1_A = 'r=sqrt(x*x+y*y)' / Forward function 1
-FWD2_A = 'theta=atan2(y,x)' / Forward function 2
-INV1_A = 'x=r*cos(theta)' / Inverse function 1
-INV2_A = 'y=r*sin(theta)' / Inverse function 2
-SIMPFI_A= 1 / Forward-inverse pairs may simplify
-SIMPIF_A= 1 / Inverse-forward pairs may simplify
-ENDAST_G= 'MathMap ' / End of object definition
-MAPB_A = ' ' / Second component Mapping
-BEGAST_J= 'WinMap ' / Map one window on to another
-NIN_C = 2 / Number of input coordinates
-INVERT_B= 0 / Mapping not inverted
-ISA_C = 'Mapping ' / Mapping between coordinate systems
-SFT1_A = -101.5 / Shift for axis 1
-SFT2_A = -201.5 / Shift for axis 2
-ENDAST_H= 'WinMap ' / End of object definition
-ENDAST_I= 'CmpMap ' / End of object definition
-ENDAST_J= 'FrameSet' / End of object definition
-COMMENT AST ................................................................ AST
-COMMENT AST End of AST data for FrameSet object AST
-COMMENT AST ---------------------------------------------------------------- AST
-
-ATTRIBUTES:
- Colour(axis1) : 1
- Font(Stri) : 1
- Nout : 1
- Class : 4
- Tol : 0.100000E-01
- Gap(1) : 50.0000
- Border : 0
- Invert : 0
- TextLabGap : 0.100000E-01
- Nin : 2
- Current : 3
- Base : 1
- Nobject : 1
- RefCOUNT : 1
-
-AST_GRID:
-REG_LINE: 197
- 10.8 124.
- 10.7 123.
- 10.5 122.
- 10.3 121.
- 10.2 120.
- 10.1 119.
- 10.0 118.
- 9.94 117.
- 9.89 116.
- 9.85 115.
- 9.84 113.
- 9.85 112.
- 9.88 111.
- 9.93 110.
- 10.0 109.
- 10.1 108.
- 10.2 107.
- 10.3 106.
- 10.5 105.
- 10.6 104.
- 10.8 103.
- 11.0 102.
- 11.2 100.
- 11.5 99.5
- 11.7 98.5
- 12.0 97.5
- 12.3 96.6
- 12.6 95.6
- 13.0 94.7
- 13.3 93.9
- 13.7 93.0
- 14.0 92.2
- 14.4 91.4
- 14.8 90.6
- 15.2 89.8
- 15.7 89.1
- 16.1 88.4
- 16.5 87.8
- 17.0 87.2
- 17.5 86.6
- 18.0 86.0
- 18.5 85.5
- 19.0 85.0
- 19.5 84.6
- 20.0 84.2
- 20.5 83.8
- 21.1 83.5
- 21.6 83.2
- 22.1 82.9
- 22.7 82.7
- 23.2 82.5
- 23.8 82.4
- 24.3 82.3
- 24.9 82.2
- 25.5 82.2
- 26.0 82.2
- 26.6 82.3
- 27.1 82.4
- 27.7 82.5
- 28.2 82.7
- 28.8 82.9
- 29.3 83.2
- 29.9 83.4
- 30.4 83.8
- 30.9 84.2
- 31.4 84.6
- 32.0 85.0
- 32.5 85.5
- 33.0 86.0
- 33.4 86.6
- 33.9 87.1
- 34.4 87.8
- 34.8 88.4
- 35.3 89.1
- 35.7 89.8
- 36.1 90.6
- 36.5 91.3
- 36.9 92.1
- 37.3 93.0
- 37.6 93.8
- 38.0 94.7
- 38.3 95.6
- 38.6 96.5
- 38.9 97.5
- 39.2 98.5
- 39.4 99.4
- 39.7 100.
- 39.9 101.
- 40.1 103.
- 40.3 104.
- 40.5 105.
- 40.6 106.
- 40.7 107.
- 40.8 108.
- 40.9 109.
- 41.0 110.
- 41.1 111.
- 41.1 112.
- 41.1 113.
- 41.1 115.
- 41.1 116.
- 41.0 117.
- 40.9 118.
- 40.8 119.
- 40.7 120.
- 40.6 121.
- 40.5 122.
- 40.3 123.
- 40.1 124.
- 39.9 125.
- 39.7 126.
- 39.4 127.
- 39.2 128.
- 38.9 129.
- 38.6 130.
- 38.3 131.
- 38.0 132.
- 37.6 133.
- 37.3 134.
- 36.9 135.
- 36.5 136.
- 36.1 136.
- 35.7 137.
- 35.3 138.
- 34.8 138.
- 34.4 139.
- 33.9 140.
- 33.4 140.
- 33.0 141.
- 32.5 141.
- 32.0 142.
- 31.4 142.
- 30.9 143.
- 30.4 143.
- 29.9 143.
- 29.3 144.
- 28.8 144.
- 28.2 144.
- 27.7 144.
- 27.1 145.
- 26.6 145.
- 26.0 145.
- 25.5 145.
- 24.9 145.
- 24.3 145.
- 23.8 145.
- 23.2 144.
- 22.7 144.
- 22.1 144.
- 21.6 144.
- 21.1 143.
- 20.5 143.
- 20.0 143.
- 19.5 142.
- 19.0 142.
- 18.5 141.
- 18.0 141.
- 17.5 140.
- 17.0 140.
- 16.5 139.
- 16.1 138.
- 15.7 138.
- 15.2 137.
- 14.8 136.
- 14.4 136.
- 14.0 135.
- 13.7 134.
- 13.3 133.
- 13.0 132.
- 12.6 131.
- 12.3 130.
- 12.0 129.
- 11.7 128.
- 11.5 127.
- 11.2 126.
- 11.0 125.
- 10.8 124.
- 10.6 123.
- 10.5 122.
- 10.3 121.
- 10.2 120.
- 10.1 119.
- 10.0 118.
- 9.93 117.
- 9.88 116.
- 9.85 115.
- 9.84 113.
- 9.85 112.
- 9.89 111.
- 9.94 110.
- 10.0 109.
- 10.1 108.
- 10.2 107.
- 10.3 106.
- 10.5 105.
- 10.7 104.
- 10.8 102.
-REG_LINE: 197
- -3.80 135.
- -4.17 133.
- -4.50 131.
- -4.80 129.
- -5.06 127.
- -5.28 125.
- -5.46 122.
- -5.60 120.
- -5.70 118.
- -5.76 116.
- -5.78 114.
- -5.76 111.
- -5.70 109.
- -5.61 107.
- -5.47 105.
- -5.29 102.
- -5.07 100.
- -4.82 98.1
- -4.53 95.9
- -4.19 93.8
- -3.82 91.7
- -3.42 89.6
- -2.97 87.5
- -2.49 85.5
- -1.97 83.5
- -1.42 81.6
- -.838 79.7
- -.219 77.8
- .433 76.0
- 1.12 74.3
- 1.83 72.6
- 2.58 70.9
- 3.35 69.3
- 4.15 67.7
- 4.98 66.2
- 5.84 64.8
- 6.72 63.4
- 7.62 62.1
- 8.55 60.9
- 9.50 59.7
- 10.5 58.6
- 11.5 57.6
- 12.5 56.6
- 13.5 55.7
- 14.5 54.9
- 15.6 54.2
- 16.6 53.5
- 17.7 52.9
- 18.8 52.4
- 19.9 51.9
- 21.0 51.6
- 22.1 51.3
- 23.2 51.1
- 24.3 51.0
- 25.4 50.9
- 26.6 51.0
- 27.7 51.1
- 28.8 51.3
- 29.9 51.6
- 31.0 51.9
- 32.1 52.4
- 33.2 52.9
- 34.3 53.5
- 35.3 54.1
- 36.4 54.9
- 37.4 55.7
- 38.4 56.6
- 39.4 57.5
- 40.4 58.6
- 41.4 59.7
- 42.4 60.8
- 43.3 62.1
- 44.2 63.4
- 45.1 64.8
- 45.9 66.2
- 46.8 67.7
- 47.6 69.2
- 48.3 70.8
- 49.1 72.5
- 49.8 74.2
- 50.5 76.0
- 51.1 77.8
- 51.8 79.6
- 52.3 81.5
- 52.9 83.5
- 53.4 85.5
- 53.9 87.5
- 54.3 89.5
- 54.7 91.6
- 55.1 93.7
- 55.5 95.8
- 55.7 98.0
- 56.0 100.
- 56.2 102.
- 56.4 105.
- 56.5 107.
- 56.6 109.
- 56.7 111.
- 56.7 113.
- 56.7 116.
- 56.6 118.
- 56.5 120.
- 56.4 122.
- 56.2 125.
- 56.0 127.
- 55.7 129.
- 55.5 131.
- 55.1 133.
- 54.7 135.
- 54.3 137.
- 53.9 139.
- 53.4 141.
- 52.9 143.
- 52.3 145.
- 51.8 147.
- 51.1 149.
- 50.5 151.
- 49.8 153.
- 49.1 154.
- 48.3 156.
- 47.6 158.
- 46.8 159.
- 45.9 161.
- 45.1 162.
- 44.2 163.
- 43.3 165.
- 42.4 166.
- 41.4 167.
- 40.4 168.
- 39.4 169.
- 38.4 170.
- 37.4 171.
- 36.4 172.
- 35.3 173.
- 34.3 173.
- 33.2 174.
- 32.1 175.
- 31.0 175.
- 29.9 175.
- 28.8 176.
- 27.7 176.
- 26.6 176.
- 25.4 176.
- 24.3 176.
- 23.2 176.
- 22.1 176.
- 21.0 175.
- 19.9 175.
- 18.8 174.
- 17.7 174.
- 16.6 173.
- 15.6 173.
- 14.5 172.
- 13.5 171.
- 12.5 170.
- 11.5 169.
- 10.5 168.
- 9.50 167.
- 8.55 166.
- 7.62 165.
- 6.72 163.
- 5.84 162.
- 4.98 161.
- 4.15 159.
- 3.35 158.
- 2.58 156.
- 1.83 154.
- 1.12 153.
- .433 151.
- -.219 149.
- -.838 147.
- -1.42 145.
- -1.97 143.
- -2.49 141.
- -2.97 139.
- -3.42 137.
- -3.82 135.
- -4.19 133.
- -4.53 131.
- -4.82 129.
- -5.07 127.
- -5.29 124.
- -5.47 122.
- -5.61 120.
- -5.70 118.
- -5.76 116.
- -5.78 113.
- -5.76 111.
- -5.70 109.
- -5.60 107.
- -5.46 104.
- -5.28 102.
- -5.06 100.
- -4.80 97.9
- -4.50 95.7
- -4.17 93.6
- -3.80 91.5
-REG_LINE: 197
- -18.4 146.
- -19.0 143.
- -19.5 140.
- -19.9 137.
- -20.3 133.
- -20.7 130.
- -20.9 127.
- -21.1 124.
- -21.3 120.
- -21.4 117.
- -21.4 114.
- -21.4 110.
- -21.3 107.
- -21.1 104.
- -20.9 100.
- -20.7 96.9
- -20.3 93.6
- -20.0 90.4
- -19.5 87.1
- -19.0 83.9
- -18.5 80.8
- -17.9 77.7
- -17.2 74.6
- -16.5 71.6
- -15.7 68.6
- -14.9 65.7
- -14.0 62.8
- -13.1 60.0
- -12.1 57.3
- -11.1 54.7
- -9.99 52.1
- -8.87 49.6
- -7.71 47.2
- -6.50 44.9
- -5.26 42.6
- -3.98 40.5
- -2.66 38.4
- -1.30 36.5
- 0.922E-01 34.6
- 1.52 32.9
- 2.97 31.2
- 4.45 29.6
- 5.96 28.2
- 7.50 26.9
- 9.05 25.6
- 10.6 24.5
- 12.2 23.5
- 13.8 22.6
- 15.5 21.8
- 17.1 21.2
- 18.8 20.7
- 20.4 20.2
- 22.1 19.9
- 23.8 19.7
- 25.4 19.7
- 27.1 19.7
- 28.8 19.9
- 30.5 20.2
- 32.1 20.6
- 33.8 21.2
- 35.4 21.8
- 37.0 22.6
- 38.7 23.5
- 40.2 24.5
- 41.8 25.6
- 43.4 26.8
- 44.9 28.1
- 46.4 29.6
- 47.9 31.1
- 49.4 32.8
- 50.8 34.5
- 52.2 36.4
- 53.5 38.4
- 54.9 40.4
- 56.2 42.6
- 57.4 44.8
- 58.6 47.1
- 59.8 49.5
- 60.9 52.0
- 62.0 54.6
- 63.0 57.2
- 64.0 60.0
- 64.9 62.7
- 65.8 65.6
- 66.6 68.5
- 67.4 71.5
- 68.1 74.5
- 68.8 77.5
- 69.4 80.7
- 69.9 83.8
- 70.4 87.0
- 70.9 90.2
- 71.3 93.5
- 71.6 96.8
- 71.9 100.
- 72.1 103.
- 72.2 107.
- 72.3 110.
- 72.3 113.
- 72.3 117.
- 72.2 120.
- 72.1 123.
- 71.9 127.
- 71.6 130.
- 71.3 133.
- 70.9 137.
- 70.4 140.
- 69.9 143.
- 69.4 146.
- 68.8 149.
- 68.1 152.
- 67.4 155.
- 66.6 158.
- 65.8 161.
- 64.9 164.
- 64.0 167.
- 63.0 170.
- 62.0 172.
- 60.9 175.
- 59.8 177.
- 58.6 180.
- 57.4 182.
- 56.2 184.
- 54.9 186.
- 53.5 189.
- 52.2 190.
- 50.8 192.
- 49.4 194.
- 47.9 196.
- 46.4 197.
- 44.9 199.
- 43.4 200.
- 41.8 201.
- 40.2 202.
- 38.7 203.
- 37.0 204.
- 35.4 205.
- 33.8 206.
- 32.1 206.
- 30.5 207.
- 28.8 207.
- 27.1 207.
- 25.4 207.
- 23.8 207.
- 22.1 207.
- 20.4 207.
- 18.8 206.
- 17.1 206.
- 15.5 205.
- 13.8 204.
- 12.2 203.
- 10.6 202.
- 9.05 201.
- 7.50 200.
- 5.96 199.
- 4.45 197.
- 2.97 196.
- 1.52 194.
- 0.922E-01 192.
- -1.30 190.
- -2.66 188.
- -3.98 186.
- -5.26 184.
- -6.50 182.
- -7.71 180.
- -8.87 177.
- -9.99 175.
- -11.1 172.
- -12.1 170.
- -13.1 167.
- -14.0 164.
- -14.9 161.
- -15.7 158.
- -16.5 155.
- -17.2 152.
- -17.9 149.
- -18.5 146.
- -19.0 143.
- -19.5 140.
- -20.0 137.
- -20.3 133.
- -20.7 130.
- -20.9 127.
- -21.1 123.
- -21.3 120.
- -21.4 117.
- -21.4 113.
- -21.4 110.
- -21.3 107.
- -21.1 103.
- -20.9 100.
- -20.7 96.7
- -20.3 93.4
- -19.9 90.1
- -19.5 86.9
- -19.0 83.7
- -18.4 80.6
-REG_LINE: 197
- -33.1 157.
- -33.8 153.
- -34.5 149.
- -35.1 145.
- -35.6 140.
- -36.0 136.
- -36.4 131.
- -36.7 127.
- -36.9 123.
- -37.0 118.
- -37.0 114.
- -37.0 109.
- -36.9 105.
- -36.7 100.
- -36.4 95.8
- -36.1 91.4
- -35.6 87.0
- -35.1 82.7
- -34.5 78.4
- -33.9 74.1
- -33.1 69.9
- -32.3 65.7
- -31.4 61.6
- -30.5 57.6
- -29.4 53.6
- -28.3 49.8
- -27.1 46.0
- -25.9 42.3
- -24.6 38.6
- -23.2 35.1
- -21.8 31.7
- -20.3 28.3
- -18.8 25.1
- -17.2 22.0
- -15.5 19.0
- -13.8 16.2
- -12.0 13.4
- -10.2 10.8
- -8.37 8.34
- -6.47 5.99
- -4.53 3.78
- -2.55 1.71
- -.540 -.225
- 1.51 -2.01
- 3.58 -3.65
- 5.69 -5.14
- 7.82 -6.47
- 9.97 -7.66
- 12.1 -8.69
- 14.3 -9.56
- 16.5 -10.3
- 18.7 -10.8
- 21.0 -11.2
- 23.2 -11.5
- 25.4 -11.6
- 27.7 -11.5
- 29.9 -11.2
- 32.1 -10.9
- 34.3 -10.3
- 36.5 -9.59
- 38.7 -8.72
- 40.9 -7.70
- 43.0 -6.52
- 45.2 -5.19
- 47.3 -3.70
- 49.4 -2.07
- 51.4 -.290
- 53.4 1.63
- 55.4 3.70
- 57.3 5.91
- 59.2 8.25
- 61.1 10.7
- 62.9 13.3
- 64.7 16.1
- 66.4 18.9
- 68.0 21.9
- 69.6 25.0
- 71.2 28.2
- 72.7 31.6
- 74.1 35.0
- 75.5 38.5
- 76.8 42.1
- 78.0 45.8
- 79.2 49.6
- 80.3 53.5
- 81.4 57.5
- 82.3 61.5
- 83.2 65.6
- 84.0 69.7
- 84.8 73.9
- 85.4 78.2
- 86.0 82.5
- 86.5 86.9
- 87.0 91.2
- 87.3 95.6
- 87.6 100.
- 87.8 105.
- 87.9 109.
- 88.0 113.
- 87.9 118.
- 87.8 122.
- 87.6 127.
- 87.3 131.
- 87.0 136.
- 86.5 140.
- 86.0 144.
- 85.4 149.
- 84.8 153.
- 84.0 157.
- 83.2 161.
- 82.3 165.
- 81.4 169.
- 80.3 173.
- 79.2 177.
- 78.0 181.
- 76.8 185.
- 75.5 188.
- 74.1 192.
- 72.7 195.
- 71.2 199.
- 69.6 202.
- 68.0 205.
- 66.4 208.
- 64.7 211.
- 62.9 214.
- 61.1 216.
- 59.2 219.
- 57.3 221.
- 55.4 223.
- 53.4 225.
- 51.4 227.
- 49.4 229.
- 47.3 231.
- 45.2 232.
- 43.0 233.
- 40.9 235.
- 38.7 236.
- 36.5 236.
- 34.3 237.
- 32.1 238.
- 29.9 238.
- 27.7 238.
- 25.4 238.
- 23.2 238.
- 21.0 238.
- 18.7 238.
- 16.5 237.
- 14.3 236.
- 12.1 236.
- 9.97 235.
- 7.82 233.
- 5.69 232.
- 3.58 231.
- 1.51 229.
- -.540 227.
- -2.55 225.
- -4.53 223.
- -6.47 221.
- -8.37 219.
- -10.2 216.
- -12.0 213.
- -13.8 211.
- -15.5 208.
- -17.2 205.
- -18.8 202.
- -20.3 199.
- -21.8 195.
- -23.2 192.
- -24.6 188.
- -25.9 185.
- -27.1 181.
- -28.3 177.
- -29.4 173.
- -30.5 169.
- -31.4 165.
- -32.3 161.
- -33.1 157.
- -33.9 153.
- -34.5 149.
- -35.1 144.
- -35.6 140.
- -36.1 135.
- -36.4 131.
- -36.7 127.
- -36.9 122.
- -37.0 118.
- -37.0 113.
- -37.0 109.
- -36.9 104.
- -36.7 99.9
- -36.4 95.5
- -36.0 91.1
- -35.6 86.7
- -35.1 82.4
- -34.5 78.1
- -33.8 73.8
- -33.1 69.6
-REG_LINE: 197
- -47.7 168.
- -48.6 163.
- -49.5 158.
- -50.2 152.
- -50.8 147.
- -51.4 141.
- -51.8 136.
- -52.2 130.
- -52.4 125.
- -52.6 119.
- -52.7 114.
- -52.6 108.
- -52.5 102.
- -52.2 96.9
- -51.9 91.4
- -51.4 85.9
- -50.9 80.4
- -50.3 75.0
- -49.5 69.6
- -48.7 64.3
- -47.8 59.0
- -46.7 53.8
- -45.6 48.7
- -44.4 43.6
- -43.1 38.7
- -41.8 33.8
- -40.3 29.1
- -38.8 24.5
- -37.1 19.9
- -35.4 15.5
- -33.6 11.2
- -31.8 7.08
- -29.8 3.06
- -27.8 -.822
- -25.7 -4.55
- -23.6 -8.14
- -21.4 -11.6
- -19.1 -14.8
- -16.8 -17.9
- -14.5 -20.9
- -12.0 -23.6
- -9.56 -26.2
- -7.04 -28.6
- -4.49 -30.9
- -1.89 -32.9
- .740 -34.8
- 3.40 -36.5
- 6.09 -37.9
- 8.81 -39.2
- 11.5 -40.3
- 14.3 -41.2
- 17.1 -41.9
- 19.8 -42.4
- 22.6 -42.7
- 25.4 -42.8
- 28.2 -42.7
- 31.0 -42.4
- 33.8 -41.9
- 36.5 -41.2
- 39.3 -40.3
- 42.0 -39.3
- 44.7 -38.0
- 47.4 -36.5
- 50.1 -34.8
- 52.7 -33.0
- 55.3 -30.9
- 57.9 -28.7
- 60.4 -26.3
- 62.9 -23.7
- 65.3 -21.0
- 67.7 -18.0
- 70.0 -14.9
- 72.3 -11.7
- 74.5 -8.26
- 76.6 -4.68
- 78.7 -.956
- 80.7 2.92
- 82.6 6.93
- 84.5 11.1
- 86.3 15.4
- 88.0 19.8
- 89.6 24.3
- 91.2 28.9
- 92.6 33.7
- 94.0 38.5
- 95.3 43.5
- 96.5 48.5
- 97.6 53.6
- 98.7 58.8
- 99.6 64.1
- 100. 69.4
- 101. 74.8
- 102. 80.2
- 102. 85.7
- 103. 91.2
- 103. 96.7
- 103. 102.
- 104. 108.
- 104. 113.
- 104. 119.
- 103. 125.
- 103. 130.
- 103. 136.
- 102. 141.
- 102. 147.
- 101. 152.
- 100. 157.
- 99.6 163.
- 98.7 168.
- 97.6 173.
- 96.5 178.
- 95.3 183.
- 94.0 188.
- 92.6 193.
- 91.2 198.
- 89.6 203.
- 88.0 207.
- 86.3 212.
- 84.5 216.
- 82.6 220.
- 80.7 224.
- 78.7 228.
- 76.6 232.
- 74.5 235.
- 72.3 239.
- 70.0 242.
- 67.7 245.
- 65.3 248.
- 62.9 251.
- 60.4 253.
- 57.9 256.
- 55.3 258.
- 52.7 260.
- 50.1 262.
- 47.4 263.
- 44.7 265.
- 42.0 266.
- 39.3 267.
- 36.5 268.
- 33.8 269.
- 31.0 269.
- 28.2 270.
- 25.4 270.
- 22.6 270.
- 19.8 269.
- 17.1 269.
- 14.3 268.
- 11.5 267.
- 8.81 266.
- 6.09 265.
- 3.40 263.
- .740 262.
- -1.89 260.
- -4.49 258.
- -7.04 256.
- -9.56 253.
- -12.0 251.
- -14.5 248.
- -16.8 245.
- -19.1 242.
- -21.4 238.
- -23.6 235.
- -25.7 231.
- -27.8 228.
- -29.8 224.
- -31.8 220.
- -33.6 216.
- -35.4 211.
- -37.1 207.
- -38.8 202.
- -40.3 198.
- -41.8 193.
- -43.1 188.
- -44.4 183.
- -45.6 178.
- -46.7 173.
- -47.8 168.
- -48.7 163.
- -49.5 157.
- -50.3 152.
- -50.9 146.
- -51.4 141.
- -51.9 135.
- -52.2 130.
- -52.5 124.
- -52.6 119.
- -52.7 113.
- -52.6 108.
- -52.4 102.
- -52.2 96.5
- -51.8 91.0
- -51.4 85.5
- -50.8 80.0
- -50.2 74.6
- -49.5 69.2
- -48.6 63.9
- -47.7 58.6
-REG_LINE: 141
- -62.3 179.
- -63.4 173.
- -64.4 167.
- -65.3 160.
- -66.1 154.
- -66.8 147.
- -67.3 140.
- -67.7 134.
- -68.0 127.
- -68.2 120.
- -68.3 114.
- -68.2 107.
- -68.1 100.
- -67.8 93.6
- -67.3 87.0
- -66.8 80.4
- -66.2 73.8
- -65.4 67.3
- -64.5 60.8
- -63.5 54.4
- -62.4 48.1
- -61.2 41.9
- -59.9 35.7
- -58.4 29.7
- -56.9 23.8
- -55.2 17.9
- -53.5 12.2
- -51.6 6.66
- -49.6 1.22
- -47.6 -4.07
- -45.4 -9.21
- -43.2 -14.2
- -40.9 -19.0
- -38.5 -23.7
- -36.0 -28.2
- -33.4 -32.5
- -30.8 -36.6
- -28.1 -40.5
- -25.3 -44.2
- -22.4 -47.7
- -19.5 -51.1
- -16.6 -54.2
- -13.5 -57.1
- -10.5 -59.7
- -7.36 -62.2
- -4.21 -64.4
- -1.01 -66.4
- 2.22 -68.2
- 5.47 -69.7
- 8.76 -71.1
- 12.1 -72.1
- 15.4 -73.0
- 18.7 -73.6
- 22.1 -73.9
- 25.4 -74.1
- 28.8 -73.9
- 32.1 -73.6
- 35.4 -73.0
- 38.8 -72.2
- 42.1 -71.1
- 45.3 -69.8
- 48.6 -68.3
- 51.8 -66.5
- 55.0 -64.5
- 58.2 -62.3
- 61.3 -59.8
- 64.4 -57.2
- 67.4 -54.3
- 70.4 -51.2
- 73.3 -47.9
- 76.1 -44.3
- 78.9 -40.6
- 81.6 -36.7
- 84.3 -32.6
- 86.8 -28.3
- 89.3 -23.8
- 91.7 -19.2
- 94.1 -14.4
- 96.3 -9.39
- 98.5 -4.25
- 101. 1.03
- 102. 6.46
- 104. 12.0
- 106. 17.7
- 108. 23.5
- 109. 29.5
- 111. 35.5
- 112. 41.7
- 113. 47.9
- 114. 54.2
- 115. 60.6
- 116. 67.0
- 117. 73.6
- 118. 80.1
- 118. 86.7
- 119. 93.4
- 119. 100.
- 119. 107.
- 119. 113.
- 119. 120.
- 119. 127.
- 119. 133.
- 118. 140.
- 118. 147.
- 117. 153.
- 116. 160.
- 115. 166.
- 114. 173.
- 113. 179.
- 112. 185.
- 111. 191.
- 109. 197.
- 108. 203.
- 106. 209.
- 104. 215.
- 102. 220.
- 101. 226.
- 98.5 231.
- 96.3 236.
- 94.1 241.
- 91.7 246.
- 89.3 251.
- 86.8 255.
- 84.3 259.
- 81.6 264.
- 78.9 267.
- 76.1 271.
- 73.3 275.
- 70.4 278.
- 67.4 281.
- 64.4 284.
- 61.3 287.
- 58.2 289.
- 55.0 291.
- 51.8 293.
- 48.6 295.
- 45.3 297.
- 42.1 298.
- 38.8 299.
- 35.4 300.
- 34.7 300.
-REG_LINE: 53
- 16.2 300.
- 15.4 300.
- 12.1 299.
- 8.76 298.
- 5.47 297.
- 2.22 295.
- -1.01 293.
- -4.21 291.
- -7.36 289.
- -10.5 287.
- -13.5 284.
- -16.6 281.
- -19.5 278.
- -22.4 275.
- -25.3 271.
- -28.1 267.
- -30.8 263.
- -33.4 259.
- -36.0 255.
- -38.5 251.
- -40.9 246.
- -43.2 241.
- -45.4 236.
- -47.6 231.
- -49.6 226.
- -51.6 220.
- -53.5 215.
- -55.2 209.
- -56.9 203.
- -58.4 197.
- -59.9 191.
- -61.2 185.
- -62.4 179.
- -63.5 172.
- -64.5 166.
- -65.4 160.
- -66.2 153.
- -66.8 147.
- -67.3 140.
- -67.8 133.
- -68.1 127.
- -68.2 120.
- -68.3 113.
- -68.2 107.
- -68.0 99.8
- -67.7 93.2
- -67.3 86.5
- -66.8 79.9
- -66.1 73.3
- -65.3 66.8
- -64.4 60.4
- -63.4 54.0
- -62.3 47.7
-REG_LINE: 128
- -77.0 190.
- -78.3 183.
- -79.4 175.
- -80.5 168.
- -81.4 160.
- -82.1 153.
- -82.8 145.
- -83.3 137.
- -83.6 129.
- -83.8 122.
- -83.9 114.
- -83.8 106.
- -83.6 98.1
- -83.3 90.3
- -82.8 82.6
- -82.2 74.9
- -81.4 67.2
- -80.5 59.6
- -79.5 52.0
- -78.3 44.6
- -77.1 37.2
- -75.6 29.9
- -74.1 22.8
- -72.4 15.7
- -70.6 8.81
- -68.7 2.01
- -66.6 -4.64
- -64.4 -11.1
- -62.2 -17.5
- -59.8 -23.7
- -57.3 -29.7
- -54.7 -35.5
- -51.9 -41.1
- -49.1 -46.5
- -46.2 -51.8
- -43.2 -56.8
- -40.2 -61.6
- -37.0 -66.1
- -33.7 -70.5
- -30.4 -74.6
- -27.0 -78.5
- -23.6 -82.1
- -20.0 -85.5
- -16.5 -88.6
- -12.8 -91.5
- -9.15 -94.1
- -5.42 -96.4
- -1.66 -98.5
- 2.14 -100.
- 5.97 -102.
- 9.83 -103.
- 13.7 -104.
- 17.6 -105.
- 21.5 -105.
- 25.4 -105.
- 29.3 -105.
- 33.2 -105.
- 37.1 -104.
- 41.0 -103.
- 44.8 -102.
- 48.7 -100.
- 52.5 -98.5
- 56.2 -96.5
- 60.0 -94.2
- 63.6 -91.6
- 67.3 -88.7
- 70.9 -85.6
- 74.4 -82.2
- 77.8 -78.6
- 81.2 -74.7
- 84.6 -70.6
- 87.8 -66.3
- 91.0 -61.7
- 94.1 -56.9
- 97.1 -51.9
- 100. -46.7
- 103. -41.3
- 105. -35.7
- 108. -29.9
- 111. -23.9
- 113. -17.7
- 115. -11.4
- 117. -4.87
- 120. 1.78
- 121. 8.56
- 123. 15.5
- 125. 22.5
- 127. 29.7
- 128. 37.0
- 129. 44.3
- 130. 51.8
- 131. 59.3
- 132. 66.9
- 133. 74.6
- 134. 82.3
- 134. 90.0
- 135. 97.8
- 135. 106.
- 135. 113.
- 135. 121.
- 135. 129.
- 134. 137.
- 134. 145.
- 133. 152.
- 132. 160.
- 131. 168.
- 130. 175.
- 129. 183.
- 128. 190.
- 127. 197.
- 125. 204.
- 123. 211.
- 121. 218.
- 120. 225.
- 117. 232.
- 115. 238.
- 113. 245.
- 111. 251.
- 108. 257.
- 105. 263.
- 103. 268.
- 100. 274.
- 97.1 279.
- 94.1 284.
- 91.0 289.
- 87.8 293.
- 84.6 298.
- 82.5 300.
-REG_LINE: 40
- -31.6 300.
- -33.7 297.
- -37.0 293.
- -40.2 288.
- -43.2 284.
- -46.2 279.
- -49.1 273.
- -51.9 268.
- -54.7 262.
- -57.3 257.
- -59.8 251.
- -62.2 244.
- -64.4 238.
- -66.6 232.
- -68.7 225.
- -70.6 218.
- -72.4 211.
- -74.1 204.
- -75.6 197.
- -77.1 190.
- -78.3 182.
- -79.5 175.
- -80.5 167.
- -81.4 160.
- -82.2 152.
- -82.8 144.
- -83.3 137.
- -83.6 129.
- -83.8 121.
- -83.9 113.
- -83.8 105.
- -83.6 97.5
- -83.3 89.8
- -82.8 82.0
- -82.1 74.3
- -81.4 66.7
- -80.5 59.0
- -79.4 51.5
- -78.3 44.1
- -77.0 36.7
-REG_LINE: 97
- -91.6 201.
- -93.1 193.
- -94.4 184.
- -95.6 176.
- -96.6 167.
- -97.5 158.
- -98.2 149.
- -98.8 140.
- -99.2 132.
- -99.4 123.
- -99.5 114.
- -99.5 105.
- -99.2 95.9
- -98.8 87.0
- -98.3 78.2
- -97.6 69.3
- -96.7 60.6
- -95.7 51.9
- -94.5 43.3
- -93.2 34.8
- -91.7 26.3
- -90.1 18.0
- -88.3 9.83
- -86.4 1.77
- -84.3 -6.14
- -82.1 -13.9
- -79.8 -21.5
- -77.3 -28.9
- -74.7 -36.2
- -71.9 -43.2
- -69.1 -50.1
- -66.1 -56.7
- -63.0 -63.2
- -59.8 -69.4
- -56.5 -75.3
- -53.1 -81.1
- -49.5 -86.6
- -45.9 -91.8
- -42.2 -96.8
- -38.4 -101.
- -34.5 -106.
- -30.6 -110.
- -26.5 -114.
- -22.5 -117.
- -18.3 -121.
- -14.1 -124.
- -9.84 -126.
- -5.53 -129.
- -1.19 -131.
- 3.19 -133.
- 7.59 -134.
- 12.0 -135.
- 16.5 -136.
- 20.9 -136.
- 25.4 -137.
- 29.9 -136.
- 34.3 -136.
- 38.8 -135.
- 43.2 -134.
- 47.6 -133.
- 52.0 -131.
- 56.3 -129.
- 60.6 -126.
- 64.9 -124.
- 69.1 -121.
- 73.2 -118.
- 77.3 -114.
- 81.4 -110.
- 85.3 -106.
- 89.2 -102.
- 93.0 -96.9
- 96.7 -92.0
- 100. -86.8
- 104. -81.3
- 107. -75.6
- 111. -69.6
- 114. -63.4
- 117. -57.0
- 120. -50.3
- 123. -43.5
- 126. -36.4
- 128. -29.2
- 131. -21.8
- 133. -14.2
- 135. -6.42
- 137. 1.49
- 139. 9.54
- 141. 17.7
- 143. 26.0
- 144. 34.5
- 145. 43.0
- 147. 51.6
- 148. 60.3
- 148. 69.0
- 149. 77.8
- 150. 86.7
- 150. 92.2
-REG_LINE: 23
- 150. 135.
- 150. 140.
- 149. 149.
- 148. 158.
- 148. 167.
- 147. 175.
- 145. 184.
- 144. 192.
- 143. 201.
- 141. 209.
- 139. 217.
- 137. 225.
- 135. 233.
- 133. 241.
- 131. 249.
- 128. 256.
- 126. 263.
- 123. 270.
- 120. 277.
- 117. 284.
- 114. 290.
- 111. 296.
- 109. 300.
-REG_LINE: 35
- -57.7 300.
- -59.8 296.
- -63.0 290.
- -66.1 284.
- -69.1 277.
- -71.9 270.
- -74.7 263.
- -77.3 256.
- -79.8 248.
- -82.1 241.
- -84.3 233.
- -86.4 225.
- -88.3 217.
- -90.1 209.
- -91.7 201.
- -93.2 192.
- -94.5 184.
- -95.7 175.
- -96.7 166.
- -97.6 158.
- -98.3 149.
- -98.8 140.
- -99.2 131.
- -99.5 122.
- -99.5 113.
- -99.4 104.
- -99.2 95.3
- -98.8 86.4
- -98.2 77.5
- -97.5 68.7
- -96.6 60.0
- -95.6 51.3
- -94.4 42.7
- -93.1 34.2
- -91.6 25.7
-REG_LINE: 63
- -100. -13.5
- -98.0 -21.1
- -95.5 -29.8
- -92.9 -38.4
- -90.1 -46.7
- -87.2 -54.9
- -84.1 -62.8
- -80.9 -70.5
- -77.5 -78.0
- -74.1 -85.2
- -70.5 -92.2
- -66.7 -98.9
- -62.9 -105.
- -58.9 -112.
- -54.8 -117.
- -50.7 -123.
- -46.4 -128.
- -42.0 -133.
- -37.6 -138.
- -33.1 -142.
- -28.4 -146.
- -23.8 -150.
- -19.0 -153.
- -14.3 -156.
- -9.41 -159.
- -4.52 -161.
- .403 -163.
- 5.36 -165.
- 10.3 -166.
- 15.3 -167.
- 20.4 -168.
- 25.4 -168.
- 30.4 -168.
- 35.4 -167.
- 40.4 -166.
- 45.4 -165.
- 50.4 -163.
- 55.3 -161.
- 60.2 -159.
- 65.0 -156.
- 69.8 -153.
- 74.5 -150.
- 79.2 -146.
- 83.8 -142.
- 88.4 -138.
- 92.8 -133.
- 97.2 -129.
- 101. -123.
- 106. -118.
- 110. -112.
- 114. -106.
- 118. -99.2
- 121. -92.5
- 125. -85.5
- 128. -78.3
- 132. -70.8
- 135. -63.1
- 138. -55.2
- 141. -47.0
- 144. -38.7
- 146. -30.1
- 149. -21.4
- 150. -17.1
-REG_LINE: 9
- 150. 244.
- 149. 248.
- 146. 257.
- 144. 266.
- 141. 274.
- 138. 282.
- 135. 290.
- 132. 298.
- 131. 300.
-REG_LINE: 9
- -79.7 300.
- -80.9 297.
- -84.1 290.
- -87.2 282.
- -90.1 274.
- -92.9 265.
- -95.5 257.
- -98.0 248.
- -100. 240.
-REG_LINE: 54
- -100. -72.8
- -99.7 -73.6
- -96.3 -82.4
- -92.7 -91.0
- -89.0 -99.3
- -85.1 -107.
- -81.1 -115.
- -77.0 -123.
- -72.7 -130.
- -68.3 -137.
- -63.8 -143.
- -59.1 -149.
- -54.4 -155.
- -49.5 -161.
- -44.6 -166.
- -39.6 -171.
- -34.4 -175.
- -29.2 -179.
- -24.0 -183.
- -18.7 -186.
- -13.3 -189.
- -7.85 -192.
- -2.38 -194.
- 3.13 -196.
- 8.66 -197.
- 14.2 -198.
- 19.8 -199.
- 25.4 -199.
- 30.9 -199.
- 36.5 -198.
- 42.1 -197.
- 47.6 -196.
- 53.1 -194.
- 58.6 -192.
- 64.0 -189.
- 69.4 -186.
- 74.7 -183.
- 80.0 -179.
- 85.2 -175.
- 90.3 -171.
- 95.3 -166.
- 100. -161.
- 105. -155.
- 110. -150.
- 115. -143.
- 119. -137.
- 123. -130.
- 128. -123.
- 132. -115.
- 136. -108.
- 140. -99.6
- 144. -91.3
- 147. -82.7
- 150. -75.3
-REG_LINE: 2
- -99.9 300.
- -100. 300.
-REG_LINE: 13
- -100. -121.
- -96.2 -129.
- -91.8 -138.
- -87.2 -146.
- -82.5 -154.
- -77.7 -162.
- -72.7 -169.
- -67.6 -176.
- -62.4 -182.
- -57.0 -188.
- -51.6 -194.
- -46.1 -199.
- -45.1 -200.
-REG_LINE: 13
- 96.0 -200.
- 96.8 -199.
- 102. -194.
- 108. -188.
- 113. -182.
- 118. -176.
- 123. -169.
- 128. -162.
- 133. -154.
- 138. -146.
- 143. -138.
- 147. -130.
- 150. -123.
-REG_LINE: 6
- -100. -165.
- -97.4 -170.
- -92.3 -178.
- -87.0 -187.
- -81.6 -194.
- -77.4 -200.
-REG_LINE: 6
- 128. -200.
- 132. -195.
- 138. -187.
- 143. -179.
- 148. -170.
- 150. -167.
-REG_LINE: 10
- 40.9 118.
- 24.4 113.
- 7.79 108.
- -8.78 104.
- -25.4 98.9
- -41.9 94.2
- -58.5 89.5
- -75.1 84.8
- -91.7 80.0
- -100. 77.7
-REG_LINE: 12
- 38.0 132.
- 24.6 112.
- 11.2 92.1
- -2.25 72.0
- -15.7 52.0
- -29.1 31.9
- -42.5 11.9
- -55.9 -8.13
- -69.3 -28.2
- -82.7 -48.2
- -96.1 -68.2
- -100. -74.0
-REG_LINE: 13
- 32.0 142.
- 25.0 111.
- 18.0 81.0
- 11.1 50.5
- 4.10 20.1
- -2.86 -10.4
- -9.83 -40.8
- -16.8 -71.3
- -23.8 -102.
- -30.7 -132.
- -37.7 -163.
- -44.7 -193.
- -46.3 -200.
-REG_LINE: 12
- 24.4 145.
- 25.5 111.
- 26.7 77.8
- 27.9 44.4
- 29.1 11.0
- 30.3 -22.4
- 31.5 -55.8
- 32.7 -89.2
- 33.8 -123.
- 35.0 -156.
- 36.2 -189.
- 36.6 -200.
-REG_LINE: 14
- 17.0 140.
- 26.1 112.
- 35.1 83.4
- 44.2 55.2
- 53.2 27.0
- 62.3 -1.14
- 71.3 -29.3
- 80.3 -57.5
- 89.4 -85.7
- 98.4 -114.
- 107. -142.
- 117. -170.
- 126. -198.
- 126. -200.
-REG_LINE: 11
- 11.8 128.
- 26.4 112.
- 41.1 96.3
- 55.8 80.3
- 70.5 64.2
- 85.2 48.2
- 99.9 32.1
- 115. 16.1
- 129. 0.199E-02
- 144. -16.1
- 150. -22.6
-REG_LINE: 10
- 9.84 113.
- 26.6 113.
- 43.3 113.
- 60.1 113.
- 76.8 113.
- 93.5 113.
- 110. 113.
- 127. 113.
- 144. 113.
- 150. 113.
-REG_LINE: 11
- 11.8 98.5
- 26.4 115.
- 41.1 131.
- 55.8 147.
- 70.5 163.
- 85.2 179.
- 99.9 195.
- 115. 211.
- 129. 227.
- 144. 243.
- 150. 250.
-REG_LINE: 9
- 17.0 87.1
- 26.1 115.
- 35.1 143.
- 44.2 172.
- 53.2 200.
- 62.3 228.
- 71.3 256.
- 80.3 284.
- 85.4 300.
-REG_LINE: 8
- 24.4 82.3
- 25.5 116.
- 26.7 149.
- 27.9 182.
- 29.1 216.
- 30.3 249.
- 31.5 283.
- 32.1 300.
-REG_LINE: 9
- 32.0 85.0
- 25.0 115.
- 18.0 146.
- 11.1 176.
- 4.10 207.
- -2.86 237.
- -9.83 268.
- -16.8 298.
- -17.2 300.
-REG_LINE: 12
- 38.0 94.7
- 24.6 115.
- 11.2 135.
- -2.25 155.
- -15.7 175.
- -29.1 195.
- -42.5 215.
- -55.9 235.
- -69.3 255.
- -82.7 275.
- -96.1 295.
- -99.4 300.
-REG_LINE: 10
- 40.9 109.
- 24.4 114.
- 7.79 118.
- -8.78 123.
- -25.4 128.
- -41.9 133.
- -58.5 137.
- -75.1 142.
- -91.7 147.
- -100. 149.
-REG_LINE: 2
- 18.7 134.
- 17.7 133.
-REG_LINE: 2
- 20.4 129.
- 19.4 128.
-REG_LINE: 2
- 22.1 124.
- 21.1 123.
-REG_LINE: 2
- 23.8 119.
- 22.8 117.
-REG_LINE: 2
- 27.2 108.
- 28.2 110.
-REG_LINE: 2
- 28.8 103.
- 29.8 104.
-REG_LINE: 2
- 30.5 97.7
- 31.5 99.1
-REG_LINE: 2
- 32.2 92.4
- 33.2 93.8
-REG_LINE: 2
- 35.6 81.9
- 36.6 83.3
-REG_LINE: 2
- 37.3 76.6
- 38.3 78.1
-REG_LINE: 2
- 39.0 71.4
- 40.0 72.8
-REG_LINE: 2
- 40.7 66.1
- 41.7 67.5
-REG_LINE: 2
- 44.0 55.6
- 45.0 57.0
-REG_LINE: 2
- 45.7 50.3
- 46.7 51.8
-REG_LINE: 2
- 47.4 45.1
- 48.4 46.5
-REG_LINE: 2
- 49.1 39.8
- 50.1 41.2
-REG_LINE: 2
- 52.5 29.3
- 53.5 30.7
-REG_LINE: 2
- 54.2 24.0
- 55.2 25.5
-REG_LINE: 2
- 55.9 18.8
- 56.9 20.2
-REG_LINE: 2
- 57.5 13.5
- 58.6 14.9
-REG_LINE: 2
- 60.9 2.99
- 61.9 4.43
-REG_LINE: 2
- 62.6 -2.26
- 63.6 -.831
-REG_LINE: 2
- 64.3 -7.52
- 65.3 -6.09
-REG_LINE: 2
- 66.0 -12.8
- 67.0 -11.3
-REG_LINE: 2
- 69.4 -23.3
- 70.4 -21.9
-REG_LINE: 2
- 71.1 -28.6
- 72.1 -27.1
-REG_LINE: 2
- 72.7 -33.8
- 73.7 -32.4
-REG_LINE: 2
- 74.4 -39.1
- 75.4 -37.6
-REG_LINE: 2
- 77.8 -49.6
- 78.8 -48.2
-REG_LINE: 2
- 79.5 -54.9
- 80.5 -53.4
-REG_LINE: 2
- 81.2 -60.1
- 82.2 -58.7
-REG_LINE: 2
- 82.9 -65.4
- 83.9 -63.9
-REG_LINE: 2
- 86.3 -75.9
- 87.3 -74.5
-REG_LINE: 2
- 87.9 -81.2
- 88.9 -79.7
-REG_LINE: 2
- 89.6 -86.4
- 90.6 -85.0
-REG_LINE: 2
- 91.3 -91.7
- 92.3 -90.2
-REG_LINE: 2
- 94.7 -102.
- 95.7 -101.
-REG_LINE: 2
- 96.4 -107.
- 97.4 -106.
-REG_LINE: 2
- 98.1 -113.
- 99.1 -111.
-REG_LINE: 2
- 99.8 -118.
- 101. -117.
-REG_LINE: 2
- 103. -128.
- 104. -127.
-REG_LINE: 2
- 105. -134.
- 106. -132.
-REG_LINE: 2
- 107. -139.
- 108. -138.
-REG_LINE: 2
- 108. -144.
- 109. -143.
-REG_LINE: 2
- 112. -155.
- 113. -153.
-REG_LINE: 2
- 113. -160.
- 114. -159.
-REG_LINE: 2
- 115. -165.
- 116. -164.
-REG_LINE: 2
- 117. -171.
- 118. -169.
-REG_LINE: 2
- 120. -181.
- 121. -180.
-REG_LINE: 2
- 122. -186.
- 123. -185.
-REG_LINE: 2
- 123. -192.
- 124. -190.
-REG_LINE: 2
- 125. -197.
- 126. -195.
-REG_LINE: 2
- -80.3 169.
- -81.8 170.
-REG_LINE: 2
- -82.5 148.
- -84.2 148.
-REG_LINE: 2
- -83.7 126.
- -85.5 126.
-REG_LINE: 2
- -83.8 104.
- -85.6 104.
-REG_LINE: 2
- -80.7 61.1
- -82.3 60.3
-REG_LINE: 2
- -77.6 40.2
- -79.0 39.1
-REG_LINE: 2
- -73.4 19.9
- -74.7 18.7
-REG_LINE: 2
- -68.3 .672
- -69.4 -.674
-REG_LINE: 2
- -55.2 -34.3
- -56.0 -35.9
-REG_LINE: 2
- -47.4 -49.7
- -48.1 -51.3
-REG_LINE: 2
- -38.9 -63.4
- -39.5 -65.1
-REG_LINE: 2
- -29.7 -75.4
- -30.2 -77.1
-REG_LINE: 2
- -9.89 -93.6
- -10.2 -95.3
-REG_LINE: 2
- .619 -99.6
- .416 -101.
-REG_LINE: 2
- 11.4 -103.
- 11.3 -105.
-REG_LINE: 2
- 22.3 -105.
- 22.2 -107.
-REG_LINE: 2
- 44.1 -102.
- 44.2 -104.
-REG_LINE: 2
- 54.7 -97.3
- 55.0 -99.1
-REG_LINE: 2
- 65.1 -90.4
- 65.4 -92.2
-REG_LINE: 2
- 75.1 -81.5
- 75.5 -83.2
-REG_LINE: 2
- 93.5 -57.9
- 94.1 -59.5
-REG_LINE: 2
- 102. -43.5
- 102. -45.1
-REG_LINE: 2
- 109. -27.5
- 110. -29.0
-REG_LINE: 2
- 116. -10.1
- 117. -11.5
-REG_LINE: 2
- 126. 28.3
- 128. 27.1
-REG_LINE: 2
- 130. 48.8
- 131. 47.9
-REG_LINE: 2
- 133. 70.0
- 134. 69.3
-REG_LINE: 2
- 134. 91.6
- 136. 91.3
-REG_LINE: 2
- 134. 135.
- 136. 136.
-REG_LINE: 2
- 133. 157.
- 134. 158.
-REG_LINE: 2
- 130. 178.
- 131. 179.
-REG_LINE: 2
- 126. 199.
- 128. 200.
-REG_LINE: 2
- 116. 237.
- 117. 238.
-REG_LINE: 2
- 109. 254.
- 110. 256.
-REG_LINE: 2
- 102. 270.
- 102. 272.
-REG_LINE: 2
- 93.5 285.
- 94.1 286.
-REG_LINE: 2
- -38.9 290.
- -39.5 292.
-REG_LINE: 2
- -47.4 277.
- -48.1 278.
-REG_LINE: 2
- -55.2 261.
- -56.0 263.
-REG_LINE: 2
- -68.3 226.
- -69.4 228.
-REG_LINE: 2
- -73.4 207.
- -74.7 208.
-REG_LINE: 2
- -77.6 187.
- -79.0 188.
-REG_LINE: 2
- -80.7 166.
- -82.3 167.
-REG_LINE: 2
- -83.8 123.
- -85.6 123.
-REG_LINE: 2
- -83.7 101.
- -85.5 100.
-REG_LINE: 2
- -82.5 78.9
- -84.2 78.4
-REG_LINE: 2
- -80.3 57.5
- -81.8 56.7
-REG_LINE: 15
- 25.5 113.
- 24.9 115.
- 24.3 117.
- 23.7 119.
- 23.1 121.
- 22.5 123.
- 21.9 125.
- 21.2 127.
- 20.6 128.
- 20.0 130.
- 19.4 132.
- 18.8 134.
- 18.2 136.
- 17.6 138.
- 17.0 140.
-REG_LINE: 15
- 25.5 113.
- 26.1 112.
- 26.7 110.
- 27.3 108.
- 27.9 106.
- 28.5 104.
- 29.1 102.
- 29.7 100.
- 30.3 98.4
- 30.9 96.5
- 31.5 94.7
- 32.1 92.8
- 32.7 90.9
- 33.3 89.0
- 33.9 87.1
-REG_LINE: 15
- 33.9 87.1
- 34.5 85.3
- 35.1 83.4
- 35.7 81.5
- 36.3 79.6
- 36.9 77.8
- 37.5 75.9
- 38.1 74.0
- 38.7 72.1
- 39.3 70.2
- 39.9 68.4
- 40.5 66.5
- 41.1 64.6
- 41.8 62.7
- 42.4 60.8
-REG_LINE: 15
- 42.4 60.8
- 43.0 59.0
- 43.6 57.1
- 44.2 55.2
- 44.8 53.3
- 45.4 51.5
- 46.0 49.6
- 46.6 47.7
- 47.2 45.8
- 47.8 43.9
- 48.4 42.1
- 49.0 40.2
- 49.6 38.3
- 50.2 36.4
- 50.8 34.5
-REG_LINE: 15
- 50.8 34.5
- 51.4 32.7
- 52.0 30.8
- 52.6 28.9
- 53.2 27.0
- 53.8 25.2
- 54.4 23.3
- 55.0 21.4
- 55.6 19.5
- 56.2 17.6
- 56.8 15.8
- 57.4 13.9
- 58.0 12.0
- 58.6 10.1
- 59.2 8.25
-REG_LINE: 15
- 59.2 8.25
- 59.8 6.38
- 60.4 4.50
- 61.0 2.62
- 61.6 .740
- 62.3 -1.14
- 62.9 -3.02
- 63.5 -4.89
- 64.1 -6.77
- 64.7 -8.65
- 65.3 -10.5
- 65.9 -12.4
- 66.5 -14.3
- 67.1 -16.2
- 67.7 -18.0
-REG_LINE: 15
- 67.7 -18.0
- 68.3 -19.9
- 68.9 -21.8
- 69.5 -23.7
- 70.1 -25.6
- 70.7 -27.4
- 71.3 -29.3
- 71.9 -31.2
- 72.5 -33.1
- 73.1 -34.9
- 73.7 -36.8
- 74.3 -38.7
- 74.9 -40.6
- 75.5 -42.5
- 76.1 -44.3
-REG_LINE: 15
- 76.1 -44.3
- 76.7 -46.2
- 77.3 -48.1
- 77.9 -50.0
- 78.5 -51.9
- 79.1 -53.7
- 79.7 -55.6
- 80.3 -57.5
- 80.9 -59.4
- 81.5 -61.2
- 82.2 -63.1
- 82.8 -65.0
- 83.4 -66.9
- 84.0 -68.8
- 84.6 -70.6
-REG_LINE: 15
- 84.6 -70.6
- 85.2 -72.5
- 85.8 -74.4
- 86.4 -76.3
- 87.0 -78.1
- 87.6 -80.0
- 88.2 -81.9
- 88.8 -83.8
- 89.4 -85.7
- 90.0 -87.5
- 90.6 -89.4
- 91.2 -91.3
- 91.8 -93.2
- 92.4 -95.1
- 93.0 -96.9
-REG_LINE: 15
- 93.0 -96.9
- 93.6 -98.8
- 94.2 -101.
- 94.8 -103.
- 95.4 -104.
- 96.0 -106.
- 96.6 -108.
- 97.2 -110.
- 97.8 -112.
- 98.4 -114.
- 99.0 -116.
- 99.6 -118.
- 100. -119.
- 101. -121.
- 101. -123.
-REG_LINE: 15
- 101. -123.
- 102. -125.
- 103. -127.
- 103. -129.
- 104. -131.
- 104. -133.
- 105. -134.
- 106. -136.
- 106. -138.
- 107. -140.
- 107. -142.
- 108. -144.
- 109. -146.
- 109. -148.
- 110. -150.
-REG_LINE: 15
- 110. -150.
- 110. -151.
- 111. -153.
- 112. -155.
- 112. -157.
- 113. -159.
- 114. -161.
- 114. -163.
- 115. -165.
- 115. -166.
- 116. -168.
- 117. -170.
- 117. -172.
- 118. -174.
- 118. -176.
-REG_LINE: 14
- 118. -176.
- 119. -178.
- 120. -180.
- 120. -181.
- 121. -183.
- 121. -185.
- 122. -187.
- 123. -189.
- 123. -191.
- 124. -193.
- 124. -195.
- 125. -196.
- 126. -198.
- 126. -200.
-REG_LINE: 15
- -82.8 82.6
- -83.3 90.3
- -83.6 98.1
- -83.8 106.
- -83.9 114.
- -83.8 122.
- -83.6 129.
- -83.3 137.
- -82.8 145.
- -82.1 153.
- -81.4 160.
- -80.5 168.
- -79.4 175.
- -78.3 183.
- -77.0 190.
-REG_LINE: 15
- -82.8 82.6
- -82.2 74.9
- -81.4 67.2
- -80.5 59.6
- -79.5 52.0
- -78.3 44.6
- -77.1 37.2
- -75.6 29.9
- -74.1 22.8
- -72.4 15.7
- -70.6 8.81
- -68.7 2.01
- -66.6 -4.64
- -64.4 -11.1
- -62.2 -17.5
-REG_LINE: 15
- -62.2 -17.5
- -59.8 -23.7
- -57.3 -29.7
- -54.7 -35.5
- -51.9 -41.1
- -49.1 -46.5
- -46.2 -51.8
- -43.2 -56.8
- -40.2 -61.6
- -37.0 -66.1
- -33.7 -70.5
- -30.4 -74.6
- -27.0 -78.5
- -23.6 -82.1
- -20.0 -85.5
-REG_LINE: 15
- -20.0 -85.5
- -16.5 -88.6
- -12.8 -91.5
- -9.15 -94.1
- -5.42 -96.4
- -1.66 -98.5
- 2.14 -100.
- 5.97 -102.
- 9.83 -103.
- 13.7 -104.
- 17.6 -105.
- 21.5 -105.
- 25.4 -105.
- 29.3 -105.
- 33.2 -105.
-REG_LINE: 15
- 33.2 -105.
- 37.1 -104.
- 41.0 -103.
- 44.8 -102.
- 48.7 -100.
- 52.5 -98.5
- 56.2 -96.5
- 60.0 -94.2
- 63.6 -91.6
- 67.3 -88.7
- 70.9 -85.6
- 74.4 -82.2
- 77.8 -78.6
- 81.2 -74.7
- 84.6 -70.6
-REG_LINE: 15
- 84.6 -70.6
- 87.8 -66.3
- 91.0 -61.7
- 94.1 -56.9
- 97.1 -51.9
- 100. -46.7
- 103. -41.3
- 105. -35.7
- 108. -29.9
- 111. -23.9
- 113. -17.7
- 115. -11.4
- 117. -4.87
- 120. 1.78
- 121. 8.56
-REG_LINE: 15
- 121. 8.56
- 123. 15.5
- 125. 22.5
- 127. 29.7
- 128. 37.0
- 129. 44.3
- 130. 51.8
- 131. 59.3
- 132. 66.9
- 133. 74.6
- 134. 82.3
- 134. 90.0
- 135. 97.8
- 135. 106.
- 135. 113.
-REG_LINE: 15
- 135. 113.
- 135. 121.
- 135. 129.
- 134. 137.
- 134. 145.
- 133. 152.
- 132. 160.
- 131. 168.
- 130. 175.
- 129. 183.
- 128. 190.
- 127. 197.
- 125. 204.
- 123. 211.
- 121. 218.
-REG_LINE: 15
- 121. 218.
- 120. 225.
- 117. 232.
- 115. 238.
- 113. 245.
- 111. 251.
- 108. 257.
- 105. 263.
- 103. 268.
- 100. 274.
- 97.1 279.
- 94.1 284.
- 91.0 289.
- 87.8 293.
- 84.6 298.
-REG_LINE: 2
- 84.6 298.
- 82.5 300.
-REG_LINE: 12
- -31.6 300.
- -33.7 297.
- -37.0 293.
- -40.2 288.
- -43.2 284.
- -46.2 279.
- -49.1 273.
- -51.9 268.
- -54.7 262.
- -57.3 257.
- -59.8 251.
- -62.2 244.
-REG_LINE: 15
- -62.2 244.
- -64.4 238.
- -66.6 232.
- -68.7 225.
- -70.6 218.
- -72.4 211.
- -74.1 204.
- -75.6 197.
- -77.1 190.
- -78.3 182.
- -79.5 175.
- -80.5 167.
- -81.4 160.
- -82.2 152.
- -82.8 144.
-REG_LINE: 15
- -82.8 144.
- -83.3 137.
- -83.6 129.
- -83.8 121.
- -83.9 113.
- -83.8 105.
- -83.6 97.5
- -83.3 89.8
- -82.8 82.0
- -82.1 74.3
- -81.4 66.7
- -80.5 59.0
- -79.4 51.5
- -78.3 44.1
- -77.0 36.7
-REG_LINE: 15
- -82.8 144.
- -83.3 137.
- -83.6 129.
- -83.8 121.
- -83.9 113.
- -83.8 105.
- -83.6 97.5
- -83.3 89.8
- -82.8 82.0
- -82.1 74.3
- -81.4 66.7
- -80.5 59.0
- -79.4 51.5
- -78.3 44.1
- -77.0 36.7
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0.0'
- 27.8 114. BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '50.0'
- 36.3 87.9 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '100.0'
- 44.7 61.6 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '150.0'
- 53.2 35.3 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '200.0'
- 61.6 9.02 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '250.0'
- 70.1 -17.3 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '300.0'
- 78.5 -43.6 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '350.0'
- 86.9 -69.9 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '400.0'
- 95.4 -96.2 BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '450.0'
- 104. -122. BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '500.0'
- 112. -149. BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '550.0'
- 121. -175. BC .952 .306
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-Symbol = "p1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 2" # Axis Label
- Symbol = "p2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- InvB = 1 # Second Mapping used in inverse direction
- MapA = # First component Mapping
- Begin MathMap # Transformation using mathematical functions
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Fwd1 = "r=sqrt(x*x+y*y)" # Forward function 1
- Fwd2 = "theta=atan2(y,x)" # Forward function 2
- Inv1 = "x=r*cos(theta)" # Inverse function 1
- Inv2 = "y=r*sin(theta)" # Inverse function 2
- SimpFI = 1 # Forward-inverse pairs may simplify
- SimpIF = 1 # Inverse-forward pairs may simplify
- End MathMap
- MapB = # Second component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -101.5 # Shift for axis 1
- Sft2 = -201.5 # Shift for axis 2
- End WinMap
- End CmpMap
- End FrameSet
- Begin FrameSet # Set of inter-related coordinate systems
-# Title = "FK5 equatorial coordinates; mean equinox J2000.0; gnomonic projection" # Title of coordinate system
-# Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
-# Epoch = 1977.77512999212 # Besselian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# System = "FK5" # Coordinate system type
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
-# Bot2 = -1.5707963267949 # Lowest legal axis value
-# Top2 = 1.5707963267949 # Highest legal axis value
- IsA Frame # Coordinate system description
- Nframe = 2 # Number of Frames in FrameSet
- Base = 1 # Index of base Frame
- Currnt = 2 # Index of current Frame
- Lnk2 = 1 # Node 2 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame # Coordinate system description
- Title = "Pixel Coordinates" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Pixel axis 1" # Label for axis 1
-# Lbl2 = "Pixel axis 2" # Label for axis 2
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Pixel axis 1" # Axis Label
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Pixel axis 2" # Axis Label
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin SkyFrame # Description of celestial coordinate system
- Ident = " " # Permanent Object identification string
- IsA Object # AST Object
-# Title = "FK5 equatorial coordinates; mean equinox J2000.0; gnomonic projection" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
- Epoch = 1977.77512999212 # Besselian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
- System = "FK5" # Coordinate system type
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
-# Bot2 = -1.5707963267949 # Lowest legal axis value
-# Top2 = 1.5707963267949 # Highest legal axis value
- Ax1 = # Axis number 1
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- Ax2 = # Axis number 2
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- IsA Frame # Coordinate system description
- Proj = "gnomonic" # Description of sky projection
- Eqnox = 2000 # Julian epoch of mean equinox
- SRefIs = "Ignored" # Not rotated (ref. pos. is ignored)
- SRef1 = 0 # Ref. pos. RA 0:00:00.0
- SRef2 = -1.57079633000002 # Ref. pos. Dec -90:00:00
- End SkyFrame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -893.6318379289 # Shift for axis 1
- Sft2 = -223.8380193875 # Shift for axis 2
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -3.25441534352674e-06 # Forward matrix value
- M1 = -1.60367292352974e-08 # Forward matrix value
- M2 = -1.812057487023e-08 # Forward matrix value
- M3 = 3.25725533992408e-06 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 2 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "TAN" # Gnomonic projection
- End WcsMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 0 # Polar longitREG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-3.0'
- -80.3 82.7 BC .997 0.724E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-2.5'
- -59.8 -16.6 BC .936 .352
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-2.0'
- -18.4 -83.6 BC .673 .740
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-1.5'
- 32.8 -102. BC -.145 .989
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-0.5'
- 119. 9.22 BC -.965 .262
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0.0'
- 132. 113. BC -1.00 0.125E-02
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0.5'
- 119. 218. TC .964 .265
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '1.0'
- 82.6 296. TC .787 .617
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '2.5'
- -59.8 243. TC -.936 .352
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '3.0'
- -80.3 144. TC -.997 0.724E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 1
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: ' A FITS test'
- 31.0 313. BC .000 1.00
-
-
-
-
- FITS test number 3
- ====================
-
-
-
-AST_SHOW:
-
-REG_SINK:
-SIMPLE = T / file does conform to FITS standard
-BITPIX = 16 / number of bits per data pixel
-NAXIS = 2 / number of data axes
-NAXIS1 = 1787 / length of data axis 1
-NAXIS2 = 447 / length of data axis 2
-EXTEND = T / FITS dataset may contain extensions
-COMMENT FITS (Flexible Image Transport System) format defined in Astronomy and
-COMMENT Astrophysics Supplement Series v44/p363, v44/p371, v73/p359, v73/p365.
-COMMENT Contact the NASA Science Office of Standards and Technology for the
-COMMENT FITS Definition document #100 and other FITS information.
-PLATENUM= '3665 ' / Plate number
-EMULSION= 'IIIaJ ' / Kodak emulsion type
-FILTER = 'GG395 ' / Schott glass filter type
-PLTSCALE= '67.14 ' / [arcsec/mm] plate scale
-FIELDNUM= '1 ' / Sky survey field number
-TELESCOP= 'UKST ' / Telescope on which the plate was taken
-TELETYPE= 'SCHM ' / Type of telescope
-SITELAT = -0.5458410576565 / [radians] latitude of telescope
-SITELONG= 2.601766194458 / [radians] longitude of telescope
-LST = '00:20 ' / [hh:mm] local sidereal time at start of obs
-INSTRUME= 'SuperCOSMOS I' / Measuring machine
-DATE-MES= '2000-11-04' / [yyyy-mm-dd] Date of this plate measurement
-NHKLINES= 146 / Number of lines from house-keeping file
-HKLIN001= 'JOB.JOBNO UKJ001'
-HKLIN002= 'JOB.DATE-MES 2000:11:04'
-HKLIN003= 'JOB.TIME 12:51:09'
-HKLIN004= 'JOB.INSTRUME SuperCOSMOS I'
-HKLIN005= 'JOB.ORIGIN Royal Observatory Edinburgh'
-HKLIN006= 'JOB.SOFTWARE /home/scosdev/v033'
-HKLIN007= 'JOB.OPERATOR ebt'
-HKLIN008= 'JOB.USER htm'
-HKLIN009= 'JOB.USERREF NONE'
-HKLIN010= 'JOB.UORIGIN ROE'
-HKLIN011= 'JOB.UCOUNTRY uk'
-HKLIN012= 'JOB.COMMENT Digital catalogue of the Sky'
-HKLIN013= 'JOB.IAM_FILE iam.srt'/ / ' /
-HKLIN014= 'PLATE.TELESCOP UKST'
-HKLIN015= 'PLATE.TELTYPE SCHM'
-HKLIN016= 'PLATE.PLATE 3665'
-HKLIN017= 'PLATE.MATERIAL 3mm glass'
-HKLIN018= 'PLATE.EMULSION IIIaJ'
-HKLIN019= 'PLATE.FILTER GG395'
-HKLIN020= 'PLATE.PSCALE 67.14'
-HKLIN021= 'PLATE.FIELD 1'
-HKLIN022= 'PLATE.RA_PNT 0'
-HKLIN023= 'PLATE.DEC_PNT -90'
-HKLIN024= 'PLATE.RADECSYS FK4'
-HKLIN025= 'PLATE.EQUINOX 1950'
-HKLIN026= 'PLATE.TIMESYS BESSELIAN'
-HKLIN027= 'PLATE.EPOCH 1977.78'/ / ' /
-HKLIN028= 'PLATE.EXPOSURE 75'
-HKLIN029= 'PLATE.UTDATE 771011'
-HKLIN030= 'PLATE.LST 0020'
-HKLIN031= 'PLATE.MJD 43426.573008796'
-HKLIN032= 'PLATE.TELLAT -0.54584105765654'
-HKLIN033= 'PLATE.TELLONG 2.6017661944583'
-HKLIN034= 'PLATE.TELHT 1145'
-HKLIN035= 'PLATE.TEMP 273.155'/ / ' /
-HKLIN036= 'PLATE.ATMOSP 1013.25'/ / ' /
-HKLIN037= 'PLATE.HUMID 0.5'
-HKLIN038= 'PLATE.WAVE 4500'
-HKLIN039= 'PLATE.TROPL 0.0065'
-HKLIN040= 'CALIBRATION.CALTYPE SPLINE'
-HKLIN041= 'CALIBRATION.STEPWEDG KPNO'
-HKLIN042= 'CALIBRATION.NSTEPS 8'
-HKLIN043= 'MEASUREMENT.ORIENTAT news'
-HKLIN044= 'MEASUREMENT.EMULPOS UP'
-HKLIN045= 'MEASUREMENT.SCANFILT 14'
-HKLIN046= 'MEASUREMENT.SOSP 552'
-HKLIN047= 'MEASUREMENT.STEPSIZE 10'
-HKLIN048= 'MEASUREMENT.SCANLEN 1152'
-HKLIN049= 'MEASUREMENT.A-XMIN 1622000'/ / ' /
-HKLIN050= 'MEASUREMENT.A-YMIN 1622000'/ / ' /
-HKLIN051= 'MEASUREMENT.A-XMAX 33878000'
-HKLIN052= 'MEASUREMENT.A-YMAX 33878000'
-HKLIN053= 'MEASUREMENT.X_PNT 17500000'
-HKLIN054= 'MEASUREMENT.Y_PNT 18000000'
-HKLIN055= 'ANALYSIS.NPARAMS 32'
-HKLIN056= 'ANALYSIS.AREACUT 8'
-HKLIN057= 'ANALYSIS.AP-PARAM 1.07'
-HKLIN058= 'DEBLEND.DB-PARAM 1.05'
-HKLIN059= 'DEBLEND.DB-AMIN 16'
-HKLIN060= 'DEBLEND.DB-AMAX 100000'
-HKLIN061= 'DEBLEND.DB-ACUT 8'
-HKLIN062= 'DEBLEND.DB-LEVEL 16'
-HKLIN063= 'DEBLEND.SELECT PARENT+CHILD'
-HKLIN064= 'SKY.SKYSQUAR 64'
-HKLIN065= 'SKY.SKYDEFN MEDIAN'
-HKLIN066= 'SKY.SKYFILTR bdkjunk'/ / ' /
-HKLIN067= 'SKY.F-THRESH 8'
-HKLIN068= 'SKY.F-SCLEN 4'
-HKLIN069= 'THRESHOLDING.PCUT 10'
-HKLIN070= 'IAMQC.AREAMIN 8'
-HKLIN071= 'IAMQC.AREAMAX 77346'
-HKLIN072= 'IAMQC.MINMAG -30515'
-HKLIN073= 'IAMQC.MAXMAG -17954'
-HKLIN074= 'IAMQC.MINELL 0.0004156232'
-HKLIN075= 'IAMQC.MAXELL 1'
-HKLIN076= 'IAMQC.MODELL 0.14'
-HKLIN077= 'IAMQC.MODOR 91'
-HKLIN078= 'IAMQC.MIDELL 0.21'
-HKLIN079= 'IAMQC.MIDOR 93'
-HKLIN080= 'IAMQC.MEANELL 0.2467037'
-HKLIN081= 'IAMQC.MEANOR 91.63474'
-HKLIN082= 'IAMQC.NUMOBJ 556985'
-HKLIN083= 'IAMQC.PARENTS 486656'
-HKLIN084= 'IAMQC.RANGING TRUE'
-HKLIN085= 'IAMQC.LANE_1 15571'
-HKLIN086= 'IAMQC.LANE_2 33207'
-HKLIN087= 'IAMQC.LANE_3 51478'
-HKLIN088= 'IAMQC.LANE_4 69944'
-HKLIN089= 'IAMQC.LANE_5 89236'
-HKLIN090= 'IAMQC.LANE_6 108416'
-HKLIN091= 'IAMQC.LANE_7 127481'
-HKLIN092= 'IAMQC.LANE_8 146699'
-HKLIN093= 'IAMQC.LANE_9 166380'
-HKLIN094= 'IAMQC.LANE_10 186126'
-HKLIN095= 'IAMQC.LANE_11 205946'
-HKLIN096= 'IAMQC.LANE_12 225915'
-HKLIN097= 'IAMQC.LANE_13 245926'
-HKLIN098= 'IAMQC.LANE_14 266574'
-HKLIN099= 'IAMQC.LANE_15 287150'
-HKLIN100= 'IAMQC.LANE_16 308087'
-HKLIN101= 'IAMQC.LANE_17 328830'
-HKLIN102= 'IAMQC.LANE_18 350253'
-HKLIN103= 'IAMQC.LANE_19 370738'
-HKLIN104= 'IAMQC.LANE_20 391722'
-HKLIN105= 'IAMQC.LANE_21 412801'
-HKLIN106= 'IAMQC.LANE_22 433795'
-HKLIN107= 'IAMQC.LANE_23 454383'
-HKLIN108= 'IAMQC.LANE_24 474711'
-HKLIN109= 'IAMQC.LANE_25 495108'
-HKLIN110= 'IAMQC.LANE_26 515755'
-HKLIN111= 'IAMQC.LANE_27 536499'
-HKLIN112= 'IAMQC.LANE_28 556985'
-HKLIN113= 'XYTORADEC.STARCAT /sdata/scos/refcats/tycho2.FIT'
-HKLIN114= 'XYTORADEC.BRIGHTLIM 9'
-HKLIN115= 'XYTORADEC.C-EQUIN 2000'
-HKLIN116= 'XYTORADEC.C-EQTSYS JULIAN'
-HKLIN117= 'XYTORADEC.C-EPOCH 2000'
-HKLIN118= 'XYTORADEC.C-EPTSYS JULIAN'
-HKLIN119= 'XYTORADEC.R-EQUIN 2000'
-HKLIN120= 'XYTORADEC.R-TSYS JULIAN'
-HKLIN121= 'XYTORADEC.MAXITER 5000'
-HKLIN122= 'XYTORADEC.RCRITINI 500000'
-HKLIN123= 'XYTORADEC.RCRITABS 50000'
-HKLIN124= 'XYTORADEC.RCRITREL 1'
-HKLIN125= 'XYTORADEC.RCRITFIN 3'
-HKLIN126= 'XYTORADEC.HARDCOPY /scos1/scos/UKJ001/UKJ001.ps'
-HKLIN127= 'XYTORADEC.REFSMULT 5'
-HKLIN128= 'XYTORADEC.RESDMULT 1000'
-HKLIN129= 'XYTORADEC.RACOL RA'
-HKLIN130= 'XYTORADEC.DECOL DEC'
-HKLIN131= 'XYTORADEC.RAPMCOL PMRA'
-HKLIN132= 'XYTORADEC.DECPMCOL PMDE'
-HKLIN133= 'XYTORADEC.PLXCOL NONE'
-HKLIN134= 'XYTORADEC.RVCOL NONE'
-HKLIN135= 'XYTORADEC.MAGCOL VT'
-HKLIN136= 'XYTORADEC.STARSC 2374'
-HKLIN137= 'XYTORADEC.STARSU 1727'
-HKLIN138= 'XYTORADEC.COEFFS_1 17.640343856524'
-HKLIN139= 'XYTORADEC.COEFFS_2 -260.44151995641'
-HKLIN140= 'XYTORADEC.COEFFS_3 -163.09155572601'
-HKLIN141= 'XYTORADEC.COEFFS_4 17.504230442205'
-HKLIN142= 'XYTORADEC.COEFFS_5 -163.08676953832'
-HKLIN143= 'XYTORADEC.COEFFS_6 260.48817907668'
-HKLIN144= 'XYTORADEC.DISTR -0.33333333333333'
-HKLIN145= 'XYTORADEC.RA_PNT 0.54924996662137'
-HKLIN146= 'XYTORADEC.DEC_PNT -1.5684931501781'
-HISTORY = 'SuperCOSMOS image analysis and mapping mode (IAM and MM)' /
-HISTORY = 'data written by xydcomp_ss.' /
-HISTORY = 'Any questions/comments/suggestions/bug reports should be sent' /
-HISTORY = 'to N.Hambly@roe.ac.uk' /
-ASTSIGX = 0.37 / [arcsec] std. dev. of astrometric fit in X
-ASTSIGY = 0.38 / [arcsec] std. dev. of astrometric fit in Y
-PC001001= 1.0 / DEPRECATED - Axis rotation matrix
-PC001002= 0.004927623810613 / DEPRECATED - Axis rotation matrix
-PC002001= -0.005563056187788 / DEPRECATED - Axis rotation matrix
-PC002002= 1.0 / DEPRECATED - Axis rotation matrix
-CROTA2 = 0.3005532298491 / DEPRECATED - rotation of axis 2
-DATATYPE= 'INTEGER*2' / Type of data
-DATUNITS= 'DENSITY ' / Units: transmission, density or intensity
-XPIXELSZ= 9.997114974 / [microns] X pixel size
-YPIXELSZ= 10.0 / [microns] Y pixel size
-OBJCTRA = ' 0 0 0.000' / Centre Right Ascension (J2000)
-OBJCTDEC= '-90 0 0.00' / Centre Declination (J2000)
-OBJCTX = 16368.63183793 / [pixels] Centre X on plate
-OBJCTY = 14740.83801939 / [pixels] Centre Y on plate
-
-Objects written: 1
-
-Native Encoding:
-
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AST
-COMMENT AST WCS information in AST format AST
-COMMENT AST See http://www.starlink.ac.uk/ast/ AST
-COMMENT AST Beginning of AST data for FrameSet object AST
-COMMENT AST ................................................................ AST
-BEGAST_A= 'FrameSet' / Set of inter-related coordinate systems
-NFRAME_A= 2 / Number of Frames in FrameSet
-BASE_A = 1 / Index of base Frame
-CURRNT_A= 2 / Index of current Frame
-LNK2_A = 1 / Node 2 is derived from node 1
-FRM1_A = ' ' / Frame number 1
-BEGAST_B= 'Frame ' / Coordinate system description
-TITLE_A = 'Pixel Coordinates' / Title of coordinate system
-NAXES_A = 2 / Number of coordinate axes
-DOMAIN_A= 'GRID ' / Coordinate system domain
-AX1_A = ' ' / Axis number 1
-BEGAST_C= 'Axis ' / Coordinate axis
-LABEL_A = 'Pixel axis 1' / Axis Label
-ENDAST_A= 'Axis ' / End of object definition
-AX2_A = ' ' / Axis number 2
-BEGAST_D= 'Axis ' / Coordinate axis
-LABEL_B = 'Pixel axis 2' / Axis Label
-ENDAST_B= 'Axis ' / End of object definition
-ENDAST_C= 'Frame ' / End of object definition
-FRM2_A = ' ' / Frame number 2
-BEGAST_E= 'SkyFrame' / Description of celestial coordinate system
-IDENT_A = '" " ' / Permanent Object identification string
-ISA_A = 'Object ' / AST Object
-NAXES_B = 2 / Number of coordinate axes
-EPOCH_A = 1977.77512999212 / Besselian epoch of observation
-SYSTEM_A= 'FK5 ' / Coordinate system type
-AX1_B = ' ' / Axis number 1
-BEGAST_F= 'SkyAxis ' / Celestial coordinate axis
-ENDAST_D= 'SkyAxis ' / End of object definition
-AX2_B = ' ' / Axis number 2
-BEGAST_G= 'SkyAxis ' / Celestial coordinate axis
-ENDAST_E= 'SkyAxis ' / End of object definition
-ISA_B = 'Frame ' / Coordinate system description
-PROJ_A = 'gnomonic' / Description of sky projection
-EQNOX_A = 2000.0 / Julian epoch of mean equinox
-SREFIS_A= 'Ignored ' / Not rotated (ref. pos. is ignored)
-SREF1_A = 0.0 / Ref. pos. RA 0:00:00.0
-SREF2_A = -1.57079633 / Ref. pos. Dec -90:00:00
-ENDAST_F= 'SkyFrame' / End of object definition
-MAP2_A = ' ' / Mapping between nodes 1 and 2
-BEGAST_H= 'CmpMap ' / Compound Mapping
-NIN_A = 2 / Number of input coordinates
-ISSIMP_A= 1 / Mapping has been simplified
-ISA_C = 'Mapping ' / Mapping between coordinate systems
-MAPA_A = ' ' / First component Mapping
-BEGAST_I= 'WinMap ' / Map one window on to another
-NIN_B = 2 / Number of input coordinates
-INVERT_A= 0 / Mapping not inverted
-ISA_D = 'Mapping ' / Mapping between coordinate systems
-SFT1_A = -893.6318379289 / Shift for axis 1
-SFT2_A = -223.8380193875 / Shift for axis 2
-ENDAST_G= 'WinMap ' / End of object definition
-MAPB_A = ' ' / Second component Mapping
-BEGAST_J= 'CmpMap ' / Compound Mapping
-NIN_C = 2 / Number of input coordinates
-ISA_E = 'Mapping ' / Mapping between coordinate systems
-MAPA_B = ' ' / First component Mapping
-BEGAST_K= 'MatrixMap' / Matrix transformation
-NIN_D = 2 / Number of input coordinates
-INVERT_B= 0 / Mapping not inverted
-ISA_F = 'Mapping ' / Mapping between coordinate systems
-M0_A = -3.25441534352674E-6/ Forward matrix value
-M1_A = -1.60367292352974E-8/ Forward matrix value
-M2_A = -1.812057487023E-8 / Forward matrix value
-M3_A = 3.25725533992408E-6 / Forward matrix value
-FORM_A = 'Full ' / Matrix storage form
-ENDAST_H= 'MatrixMap' / End of object definition
-MAPB_B = ' ' / Second component Mapping
-BEGAST_L= 'CmpMap ' / Compound Mapping
-NIN_E = 2 / Number of input coordinates
-ISA_G = 'Mapping ' / Mapping between coordinate systems
-INVA_A = 1 / First Mapping used in inverse direction
-MAPA_C = ' ' / First component Mapping
-BEGAST_M= 'WcsMap ' / FITS-WCS sky projection
-NIN_F = 2 / Number of input coordinates
-INVERT_C= 1 / Mapping inverted
-ISA_H = 'Mapping ' / Mapping between coordinate systems
-TYPE_A = 'TAN ' / Gnomonic projection
-ENDAST_I= 'WcsMap ' / End of object definition
-MAPB_C = ' ' / Second component Mapping
-BEGAST_N= 'CmpMap ' / Compound Mapping
-NIN_G = 2 / Number of input coordinates
-ISA_I = 'Mapping ' / Mapping between coordinate systems
-INVA_B = 1 / First Mapping used in inverse direction
-MAPA_D = ' ' / First component Mapping
-BEGAST_O= 'SphMap ' / Cartesian to Spherical mapping
-NIN_H = 3 / Number of input coordinates
-NOUT_A = 2 / Number of output coordinates
-INVERT_D= 1 / Mapping inverted
-ISA_J = 'Mapping ' / Mapping between coordinate systems
-UNTRD_A = 1 / All input vectors have unit length
-PLRLG_A = 0.0 / Polar longitude (rad.s)
-ENDAST_J= 'SphMap ' / End of object definition
-MAPB_D = ' ' / Second component Mapping
-BEGAST_P= 'CmpMap ' / Compound Mapping
-NIN_I = 3 / Number of input coordinates
-NOUT_B = 2 / Number of output coordinates
-ISA_K = 'Mapping ' / Mapping between coordinate systems
-MAPA_E = ' ' / First component Mapping
-BEGAST_Q= 'MatrixMap' / Matrix transformation
-NIN_J = 3 / Number of input coordinates
-INVERT_E= 0 / Mapping not inverted
-ISA_L = 'Mapping ' / Mapping between coordinate systems
-M0_B = -1.0 / Forward matrix value
-M1_B = 1.0 / Forward matrix value
-M2_B = -1.0 / Forward matrix value
-FORM_B = 'Diagonal' / Matrix storage form
-ENDAST_K= 'MatrixMap' / End of object definition
-MAPB_E = ' ' / Second component Mapping
-BEGAST_R= 'SphMap ' / Cartesian to Spherical mapping
-NIN_K = 3 / Number of input coordinates
-NOUT_C = 2 / Number of output coordinates
-INVERT_F= 0 / Mapping not inverted
-ISA_M = 'Mapping ' / Mapping between coordinate systems
-UNTRD_B = 1 / All input vectors have unit length
-PLRLG_B = 0.0 / Polar longitude (rad.s)
-ENDAST_L= 'SphMap ' / End of object definition
-ENDAST_M= 'CmpMap ' / End of object definition
-ENDAST_N= 'CmpMap ' / End of object definition
-ENDAST_O= 'CmpMap ' / End of object definition
-ENDAST_P= 'CmpMap ' / End of object definition
-ENDAST_Q= 'CmpMap ' / End of object definition
-ENDAST_R= 'FrameSet' / End of object definition
-COMMENT AST ................................................................ AST
-COMMENT AST End of AST data for FrameSet object AST
-COMMENT AST ---------------------------------------------------------------- AST
-
-ATTRIBUTES:
- Colour(axis1) : 1
- Font(Stri) : 1
- Nout : 1
- Class : 4
- Tol : 0.100000E-01
- Gap(1) : .523599
- Border : 0
- Invert : 0
- TextLabGap : 0.100000E-01
- Nin : 2
- Current : 3
- Base : 1
- Nobject : 1
- RefCOUNT : 1
-
-AST_GRID:
-REG_LINE: 2
- 15.5 -136.
- 15.4 -137.
-REG_LINE: 2
- 18.6 -144.
- 18.5 -146.
-REG_LINE: 2
- 21.8 -149.
- 21.8 -151.
-REG_LINE: 2
- 25.1 -150.
- 25.1 -154.
-REG_LINE: 2
- 28.3 -149.
- 28.4 -150.
-REG_LINE: 2
- 31.5 -143.
- 31.6 -145.
-REG_LINE: 2
- 34.6 -135.
- 34.7 -136.
-REG_LINE: 2
- 37.6 -123.
- 37.8 -127.
-REG_LINE: 2
- 40.3 -108.
- 40.4 -110.
-REG_LINE: 2
- 42.7 -91.0
- 42.9 -92.7
-REG_LINE: 2
- 44.9 -71.2
- 45.2 -72.9
-REG_LINE: 2
- 46.7 -49.3
- 47.5 -53.0
-REG_LINE: 2
- 48.1 -25.8
- 48.6 -27.4
-REG_LINE: 2
- 49.2 -.928
- 49.9 -2.51
-REG_LINE: 2
- 49.8 24.8
- 51.0 23.5
-REG_LINE: 2
- 50.0 50.9
- 53.7 51.1
-REG_LINE: 2
- 49.7 77.1
- 50.9 78.4
-REG_LINE: 2
- 49.1 103.
- 49.8 104.
-REG_LINE: 2
- 48.0 127.
- 48.5 129.
-REG_LINE: 2
- 46.6 151.
- 47.3 155.
-REG_LINE: 2
- 44.7 173.
- 45.0 174.
-REG_LINE: 2
- 42.6 192.
- 42.8 194.
-REG_LINE: 2
- 40.1 209.
- 40.2 211.
-REG_LINE: 2
- 37.4 224.
- 37.6 228.
-REG_LINE: 2
- 34.4 235.
- 34.5 237.
-REG_LINE: 2
- 31.3 244.
- 31.4 245.
-REG_LINE: 2
- 28.1 248.
- 28.1 250.
-REG_LINE: 2
- 24.8 250.
- 24.8 254.
-REG_LINE: 2
- 21.6 248.
- 21.5 250.
-REG_LINE: 2
- 18.4 243.
- 18.3 245.
-REG_LINE: 2
- 15.3 234.
- 15.2 236.
-REG_LINE: 2
- 12.3 223.
- 12.1 226.
-REG_LINE: 2
- 9.62 208.
- 9.45 210.
-REG_LINE: 2
- 7.17 191.
- 6.95 192.
-REG_LINE: 2
- 5.02 171.
- 4.74 173.
-REG_LINE: 2
- 3.22 149.
- 2.41 153.
-REG_LINE: 2
- 1.78 125.
- 1.27 127.
-REG_LINE: 2
- .747 101.
- -0.657E-02 102.
-REG_LINE: 2
- .124 74.8
- -1.11 76.1
-REG_LINE: 2
- -0.740E-01 48.7
- -3.82 48.5
-REG_LINE: 2
- .156 22.6
- -1.02 21.3
-REG_LINE: 2
- .811 -3.08
- 0.841E-01 -4.67
-REG_LINE: 2
- 1.88 -27.8
- 1.38 -29.5
-REG_LINE: 2
- 3.34 -51.3
- 2.56 -54.9
-REG_LINE: 2
- 5.17 -73.0
- 4.89 -74.7
-REG_LINE: 2
- 7.34 -92.6
- 7.13 -94.3
-REG_LINE: 2
- 9.81 -110.
- 9.65 -111.
-REG_LINE: 2
- 12.5 -124.
- 12.3 -128.
-REG_LINE: 2
- 15.5 -136.
- 15.4 -137.
-REG_LINE: 2
- 18.6 -144.
- 18.5 -146.
-REG_LINE: 2
- 21.8 -149.
- 21.8 -151.
-REG_LINE: 2
- 25.1 -150.
- 25.1 -154.
-REG_LINE: 2
- 28.3 -149.
- 28.4 -150.
-REG_LINE: 2
- 31.5 -143.
- 31.6 -145.
-REG_LINE: 2
- 34.6 -135.
- 34.7 -136.
-REG_LINE: 2
- 24.9 74.8
- 26.5 75.6
-REG_LINE: 2
- 24.9 99.9
- 26.5 101.
-REG_LINE: 2
- 24.9 125.
- 26.5 126.
-REG_LINE: 2
- 24.9 150.
- 28.3 152.
-REG_LINE: 2
- 24.9 175.
- 26.5 176.
-REG_LINE: 2
- 24.9 200.
- 26.4 201.
-REG_LINE: 2
- 24.8 225.
- 26.4 226.
-REG_LINE: 2
- 24.8 250.
- 28.2 252.
-REG_LINE: 2
- 24.8 275.
- 26.4 276.
-REG_LINE: 15
- 25.1 -150.
- 24.1 -150.
- 23.2 -150.
- 22.3 -149.
- 21.3 -148.
- 20.4 -147.
- 19.5 -146.
- 18.6 -144.
- 17.7 -142.
- 16.8 -140.
- 15.9 -137.
- 15.1 -134.
- 14.2 -131.
- 13.4 -128.
- 12.5 -124.
-REG_LINE: 15
- 25.1 -150.
- 26.0 -150.
- 26.9 -150.
- 27.9 -149.
- 28.8 -148.
- 29.7 -147.
- 30.6 -145.
- 31.5 -143.
- 32.4 -141.
- 33.3 -139.
- 34.2 -136.
- 35.1 -133.
- 35.9 -130.
- 36.7 -127.
- 37.6 -123.
-REG_LINE: 15
- 37.6 -123.
- 38.4 -119.
- 39.1 -115.
- 39.9 -111.
- 40.6 -106.
- 41.4 -101.
- 42.1 -96.2
- 42.7 -91.0
- 43.4 -85.6
- 44.0 -79.9
- 44.6 -74.2
- 45.2 -68.2
- 45.7 -62.1
- 46.2 -55.8
- 46.7 -49.3
-REG_LINE: 15
- 46.7 -49.3
- 47.1 -42.8
- 47.5 -36.1
- 47.9 -29.2
- 48.3 -22.3
- 48.6 -15.3
- 48.9 -8.13
- 49.2 -.928
- 49.4 6.35
- 49.6 13.7
- 49.7 21.1
- 49.8 28.5
- 49.9 36.0
- 50.0 43.4
- 50.0 50.9
-REG_LINE: 15
- 50.0 50.9
- 49.9 58.4
- 49.9 65.9
- 49.8 73.3
- 49.7 80.8
- 49.5 88.1
- 49.3 95.5
- 49.1 103.
- 48.8 110.
- 48.5 117.
- 48.2 124.
- 47.8 131.
- 47.4 138.
- 47.0 144.
- 46.6 151.
-REG_LINE: 15
- 46.6 151.
- 46.1 157.
- 45.6 164.
- 45.0 170.
- 44.4 176.
- 43.8 181.
- 43.2 187.
- 42.6 192.
- 41.9 197.
- 41.2 202.
- 40.5 207.
- 39.7 212.
- 38.9 216.
- 38.2 220.
- 37.4 224.
-REG_LINE: 15
- 37.4 224.
- 36.5 227.
- 35.7 231.
- 34.8 234.
- 34.0 237.
- 33.1 239.
- 32.2 241.
- 31.3 244.
- 30.4 245.
- 29.5 247.
- 28.6 248.
- 27.6 249.
- 26.7 250.
- 25.8 250.
- 24.8 250.
-REG_LINE: 15
- 24.8 250.
- 23.9 250.
- 23.0 249.
- 22.0 249.
- 21.1 248.
- 20.2 246.
- 19.3 245.
- 18.4 243.
- 17.5 241.
- 16.6 238.
- 15.7 236.
- 14.8 233.
- 14.0 230.
- 13.1 226.
- 12.3 223.
-REG_LINE: 15
- 12.3 223.
- 11.5 219.
- 10.8 215.
- 9.99 210.
- 9.25 206.
- 8.53 201.
- 7.84 196.
- 7.17 191.
- 6.52 185.
- 5.90 180.
- 5.31 174.
- 4.74 168.
- 4.20 162.
- 3.70 155.
- 3.22 149.
-REG_LINE: 15
- 3.22 149.
- 2.77 142.
- 2.35 136.
- 1.96 129.
- 1.61 122.
- 1.29 115.
- 1.00 108.
- .747 101.
- .526 93.3
- .339 85.9
- .187 78.6
- 0.696E-01 71.1
- -0.132E-01 63.7
- -0.611E-01 56.2
- -0.740E-01 48.7
-REG_LINE: 15
- -0.740E-01 48.7
- -0.519E-01 41.2
- 0.519E-02 33.7
- 0.971E-01 26.3
- .224 18.9
- .385 11.5
- .581 4.18
- .811 -3.08
- 1.07 -10.3
- 1.37 -17.4
- 1.70 -24.4
- 2.06 -31.3
- 2.46 -38.1
- 2.88 -44.7
- 3.34 -51.3
-REG_LINE: 15
- 3.34 -51.3
- 3.83 -57.7
- 4.34 -63.9
- 4.89 -70.0
- 5.46 -75.9
- 6.06 -81.6
- 6.69 -87.2
- 7.34 -92.6
- 8.02 -97.7
- 8.72 -103.
- 9.44 -107.
- 10.2 -112.
- 11.0 -116.
- 11.7 -120.
- 12.5 -124.
-REG_LINE: 15
- 12.5 -124.
- 13.4 -128.
- 14.2 -131.
- 15.1 -134.
- 15.9 -137.
- 16.8 -140.
- 17.7 -142.
- 18.6 -144.
- 19.5 -146.
- 20.4 -147.
- 21.3 -148.
- 22.3 -149.
- 23.2 -150.
- 24.1 -150.
- 25.1 -150.
-REG_LINE: 15
- 25.1 -150.
- 26.0 -150.
- 26.9 -150.
- 27.9 -149.
- 28.8 -148.
- 29.7 -147.
- 30.6 -145.
- 31.5 -143.
- 32.4 -141.
- 33.3 -139.
- 34.2 -136.
- 35.1 -133.
- 35.9 -130.
- 36.7 -127.
- 37.6 -123.
-REG_LINE: 15
- 25.1 -150.
- 26.0 -150.
- 26.9 -150.
- 27.9 -149.
- 28.8 -148.
- 29.7 -147.
- 30.6 -145.
- 31.5 -143.
- 32.4 -141.
- 33.3 -139.
- 34.2 -136.
- 35.1 -133.
- 35.9 -130.
- 36.7 -127.
- 37.6 -123.
-REG_LINE: 15
- 24.9 49.8
- 24.9 57.0
- 24.9 64.1
- 24.9 71.3
- 24.9 78.4
- 24.9 85.6
- 24.9 92.7
- 24.9 99.9
- 24.9 107.
- 24.9 114.
- 24.9 121.
- 24.9 128.
- 24.9 136.
- 24.9 143.
- 24.9 150.
-REG_LINE: 15
- 24.9 150.
- 24.9 157.
- 24.9 164.
- 24.9 171.
- 24.9 179.
- 24.9 186.
- 24.9 193.
- 24.9 200.
- 24.9 207.
- 24.8 214.
- 24.8 221.
- 24.8 229.
- 24.8 236.
- 24.8 243.
- 24.8 250.
-REG_LINE: 8
- 24.8 250.
- 24.8 257.
- 24.8 264.
- 24.8 272.
- 24.8 279.
- 24.8 286.
- 24.8 293.
- 24.8 300.
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '12'
- 24.9 -148. BC -0.654E-01 .998
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '14'
- 35.1 -123. BC -.978 .210
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '16'
- 44.2 -49.2 BC -.997 0.716E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '18'
- 47.5 50.9 BC -1.00 -0.942E-03
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '20'
- 44.1 151. TC .997 0.732E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '22'
- 34.9 223. TC .977 .213
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '0'
- 24.9 248. TC -0.236E-01 1.00
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '2'
- 14.8 222. TC -.978 .210
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '4'
- 5.71 149. TC -.997 0.716E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '6'
- 2.43 48.7 BC 1.00 0.288E-03
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '8'
- 5.83 -51.1 BC .997 0.732E-01
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '10'
- 15.0 -124. BC .977 .215
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-90:00'
- 22.4 49.8 BC -1.00 -0.615E-03
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '59'
- 22.4 150. BC -1.00 -0.615E-03
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: '-89:58'
- 22.3 250. BC -1.00 -0.615E-03
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 1
-REG_CAP: 2
-REG_SCALES:
-REG_QCH:
-REG_CAP: 0
-REG_CAP: 0
-REG_TEXT: ' A FITS test'
- 30.9 313. BC .000 1.00
-ude (rad.s)
- End SphMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -1 # Forward matrix value
- M1 = 1 # Forward matrix value
- M2 = -1 # Forward matrix value
- Form = "Diagonal" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 0 # Polar longitude (rad.s)
- End SphMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End FrameSet
diff --git a/ast/ast_tester/rigby.map b/ast/ast_tester/rigby.map
deleted file mode 100644
index 6482149..0000000
--- a/ast/ast_tester/rigby.map
+++ /dev/null
@@ -1,240 +0,0 @@
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 0.1 # Forward matrix value
- M1 = 1 # Forward matrix value
- Form = "Diagonal" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -0.0500000000000114 # Shift for axis 1
- End WinMap
- End CmpMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -3129 # Shift for axis 1
- Sft2 = -8 # Shift for axis 2
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin PermMap # Coordinate permutation
- Nin = 2 # Number of input coordinates
- Nout = 3 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Out1 = 1 # Output coordinate 1 = input coordinate 1
- Out2 = -1 # Output coordinate 2 = constant no. 1
- Out3 = 2 # Output coordinate 3 = input coordinate 2
- In1 = 1 # Input coordinate 1 = output coordinate 1
- In2 = 3 # Input coordinate 2 = output coordinate 3
- Nconst = 1 # Number of constants
- Con1 = 232.84 # Constant number 1
- End PermMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 0.812968257918776 # Forward matrix value
- M1 = 0.582308004080753 # Forward matrix value
- M2 = 0 # Forward matrix value
- M3 = -0.582308004080753 # Forward matrix value
- M4 = 0.812968257918776 # Forward matrix value
- M5 = 0 # Forward matrix value
- M6 = 0 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = 1 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -1236.82078999603 # Shift for axis 1
- Scl1 = 0.999999999977888 # Scale factor for axis 1
- Sft2 = 586.515648677204 # Shift for axis 2
- Scl2 = 0.999999999985306 # Scale factor for axis 2
- Sft3 = 330420868230.796 # Shift for axis 3
- Scl3 = 551361.368168752 # Scale factor for axis 3
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -3.28230370472069e-05 # Forward matrix value
- M1 = -1.68687502681513e-05 # Forward matrix value
- M2 = -1.68687502681513e-05 # Forward matrix value
- M3 = 3.28230370472069e-05 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 2 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "TAN" # Gnomonic projection
- End WcsMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 0 # Polar longitude (rad.s)
- End SphMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 0.0160398354926887 # Forward matrix value
- M1 = 0.967192049208341 # Forward matrix value
- M2 = 0.253539471533602 # Forward matrix value
- M3 = -0.0610660311421554 # Forward matrix value
- M4 = 0.254046334254542 # Forward matrix value
- M5 = -0.96526234770262 # Forward matrix value
- M6 = -0.998004841430097 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = 0.0631374412063651 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 4.96925054084174 # Polar longitude (rad.s)
- End SphMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- MapB = # Second component Mapping
- Begin SlaMap # Conversion between sky coordinate systems
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Nsla = 1 # Number of conversion steps
- Sla1 = "EQGAL" # J2000.0 equatorial (FK5) to galactic (IAU 1958)
- End SlaMap
- End CmpMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 1 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin SpecMap # Conversion between spectral coordinate systems
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Nspec = 2 # Number of conversion steps
- Spec1 = "FRTOVL" # Convert frequency to rel. velocity
- Spec1a = 330587960100 # Rest frequency (Hz)
- Spec2 = "VLTOVR" # Convert relativistic to radio velocity
- End SpecMap
- MapB = # Second component Mapping
- Begin ZoomMap # Zoom about the origin
- Nin = 1 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Zoom = 0.001 # Zoom factor
- End ZoomMap
- End CmpMap
- End CmpMap
- MapB = # Second component Mapping
- Begin PermMap # Coordinate permutation
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- Out1 = 1 # Output coordinate 1 = input coordinate 1
- Out2 = 3 # Output coordinate 2 = input coordinate 3
- In1 = 1 # Input coordinate 1 = output coordinate 1
- In2 = -1 # Input coordinate 2 = constant no. 1
- In3 = 2 # Input coordinate 3 = output coordinate 2
- Nconst = 1 # Number of constants
- Con1 = -0.000391559614368643 # Constant number 1
- End PermMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
diff --git a/ast/ast_tester/rigby.simp b/ast/ast_tester/rigby.simp
deleted file mode 100644
index fa78112..0000000
--- a/ast/ast_tester/rigby.simp
+++ /dev/null
@@ -1,201 +0,0 @@
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin PermMap # Coordinate permutation
- Nin = 2 # Number of input coordinates
- Nout = 3 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Out1 = 1 # Output coordinate 1 = input coordinate 1
- Out2 = -1 # Output coordinate 2 = constant no. 1
- Out3 = 2 # Output coordinate 3 = input coordinate 2
- In1 = 1 # Input coordinate 1 = output coordinate 1
- In2 = 3 # Input coordinate 2 = output coordinate 3
- Nconst = 1 # Number of constants
- Con1 = 232.84 # Constant number 1
- End PermMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 8.1296825791877598 # Forward matrix value
- M1 = 0.58230800408075301 # Forward matrix value
- M2 = 0 # Forward matrix value
- M3 = -5.8230800408075298 # Forward matrix value
- M4 = 0.81296825791877603 # Forward matrix value
- M5 = 0 # Forward matrix value
- M6 = 0 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = 1 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -3780.1919848386815 # Shift for axis 1
- Scl1 = 0.99999999997788802 # Scale factor for axis 1
- Sft2 = 2408.2662394170707 # Shift for axis 2
- Scl2 = 0.99999999998530598 # Scale factor for axis 2
- Sft3 = 330416457339.85065 # Shift for axis 3
- Scl3 = 551361.36816875194 # Scale factor for axis 3
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -3.2823037047206903e-05 # Forward matrix value
- M1 = -1.6868750268151298e-05 # Forward matrix value
- M2 = -1.6868750268151298e-05 # Forward matrix value
- M3 = 3.2823037047206903e-05 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WcsMap # FITS-WCS sky projection
- Nin = 2 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "TAN" # Gnomonic projection
- End WcsMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 0 # Polar longitude (rad.s)
- End SphMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 0.016039835492688701 # Forward matrix value
- M1 = 0.96719204920834101 # Forward matrix value
- M2 = 0.25353947153360201 # Forward matrix value
- M3 = -0.061066031142155398 # Forward matrix value
- M4 = 0.25404633425454198 # Forward matrix value
- M5 = -0.96526234770261998 # Forward matrix value
- M6 = -0.99800484143009704 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = 0.063137441206365094 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin SphMap # Cartesian to Spherical mapping
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- PlrLg = 4.96925054084174 # Polar longitude (rad.s)
- End SphMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- MapB = # Second component Mapping
- Begin SlaMap # Conversion between sky coordinate systems
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Nsla = 1 # Number of conversion steps
- Sla1 = "EQGAL" # J2000.0 equatorial (FK5) to galactic (IAU 1958)
- End SlaMap
- End CmpMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 1 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin SpecMap # Conversion between spectral coordinate systems
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Nspec = 2 # Number of conversion steps
- Spec1 = "FRTOVL" # Convert frequency to rel. velocity
- Spec1a = 330587960100 # Rest frequency (Hz)
- Spec2 = "VLTOVR" # Convert relativistic to radio velocity
- End SpecMap
- MapB = # Second component Mapping
- Begin ZoomMap # Zoom about the origin
- Nin = 1 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Zoom = 0.001 # Zoom factor
- End ZoomMap
- End CmpMap
- End CmpMap
- MapB = # Second component Mapping
- Begin PermMap # Coordinate permutation
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- Out1 = 1 # Output coordinate 1 = input coordinate 1
- Out2 = 3 # Output coordinate 2 = input coordinate 3
- In1 = 1 # Input coordinate 1 = output coordinate 1
- In2 = -1 # Input coordinate 2 = constant no. 1
- In3 = 2 # Input coordinate 3 = output coordinate 2
- Nconst = 1 # Number of constants
- Con1 = -0.00039155961436864302 # Constant number 1
- End PermMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
diff --git a/ast/ast_tester/scp.attr b/ast/ast_tester/scp.attr
deleted file mode 100644
index 54434e8..0000000
--- a/ast/ast_tester/scp.attr
+++ /dev/null
@@ -1 +0,0 @@
-Grid=1,labelling=int
diff --git a/ast/ast_tester/scp.box b/ast/ast_tester/scp.box
deleted file mode 100644
index 76f5ba8..0000000
--- a/ast/ast_tester/scp.box
+++ /dev/null
@@ -1 +0,0 @@
-1.0 1.0 1500.0 1300.0
diff --git a/ast/ast_tester/scp.head b/ast/ast_tester/scp.head
deleted file mode 100644
index f35c6f4..0000000
--- a/ast/ast_tester/scp.head
+++ /dev/null
@@ -1,204 +0,0 @@
-SIMPLE = T / file does conform to FITS standard
-BITPIX = 16 / number of bits per data pixel
-NAXIS = 2 / number of data axes
-NAXIS1 = 1787 / length of data axis 1
-NAXIS2 = 447 / length of data axis 2
-EXTEND = T / FITS dataset may contain extensions
-COMMENT FITS (Flexible Image Transport System) format defined in Astronomy and
-COMMENT Astrophysics Supplement Series v44/p363, v44/p371, v73/p359, v73/p365.
-COMMENT Contact the NASA Science Office of Standards and Technology for the
-COMMENT FITS Definition document #100 and other FITS information.
-PLATENUM= '3665 ' / Plate number
-EMULSION= 'IIIaJ ' / Kodak emulsion type
-FILTER = 'GG395 ' / Schott glass filter type
-PLTSCALE= '67.14 ' / [arcsec/mm] plate scale
-FIELDNUM= '1 ' / Sky survey field number
-EPOCH = 1.977780E+03 / Epoch of observation
-DATE-OBS= '1977-10-11' / [yyyy-mm-dd] UT date of observation
-TELESCOP= 'UKST ' / Telescope on which the plate was taken
-TELETYPE= 'SCHM ' / Type of telescope
-SITELAT = -5.458410576565E-01 / [radians] latitude of telescope
-SITELONG= 2.601766194458E+00 / [radians] longitude of telescope
-LST = '00:20 ' / [hh:mm] local sidereal time at start of obs
-MJD-OBS = 4.342657300880E+04 / Modified Julian Date of observation
-INSTRUME= 'SuperCOSMOS I' / Measuring machine
-DATE-MES= '2000-11-04' / [yyyy-mm-dd] Date of this plate measurement
-RADECSYS= 'FK5 ' / Reference frame for RA/DEC in original file
-NHKLINES= 146 / Number of lines from house-keeping file
-HKLIN001= 'JOB.JOBNO UKJ001' /
-HKLIN002= 'JOB.DATE-MES 2000:11:04' /
-HKLIN003= 'JOB.TIME 12:51:09' /
-HKLIN004= 'JOB.INSTRUME SuperCOSMOS I' /
-HKLIN005= 'JOB.ORIGIN Royal Observatory Edinburgh' /
-HKLIN006= 'JOB.SOFTWARE /home/scosdev/v033' /
-HKLIN007= 'JOB.OPERATOR ebt' /
-HKLIN008= 'JOB.USER htm' /
-HKLIN009= 'JOB.USERREF NONE' /
-HKLIN010= 'JOB.UORIGIN ROE' /
-HKLIN011= 'JOB.UCOUNTRY uk' /
-HKLIN012= 'JOB.COMMENT Digital catalogue of the Sky' /
-HKLIN013= 'JOB.IAM_FILE iam.srt' /
-HKLIN014= 'PLATE.TELESCOP UKST' /
-HKLIN015= 'PLATE.TELTYPE SCHM' /
-HKLIN016= 'PLATE.PLATE 3665' /
-HKLIN017= 'PLATE.MATERIAL 3mm glass' /
-HKLIN018= 'PLATE.EMULSION IIIaJ' /
-HKLIN019= 'PLATE.FILTER GG395' /
-HKLIN020= 'PLATE.PSCALE 67.14' /
-HKLIN021= 'PLATE.FIELD 1' /
-HKLIN022= 'PLATE.RA_PNT 0' /
-HKLIN023= 'PLATE.DEC_PNT -90' /
-HKLIN024= 'PLATE.RADECSYS FK4' /
-HKLIN025= 'PLATE.EQUINOX 1950' /
-HKLIN026= 'PLATE.TIMESYS BESSELIAN' /
-HKLIN027= 'PLATE.EPOCH 1977.78' /
-HKLIN028= 'PLATE.EXPOSURE 75' /
-HKLIN029= 'PLATE.UTDATE 771011' /
-HKLIN030= 'PLATE.LST 0020' /
-HKLIN031= 'PLATE.MJD 43426.573008796' /
-HKLIN032= 'PLATE.TELLAT -0.54584105765654' /
-HKLIN033= 'PLATE.TELLONG 2.6017661944583' /
-HKLIN034= 'PLATE.TELHT 1145' /
-HKLIN035= 'PLATE.TEMP 273.155' /
-HKLIN036= 'PLATE.ATMOSP 1013.25' /
-HKLIN037= 'PLATE.HUMID 0.5' /
-HKLIN038= 'PLATE.WAVE 4500' /
-HKLIN039= 'PLATE.TROPL 0.0065' /
-HKLIN040= 'CALIBRATION.CALTYPE SPLINE' /
-HKLIN041= 'CALIBRATION.STEPWEDG KPNO' /
-HKLIN042= 'CALIBRATION.NSTEPS 8' /
-HKLIN043= 'MEASUREMENT.ORIENTAT news' /
-HKLIN044= 'MEASUREMENT.EMULPOS UP' /
-HKLIN045= 'MEASUREMENT.SCANFILT 14' /
-HKLIN046= 'MEASUREMENT.SOSP 552' /
-HKLIN047= 'MEASUREMENT.STEPSIZE 10' /
-HKLIN048= 'MEASUREMENT.SCANLEN 1152' /
-HKLIN049= 'MEASUREMENT.A-XMIN 1622000' /
-HKLIN050= 'MEASUREMENT.A-YMIN 1622000' /
-HKLIN051= 'MEASUREMENT.A-XMAX 33878000' /
-HKLIN052= 'MEASUREMENT.A-YMAX 33878000' /
-HKLIN053= 'MEASUREMENT.X_PNT 17500000' /
-HKLIN054= 'MEASUREMENT.Y_PNT 18000000' /
-HKLIN055= 'ANALYSIS.NPARAMS 32' /
-HKLIN056= 'ANALYSIS.AREACUT 8' /
-HKLIN057= 'ANALYSIS.AP-PARAM 1.07' /
-HKLIN058= 'DEBLEND.DB-PARAM 1.05' /
-HKLIN059= 'DEBLEND.DB-AMIN 16' /
-HKLIN060= 'DEBLEND.DB-AMAX 100000' /
-HKLIN061= 'DEBLEND.DB-ACUT 8' /
-HKLIN062= 'DEBLEND.DB-LEVEL 16' /
-HKLIN063= 'DEBLEND.SELECT PARENT+CHILD' /
-HKLIN064= 'SKY.SKYSQUAR 64' /
-HKLIN065= 'SKY.SKYDEFN MEDIAN' /
-HKLIN066= 'SKY.SKYFILTR bdkjunk' /
-HKLIN067= 'SKY.F-THRESH 8' /
-HKLIN068= 'SKY.F-SCLEN 4' /
-HKLIN069= 'THRESHOLDING.PCUT 10' /
-HKLIN070= 'IAMQC.AREAMIN 8' /
-HKLIN071= 'IAMQC.AREAMAX 77346' /
-HKLIN072= 'IAMQC.MINMAG -30515' /
-HKLIN073= 'IAMQC.MAXMAG -17954' /
-HKLIN074= 'IAMQC.MINELL 0.0004156232' /
-HKLIN075= 'IAMQC.MAXELL 1' /
-HKLIN076= 'IAMQC.MODELL 0.14' /
-HKLIN077= 'IAMQC.MODOR 91' /
-HKLIN078= 'IAMQC.MIDELL 0.21' /
-HKLIN079= 'IAMQC.MIDOR 93' /
-HKLIN080= 'IAMQC.MEANELL 0.2467037' /
-HKLIN081= 'IAMQC.MEANOR 91.63474' /
-HKLIN082= 'IAMQC.NUMOBJ 556985' /
-HKLIN083= 'IAMQC.PARENTS 486656' /
-HKLIN084= 'IAMQC.RANGING TRUE' /
-HKLIN085= 'IAMQC.LANE_1 15571' /
-HKLIN086= 'IAMQC.LANE_2 33207' /
-HKLIN087= 'IAMQC.LANE_3 51478' /
-HKLIN088= 'IAMQC.LANE_4 69944' /
-HKLIN089= 'IAMQC.LANE_5 89236' /
-HKLIN090= 'IAMQC.LANE_6 108416' /
-HKLIN091= 'IAMQC.LANE_7 127481' /
-HKLIN092= 'IAMQC.LANE_8 146699' /
-HKLIN093= 'IAMQC.LANE_9 166380' /
-HKLIN094= 'IAMQC.LANE_10 186126' /
-HKLIN095= 'IAMQC.LANE_11 205946' /
-HKLIN096= 'IAMQC.LANE_12 225915' /
-HKLIN097= 'IAMQC.LANE_13 245926' /
-HKLIN098= 'IAMQC.LANE_14 266574' /
-HKLIN099= 'IAMQC.LANE_15 287150' /
-HKLIN100= 'IAMQC.LANE_16 308087' /
-HKLIN101= 'IAMQC.LANE_17 328830' /
-HKLIN102= 'IAMQC.LANE_18 350253' /
-HKLIN103= 'IAMQC.LANE_19 370738' /
-HKLIN104= 'IAMQC.LANE_20 391722' /
-HKLIN105= 'IAMQC.LANE_21 412801' /
-HKLIN106= 'IAMQC.LANE_22 433795' /
-HKLIN107= 'IAMQC.LANE_23 454383' /
-HKLIN108= 'IAMQC.LANE_24 474711' /
-HKLIN109= 'IAMQC.LANE_25 495108' /
-HKLIN110= 'IAMQC.LANE_26 515755' /
-HKLIN111= 'IAMQC.LANE_27 536499' /
-HKLIN112= 'IAMQC.LANE_28 556985' /
-HKLIN113= 'XYTORADEC.STARCAT /sdata/scos/refcats/tycho2.FIT' /
-HKLIN114= 'XYTORADEC.BRIGHTLIM 9' /
-HKLIN115= 'XYTORADEC.C-EQUIN 2000' /
-HKLIN116= 'XYTORADEC.C-EQTSYS JULIAN' /
-HKLIN117= 'XYTORADEC.C-EPOCH 2000' /
-HKLIN118= 'XYTORADEC.C-EPTSYS JULIAN' /
-HKLIN119= 'XYTORADEC.R-EQUIN 2000' /
-HKLIN120= 'XYTORADEC.R-TSYS JULIAN' /
-HKLIN121= 'XYTORADEC.MAXITER 5000' /
-HKLIN122= 'XYTORADEC.RCRITINI 500000' /
-HKLIN123= 'XYTORADEC.RCRITABS 50000' /
-HKLIN124= 'XYTORADEC.RCRITREL 1' /
-HKLIN125= 'XYTORADEC.RCRITFIN 3' /
-HKLIN126= 'XYTORADEC.HARDCOPY /scos1/scos/UKJ001/UKJ001.ps' /
-HKLIN127= 'XYTORADEC.REFSMULT 5' /
-HKLIN128= 'XYTORADEC.RESDMULT 1000' /
-HKLIN129= 'XYTORADEC.RACOL RA' /
-HKLIN130= 'XYTORADEC.DECOL DEC' /
-HKLIN131= 'XYTORADEC.RAPMCOL PMRA' /
-HKLIN132= 'XYTORADEC.DECPMCOL PMDE' /
-HKLIN133= 'XYTORADEC.PLXCOL NONE' /
-HKLIN134= 'XYTORADEC.RVCOL NONE' /
-HKLIN135= 'XYTORADEC.MAGCOL VT' /
-HKLIN136= 'XYTORADEC.STARSC 2374' /
-HKLIN137= 'XYTORADEC.STARSU 1727' /
-HKLIN138= 'XYTORADEC.COEFFS_1 17.640343856524' /
-HKLIN139= 'XYTORADEC.COEFFS_2 -260.44151995641' /
-HKLIN140= 'XYTORADEC.COEFFS_3 -163.09155572601' /
-HKLIN141= 'XYTORADEC.COEFFS_4 17.504230442205' /
-HKLIN142= 'XYTORADEC.COEFFS_5 -163.08676953832' /
-HKLIN143= 'XYTORADEC.COEFFS_6 260.48817907668' /
-HKLIN144= 'XYTORADEC.DISTR -0.33333333333333' /
-HKLIN145= 'XYTORADEC.RA_PNT 0.54924996662137' /
-HKLIN146= 'XYTORADEC.DEC_PNT -1.5684931501781' /
-HISTORY = 'SuperCOSMOS image analysis and mapping mode (IAM and MM)' /
-HISTORY = 'data written by xydcomp_ss.' /
-HISTORY = 'Any questions/comments/suggestions/bug reports should be sent' /
-HISTORY = 'to N.Hambly@roe.ac.uk' /
-ASTSIGX = 3.700000E-01 / [arcsec] std. dev. of astrometric fit in X
-ASTSIGY = 3.800000E-01 / [arcsec] std. dev. of astrometric fit in Y
-CRVAL1 = 0.000000000000E+00 / Axis 1 reference value
-CRPIX1 = 8.936318379289E+02 / Axis 1 pixel value
-CTYPE1 = 'RA---TAN' / Quantity represented by axis 1
-CRVAL2 = -9.000000018364E+01 / Axis 2 reference value
-CRPIX2 = 2.238380193875E+02 / Axis 2 pixel value
-CTYPE2 = 'DEC--TAN' / Quantity represented by axis 2
-CD1_1 = -1.864642639667E-04 / Co-ordinate transformation matrix
-CD1_2 = -9.188369023766E-07 / Co-ordinate transformation matrix
-CD2_1 = -1.038232462415E-06 / Co-ordinate transformation matrix
-CD2_2 = 1.866269837741E-04 / Co-ordinate transformation matrix
-PC001001= 9.999878591881E-01 / DEPRECATED - Axis rotation matrix
-PC001002= 4.927623810613E-03 / DEPRECATED - Axis rotation matrix
-PC002001= -5.563056187788E-03 / DEPRECATED - Axis rotation matrix
-PC002002= 9.999845260832E-01 / DEPRECATED - Axis rotation matrix
-CROTA2 = 3.005532298491E-01 / DEPRECATED - rotation of axis 2
-EQUINOX = 2.000000E+03 / Julian reference frame equinox
-DATATYPE= 'INTEGER*2' / Type of data
-DATUNITS= 'DENSITY ' / Units: transmission, density or intensity
-XPIXELSZ= 9.997114974000E+00 / [microns] X pixel size
-YPIXELSZ= 1.000000000000E+01 / [microns] Y pixel size
-OBJCTRA = ' 0 0 0.000' / Centre Right Ascension (J2000)
-OBJCTDEC= '-90 0 0.00' / Centre Declination (J2000)
-OBJCTX = 1.636863183793E+04 / [pixels] Centre X on plate
-OBJCTY = 1.474083801939E+04 / [pixels] Centre Y on plate
-END
diff --git a/ast/ast_tester/serpens.attr b/ast/ast_tester/serpens.attr
deleted file mode 100644
index 496403c..0000000
--- a/ast/ast_tester/serpens.attr
+++ /dev/null
@@ -1 +0,0 @@
-border=1
diff --git a/ast/ast_tester/serpens.box b/ast/ast_tester/serpens.box
deleted file mode 100644
index f9576e8..0000000
--- a/ast/ast_tester/serpens.box
+++ /dev/null
@@ -1 +0,0 @@
-0.5 0.5 150.5 120.5
diff --git a/ast/ast_tester/serpens.head b/ast/ast_tester/serpens.head
deleted file mode 100644
index 0775604..0000000
--- a/ast/ast_tester/serpens.head
+++ /dev/null
@@ -1,160 +0,0 @@
-NAXIS1 = 150 / length of data axis 1
-NAXIS2 = 120 / length of data axis 2
-DATE-OBS= '2007-04-30T15:13:53.717'/ Date of observation
-CRPIX1 = 75.910204 / Reference pixel on axis 1
-CRPIX2 = 60.359184 / Reference pixel on axis 2
-CRVAL1 = 1.220833333 / Value at ref. pixel on axis 1
-CRVAL2 = 277.5004167 / Value at ref. pixel on axis 2
-CTYPE1 = 'DEC--TAN' / Type of co-ordinate on axis 1
-CTYPE2 = 'RA---TAN' / Type of co-ordinate on axis 2
-CD1_1 = -0.001831773954 / Transformation matrix element
-CD1_2 = -8.541702226E-4 / Transformation matrix element
-CD2_1 = 0.0008541702226 / Transformation matrix element
-CD2_2 = -0.001831773954 / Transformation matrix element
-RADECSYS= 'FK5 ' / Reference frame for RA/DEC values
-EQUINOX = 2000.0 / Epoch of reference equinox
-DUT1 = -1.145603703E-6 / [d] UT1-UTC correction
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-EXP_TIME= 41.97277069 / [s] Median MAKECUBE exposure time
-EFF_TIME= 11.13561535 / [s] Median MAKECUBE effective integration time
-PROVCNT = 1 / Number of unique OBSIDs
-OBS00001= 'acsis_98_20070430T151247'/ OBSID from component observation
-
-
-HISTORY History structure created 2007 Apr 30 05:52:50.656
-HISTORY Update mode: NORMAL Current record: 8
-
-HISTORY 1: 2007 Apr 30 05:52:53.959 - MAKECUBE (SMURF V0.2.2)
-HISTORY User: operator Host: kolea Width: 72
-HISTORY Dataset: /jcmtdata/reduced/acsis/20070430/a20070430_00098_01_cube
-HISTORY Parameters: AUTOGRID=TRUE CROTA=115 DETECTORS=!
-HISTORY FBL=[4.8435931408225,0.024206080047514]
-HISTORY FBR=[4.8456657339925,0.019762137343435]
-HISTORY FLBND=[4.8407875332009,0.018441755319268,-426.75185625342]
-HISTORY FUBND=[4.8456891772589,0.024229519070352,440.3284772626]
-HISTORY FTL=[4.8408109789176,0.022909013956528]
-HISTORY FTR=[4.8428837776034,0.018465194476559] GENVAR='tsys'
-HISTORY IN=@^/jcmtdata/reduced/acsis/20070430/oractemppV8I2A.lis
-HISTORY INWEIGHT=TRUE LBOUND=[-70,-41,-1024] OUT=@a20070430_00098_01_cube
-HISTORY OUTCAT=! PIXSIZE=7.2761 MSG_FILTER='NORM' REFLAT='1:13:15'
-HISTORY REFLON='18:30:00.1' SPARSE=FALSE SPECBOUNDS='-426.5402 440.1168'
-HISTORY TRIM=TRUE WEIGHTS=FALSE SPREAD='nearest' SYSTEM='TRACKING'
-HISTORY UBOUND=[69,46,1023] USEDETPOS=TRUE
-HISTORY Software: /star/bin/smurf/smurf_mon
-
-HISTORY 2: 2007 Apr 30 05:52:59.952 - NDFCOPY (KAPPA 1.7-2)
-HISTORY User: operator Host: kolea Width: 72
-HISTORY Dataset: /jcmtdata/reduced/acsis/20070430/a20070430_00098_01_em
-HISTORY Parameters: IN=@a20070430_00098_01_cube(,,-820:819) LIKE=!
-HISTORY OUT=@a20070430_00098_01_em TITLE=! TRIM=FALSE
-HISTORY Software: /star/bin/kappa/ndfpack_mon
-
-HISTORY 3: 2007 Apr 30 05:53:04.009 - MFITTREND (KAPPA 1.7-2)
-HISTORY User: operator Host: kolea Width: 72
-HISTORY Dataset: /jcmtdata/reduced/acsis/20070430/a20070430_00098_01_bl
-HISTORY Parameters: ARANGES=[-820,-56,47,819] AUTO=TRUE AXIS=@3 CLIP=[2,2,2.5,3]
-HISTORY IN=@a20070430_00098_01_em MODIFYIN=FALSE ORDER=0
-HISTORY OUT=@a20070430_00098_01_bl RMSCLIP=! SECTION='-70:69,-41:46,'
-HISTORY SUBTRACT=TRUE TITLE=! VARIANCE=TRUE
-HISTORY Software: /star/bin/kappa/kappa_mon
-
-HISTORY 4: 2007 Apr 30 05:53:17.048 - NDFCOPY (KAPPA 1.7-2)
-HISTORY User: operator Host: kolea Width: 72
-HISTORY Dataset: /jcmtdata/reduced/acsis/20070430/ga20070430_98
-HISTORY Parameters: IN=@a20070430_00098_01_bl LIKE=! OUT=@ga20070430_98
-HISTORY TITLE='ga20070430_98' TRIM=FALSE
-HISTORY Software: /star/bin/kappa/ndfpack_mon
-
-HISTORY 5: 2007 Apr 30 06:40:02.994 - WCSMOSAIC (KAPPA 1.7-2)
-HISTORY User: operator Host: kolea Width: 72
-HISTORY Dataset: /jcmtdata/reduced/acsis/20070430/oractemppLv7wv
-HISTORY Parameters: ACC=0.05 GENVAR=FALSE ILEVEL=2
-HISTORY IN=@^/jcmtdata/reduced/acsis/20070430/oractempyopUhZ.lis LBND=!
-HISTORY LBOUND=[-70,-43,-820] MAXPIX=1000 METHOD='nearest'
-HISTORY OUT=@/jcmtdata/reduced/acsis/20070430/oractemppLv7wv REF=! UBND=!
-HISTORY UBOUND=[69,46,819] VARIANCE=TRUE WLIM=1E-10
-HISTORY Software: /star/bin/kappa/kappa_mon
-
-HISTORY 6: 2007 Apr 30 06:40:05.801 - NDFCOPY (KAPPA 1.7-2)
-HISTORY User: operator Host: kolea Width: 72
-HISTORY Dataset: /jcmtdata/reduced/acsis/20070430/ga20070430_98
-HISTORY Parameters: IN=@/jcmtdata/reduced/acsis/20070430/oractemppLv7wv LIKE=!
-HISTORY OUT=@ga20070430_98 TITLE=! TRIM=FALSE
-HISTORY Software: /star/bin/kappa/ndfpack_mon
-
-HISTORY 7: 2007 May 10 10:42:40.627 - WCSMOSAIC (KAPPA 1.7-3)
-HISTORY User: jbuckle Host: scubadev Width: 72
-HISTORY Dataset: /home/jbuckle/data/serpens_cube
-HISTORY Parameters: ACC=0.05 GENVAR=FALSE ILEVEL=2
-HISTORY IN=@ga20070430_98,ga20070502_63_1 LBND=! LBOUND=[-77,-52,-820]
-HISTORY MAXPIX=1000 METHOD='nearest' OUT=@serpens_cube REF=!
-HISTORY UBOUND=[77,54,819] VARIANCE=TRUE WLIM=1E-10
-HISTORY Software: /star/bin/kappa/wcsmosaic
-
-HISTORY 8: 2007 May 17 12:04:41.724 - NDFCOPY (KAPPA 1.7-2)
-HISTORY User: dsb Host: localhost.localdomain Width: 72
-HISTORY Dataset: /stardev/jaccvs/jcmt/scuba2/soft/smurf/makecube/jane
-HISTORY Parameters: IN=@serpens_cube(~150,~120,0) LIKE=! OUT=@jane TITLE=!
-HISTORY TRIM=TRUE TRIMWCS=TRUE USEAXIS=!
-HISTORY Software: /stardev/cvs/star/bin/kappa/ndfcopy
-END
-XTENSION= 'IMAGE ' / IMAGE extension
-BITPIX = -32 / number of bits per data pixel
-NAXIS = 2 / number of data axes
-NAXIS1 = 150 / length of data axis 1
-NAXIS2 = 120 / length of data axis 2
-PCOUNT = 0 / required keyword; must = 0
-GCOUNT = 1 / required keyword; must = 1
-LBOUND1 = -74 / Pixel origin along axis 1
-LBOUND2 = -58 / Pixel origin along axis 2
-OBJECT = 'ga20070430_98' / Title of the dataset
-LABEL = 'T%s60+%v30+A%^50+%<20+*%+ corrected antenna ...'/ Label of the pri
-BUNIT = 'K ' / Units of the primary array
-DATE = '2007-05-17T11:05:09'/ file creation date (YYYY-MM-DDThh:mm:ss UT)
-ORIGIN = 'Starlink Project, U.K.'/ Origin of this FITS file
-BSCALE = 1.0 / True_value = BSCALE * FITS_value + BZERO
-BZERO = 0.0 / True_value = BSCALE * FITS_value + BZERO
-HDUCLAS1= 'NDF ' / Starlink NDF (hierarchical n-dim format)
-HDUCLAS2= 'VARIANCE' / Array component subclass
-EXTNAME = 'VARIANCE' / Array component
-HDSTYPE = 'NDF ' / HDS data type of the component
-
-CRPIX1 = 75.910204 / Reference pixel on axis 1
-CRPIX2 = 60.359184 / Reference pixel on axis 2
-CRVAL1 = 1.220833333 / Value at ref. pixel on axis 1
-CRVAL2 = 277.5004167 / Value at ref. pixel on axis 2
-CTYPE1 = 'DEC--TAN' / Type of co-ordinate on axis 1
-CTYPE2 = 'RA---TAN' / Type of co-ordinate on axis 2
-CD1_1 = -0.001831773954 / Transformation matrix element
-CD1_2 = -8.541702226E-4 / Transformation matrix element
-CD2_1 = 0.0008541702226 / Transformation matrix element
-CD2_2 = -0.001831773954 / Transformation matrix element
-RADECSYS= 'FK5 ' / Reference frame for RA/DEC values
-EQUINOX = 2000.0 / Epoch of reference equinox
-DATE-OBS= '2007-04-30T15:13:53.717'/ Date of observation
-END
diff --git a/ast/ast_tester/simplify.f b/ast/ast_tester/simplify.f
deleted file mode 100644
index 063ebd1..0000000
--- a/ast/ast_tester/simplify.f
+++ /dev/null
@@ -1,123 +0,0 @@
- PROGRAM SIMPLIFY
-
-* Usage:
-* simplify <in file> <out file>
-
-* Description:
-* Reads a Mapping from "in file" (as an AST dump), and writes out the
-* simplified Mapping to "out file".
-
-* Parameters:
-* in file
-* A text file containing an AST dump of a Mapping.
-* out file
-* The output file. Contains an AST dump of the simplified Mapping
-* on exit.
-
-
- IMPLICIT NONE
- INCLUDE 'AST_PAR'
- EXTERNAL SOURCE, SINK
-
- INTEGER STATUS, OBJECT, IARGC, CHAN, CHR_LEN, OC, SMAP
- CHARACTER FILE*80, OFILE*80, LINE*255
-
- STATUS = 0
-*
-* Check command line arguments have been supplied.
-*
- IF( IARGC() .LT. 2 ) THEN
- WRITE(*,*) 'Usage: simplify <in file> <out file>'
- RETURN
- END IF
-
-*
-* Open the name of the input text file.
-*
- CALL GETARG( 1, FILE )
-
-* Attempt to read an object from the text file as an AST dump.
- OPEN( UNIT=10, FILE=FILE, STATUS='OLD' )
- CHAN = AST_CHANNEL( SOURCE, AST_NULL, ' ', STATUS )
- OBJECT = AST_READ( CHAN, STATUS )
- CALL AST_ANNUL( CHAN, STATUS )
- CLOSE( 10 )
-
-*
-* Abort if no object was read.
-*
- IF( OBJECT .EQ. AST__NULL ) THEN
- WRITE(*,*) 'simplify: no Mapping could be read from ',
- : file( : chr_len( file ) )
- RETURN
-
-*
-* Otherwise write out the simplified Mapping
-*
- ELSE
- CALL GETARG( 2, OFILE )
- CALL DELETEFILE( OFILE )
-
- SMAP = AST_SIMPLIFY( OBJECT, STATUS )
-
- OPEN( UNIT=10, FILE=OFILE, STATUS='NEW' )
- CHAN = AST_CHANNEL( AST_NULL, SINK, ' ', STATUS )
- IF( AST_WRITE( CHAN, SMAP, STATUS ) .NE. 1 ) THEN
- WRITE(*,*) 'simplify: Simplified Mapping read from ',
- : file( : chr_len( file ) ),' could not be '//
- : 'written out.'
- END IF
- CALL AST_ANNUL( CHAN, STATUS )
- CALL AST_ANNUL( SMAP, STATUS )
- CLOSE( 10 )
- END IF
-
-
- END
-
-
-*
-* Delete a file if it exists.
-*
- SUBROUTINE DELETEFILE( FILNAM )
- IMPLICIT NONE
-
- CHARACTER FILNAM*(*)
- LOGICAL EXISTS
-
- INQUIRE ( FILE = FILNAM,
- : EXIST = EXISTS )
-
- IF( EXISTS ) THEN
- OPEN ( UNIT=10, FILE=FILNAM, STATUS='OLD' )
- CLOSE ( 10, STATUS='DELETE' )
- END IF
-
- END
-
-
-*
-* SOURCE FUNCTION FOR AST_CHANNEL.
-*
- SUBROUTINE SOURCE( STATUS )
- IMPLICIT NONE
- INTEGER STATUS
- CHARACTER BUFFER*200
- READ( 10, '(A)', END=99 ) BUFFER
- CALL AST_PUTLINE( BUFFER, LEN( BUFFER ), STATUS )
- RETURN
- 99 CALL AST_PUTLINE( BUFFER, -1, STATUS )
- END
-
-*
-* SINK FUNCTION FOR AST_CHANNEL.
-*
- SUBROUTINE SINK( STATUS )
- IMPLICIT NONE
- INTEGER STATUS, L
- CHARACTER BUFFER*200
-
- CALL AST_GETLINE( BUFFER, L, STATUS )
- IF( L .GT. 0 ) WRITE( 10, '(A)' ) BUFFER( : L )
-
- END
diff --git a/ast/ast_tester/sip.fits-wcs b/ast/ast_tester/sip.fits-wcs
deleted file mode 100644
index 92d29ed..0000000
--- a/ast/ast_tester/sip.fits-wcs
+++ /dev/null
@@ -1,289 +0,0 @@
-SIMPLE = T / Fits standard
-BITPIX = -32 / FOUR-BYTE SINGLE PRECISION FLOATING POINT
-NAXIS = 2 / STANDARD FITS FORMAT
-NAXIS1 = 256 / STANDARD FITS FORMAT
-NAXIS2 = 256 / STANDARD FITS FORMAT
-ORIGIN = 'Spitzer Science Center' / Organization generating this FITS file
-CREATOR = 'S16.1.0 ' / SW version used to create this FITS file
-TELESCOP= 'Spitzer ' / SPITZER Space Telescope
-INSTRUME= 'IRAC ' / SPITZER Space Telescope instrument ID
-CHNLNUM = 1 / 1 digit instrument channel number
-EXPTYPE = 'sci ' / Exposure Type
-REQTYPE = 'AOR ' / Request type (AOR, IER, or SER)
-AOT_TYPE= 'IracMap ' / Observation template type
-AORLABEL= '05cs-IRAC-2' / AOR Label
-FOVID = 67 / Field of View ID
-FOVNAME = 'IRAC_Center_of_3.6&5.8umArray' / Field of View Name
-
- / PROPOSAL INFORMATION
-
-OBSRVR = 'Ben Sugerman' / Observer Name (Last, First)
-OBSRVRID= 14621 / Observer ID of Principal Investigator
-PROCYCL = 6 / Proposal Cycle
-PROGID = 30494 / Program ID
-PROTITLE= 'Supernovae and the Origin of Dust in Galaxies: Follow-Up Observation'
-PROGCAT = 30 / Program Category
-
- / TIME AND EXPOSURE INFORMATION
-
-DATE_OBS= '2007-06-29T03:15:33.555' / Date & time at DCE start
-MJD_OBS = 54280.136 / [days] MJD at DCE start (,JD-2400000.5)
-UTCS_OBS= 2.3635893E+8 / [sec] J2000 ephem. time at DCE start
-SCLK_OBS= 8.675543E+8 / [sec] SCLK time (since 1/1/1980) at DCE start
-SAMPTIME= 0.2 / [sec] Sample integration time
-FRAMTIME= 12.0 / [sec] Time spent integrating (whole array)
-COMMENT Photons in Well = Flux[photons/sec/pixel] * FRAMTIME
-EXPTIME = 10.4 / [sec] Effective integration time per pixel
-COMMENT DN per pixel = Flux[photons/sec/pixel] / GAIN * EXPTIME
-INTRFDLY= 8.0 / [sec] Inter Frame Delay Time
-AINTBEG = 107646.2 / [Secs since IRAC turn-on] Time of integ. start
-ATIMEEND= 107658.16 / [Secs since IRAC turn-on] Time of integ. end
-AFOWLNUM= 8 / Fowler number
-AWAITPER= 44 / [0.2 sec] Wait period
-ANUMREPS= 1 / Number of repeat integrations
-AREADMOD= 0 / Full (0) or subarray (1)
-HDRMODE = F / DCE taken in High Dynamic Range mode
-ABARREL = 3 / Barrel shift
-APEDSIG = 0 / 0=Normal, 1=Pedestal, 2=Signal
-
- / TARGET AND POINTING INFORMATION
-
-OBJECT = 'SN 2005cs' / Target Name
-OBJTYPE = 'TargetFixedSingle' / Object Type
-CRVAL1 = 202.48232 / [deg] RA at CRPIX1,CRPIX2 (using Pointing Recon
-CRVAL2 = 47.175119 / [deg] DEC at CRPIX1,CRPIX2 (using Pointing Reco
-RA_HMS = '13h29m55.8s' / [hh:mm:ss.s] CRVAL1 as sexagesimal
-DEC_DMS = '+47d10m30s' / [dd:mm:ss] CRVAL2 as sexagesimal
-RADESYS = 'ICRS ' / International Celestial Reference System
-CD1_1 = 0.00024975688 / Corrected CD matrix element with Pointing Recon
-CD1_2 = 0.00023017781 / Corrected CD matrix element with Pointing Recon
-CD2_1 = 0.00023042852 / Corrected CD matrix element with Pointing Recon
-CD2_2 = -2.4996577E-4 / Corrected CD matrix element with Pointing Reco
-CTYPE1 = 'RA---TAN-SIP' / RA---TAN with distortion in pixel space
-CTYPE2 = 'DEC--TAN-SIP' / DEC--TAN with distortion in pixel space
-CRPIX1 = 128.0 / Reference pixel along axis 1
-CRPIX2 = 128.0 / Reference pixel along axis 2
-MJD-OBS = 51544.499 / Modified Julian Date of observation
-DATE-OBS= '2000-01-01T11:58:55.816' / Date of observation
-PXSCAL1 = -1.2233412 / [arcsec/pix] Scale for axis 1 at CRPIX1,CRPIX2
-PXSCAL2 = 1.2232836 / [arcsec/pix] Scale for axis 2 at CRPIX1,CRPIX2
-CRDER1 = 4.0250976E-5 / [deg] Uncertainty in CRVAL1
-CRDER2 = 3.4274613E-5 / [deg] Uncertainty in CRVAL2
-UNCRTPA = 0.00037878784 / [deg] Uncertainty in position angle
-CSDRADEC= 4.7597178E-7 / [deg] Costandard deviation in RA and Dec
-SIGRA = 0.033948714 / [arcsec] RMS dispersion of RA over DCE
-SIGDEC = 0.063768266 / [arcsec] RMS dispersion of DEC over DCE
-SIGPA = 1.3646427 / [arcsec] RMS dispersion of PA over DCE
-PA = 137.35998 / [deg] Position angle of axis 2 (E of N) (was OR
-RA_RQST = 202.48212 / [deg] Requested RA at CRPIX1, CRPIX2
-DEC_RQST= 47.175079 / [deg] Requested Dec at CRPIX1, CRPIX2
-PM_RA = 0.0 / [arcsec/yr] Proper Motion in RA (J2000)
-PM_DEC = 0.0 / [arcsec/yr] Proper Motion in Dec (J200)
-RMS_JIT = 0.007683034 / [arcsec] RMS jitter during DCE
-RMS_JITY= 0.0051507034 / [arcsec] RMS jitter during DCE along Y
-RMS_JITZ= 0.0057008128 / [arcsec] RMS jitter during DCE along Z
-SIG_JTYZ= 0.0023780641 / [arcsec] Costadard deviation of jitter in YZ
-PTGDIFF = 0.52510652 / [arcsec] Offset btwn actual and rqsted pntng
-PTGDIFFX= 0.46966798 / [pixels] rqsted - actual pntng along axis 1
-PTGDIFFY= -0.2352852 / [pixels] rqsted - actual pntng along axis 2
-RA_REF = 202.47237 / [deg] Commanded RA (J2000) of ref. position
-DEC_REF = 47.1745 / [deg] Commanded Dec (J2000) of ref. position
-USEDBPHF= T / T if Boresight Pointing History File was used
-BPHFNAME= 'SBPHF.0867542400.031.pntg' / Boresight Pointing History Filename
-FOVVERSN= 'BodyFrames_FTU_14a.xls' / FOV/BodyFrames file version used
-RECONFOV= 'IRAC_Center_of_3.6umArray' / Reconstructed Field of View
-RARFND = 202.48232 / [deg] Refined RA
-DECRFND = 47.175121 / [deg] Refined DEC
-CT2RFND = 137.35905 / [deg] Refined CROT2
-ERARFND = 2.332304E-6 / [deg] Error in RARFND value
-EDECRFND= 2.332411E-6 / [deg] Error in DECRFND value
-ECT2RFND= 0.00054069905 / [deg] Error in CT2RFND value
-NASTROM = 12 / Astrometric sources for absolute refinement
-ORIG_RA = 202.48206 / [deg] Original RA from raw BPHF (without pointi
-ORIG_DEC= 47.175072 / [deg] Original Dec from raw BPHF (without point
-ORIGCD11= 0.00024975633 / [deg/pix] Original CD1_1 element (without point
-ORIGCD12= 0.00023017843 / [deg/pix] Original CD1_2 element (without point
-ORIGCD21= 0.00023042914 / [deg/pix] Original CD2_1 element (without point
-ORIGCD22= -2.499652E-4 / [deg/pix] Original CD2_2 element (without point
-
-
-
- / DISTORTION KEYWORDS
-
-A_ORDER = 3 / polynomial order, axis 1, detector to sky
-A_0_2 = 2.9656E-6 / distortion coefficient
-A_0_3 = 3.7746E-9 / distortion coefficient
-A_1_1 = 2.1886E-5 / distortion coefficient
-A_1_2 = -1.6847E-7 / distortion coefficient
-A_2_0 = -2.3863E-5 / distortion coefficient
-A_2_1 = -8.561E-9 / distortion coefficient
-A_3_0 = -1.4172E-7 / distortion coefficient
-A_DMAX = 1.394 / [pixel] maximum correction
-B_ORDER = 3 / polynomial order, axis 2, detector to sky
-B_0_2 = 2.31E-5 / distortion coefficient
-B_0_3 = -1.6168E-7 / distortion coefficient
-B_1_1 = -2.4386E-5 / distortion coefficient
-B_1_2 = -5.7813E-9 / distortion coefficient
-B_2_0 = 2.1197E-6 / distortion coefficient
-B_2_1 = -1.6583E-7 / distortion coefficient
-B_3_0 = -2.0249E-8 / distortion coefficient
-B_DMAX = 1.501 / [pixel] maximum correction
-AP_ORDER= 3 / polynomial order, axis 1, sky to detector
-AP_0_1 = -6.4275E-7 / distortion coefficient
-AP_0_2 = -2.9425E-6 / distortion coefficient
-AP_0_3 = -3.582E-9 / distortion coefficient
-AP_1_0 = -1.4897E-5 / distortion coefficient
-AP_1_1 = -2.225E-5 / distortion coefficient
-AP_1_2 = 1.7195E-7 / distortion coefficient
-AP_2_0 = 2.4146E-5 / distortion coefficient
-AP_2_1 = 6.709E-9 / distortion coefficient
-AP_3_0 = 1.4492E-7 / distortion coefficient
-BP_ORDER= 3 / polynomial order, axis 2, sky to detector
-BP_0_1 = -1.6588E-5 / distortion coefficient
-BP_0_2 = -2.3424E-5 / distortion coefficient
-BP_0_3 = 1.651E-7 / distortion coefficient
-BP_1_0 = -2.6783E-6 / distortion coefficient
-BP_1_1 = 2.4753E-5 / distortion coefficient
-BP_1_2 = 3.8917E-9 / distortion coefficient
-BP_2_0 = -2.151E-6 / distortion coefficient
-BP_2_1 = 1.7E-7 / distortion coefficient
-BP_3_0 = 2.0482E-8 / distortion coefficient
-
- / PHOTOMETRY
-
-BUNIT = 'MJy/sr ' / Units of image data
-FLUXCONV= 0.1088 / Flux Conv. factor (MJy/sr per DN/sec)
-GAIN = 3.3 / e/DN conversion
-RONOISE = 9.4 / [Electrons] Readout Noise from Array
-ZODY_EST= 0.05291139 / [MJy/sr] Zodiacal Background Estimate
-ISM_EST = 0.003677277 / [MJy/sr] Interstellar Medium Estimate
-CIB_EST = 0.0 / [MJy/sr] Cosmic Infrared Background Estimate
-SKYDRKZB= 0.044533 / [MJy/sr] Zodiacal Background Est of subracted s
-SKYDKMED= 0.039081 / [MJy/sr] Median of Subtracted Skydark
-SKDKFDLY= 11.554 / [sec] Average Frame Delay Time of Skydark
-SKDKIDLY= 11.554 / [sec] Average Immediate Delay Time of Skydark
-
- / GENERAL MAPPING KEYWORDS
-
-DITHPOS = 2 / Current dither position
-
- / IRAC MAPPING KEYWORDS
-
-READMODE= 'FULL ' / Readout mode
-DITHSCAL= 'medium ' / Dither scale (small, medium, large)
-
- / INSTRUMENT TELEMETRY DATA
-
-ASHTCON = 2 / Shutter condition (1:closed, 2: open)
-AWEASIDE= 0 / WEA side in use (0:B, 1:A)
-ACTXSTAT= 0 / Cmded transcal status
-ATXSTAT = 0 / transcal status
-ACFLSTAT= 0 / Cmded floodcal status
-AFLSTAT = 0 / floodcal status
-AVRSTUCC= -3.5 / [Volts] Cmded VRSTUC Bias
-AVRSTBEG= -3.5114367 / [Volts] VRSTUC Bias at start integration
-AVDETC = -2.75 / [Volts] Cmded VDET Bias
-AVDETBEG= -2.7585216 / [Volts] VDET Bias at start of integration
-AVGG1C = -3.65 / [Volts] Cmded VGG1 Bias
-AVGG1BEG= -3.2078801 / [Volts] VGG1 Bias at start of integration
-AVDDUCC = -3 / [Volts] Cmded VDDUC Bias
-AVDDUBEG= -3 / [Volts] VDDUC Bias at start integration
-AVGGCLC = 1 / [Volts] Cmnded VGGCL clock rail voltage
-AVGGCBEG= 1 / [Volts] VGGCL clock rail voltage
-AHTRIBEG= 204.49722 / [uAmps] Heater current at start of integ
-AHTRVBEG= 2.3936886 / [Volts] Heater Voltage at start integ.
-AFPAT2B = 15.022535 / [Deg_K] FPA Temp sensor #2 at start integ.
-AFPAT2BT= 107644.61 / [Sec] FPA Temp sensor #2 time tag
-AFPAT2E = 15.022535 / [Deg_K] FPA temp sensor #2, end integ.
-AFPAT2ET= 107644.61 / [Sec] FPA temp sensor #2 time tag
-ACTENDT = 20.376773 / [Deg_C] C&T board thermistor
-AFPECTE = 18.3055 / [Deg_C] FPE control board thermistor
-AFPEATE = 21.814696 / [Deg_C] FPE analog board thermistor
-ASHTEMPE= 21.504564 / [Deg_C] Shutter board thermistor
-ATCTEMPE= 22.662835 / [Deg_C] Temp. controller board thermistor
-ACETEMPE= 20.285331 / [Deg_C] Calib. electronics board thermistor
-APDTEMPE= 20.590139 / [Deg_C] PDU board thermistor
-ACATMP1E= 1.3181374 / [Deg_K] CA Temp, end integration for temp1
-ACATMP2E= 1.3011689 / [Deg_K] CA Temp, end integration for temp2
-ACATMP3E= 1.3331941 / [Deg_K] CA Temp, end integration for temp3
-ACATMP4E= 1.3299368 / [Deg_K] CA Temp, end integration for temp4
-ACATMP5E= 1.3280274 / [Deg_K] CA Temp, end integration for temp5
-ACATMP6E= 1.32662 / [Deg_K] CA Temp, end integration for temp6
-ACATMP7E= 1.3253879 / [Deg_K] CA Temp, end integration for temp7
-ACATMP8E= 1.3185339 / [Deg_K] CA Temp, end integration for temp8
-
- / DATA FLOW KEYWORDS
-
-ORIGIN0 = 'JPL_FOS ' / Site where RAW FITS file was written
-CREATOR0= 'J5.3 ' / SW system that created RAW FITS
-DATE = '2007-07-10T04:40:23' / [YYYY-MM-DDThh:mm:ss UTC] file creation date
-AORKEY = 18279424 / AOR or EIR key. Astrnmy Obs Req/Instr Eng Req
-DS_IDENT= 'ads/sa.spitzer#0018279424' / Data Set Identification for ADS/journals
-EXPID = 14 / Exposure ID (0-9999)
-DCENUM = 0 / DCE number (0-9999)
-TLMGRPS = 1 / expected number of groups
-FILE_VER= 1 / Version of the raw file made by SIS
-RAWFILE = 'IRAC.1.0018279424.0014.0000.01.mipl.fits' / Raw data file name
-CPT_VER = '3.1.11 ' / Channel Param Table FOS versioN
-CTD_VER = '3.0.94S ' / Cmded telemetry data version
-EXPDFLAG= F / (T/F) expedited DCE
-MISS_LCT= 0 / Total Missed Line Cnt in this FITS
-MANCPKT = F / T if this FITS is Missing Ancillary Data
-MISSDATA= F / T if this FITS is Missing Image Data
-CHECKSUM= 0 / MIPL computed checksum
-PAONUM = 2463 / PAO Number
-CAMPAIGN= 'IRAC009800' / Campaign
-DCEID = 80565322 / Data-Collection-Event ID
-DCEINSID= 16981930 / DCE Instance ID
-DPID = 178643698 / Data Product Instance ID
-PIPENUM = 107 / Pipeline Script Number
-SOS_VER = 2 / Data-Product Version
-PLVID = 4 / Pipeline Version ID
-CALID = 6 / CalTrans Version ID
-
-SDRKEPID= 3230182 / Sky Dark ensemble product ID
-
-PMSKFBID= 995 / Pixel mask ID
-LDRKFBID= 836 / Fall-back lab dark ID
-LINCFBID= 357 / Fall-back Linearity correction ID
-FLATFBID= 1011 / Fall-back flat ID
-FLXCFBID= 1025 / Flux conversion ID
-MBLTFBID= 696 / Muxbleed Lookup Table ID
-MBCFFBID= 704 / Muxbleed Coefficients ID
-LBDRKFLE= 'FUL_12s_12sf8d1r1_ch1_v1.2.0_dark.txt' / Labdark File Used
-DDCORR1 = 1.488018 / Darkdrift Correction for Readout Channel 1
-DDCORR2 = -5.919937 / Darkdrift Correction for Readout Channel 2
-DDCORR3 = 2.243147 / Darkdrift Correction for Readout Channel 3
-DDCORR4 = 2.188772 / Darkdrift Correction for Readout Channel 4
-DDBKGND = 68.5909 / arkdrift 'Background' Term
-
-
-
- / PROCESSING HISTORY
-
-HISTORY job.c ver: 1.50
-HISTORY TRANHEAD v. 12.8, ran Mon Jul 9 21:40:04 2007
-HISTORY CALTRANS v. 4.0, ran Mon Jul 9 21:40:08 2007
-HISTORY INSBPOSDOM v. 1.1, ran Mon Jul 9 21:40:08 2007
-HISTORY cvti2r4 v. 1.31 A61025, generated 7/09/07 at 21:40:09
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:11
-HISTORY FFC v. 1.0, ran Mon Jul 9 21:40:12 2007
-HISTORY MUXBLEEDCORR v. 1.600, ran Mon Jul 9 21:40:13 2007
-HISTORY FOWLINEARIZE v. 4.900000, ran Mon Jul 9 21:40:13 2007
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:14
-HISTORY BGMODEL v. 1.0, ran Mon Jul 9 21:40:14 2007
-HISTORY SLREMOVE v. 1.0, ran Mon Jul 9 21:40:14 2007
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:15
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:16
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:16
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:17
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:18
-HISTORY DARKSUBNG v. 1.000, ran Mon Jul 9 21:40:18 2007
-HISTORY DARKDRIFT v. 4.0, ran Mon Jul 9 21:40:19 2007
-HISTORY FLATAP v. 1.500 Mon Jul 9 21:40:20 2007
-HISTORY DNTOFLUX v. 4.1, ran Mon Jul 9 21:40:23 2007
-HISTORY CALTRANS v. 4.0, ran Mon Jul 9 21:47:55 2007
-HISTORY PTNTRAN v. 1.4, ran Mon Jul 9 21:47:56 2007
-HISTORY FPGen v. 1.25, ran Mon Jul 9 21:47:58 2007
-HISTORY PTGADJUST v. 1.0, ran Mon Jul 9 21:51:34 2007
-END
diff --git a/ast/ast_tester/sip.head b/ast/ast_tester/sip.head
deleted file mode 100644
index 0e9e838..0000000
--- a/ast/ast_tester/sip.head
+++ /dev/null
@@ -1,288 +0,0 @@
-SIMPLE = T / Fits standard
-BITPIX = -32 / FOUR-BYTE SINGLE PRECISION FLOATING POINT
-NAXIS = 2 / STANDARD FITS FORMAT
-NAXIS1 = 256 / STANDARD FITS FORMAT
-NAXIS2 = 256 / STANDARD FITS FORMAT
-ORIGIN = 'Spitzer Science Center' / Organization generating this FITS file
-CREATOR = 'S16.1.0 ' / SW version used to create this FITS file
-TELESCOP= 'Spitzer ' / SPITZER Space Telescope
-INSTRUME= 'IRAC ' / SPITZER Space Telescope instrument ID
-CHNLNUM = 1 / 1 digit instrument channel number
-EXPTYPE = 'sci ' / Exposure Type
-REQTYPE = 'AOR ' / Request type (AOR, IER, or SER)
-AOT_TYPE= 'IracMap ' / Observation template type
-AORLABEL= '05cs-IRAC-2' / AOR Label
-FOVID = 67 / Field of View ID
-FOVNAME = 'IRAC_Center_of_3.6&5.8umArray' / Field of View Name
-
- / PROPOSAL INFORMATION
-
-OBSRVR = 'Ben Sugerman' / Observer Name (Last, First)
-OBSRVRID= 14621 / Observer ID of Principal Investigator
-PROCYCL = 6 / Proposal Cycle
-PROGID = 30494 / Program ID
-PROTITLE= 'Supernovae and the Origin of Dust in Galaxies: Follow-Up Observation'
-PROGCAT = 30 / Program Category
-
- / TIME AND EXPOSURE INFORMATION
-
-DATE_OBS= '2007-06-29T03:15:33.555' / Date & time at DCE start
-MJD_OBS = 54280.135805 / [days] MJD at DCE start (,JD-2400000.5)
-UTCS_OBS= 236358933.555 / [sec] J2000 ephem. time at DCE start
-SCLK_OBS= 867554299.94 / [sec] SCLK time (since 1/1/1980) at DCE start
-SAMPTIME= 0.2 / [sec] Sample integration time
-FRAMTIME= 12. / [sec] Time spent integrating (whole array)
-COMMENT Photons in Well = Flux[photons/sec/pixel] * FRAMTIME
-EXPTIME = 10.4 / [sec] Effective integration time per pixel
-COMMENT DN per pixel = Flux[photons/sec/pixel] / GAIN * EXPTIME
-INTRFDLY= 8. / [sec] Inter Frame Delay Time
-AINTBEG = 107646.2 / [Secs since IRAC turn-on] Time of integ. start
-ATIMEEND= 107658.16 / [Secs since IRAC turn-on] Time of integ. end
-AFOWLNUM= 8 / Fowler number
-AWAITPER= 44 / [0.2 sec] Wait period
-ANUMREPS= 1 / Number of repeat integrations
-AREADMOD= 0 / Full (0) or subarray (1)
-HDRMODE = F / DCE taken in High Dynamic Range mode
-ABARREL = 3 / Barrel shift
-APEDSIG = 0 / 0=Normal, 1=Pedestal, 2=Signal
-
- / TARGET AND POINTING INFORMATION
-
-OBJECT = 'SN 2005cs' / Target Name
-OBJTYPE = 'TargetFixedSingle' / Object Type
-CRVAL1 = 202.482322805429 / [deg] RA at CRPIX1,CRPIX2 (using Pointing Recon
-CRVAL2 = 47.1751189300101 / [deg] DEC at CRPIX1,CRPIX2 (using Pointing Reco
-RA_HMS = '13h29m55.8s' / [hh:mm:ss.s] CRVAL1 as sexagesimal
-DEC_DMS = '+47d10m30s' / [dd:mm:ss] CRVAL2 as sexagesimal
-RADESYS = 'ICRS ' / International Celestial Reference System
-EQUINOX = 2000. / Equinox for ICRS celestial coord. system
-CD1_1 = 0.000249756880272355 / Corrected CD matrix element with Pointing Recon
-CD1_2 = 0.000230177809743655 / Corrected CD matrix element with Pointing Recon
-CD2_1 = 0.000230428519265417 / Corrected CD matrix element with Pointing Recon
-CD2_2 = -0.000249965770576587 / Corrected CD matrix element with Pointing Reco
-CTYPE1 = 'RA---TAN-SIP' / RA---TAN with distortion in pixel space
-CTYPE2 = 'DEC--TAN-SIP' / DEC--TAN with distortion in pixel space
-CRPIX1 = 128. / Reference pixel along axis 1
-CRPIX2 = 128. / Reference pixel along axis 2
-PXSCAL1 = -1.22334117768332 / [arcsec/pix] Scale for axis 1 at CRPIX1,CRPIX2
-PXSCAL2 = 1.22328355209902 / [arcsec/pix] Scale for axis 2 at CRPIX1,CRPIX2
-CRDER1 = 4.02509762361481E-05 / [deg] Uncertainty in CRVAL1
-CRDER2 = 3.4274613195288E-05 / [deg] Uncertainty in CRVAL2
-UNCRTPA = 0.000378787843382542 / [deg] Uncertainty in position angle
-CSDRADEC= 4.75971783897902E-07 / [deg] Costandard deviation in RA and Dec
-SIGRA = 0.0339487135007807 / [arcsec] RMS dispersion of RA over DCE
-SIGDEC = 0.0637682657426773 / [arcsec] RMS dispersion of DEC over DCE
-SIGPA = 1.36464273573987 / [arcsec] RMS dispersion of PA over DCE
-PA = 137.359976084299 / [deg] Position angle of axis 2 (E of N) (was OR
-RA_RQST = 202.482116615975 / [deg] Requested RA at CRPIX1, CRPIX2
-DEC_RQST= 47.1750785413522 / [deg] Requested Dec at CRPIX1, CRPIX2
-PM_RA = 0. / [arcsec/yr] Proper Motion in RA (J2000)
-PM_DEC = 0. / [arcsec/yr] Proper Motion in Dec (J200)
-RMS_JIT = 0.00768303401855732 / [arcsec] RMS jitter during DCE
-RMS_JITY= 0.00515070337437348 / [arcsec] RMS jitter during DCE along Y
-RMS_JITZ= 0.00570081279113133 / [arcsec] RMS jitter during DCE along Z
-SIG_JTYZ= 0.00237806410221437 / [arcsec] Costadard deviation of jitter in YZ
-PTGDIFF = 0.525106524659797 / [arcsec] Offset btwn actual and rqsted pntng
-PTGDIFFX= 0.46966798486043 / [pixels] rqsted - actual pntng along axis 1
-PTGDIFFY= -0.235285197422366 / [pixels] rqsted - actual pntng along axis 2
-RA_REF = 202.472375 / [deg] Commanded RA (J2000) of ref. position
-DEC_REF = 47.1745 / [deg] Commanded Dec (J2000) of ref. position
-USEDBPHF= T / T if Boresight Pointing History File was used
-BPHFNAME= 'SBPHF.0867542400.031.pntg' / Boresight Pointing History Filename
-FOVVERSN= 'BodyFrames_FTU_14a.xls' / FOV/BodyFrames file version used
-RECONFOV= 'IRAC_Center_of_3.6umArray' / Reconstructed Field of View
-RARFND = 202.482315063477 / [deg] Refined RA
-DECRFND = 47.175121307373 / [deg] Refined DEC
-CT2RFND = 137.359054565430 / [deg] Refined CROT2
-ERARFND = 0.000002332304 / [deg] Error in RARFND value
-EDECRFND= 0.000002332411 / [deg] Error in DECRFND value
-ECT2RFND= 0.000540699053 / [deg] Error in CT2RFND value
-NASTROM = 12 / Astrometric sources for absolute refinement
-ORIG_RA = 202.482055664062 / [deg] Original RA from raw BPHF (without pointi
-ORIG_DEC= 47.1750717163086 / [deg] Original Dec from raw BPHF (without point
-ORIGCD11= 0.0002497563255 / [deg/pix] Original CD1_1 element (without point
-ORIGCD12= 0.0002301784261 / [deg/pix] Original CD1_2 element (without point
-ORIGCD21= 0.0002304291411 / [deg/pix] Original CD2_1 element (without point
-ORIGCD22= -0.0002499652037 / [deg/pix] Original CD2_2 element (without point
-
-
-
- / DISTORTION KEYWORDS
-
-A_ORDER = 3 / polynomial order, axis 1, detector to sky
-A_0_2 = 2.9656E-06 / distortion coefficient
-A_0_3 = 3.7746E-09 / distortion coefficient
-A_1_1 = 2.1886E-05 / distortion coefficient
-A_1_2 = -1.6847E-07 / distortion coefficient
-A_2_0 = -2.3863E-05 / distortion coefficient
-A_2_1 = -8.561E-09 / distortion coefficient
-A_3_0 = -1.4172E-07 / distortion coefficient
-A_DMAX = 1.394 / [pixel] maximum correction
-B_ORDER = 3 / polynomial order, axis 2, detector to sky
-B_0_2 = 2.31E-05 / distortion coefficient
-B_0_3 = -1.6168E-07 / distortion coefficient
-B_1_1 = -2.4386E-05 / distortion coefficient
-B_1_2 = -5.7813E-09 / distortion coefficient
-B_2_0 = 2.1197E-06 / distortion coefficient
-B_2_1 = -1.6583E-07 / distortion coefficient
-B_3_0 = -2.0249E-08 / distortion coefficient
-B_DMAX = 1.501 / [pixel] maximum correction
-AP_ORDER= 3 / polynomial order, axis 1, sky to detector
-AP_0_1 = -6.4275E-07 / distortion coefficient
-AP_0_2 = -2.9425E-06 / distortion coefficient
-AP_0_3 = -3.582E-09 / distortion coefficient
-AP_1_0 = -1.4897E-05 / distortion coefficient
-AP_1_1 = -2.225E-05 / distortion coefficient
-AP_1_2 = 1.7195E-07 / distortion coefficient
-AP_2_0 = 2.4146E-05 / distortion coefficient
-AP_2_1 = 6.709E-09 / distortion coefficient
-AP_3_0 = 1.4492E-07 / distortion coefficient
-BP_ORDER= 3 / polynomial order, axis 2, sky to detector
-BP_0_1 = -1.6588E-05 / distortion coefficient
-BP_0_2 = -2.3424E-05 / distortion coefficient
-BP_0_3 = 1.651E-07 / distortion coefficient
-BP_1_0 = -2.6783E-06 / distortion coefficient
-BP_1_1 = 2.4753E-05 / distortion coefficient
-BP_1_2 = 3.8917E-09 / distortion coefficient
-BP_2_0 = -2.151E-06 / distortion coefficient
-BP_2_1 = 1.7E-07 / distortion coefficient
-BP_3_0 = 2.0482E-08 / distortion coefficient
-
- / PHOTOMETRY
-
-BUNIT = 'MJy/sr ' / Units of image data
-FLUXCONV= 0.1088 / Flux Conv. factor (MJy/sr per DN/sec)
-GAIN = 3.3 / e/DN conversion
-RONOISE = 9.4 / [Electrons] Readout Noise from Array
-ZODY_EST= 0.05291139 / [MJy/sr] Zodiacal Background Estimate
-ISM_EST = 0.003677277 / [MJy/sr] Interstellar Medium Estimate
-CIB_EST = 0. / [MJy/sr] Cosmic Infrared Background Estimate
-SKYDRKZB= 0.044533 / [MJy/sr] Zodiacal Background Est of subracted s
-SKYDKMED= 0.039081 / [MJy/sr] Median of Subtracted Skydark
-SKDKFDLY= 11.554 / [sec] Average Frame Delay Time of Skydark
-SKDKIDLY= 11.554 / [sec] Average Immediate Delay Time of Skydark
-
- / GENERAL MAPPING KEYWORDS
-
-DITHPOS = 2 / Current dither position
-
- / IRAC MAPPING KEYWORDS
-
-READMODE= 'FULL ' / Readout mode
-DITHSCAL= 'medium ' / Dither scale (small, medium, large)
-
- / INSTRUMENT TELEMETRY DATA
-
-ASHTCON = 2 / Shutter condition (1:closed, 2: open)
-AWEASIDE= 0 / WEA side in use (0:B, 1:A)
-ACTXSTAT= 0 / Cmded transcal status
-ATXSTAT = 0 / transcal status
-ACFLSTAT= 0 / Cmded floodcal status
-AFLSTAT = 0 / floodcal status
-AVRSTUCC= -3.5 / [Volts] Cmded VRSTUC Bias
-AVRSTBEG= -3.5114367 / [Volts] VRSTUC Bias at start integration
-AVDETC = -2.75 / [Volts] Cmded VDET Bias
-AVDETBEG= -2.7585216 / [Volts] VDET Bias at start of integration
-AVGG1C = -3.65 / [Volts] Cmded VGG1 Bias
-AVGG1BEG= -3.2078801 / [Volts] VGG1 Bias at start of integration
-AVDDUCC = -3 / [Volts] Cmded VDDUC Bias
-AVDDUBEG= -3 / [Volts] VDDUC Bias at start integration
-AVGGCLC = 1 / [Volts] Cmnded VGGCL clock rail voltage
-AVGGCBEG= 1 / [Volts] VGGCL clock rail voltage
-AHTRIBEG= 204.49722 / [uAmps] Heater current at start of integ
-AHTRVBEG= 2.3936886 / [Volts] Heater Voltage at start integ.
-AFPAT2B = 15.022535 / [Deg_K] FPA Temp sensor #2 at start integ.
-AFPAT2BT= 107644.61 / [Sec] FPA Temp sensor #2 time tag
-AFPAT2E = 15.022535 / [Deg_K] FPA temp sensor #2, end integ.
-AFPAT2ET= 107644.61 / [Sec] FPA temp sensor #2 time tag
-ACTENDT = 20.376773 / [Deg_C] C&T board thermistor
-AFPECTE = 18.3055 / [Deg_C] FPE control board thermistor
-AFPEATE = 21.814696 / [Deg_C] FPE analog board thermistor
-ASHTEMPE= 21.504564 / [Deg_C] Shutter board thermistor
-ATCTEMPE= 22.662835 / [Deg_C] Temp. controller board thermistor
-ACETEMPE= 20.285331 / [Deg_C] Calib. electronics board thermistor
-APDTEMPE= 20.590139 / [Deg_C] PDU board thermistor
-ACATMP1E= 1.3181374 / [Deg_K] CA Temp, end integration for temp1
-ACATMP2E= 1.3011689 / [Deg_K] CA Temp, end integration for temp2
-ACATMP3E= 1.3331941 / [Deg_K] CA Temp, end integration for temp3
-ACATMP4E= 1.3299368 / [Deg_K] CA Temp, end integration for temp4
-ACATMP5E= 1.3280274 / [Deg_K] CA Temp, end integration for temp5
-ACATMP6E= 1.32662 / [Deg_K] CA Temp, end integration for temp6
-ACATMP7E= 1.3253879 / [Deg_K] CA Temp, end integration for temp7
-ACATMP8E= 1.3185339 / [Deg_K] CA Temp, end integration for temp8
-
- / DATA FLOW KEYWORDS
-
-ORIGIN0 = 'JPL_FOS ' / Site where RAW FITS file was written
-CREATOR0= 'J5.3 ' / SW system that created RAW FITS
-DATE = '2007-07-10T04:40:23' / [YYYY-MM-DDThh:mm:ss UTC] file creation date
-AORKEY = 18279424 / AOR or EIR key. Astrnmy Obs Req/Instr Eng Req
-DS_IDENT= 'ads/sa.spitzer#0018279424' / Data Set Identification for ADS/journals
-EXPID = 14 / Exposure ID (0-9999)
-DCENUM = 0 / DCE number (0-9999)
-TLMGRPS = 1 / expected number of groups
-FILE_VER= 1 / Version of the raw file made by SIS
-RAWFILE = 'IRAC.1.0018279424.0014.0000.01.mipl.fits' / Raw data file name
-CPT_VER = '3.1.11 ' / Channel Param Table FOS versioN
-CTD_VER = '3.0.94S ' / Cmded telemetry data version
-EXPDFLAG= F / (T/F) expedited DCE
-MISS_LCT= 0 / Total Missed Line Cnt in this FITS
-MANCPKT = F / T if this FITS is Missing Ancillary Data
-MISSDATA= F / T if this FITS is Missing Image Data
-CHECKSUM= 0 / MIPL computed checksum
-PAONUM = 2463 / PAO Number
-CAMPAIGN= 'IRAC009800' / Campaign
-DCEID = 80565322 / Data-Collection-Event ID
-DCEINSID= 16981930 / DCE Instance ID
-DPID = 178643698 / Data Product Instance ID
-PIPENUM = 107 / Pipeline Script Number
-SOS_VER = 2 / Data-Product Version
-PLVID = 4 / Pipeline Version ID
-CALID = 6 / CalTrans Version ID
-
-SDRKEPID= 3230182 / Sky Dark ensemble product ID
-
-PMSKFBID= 995 / Pixel mask ID
-LDRKFBID= 836 / Fall-back lab dark ID
-LINCFBID= 357 / Fall-back Linearity correction ID
-FLATFBID= 1011 / Fall-back flat ID
-FLXCFBID= 1025 / Flux conversion ID
-MBLTFBID= 696 / Muxbleed Lookup Table ID
-MBCFFBID= 704 / Muxbleed Coefficients ID
-LBDRKFLE= 'FUL_12s_12sf8d1r1_ch1_v1.2.0_dark.txt' / Labdark File Used
-DDCORR1 = 1.488018 / Darkdrift Correction for Readout Channel 1
-DDCORR2 = -5.919937 / Darkdrift Correction for Readout Channel 2
-DDCORR3 = 2.243147 / Darkdrift Correction for Readout Channel 3
-DDCORR4 = 2.188772 / Darkdrift Correction for Readout Channel 4
-DDBKGND = 68.5909 / arkdrift 'Background' Term
-
-
-
- / PROCESSING HISTORY
-
-HISTORY job.c ver: 1.50
-HISTORY TRANHEAD v. 12.8, ran Mon Jul 9 21:40:04 2007
-HISTORY CALTRANS v. 4.0, ran Mon Jul 9 21:40:08 2007
-HISTORY INSBPOSDOM v. 1.1, ran Mon Jul 9 21:40:08 2007
-HISTORY cvti2r4 v. 1.31 A61025, generated 7/09/07 at 21:40:09
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:11
-HISTORY FFC v. 1.0, ran Mon Jul 9 21:40:12 2007
-HISTORY MUXBLEEDCORR v. 1.600, ran Mon Jul 9 21:40:13 2007
-HISTORY FOWLINEARIZE v. 4.900000, ran Mon Jul 9 21:40:13 2007
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:14
-HISTORY BGMODEL v. 1.0, ran Mon Jul 9 21:40:14 2007
-HISTORY SLREMOVE v. 1.0, ran Mon Jul 9 21:40:14 2007
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:15
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:16
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:16
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:17
-HISTORY hdrupd8 v. 1.5 A50126, updated 7/09/07 at 21:40:18
-HISTORY DARKSUBNG v. 1.000, ran Mon Jul 9 21:40:18 2007
-HISTORY DARKDRIFT v. 4.0, ran Mon Jul 9 21:40:19 2007
-HISTORY FLATAP v. 1.500 Mon Jul 9 21:40:20 2007
-HISTORY DNTOFLUX v. 4.1, ran Mon Jul 9 21:40:23 2007
-HISTORY CALTRANS v. 4.0, ran Mon Jul 9 21:47:55 2007
-HISTORY PTNTRAN v. 1.4, ran Mon Jul 9 21:47:56 2007
-HISTORY FPGen v. 1.25, ran Mon Jul 9 21:47:58 2007
-HISTORY PTGADJUST v. 1.0, ran Mon Jul 9 21:51:34 2007
-END
diff --git a/ast/ast_tester/sparse.ast b/ast/ast_tester/sparse.ast
deleted file mode 100644
index c28cb4d..0000000
--- a/ast/ast_tester/sparse.ast
+++ /dev/null
@@ -1,392 +0,0 @@
- Begin FrameSet # Set of inter-related coordinate systems
-# Title = "3-d compound coordinate system" # Title of coordinate system
-# Naxes = 3 # Number of coordinate axes
-# Domain = "SKY-DSBSPECTRUM" # Coordinate system domain
-# Epoch = 2007.10664386351 # Julian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# Lbl3 = "Radio velocity (USB)" # Label for axis 3
-# System = "Compound" # Coordinate system type
-# Uni1 = "hh:mm:ss.sss" # Units for axis 1
-# Uni2 = "ddd:mm:ss.ss" # Units for axis 2
-# Uni3 = "km/s" # Units for axis 3
-# Dig1 = 9 # Individual precision for axis 1
-# Dig2 = 9 # Individual precision for axis 2
-# Digits = 7 # Default formatting precision
-# Fmt1 = "hms.3" # Format specifier for axis 1
-# Fmt2 = "dms.2" # Format specifier for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
- IsA Frame # Coordinate system description
- Nframe = 5 # Number of Frames in FrameSet
-# Base = 1 # Index of base Frame
- Currnt = 5 # Index of current Frame
- Nnode = 6 # Number of nodes in FrameSet
- Nod1 = 3 # Frame 1 is associated with node 3
- Nod2 = 4 # Frame 2 is associated with node 4
- Nod3 = 5 # Frame 3 is associated with node 5
- Nod4 = 6 # Frame 4 is associated with node 6
- Nod5 = 2 # Frame 5 is associated with node 2
- Lnk2 = 1 # Node 2 is derived from node 1
- Lnk3 = 1 # Node 3 is derived from node 1
- Lnk4 = 1 # Node 4 is derived from node 1
- Lnk5 = 1 # Node 5 is derived from node 1
- Lnk6 = 1 # Node 6 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame # Coordinate system description
- Title = "Data grid indices; first pixel at (1,1,1)" # Title of coordinate system
- Naxes = 3 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Data grid index 1" # Label for axis 1
-# Lbl2 = "Data grid index 2" # Label for axis 2
-# Lbl3 = "Data grid index 3" # Label for axis 3
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
-# Uni3 = "pixel" # Units for axis 3
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Data grid index 1" # Axis Label
- Symbol = "g1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Data grid index 2" # Axis Label
- Symbol = "g2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax3 = # Axis number 3
- Begin Axis # Coordinate axis
- Label = "Data grid index 3" # Axis Label
- Symbol = "g3" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin Frame # Coordinate system description
- Title = "Pixel coordinates; first pixel at (0.5,0.5,-1024.5)" # Title of coordinate system
- Naxes = 3 # Number of coordinate axes
- Domain = "PIXEL" # Coordinate system domain
-# Lbl1 = "Pixel coordinate 1" # Label for axis 1
-# Lbl2 = "Pixel coordinate 2" # Label for axis 2
-# Lbl3 = "Pixel coordinate 3" # Label for axis 3
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
-# Uni3 = "pixel" # Units for axis 3
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 1" # Axis Label
- Symbol = "p1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 2" # Axis Label
- Symbol = "p2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax3 = # Axis number 3
- Begin Axis # Coordinate axis
- Label = "Pixel coordinate 3" # Axis Label
- Symbol = "p3" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm3 = # Frame number 3
- Begin Frame # Coordinate system description
- Title = "Axis coordinates; first pixel at (0.5,0.5,-1024.5)" # Title of coordinate system
- Naxes = 3 # Number of coordinate axes
- Domain = "AXIS" # Coordinate system domain
-# Lbl1 = "Axis 1" # Label for axis 1
-# Lbl2 = "Axis 2" # Label for axis 2
-# Lbl3 = "Axis 3" # Label for axis 3
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
-# Uni3 = "pixel" # Units for axis 3
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Axis 1" # Axis Label
- Symbol = "a1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Axis 2" # Axis Label
- Symbol = "a2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax3 = # Axis number 3
- Begin Axis # Coordinate axis
- Label = "Axis 3" # Axis Label
- Symbol = "a3" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm4 = # Frame number 4
- Begin Frame # Coordinate system description
- Title = "Normalised pixel coordinates; first pixel at (0.03846154,0.5,0.0002441406)" # Title of coordinate system
- Naxes = 3 # Number of coordinate axes
- Domain = "FRACTION" # Coordinate system domain
-# Lbl1 = "Normalised pixel coordinate 1" # Label for axis 1
-# Lbl2 = "Normalised pixel coordinate 2" # Label for axis 2
-# Lbl3 = "Normalised pixel coordinate 3" # Label for axis 3
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Label = "Normalised pixel coordinate 1" # Axis Label
- Symbol = "f1" # Axis symbol
- Unit = "" # Axis units
- Format = "%5.4f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis # Coordinate axis
- Label = "Normalised pixel coordinate 2" # Axis Label
- Symbol = "f2" # Axis symbol
- Unit = "" # Axis units
- Format = "%5.4f" # Format specifier
- End Axis
- Ax3 = # Axis number 3
- Begin Axis # Coordinate axis
- Label = "Normalised pixel coordinate 3" # Axis Label
- Symbol = "f3" # Axis symbol
- Unit = "" # Axis units
- Format = "%5.4f" # Format specifier
- End Axis
- End Frame
- Frm5 = # Frame number 5
- Begin CmpFrame # Compound coordinate system description
-# Title = "3-d compound coordinate system" # Title of coordinate system
-# Naxes = 3 # Number of coordinate axes
-# Domain = "SKY-DSBSPECTRUM" # Coordinate system domain
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# Lbl3 = "Radio velocity (USB)" # Label for axis 3
-# Uni1 = "hh:mm:ss.sss" # Units for axis 1
-# Uni2 = "ddd:mm:ss.ss" # Units for axis 2
-# Uni3 = "km/s" # Units for axis 3
-# Dig1 = 9 # Individual precision for axis 1
-# Dig2 = 9 # Individual precision for axis 2
-# Digits = 7 # Default formatting precision
-# Fmt1 = "hms.3" # Format specifier for axis 1
-# Fmt2 = "dms.2" # Format specifier for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
- IsA Frame # Coordinate system description
- FrameA = # First component Frame
- Begin SkyFrame # Description of celestial coordinate system
- Naxes = 2 # Number of coordinate axes
- Epoch = 2007.10664386351 # Julian epoch of observation
- System = "FK5" # Coordinate system type
- ObsLat = 0.346026069000145 # Observers geodetic latitude (rads)
- ObsLon = -2.71363307300091 # Observers geodetic longitude (rads)
- Dut1 = -0.00321845632046122 # UT1-UTC in seconds
- Ax1 = # Axis number 1
- Begin SkyAxis # Celestial coordinate axis
- Digits = 9 # Default formatting precision
- IsA Axis # Coordinate axis
- End SkyAxis
- Ax2 = # Axis number 2
- Begin SkyAxis # Celestial coordinate axis
- Digits = 9 # Default formatting precision
- IsA Axis # Coordinate axis
- End SkyAxis
- IsA Frame # Coordinate system description
- SRef1 = 1.2343627630284 # Ref. pos. RA 4:42:53.706
- SRef2 = 0.63032350835257 # Ref. pos. Dec 36:06:53.56
- End SkyFrame
- FrameB = # Second component Frame
- Begin DSBSpecFrame # Dual sideband spectral axis
- Naxes = 1 # Number of coordinate axes
- Epoch = 2007.10664386353 # Julian epoch of observation
- System = "VRAD" # Coordinate system type
- ObsLat = 0.346026069000144 # Observers geodetic latitude (rads)
- ObsLon = -2.71363307300091 # Observers geodetic longitude (rads)
- Dut1 = -0.00321845632046122 # UT1-UTC in seconds
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- End Axis
- IsA Frame # Coordinate system description
- SoR = "LSRK" # Standard of rest
- RefRA = 1.23436224892048 # Reference RA (rads, FK5 J2000)
- RefDec = 0.630323957597852 # Reference Dec (rads, FK5 J2000)
- RstFrq = 345795989900 # Rest frequency (Hz)
- SrcVel = -21699.2154029027 # Source velocity (m/s)
- SrcVRF = "LSRK" # Source velocity rest frame
- UFreq = "GHz" # Preferred units for frequency
- IsA SpecFrame # Description of spectral coordinate system
- DSBCen = 345782054267.698 # Central frequency (Hz topo)
- IF = -4999999979.60052 # Intermediate frequency (Hz)
- SideBn = "USB" # Represents upper sideband
- AlSdBn = 1 # Align sidebands?
- End DSBSpecFrame
- End CmpFrame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin PermMap # Coordinate permutation
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Out1 = 1 # Output coordinate 1 = input coordinate 1
- Out2 = 1 # Output coordinate 2 = input coordinate 1
- In1 = 1 # Input coordinate 1 = output coordinate 1
- In2 = 0 # Input coordinate 2 is "bad"
- End PermMap
- MapB = # Second component Mapping
- Begin WinMap # Map one window on to another
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = 2.86538852378726e-05 # Shift for axis 1
- End WinMap
- End CmpMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 3 # Number of input coordinates
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin LutMap # Map 1-d coordinates using a lookup table
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- Nlut = 13 # Number of lookup table elements
- Start = 1 # Input value at first element
-# Incr = 1 # Input value increment between elements
- LutInt = 1 # Interpolation method
- L1 = 1.23418282732218 # Lookup table elements...
- L2 = 1.2343639301616
- L3 = 1.23436339112322
- L4 = 1.2343628519694
- L5 = 1.23436231270009
- L6 = 1.23454235656739
- L7 = 1.23454287673211
- L8 = 1.2345433967854
- L9 = 1.23454391672729
- L10 = 1.23472390339668
- L11 = 1.23472340255133
- L12 = 1.23472290159864
- L13 = 1.23472240053857
- End LutMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin LutMap # Map 1-d coordinates using a lookup table
- Nin = 1 # Number of input coordinates
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- Nlut = 13 # Number of lookup table elements
- Start = 1 # Input value at first element
-# Incr = 1 # Input value increment between elements
- LutInt = 1 # Interpolation method
- L1 = 0.630323242601191 # Lookup table elements...
- L2 = 0.630032824768848
- L3 = 0.630178255337191
- L4 = 0.630323685912113
- L5 = 0.630469116487462
- L6 = 0.630469544411238
- L7 = 0.630324113791166
- L8 = 0.630178683171532
- L9 = 0.630033252558487
- L10 = 0.630033664925644
- L11 = 0.630179095578678
- L12 = 0.630324526238311
- L13 = 0.63046995689839
- End LutMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 1 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = 346321451689.665 # Shift for axis 1
- Scl1 = -488226.2403564 # Scale factor for axis 1
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 1 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin SpecMap # Conversion between spectral coordinate systems
- Nin = 1 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Nspec = 2 # Number of conversion steps
- Spec1 = "FRTOVL" # Convert frequency to rel. velocity
- Spec1a = 345795989900 # Rest frequency (Hz)
- Spec2 = "VLTOVR" # Convert relativistic to radio velocity
- End SpecMap
- MapB = # Second component Mapping
- Begin ZoomMap # Zoom about the origin
- Nin = 1 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Zoom = 0.001 # Zoom factor
- End ZoomMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- Map3 = # Mapping between nodes 1 and 3
- Begin UnitMap # Unit (null) Mapping
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- End UnitMap
- Map4 = # Mapping between nodes 1 and 4
- Begin WinMap # Map one window on to another
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -0.5 # Shift for axis 1
- Sft2 = -0.5 # Shift for axis 2
- Sft3 = -1025.5 # Shift for axis 3
- End WinMap
- Map5 = # Mapping between nodes 1 and 5
- Begin WinMap # Map one window on to another
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -0.5 # Shift for axis 1
- Sft2 = -0.5 # Shift for axis 2
- Sft3 = -1025.5 # Shift for axis 3
- End WinMap
- Map6 = # Mapping between nodes 1 and 6
- Begin WinMap # Map one window on to another
- Nin = 3 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -0.0384615384615385 # Shift for axis 1
- Scl1 = 0.0769230769230769 # Scale factor for axis 1
- Sft2 = -0.5 # Shift for axis 2
- Sft3 = -0.000244140625 # Shift for axis 3
- Scl3 = 0.00048828125 # Scale factor for axis 3
- End WinMap
- End FrameSet
diff --git a/ast/ast_tester/specflux.ast b/ast/ast_tester/specflux.ast
deleted file mode 100644
index 0da5fea..0000000
--- a/ast/ast_tester/specflux.ast
+++ /dev/null
@@ -1,29 +0,0 @@
- Begin CmpFrame # Compound coordinate system description
-# Title = "2-d compound coordinate system" # Title of coordinate system
-# Naxes = 2 # Number of coordinate axes
-# Domain = "SPECTRUM-" # Coordinate system domain
-# Lbl1 = "Wavelength" # Label for axis 1
-# Lbl2 = "Axis 2" # Label for axis 2
-# Uni1 = "um" # Units for axis 1
-# Uni2 = "10%^50+%s50+-26%+W/m%^50+%s50+2%+/Angstrom" # Units for axis 2
- IsA Frame # Coordinate system description
- FrameA = # First component Frame
- Begin SpecFrame # Description of spectral coordinate system
- Naxes = 1 # Number of coordinate axes
- System = "WAVE" # Coordinate system type
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Unit = "um" # Axis units
- End Axis
- IsA Frame # Coordinate system description
- UWave = "um" # Preferred units for wavelength
- End SpecFrame
- FrameB = # Second component Frame
- Begin Frame # Coordinate system description
- Naxes = 1 # Number of coordinate axes
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Unit = "10%^50+%s50+-26%+W/m%^50+%s50+2%+/Angstrom" # Axis units
- End Axis
- End Frame
- End CmpFrame
diff --git a/ast/ast_tester/specflux.attr b/ast/ast_tester/specflux.attr
deleted file mode 100644
index e00d209..0000000
--- a/ast/ast_tester/specflux.attr
+++ /dev/null
@@ -1 +0,0 @@
-system=freq,logplot=1,loggap(1)=100
diff --git a/ast/ast_tester/specflux.box b/ast/ast_tester/specflux.box
deleted file mode 100644
index 7c6f180..0000000
--- a/ast/ast_tester/specflux.box
+++ /dev/null
@@ -1,2 +0,0 @@
-1 3 1.0E-8 9
-
diff --git a/ast/ast_tester/specflux.head b/ast/ast_tester/specflux.head
deleted file mode 100644
index ac4a035..0000000
--- a/ast/ast_tester/specflux.head
+++ /dev/null
@@ -1,28 +0,0 @@
-
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AST
-COMMENT AST Beginning of AST data for CmpFrame object AST
-COMMENT AST ................................................................ AST
-BEGAST_A= 'CmpFrame' / Compound coordinate system description
-FRAMEA_A= ' ' / First component Frame
-BEGAST_B= 'SpecFrame' / Description of spectral coordinate system
-NAXES_A = 1 / Number of coordinate axes
-SYSTEM_A= 'WAVE ' / Coordinate system type
-AX1_A = ' ' / Axis number 1
-BEGAST_C= 'Axis ' / Coordinate axis
-UNIT_A = 'um ' / Axis units
-ENDAST_A= 'Axis ' / End of object definition
-ISA_A = 'Frame ' / Coordinate system description
-UWAVE_A = 'um ' / Preferred units for wavelength
-ENDAST_B= 'SpecFrame' / End of object definition
-FRAMEB_A= ' ' / Second component Frame
-BEGAST_D= 'Frame ' / Coordinate system description
-NAXES_B = 1 / Number of coordinate axes
-AX1_B = ' ' / Axis number 1
-BEGAST_E= 'Axis ' / Coordinate axis
-UNIT_B = '10%^50+%s50+-26%+W/m%^50+%s50+2%+/Angstrom'/ Axis units
-ENDAST_C= 'Axis ' / End of object definition
-ENDAST_D= 'Frame ' / End of object definition
-ENDAST_E= 'CmpFrame' / End of object definition
-COMMENT AST ................................................................ AST
-COMMENT AST End of AST data for CmpFrame object AST
-COMMENT AST ---------------------------------------------------------------- AST
diff --git a/ast/ast_tester/splittest1.ast b/ast/ast_tester/splittest1.ast
deleted file mode 100644
index 9fb1e2f..0000000
--- a/ast/ast_tester/splittest1.ast
+++ /dev/null
@@ -1,185 +0,0 @@
- Begin CmpMap # Compound Mapping
- Nin = 4 # Number of input coordinates
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin UnitMap # Unit (null) Mapping
- Nin = 4 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- End UnitMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 4 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 4 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -129 # Shift for axis 1
- Sft2 = -65 # Shift for axis 2
- Sft3 = -0.5 # Shift for axis 3
- Sft4 = -1 # Shift for axis 4
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 4 # Number of input coordinates
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap # Matrix transformation
- Nin = 4 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 0.996194698 # Forward matrix value
- M1 = 0.087155743 # Forward matrix value
- M2 = 0 # Forward matrix value
- M3 = 0 # Forward matrix value
- M4 = -0.087155743 # Forward matrix value
- M5 = 0.996194698 # Forward matrix value
- M6 = 0 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = 0 # Forward matrix value
- M9 = 0 # Forward matrix value
- M10 = 1 # Forward matrix value
- M11 = 0 # Forward matrix value
- M12 = 0 # Forward matrix value
- M13 = 0 # Forward matrix value
- M14 = 0 # Forward matrix value
- M15 = 1 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 4 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = 136 # Shift for axis 1
- Sft2 = 76 # Shift for axis 2
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 2 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- Series = 0 # Component Mappings applied in parallel
- MapA = # First component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 1 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap # Map one window on to another
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = 0.5 # Shift for axis 1
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 1 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin LutMap # Map 1-d coordinates using a lookup table
- Nin = 1 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Nlut = 8 # Number of lookup table elements
- Start = 1 # Input value at first element
-# Incr = 1 # Input value increment between elements
- LutInt = 0 # Interpolation method
- L1 = 0.5 # Lookup table elements...
- L2 = 1.5
- L3 = 1.5
- L4 = 2.5
- L5 = 2.5
- L6 = 3.5
- L7 = 3.5
- L8 = 4.5
- End LutMap
- MapB = # Second component Mapping
- Begin LutMap # Map 1-d coordinates using a lookup table
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Nlut = 8 # Number of lookup table elements
- Start = 1 # Input value at first element
-# Incr = 1 # Input value increment between elements
- LutInt = 0 # Interpolation method
- L1 = 0.21106114 # Lookup table elements...
- L2 = 0.21076437
- L3 = 2e-06
- L4 = 2.2e-06
- L5 = 5e-07
- L6 = 6.5e-07
- L7 = 1.24e-09
- L8 = 2.48e-09
- End LutMap
- End CmpMap
- End CmpMap
- MapB = # Second component Mapping
- Begin CmpMap # Compound Mapping
- Nin = 1 # Number of input coordinates
- IsSimp = 1 # Mapping has been simplified
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin LutMap # Map 1-d coordinates using a lookup table
- Nin = 1 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Nlut = 8 # Number of lookup table elements
- Start = 1 # Input value at first element
-# Incr = 1 # Input value increment between elements
- LutInt = 0 # Interpolation method
- L1 = 0 # Lookup table elements...
- L2 = 1
- L3 = 1
- L4 = 2
- L5 = 2
- L6 = 3
- L7 = 3
- L8 = 4
- End LutMap
- MapB = # Second component Mapping
- Begin LutMap # Map 1-d coordinates using a lookup table
- Nin = 1 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- Inv = 0 # Inverse transformation not defined
- IsA Mapping # Mapping between coordinate systems
- Nlut = 8 # Number of lookup table elements
- Start = 1 # Input value at first element
-# Incr = 1 # Input value increment between elements
- LutInt = 0 # Interpolation method
- L1 = 1997.84512 # Lookup table elements...
- L2 = 1997.84631
- L3 = 1993.28451
- L4 = 1993.28456
- L5 = 2001.59234
- L6 = 2001.59239
- L7 = 2002.18265
- L8 = 2002.18301
- End LutMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
diff --git a/ast/ast_tester/stcschan-test1-doc3-props.ast b/ast/ast_tester/stcschan-test1-doc3-props.ast
deleted file mode 100644
index 4ab41aa..0000000
--- a/ast/ast_tester/stcschan-test1-doc3-props.ast
+++ /dev/null
@@ -1,126 +0,0 @@
-Begin KeyMap # Map of key/value pairs
- MapSz = 16 # Size of hash table
- Key1 = "REDSHIFT_PROPS" # Item name
- Typ1 = 4 # Item data type (AST Object)
- Val1 = # Item value
- Begin KeyMap # Map of key/value pairs
- MapSz = 16 # Size of hash table
- Key1 = "PIXSIZE" # Item name
- Typ1 = 3 # Item data type (string)
- Val1 = "0.3" # Item value
- Key2 = "ID" # Item name
- Typ2 = 3 # Item data type (string)
- Val2 = "RedshiftInterval" # Item value
- Key3 = "REFPOS" # Item name
- Typ3 = 3 # Item data type (string)
- Val3 = "BARYCENTER" # Item value
- Key4 = "HILIMIT" # Item name
- Typ4 = 3 # Item data type (string)
- Val4 = "2300.0" # Item value
- Key5 = "TYPE" # Item name
- Typ5 = 3 # Item data type (string)
- Val5 = "VELOCITY" # Item value
- Key6 = "RESOLUTION" # Item name
- Typ6 = 3 # Item data type (string)
- Val6 = "0.7" # Item value
- Key7 = "DOPPLERDEF" # Item name
- Typ7 = 3 # Item data type (string)
- Val7 = "OPTICAL" # Item value
- Key8 = "REDSHIFT" # Item name
- Typ8 = 3 # Item data type (string)
- Val8 = "300.0" # Item value
- Key9 = "LOLIMIT" # Item name
- Typ9 = 3 # Item data type (string)
- Val9 = "200.0" # Item value
- End KeyMap
- Key2 = "SPACE_PROPS" # Item name
- Typ2 = 4 # Item data type (AST Object)
- Val2 = # Item value
- Begin KeyMap # Map of key/value pairs
- MapSz = 16 # Size of hash table
- Key1 = "SIZE" # Item name
- Typ1 = 3 # Item data type (string)
- Val1 = "0.000333 0.000278" # Item value
- Key2 = "FRAME" # Item name
- Typ2 = 3 # Item data type (string)
- Val2 = "ICRS" # Item value
- Key3 = "PIXSIZE" # Item name
- Typ3 = 3 # Item data type (string)
- Val3 = "0.000083 0.000083" # Item value
- Key4 = "ID" # Item name
- Typ4 = 3 # Item data type (string)
- Val4 = "Circle" # Item value
- Key5 = "REFPOS" # Item name
- Typ5 = 3 # Item data type (string)
- Val5 = "GEOCENTER" # Item value
- Key6 = "CENTRE" # Item name
- Typ6 = 3 # Item data type (string)
- Val6 = "179.0 -11.5" # Item value
- Key7 = "RESOLUTION" # Item name
- Typ7 = 3 # Item data type (string)
- Val7 = "0.001778" # Item value
- Key8 = "POSITION" # Item name
- Typ8 = 3 # Item data type (string)
- Val8 = "179.0 -11.5" # Item value
- Key9 = "RADIUS" # Item name
- Typ9 = 3 # Item data type (string)
- Val9 = "0.5" # Item value
- Key10 = "ERROR" # Item name
- Typ10 = 3 # Item data type (string)
- Val10 = "0.000889" # Item value
- End KeyMap
- Key3 = "SPECTRAL_PROPS" # Item name
- Typ3 = 4 # Item data type (AST Object)
- Val3 = # Item value
- Begin KeyMap # Map of key/value pairs
- MapSz = 16 # Size of hash table
- Key1 = "ID" # Item name
- Typ1 = 3 # Item data type (string)
- Val1 = "Spectral" # Item value
- Key2 = "SPECTRAL" # Item name
- Typ2 = 3 # Item data type (string)
- Val2 = "1420.4" # Item value
- Key3 = "REFPOS" # Item name
- Typ3 = 3 # Item data type (string)
- Val3 = "BARYCENTER" # Item value
- Key4 = "UNIT" # Item name
- Typ4 = 3 # Item data type (string)
- Val4 = "MHz" # Item value
- Key5 = "RESOLUTION" # Item name
- Typ5 = 3 # Item data type (string)
- Val5 = "10.0" # Item value
- End KeyMap
- Key4 = "TIME_PROPS" # Item name
- Typ4 = 4 # Item data type (AST Object)
- Val4 = # Item value
- Begin KeyMap # Map of key/value pairs
- MapSz = 16 # Size of hash table
- Key1 = "PIXSIZE" # Item name
- Typ1 = 3 # Item data type (string)
- Val1 = "1024.0" # Item value
- Key2 = "ID" # Item name
- Typ2 = 3 # Item data type (string)
- Val2 = "TimeInterval" # Item value
- Key3 = "START" # Item name
- Typ3 = 3 # Item data type (string)
- Val3 = "1996-01-01T00:00:00" # Item value
- Key4 = "TIME" # Item name
- Typ4 = 3 # Item data type (string)
- Val4 = "MJD 50814.0" # Item value
- Key5 = "REFPOS" # Item name
- Typ5 = 3 # Item data type (string)
- Val5 = "GEOCENTER" # Item value
- Key6 = "RESOLUTION" # Item name
- Typ6 = 3 # Item data type (string)
- Val6 = "0.8" # Item value
- Key7 = "STOP" # Item name
- Typ7 = 3 # Item data type (string)
- Val7 = "1996-01-01T00:30:00" # Item value
- Key8 = "TIMESCALE" # Item name
- Typ8 = 3 # Item data type (string)
- Val8 = "TT" # Item value
- Key9 = "ERROR" # Item name
- Typ9 = 3 # Item data type (string)
- Val9 = "1.2" # Item value
- End KeyMap
-End KeyMap
diff --git a/ast/ast_tester/stcschan-test1-doc3.ast b/ast/ast_tester/stcschan-test1-doc3.ast
deleted file mode 100644
index 0758ca7..0000000
--- a/ast/ast_tester/stcschan-test1-doc3.ast
+++ /dev/null
@@ -1,272 +0,0 @@
- Begin Prism # Region extrusion into higher dimensions
-# Title = "5-d compound coordinate system" # Title of coordinate system
-# Naxes = 5 # Number of coordinate axes
-# Domain = "TIME-SKY-SPECTRUM-REDSHIFT" # Coordinate system domain
-# Epoch = 1995.9986310746 # Julian epoch of observation
-# Lbl1 = "Modified Julian Date offset from 1996-01-01 " # Label for axis 1
-# Lbl2 = "Right ascension" # Label for axis 2
-# Lbl3 = "Declination" # Label for axis 3
-# Lbl4 = "Frequency" # Label for axis 4
-# Lbl5 = "Optical velocity" # Label for axis 5
-# System = "Compound" # Coordinate system type
-# Uni1 = "d" # Units for axis 1 (day)
-# Uni2 = "hh:mm:ss.s" # Units for axis 2
-# Uni3 = "ddd:mm:ss" # Units for axis 3
-# Uni4 = "MHz" # Units for axis 4
-# Uni5 = "km/s" # Units for axis 5
-# Dir2 = 0 # Plot axis 2 in reverse direction
- IsA Frame # Coordinate system description
- Adapt = 1 # Region adapts to coord sys changes
- Frm = # Coordinate system
- Begin CmpFrame # Compound coordinate system description
-# Title = "5-d compound coordinate system" # Title of coordinate system
-# Naxes = 5 # Number of coordinate axes
-# Domain = "TIME-SKY-SPECTRUM-REDSHIFT" # Coordinate system domain
-# Lbl1 = "Modified Julian Date offset from 1996-01-01 " # Label for axis 1
-# Lbl2 = "Right ascension" # Label for axis 2
-# Lbl3 = "Declination" # Label for axis 3
-# Lbl4 = "Frequency" # Label for axis 4
-# Lbl5 = "Optical velocity" # Label for axis 5
-# Uni1 = "d" # Units for axis 1 (day)
-# Uni2 = "hh:mm:ss.s" # Units for axis 2
-# Uni3 = "ddd:mm:ss" # Units for axis 3
-# Uni4 = "MHz" # Units for axis 4
-# Uni5 = "km/s" # Units for axis 5
-# Dir2 = 0 # Plot axis 2 in reverse direction
- IsA Frame # Coordinate system description
- FrameA = # First component Frame
- Begin CmpFrame # Compound coordinate system description
- FrameA = # First component Frame
- Begin CmpFrame # Compound coordinate system description
- FrameA = # First component Frame
- Begin TimeFrame # Description of time coordinate system
- Naxes = 1 # Number of coordinate axes
- Epoch = 1995.9986310746 # Julian epoch of observation
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- End Axis
- IsA Frame # Coordinate system description
- TmScl = "TT" # Time scale
- TmOrg = 50083 # Time offset
- End TimeFrame
- FrameB = # Second component Frame
- Begin SkyFrame # Description of celestial coordinate system
- Naxes = 2 # Number of coordinate axes
- Epoch = 1995.9986310746 # Julian epoch of observation
- System = "ICRS" # Coordinate system type
- Ax1 = # Axis number 1
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- Ax2 = # Axis number 2
- Begin SkyAxis # Celestial coordinate axis
- End SkyAxis
- IsA Frame # Coordinate system description
- End SkyFrame
- End CmpFrame
- FrameB = # Second component Frame
- Begin SpecFrame # Description of spectral coordinate system
- Naxes = 1 # Number of coordinate axes
- Epoch = 1995.9986310746 # Julian epoch of observation
- System = "FREQ" # Coordinate system type
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Unit = "MHz" # Axis units
- End Axis
- IsA Frame # Coordinate system description
- SoR = "Barycentric" # Standard of rest
- UFreq = "MHz" # Preferred units for frequency
- End SpecFrame
- End CmpFrame
- FrameB = # Second component Frame
- Begin SpecFrame # Description of spectral coordinate system
- Naxes = 1 # Number of coordinate axes
- Domain = "REDSHIFT" # Coordinate system domain
- Epoch = 1995.9986310746 # Julian epoch of observation
- System = "VOPT" # Coordinate system type
- Ax1 = # Axis number 1
- Begin Axis # Coordinate axis
- Unit = "km/s" # Axis units
- End Axis
- IsA Frame # Coordinate system description
- SoR = "Barycentric" # Standard of rest
- UVopt = "km/s" # Preferred units for optical velocity
- End SpecFrame
- End CmpFrame
- RegAxes = 5 # Number of axes spanned by the Region
- IsA Region # An area within a coordinate system
- RegionA = # First component Region
- Begin Prism # Region extrusion into higher dimensions
-# Title = "4-d compound coordinate system" # Title of coordinate system
-# Naxes = 4 # Number of coordinate axes
-# Domain = "TIME-SKY-SPECTRUM" # Coordinate system domain
-# Epoch = 1995.9986310746 # Julian epoch of observation
-# Lbl1 = "Modified Julian Date offset from 1996-01-01 " # Label for axis 1
-# Lbl2 = "Right ascension" # Label for axis 2
-# Lbl3 = "Declination" # Label for axis 3
-# Lbl4 = "Frequency" # Label for axis 4
-# System = "Compound" # Coordinate system type
-# Uni1 = "d" # Units for axis 1 (day)
-# Uni2 = "hh:mm:ss.s" # Units for axis 2
-# Uni3 = "ddd:mm:ss" # Units for axis 3
-# Uni4 = "MHz" # Units for axis 4
-# Dir2 = 0 # Plot axis 2 in reverse direction
- IsA Frame # Coordinate system description
- Adapt = 1 # Region adapts to coord sys changes
- RegAxes = 4 # Number of axes spanned by the Region
- IsA Region # An area within a coordinate system
- RegionA = # First component Region
- Begin Prism # Region extrusion into higher dimensions
-# Title = "3-d compound coordinate system" # Title of coordinate system
-# Naxes = 3 # Number of coordinate axes
-# Domain = "TIME-SKY" # Coordinate system domain
-# Epoch = 1995.9986310746 # Julian epoch of observation
-# Lbl1 = "Modified Julian Date offset from 1996-01-01 " # Label for axis 1
-# Lbl2 = "Right ascension" # Label for axis 2
-# Lbl3 = "Declination" # Label for axis 3
-# System = "Compound" # Coordinate system type
-# Uni1 = "d" # Units for axis 1 (day)
-# Uni2 = "hh:mm:ss.s" # Units for axis 2
-# Uni3 = "ddd:mm:ss" # Units for axis 3
-# Dir2 = 0 # Plot axis 2 in reverse direction
- IsA Frame # Coordinate system description
- Adapt = 1 # Region adapts to coord sys changes
- RegAxes = 3 # Number of axes spanned by the Region
- IsA Region # An area within a coordinate system
- RegionA = # First component Region
- Begin Box # Axis intervals
-# Title = "Modified Julian Date [TT] offset from 1996-01-01 00:00:00" # Title of coordinate system
-# Naxes = 1 # Number of coordinate axes
-# Domain = "TIME" # Coordinate system domain
-# Epoch = 1995.9986310746 # Julian epoch of observation
-# Lbl1 = "Modified Julian Date offset from 1996-01-01 " # Label for axis 1
-# System = "MJD" # Coordinate system type
-# Uni1 = "d" # Units for axis 1 (day)
- IsA Frame # Coordinate system description
- Closed = 1 # Boundary is inside
- Adapt = 1 # Region adapts to coord sys changes
- Points = # Points defining the shape
- Begin PointSet # Container for a set of points
- Npoint = 2 # Number of points
- Ncoord = 1 # Number of coordinates per point
- X1 = 0.0104166666678793 # Coordinate values...
- X2 = 0.0208333333357587
- End PointSet
- Unc = # Region defining positional uncertainties.
- Begin Box # Axis intervals
-# Title = "Modified Julian Date [TT] offset from 1996-01-01 00:00:00" # Title of coordinate system
-# Naxes = 1 # Number of coordinate axes
-# Domain = "TIME" # Coordinate system domain
-# Epoch = 1995.9986310746 # Julian epoch of observation
-# Lbl1 = "Modified Julian Date offset from 1996-01-01 " # Label for axis 1
-# System = "MJD" # Coordinate system type
-# Uni1 = "d" # Units for axis 1 (day)
- IsA Frame # Coordinate system description
- Adapt = 1 # Region adapts to coord sys changes
- Points = # Points defining the shape
- Begin PointSet # Container for a set of points
- Npoint = 2 # Number of points
- Ncoord = 1 # Number of coordinates per point
- X1 = 0.0104166666678793 # Coordinate values...
- X2 = 0.0104305555567682
- End PointSet
- IsA Region # An area within a coordinate system
- End Box
- IsA Region # An area within a coordinate system
- End Box
- RegionB = # Second component Region
- Begin Circle # Circular or spherical region
-# Title = "ICRS coordinates" # Title of coordinate system
-# Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
-# Epoch = 1995.9986310746 # Julian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# System = "ICRS" # Coordinate system type
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
-# Bot2 = -1.5707963267949 # Lowest legal axis value
-# Top2 = 1.5707963267949 # Highest legal axis value
- IsA Frame # Coordinate system description
- Adapt = 1 # Region adapts to coord sys changes
- Points = # Points defining the shape
- Begin PointSet # Container for a set of points
- Npoint = 2 # Number of points
- Ncoord = 2 # Number of coordinates per point
- X1 = 3.12413936106985 # Coordinate values...
- X2 = -0.200712863979348
- X3 = 3.13304478740064
- X4 = -0.200712708456374
- End PointSet
- Unc = # Region defining positional uncertainties.
- Begin Box # Axis intervals
-# Title = "ICRS coordinates" # Title of coordinate system
-# Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
-# Epoch = 1995.9986310746 # Julian epoch of observation
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# System = "ICRS" # Coordinate system type
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
-# Bot2 = -1.5707963267949 # Lowest legal axis value
-# Top2 = 1.5707963267949 # Highest legal axis value
- IsA Frame # Coordinate system description
- Adapt = 1 # Region adapts to coord sys changes
- Points = # Points defining the shape
- Begin PointSet # Container for a set of points
- Npoint = 2 # Number of points
- Ncoord = 2 # Number of coordinates per point
- X1 = 3.12413936106985 # Coordinate values...
- X2 = -0.200712863979348
- X3 = 3.12415519494
- X4 = -0.200697348002298
- End PointSet
- IsA Region # An area within a coordinate system
- End Box
- IsA Region # An area within a coordinate system
- End Circle
- End Prism
- RegionB = # Second component Region
- Begin PointList # Collection of points
-# Title = "Frequency (Barycentric)" # Title of coordinate system
-# Naxes = 1 # Number of coordinate axes
-# Domain = "SPECTRUM" # Coordinate system domain
-# Epoch = 1995.9986310746 # Julian epoch of observation
-# Lbl1 = "Frequency" # Label for axis 1
-# System = "FREQ" # Coordinate system type
-# Uni1 = "MHz" # Units for axis 1
- IsA Frame # Coordinate system description
- Adapt = 1 # Region adapts to coord sys changes
- Points = # Points defining the shape
- Begin PointSet # Container for a set of points
- Npoint = 1 # Number of points
- Ncoord = 1 # Number of coordinates per point
- X1 = 1420.4 # Coordinate values...
- End PointSet
- IsA Region # An area within a coordinate system
- End PointList
- End Prism
- RegionB = # Second component Region
- Begin Box # Axis intervals
-# Title = "Optical velocity (Barycentric), rest frequency = 100000 GHz" # Title of coordinate system
-# Naxes = 1 # Number of coordinate axes
-# Domain = "REDSHIFT" # Coordinate system domain
-# Epoch = 1995.9986310746 # Julian epoch of observation
-# Lbl1 = "Optical velocity" # Label for axis 1
-# System = "VOPT" # Coordinate system type
-# Uni1 = "km/s" # Units for axis 1
- IsA Frame # Coordinate system description
- Closed = 1 # Boundary is inside
- Adapt = 1 # Region adapts to coord sys changes
- Points = # Points defining the shape
- Begin PointSet # Container for a set of points
- Npoint = 2 # Number of points
- Ncoord = 1 # Number of coordinates per point
- X1 = 1250 # Coordinate values...
- X2 = 2300
- End PointSet
- IsA Region # An area within a coordinate system
- End Box
- End Prism
diff --git a/ast/ast_tester/testchannel.f b/ast/ast_tester/testchannel.f
deleted file mode 100644
index ac69b2c..0000000
--- a/ast/ast_tester/testchannel.f
+++ /dev/null
@@ -1,88 +0,0 @@
- program testrate
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'AST_ERR'
-
- integer status, ch, sf, sf2
- character buff*50
- status = sai__ok
-
- call err_begin( status )
- call ast_begin( status )
-
-
- call ast_tunec( "hrdel", AST__TUNULLC, buff, status )
- if( buff .ne. '%-%^50+%s70+h%+' .and. status .eq. sai__ok ) then
- call stopit( 0, status )
- endif
- call ast_tunec( "hrdel", "junk", buff, status )
- call ast_tunec( "hrdel", AST__TUNULLC, buff, status )
- if( buff .ne. 'junk' .and. status .eq. sai__ok ) then
- call stopit( -1, status )
- endif
-
- sf = ast_skyframe( ' ', status )
- ch = ast_channel( AST_NULL, AST_NULL, 'SinkFile=./fred.txt',
- : status )
- if( ast_write( ch, sf, status ) .ne. 1 ) then
- call stopit( 1, status )
- end if
-
- call ast_set( ch, 'SourceFile=./fred.txt', status )
- if( status .eq. SAI__OK ) then
- sf2 = ast_read( ch, status )
- if( status .eq. AST__RDERR ) then
- call err_annul( status )
- else
- call stopit( 7, status )
- end if
- end if
-
- call ast_clear( ch, 'SinkFile', status )
-
- call ast_set( ch, 'SourceFile=./fred.txt', status )
- sf2 = ast_read( ch, status )
- if( sf2 .eq. AST__NULL ) call stopit( 2, status )
- if( .not. ast_equal( sf, sf2, status ) ) then
- call stopit( 3, status )
- end if
-
-
- call ast_set( ch, 'SinkFile=./fred2.txt', status )
- if( ast_write( ch, sf, status ) .ne. 1 ) then
- call stopit( 4, status )
- end if
- call ast_clear( ch, 'SinkFile', status )
-
- call ast_set( ch, 'SourceFile=./fred2.txt', status )
- sf2 = ast_read( ch, status )
- if( sf2 .eq. AST__NULL ) call stopit( 5, status )
- if( .not. ast_equal( sf, sf2, status ) ) then
- call stopit( 6, status )
- end if
-
-
- call ast_end( status )
- call err_end( status )
-
-
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All Channel tests passed'
- else
- write(*,*) 'Channel tests failed'
- end if
-
- end
-
-
- subroutine stopit( i, status )
- implicit none
- include 'SAE_PAR'
- integer i, status
- if( status .eq. sai__ok ) then
- write( *,* ) 'Error ',i
- status = sai__error
- end if
- end
diff --git a/ast/ast_tester/testchebymap.f b/ast/ast_tester/testchebymap.f
deleted file mode 100644
index b0a0bba..0000000
--- a/ast/ast_tester/testchebymap.f
+++ /dev/null
@@ -1,475 +0,0 @@
- program testchebymap
- implicit none
-
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'PRM_PAR'
-
- integer status, lstat, cm, cm2, cm3, i, j, nco
- double precision lbnd( 2 ), ubnd( 2 ), dval, lb, ub, xl(2), xu(2)
- double precision tlbnd( 2 ), tubnd( 2 ), dlbnd( 2 ), dubnd( 2 )
-
- double precision coeffs_1( 4*3 ), xin( 5 ), xout( 5 ), xrec( 5 ),
- : yrec( 5 ), coeffs_4(4*4 ),
- : work( 5 ), coeffs_2( 2*3 ), coeffs_3( 4*5 ),
- : yin(5), yout(5), xi, yi, xv, yv, y, a, x,
- : cofs( 100 )
-
-
-C f(x) = 1.5*T0(x') - 1.0*T2(x') + 2.0*T3(x') - 1.3*T4(x')
- data coeffs_1 /1.5D0, 1.0D0, 0.0D0,
- : -1.0D0, 1.0D0, 2.0D0,
- : 2.0D0, 1.0D0, 3.0D0,
- : 1.3D0, 1.0D0, 4.0D0 /
-
-C f(x) = 1.0*T0(x') - 2.0*T1(x')
- data coeffs_2 /1.0D0, 1.0D0, 0.0D0,
- : -2.0D0, 1.0D0, 1.0D0 /
-
-
-C fx(x,y) = 1.0*T0(x')*T0(y') - 2.0*T1(x')*T2(y') + T1(y')
-C fy(x,y) = 1.5*T0(x')*T0(y') - 2.5*T1(x')*T2(y')
- data coeffs_3 /1.0D0, 1.0D0, 0.0D0, 0.0D0,
- : -2.0D0, 1.0D0, 1.0D0, 2.0D0,
- : 1.0D0, 1.0D0, 0.0D0, 1.0D0,
- : 1.5D0, 2.0D0, 0.0D0, 0.0D0,
- : -2.5D0, 2.0D0, 1.0D0, 2.0D0/
-
-C fx(x,y) = T1(x') + T1(y')
-C fy(x,y) = T1(x') - T1(y')
-C
-C This has the property that the coeffs of the inverse transformation are
-C equal to the coeffs of the forward transformation.
- data coeffs_4 /1.0D0, 1.0D0, 1.0D0, 0.0D0,
- : 1.0D0, 1.0D0, 0.0D0, 1.0D0,
- : 1.0D0, 2.0D0, 1.0D0, 0.0D0,
- : -1.0D0, 2.0D0, 0.0D0, 1.0D0 /
-
-
- status = sai__ok
- call ast_begin( status )
-
-C One-dimensional ChebyMaps, order 1: a constant equal to 1.5
- lbnd( 1 ) = -1.0D0
- lbnd( 2 ) = -1.0D0
- ubnd( 1 ) = 1.0D0
- ubnd( 2 ) = 1.0D0
-
- cm = ast_chebymap( 1, 1, 1, coeffs_1, 0, 0.0D0, lbnd, ubnd, 1.0D0,
- : 1.0D0, ' ', status )
-
- xin( 1 ) = -1.0D0
- xin( 2 ) = -0.5D0
- xin( 3 ) = 0.0D0
- xin( 4 ) = 0.5D0
- xin( 5 ) = 1.0D0
-
- call ast_tran1( cm, 5, xin, .true., xout, status )
- do i = 1, 5
- if( xout( i ) .ne. 1.5D0 ) call stopit( 0, status )
- end do
-
-C One-dimensional ChebyMaps, order 3: 2.5 - 2*x*x
- cm = ast_chebymap( 1, 1, 2, coeffs_1, 0, 0.0D0, lbnd, ubnd, 1.0D0,
- : 1.0D0, ' ', status )
- call ast_tran1( cm, 5, xin, .true., xout, status )
- do i = 1, 5
- if( xout( i ) .ne. 2.5D0 - 2.0D0*xin( i )**2 )
- : call stopit( 1, status )
- end do
-
-C One-dimensional ChebyMaps, order 4: 2.5 - 6*x - 2*x*x + 8*x*x*x
- cm = ast_chebymap( 1, 1, 3, coeffs_1, 0, 0.0D0, lbnd, ubnd, 1.0D0,
- : 1.0D0, ' ', status )
- call ast_tran1( cm, 5, xin, .true., xout, status )
- do i = 1, 5
- dval = 2.5D0-6.0D0*xin(i)-2.0D0*xin(i)**2+8.0D0*xin(i)**3
- if( xout( i ) .ne. dval ) call stopit( 2, status )
- end do
-
-C One-dimensional ChebyMaps, order 5
- cm = ast_chebymap( 1, 1, 4, coeffs_1, 0, 0.0D0, lbnd, ubnd, 1.0D0,
- : 1.0D0, ' ', status )
- call ast_tran1( cm, 5, xin, .true., xout, status )
-
- do i = 1, 5
- work( 1 ) = 1.0D0
- work( 2 ) = xin( i )
- do j = 3, 5
- work( j ) = 2.0D0 * xin( i ) * work( j - 1 )
- : - work( j - 2 )
- end do
-
- if( 1.5D0*work(1) - 1.0D0*work(3) +
- : 2.0D0*work(4) + 1.3D0*work(5) .ne.
- : xout( i ) ) call stopit( 3, status )
-
- end do
-
-C Check the IterInverse attribute is zero.
- if( ast_getl( cm, 'IterInverse', status ) ) then
- call stopit( 4, status )
- end if
-
-c The astPolyTran method on a 1-dimensional ChebyMaps, order 2: 1 - 2*x
- cm = ast_chebymap( 1, 1, 2, coeffs_2, 0, 0.0D0, lbnd, ubnd, 1.0D0,
- : 1.0D0, ' ', status )
- cm2 = ast_polytran( cm, .false., 0.01D0, 0.01D0, 5, lbnd,
- : ubnd, status )
- if( cm2 .eq. AST__NULL ) then
- call stopit( 5, status )
- else
- xin( 1 ) = -1.0D0
- xin( 2 ) = -0.5D0
- xin( 3 ) = 0.0D0
- xin( 4 ) = 0.5D0
- xin( 5 ) = 1.0D0
- call ast_tran1( cm2, 5, xin, .true., xout, status )
- call ast_tran1( cm2, 5, xout, .false., xrec, status )
- do i = 1, 5
- if( abs( xrec(i) - xin(i) ) .gt. 1.0D-3*abs( xin(i) ) )
- : call stopit( 6, status )
- end do
-
- call ast_chebydomain( cm2, .false., dlbnd, dubnd, status )
- if( dlbnd(1) .ne. -1.0D0 )
- : call stopit( 501, status )
- if( dubnd(1) .ne. 3.0D0 )
- : call stopit( 502, status )
-
- call ast_polycoeffs( cm2, .false., 100, cofs, nco, status )
- if( nco .ne. 1 )
- : call stopit( 503, status )
-
- if( abs( cofs(1) + 1.0D0 ) .gt. 1.0D-10 )
- : call stopit( 504, status )
- if( abs( cofs(2) - 1.0D0 ) .gt. 1.0D-10 )
- : call stopit( 505, status )
- if( abs( cofs(3) - 1.0D0 ) .gt. 1.0D-10 )
- : call stopit( 506, status )
-
- end if
-
-c The astPolyTran method on a 1-dimensional ChebyMaps, order 5.
- lbnd( 1 ) = -100.0D0
- ubnd( 1 ) = 100.0D0
- cm = ast_chebymap( 1, 1, 4, coeffs_1, 0, 0.0D0, lbnd, ubnd, 1.0D0,
- : 1.0D0, ' ', status )
- cm2 = ast_polytran( cm, .false., 0.01D0, 0.01D0, 10, -5.0D0,
- : 50.0D0, status )
-
- if( cm2 .eq. AST__NULL ) then
- call stopit( 7, status )
- else
- xin(1) = 0.0D0;
- xin(2) = 10.0D0;
- xin(3) = 20.0D0;
- xin(4) = 30.0D0;
- xin(5) = 40.0D0;
- call ast_tran1( cm2, 5, xin, .true., xout, status )
- call ast_tran1( cm2, 5, xout, .false., xrec, status )
-
- do i = 1, 5
- if( abs( xrec( i ) - xin( i ) ) .gt. 0.01D0 )
- : call stopit( 8, status )
- end do
- end if
-
-c ast_equal and ast_copy
- cm3 = ast_copy( cm2, status )
- if( .not. ast_equal( cm2, cm3, status ) ) then
- call stopit( 9, status )
- end if
-
-c astDump and astLoadChebyMap
- call checkdump( cm2, status )
-
-
-c Simple 2d ChebyMap.
-C fx(x,y) = T1(x') + T1(y')
-C fy(x,y) = T1(x') - T1(y')
-
- lbnd(1) = -1.0D0
- lbnd(2) = -1.0D0
- ubnd(1) = 1.0D0
- ubnd(2) = 1.0D0
-
- cm = ast_chebymap( 2, 2, 4, coeffs_4, 0, 0.0D0, lbnd, ubnd,
- : 1.0D0, 1.0D0, ' ', status )
-
- cm2 = ast_copy( cm, status )
- call ast_invert( cm2, status )
- cm3 = ast_simplify( ast_cmpmap( cm, cm2, .TRUE., ' ', status ),
- : status )
- if( .not. ast_isaunitmap( cm3, status ) ) then
- call stopit( 1000, status )
- end if
-
- xin(1) = 0.5D0
- xin(2) = 0.0D0
- xin(3) = -0.5D0
- xin(4) = 0.0D0
-
- yin(1) = 0.0D0
- yin(2) = 0.5D0
- yin(3) = 0.0D0
- yin(4) = -0.5D0
-
- call ast_tran2( cm, 4, xin, yin, .true., xout, yout, status )
- do i = 1, 4
- xv = xin(i) + yin(i)
- yv = xin(i) - yin(i)
-
- if( abs( xout(i) - xv ) .gt. 1.0D-6*abs(xv) .or.
- : abs( yout(i) - yv ) .gt. 1.0D-6*abs(yv) ) then
- call stopit( 101, status )
- end if
- end do
-
- cm2 = ast_polytran( cm, .false., 0.01D0, 0.01D0, 10, lbnd,
- : ubnd, status )
-
- if( cm2 .eq. AST__NULL ) then
- call stopit( 102, status )
- else
- call ast_tran2( cm2, 4, xout, yout, .false., xrec, yrec,
- : status )
- do i = 1, 4
- if( abs( xrec(i) - xin(i) ) .gt. 0.01D0 .or.
- : abs( yrec(i) - yin(i) ) .gt. 0.01D0 ) then
- call stopit( 103, status )
- end if
- end do
- end if
-
- call ast_polycoeffs( cm2, .false., 100, cofs, nco, status )
- if( nco .ne. 4 ) then
- call stopit( 104, status )
- else
- do i = 1, 16
- if( abs( cofs(i) - coeffs_4(i) ) .gt. 0.01D0 ) then
- call stopit( 105, status )
- end if
- end do
- end if
-
- call ast_chebydomain( cm2, .false., dlbnd, dubnd, status )
-
- if( dlbnd(1) .ne. -2.0D0 ) then
- call stopit( 106, status )
- else if( dlbnd(2) .ne. -2.0D0 ) then
- call stopit( 107, status )
- else if( dubnd(1) .ne. 2.0D0 ) then
- call stopit( 108, status )
- else if( dubnd(2) .ne. 2.0D0 ) then
- call stopit( 109, status )
- end if
-
-* 2-dimensional ChebyMaps: forward transformation
- lbnd(1) = 0.0D0
- lbnd(2) = 0.0D0
- ubnd(1) = 10.0D0
- ubnd(2) = 10.0D0
-
- cm = ast_chebymap( 2, 2, 5, coeffs_3, 0, 0.0D0, lbnd, ubnd,
- : 1.0D0, 1.0D0, ' ', status )
-
- xin(1) = 0.0D0
- xin(2) = 2.0D0
- xin(3) = 6.0D0
- xin(4) = 10.0D0
-
- yin(1) = 2.0D0
- yin(2) = 5.0D0
- yin(3) = 8.0D0
- yin(4) = 0.0D0
-
- call ast_tran2( cm, 4, xin, yin, .true., xout, yout, status )
- do i = 1, 4
- xi = 2.0D0*( xin(i) - lbnd(1) )/( ubnd(1) - lbnd(1) ) - 1.0D0
- yi = 2.0D0*( yin(i) - lbnd(2) )/( ubnd(2) - lbnd(2) ) - 1.0D0
-
- xv = 1 - 2*xi*(2*yi**2 - 1) + yi
- yv = 1.5 - 2.5*xi*(2*yi**2 - 1)
-
- if( abs( xout(i) - xv ) .gt. 1.0D-6*abs(xv) .or.
- : abs( yout(i) - yv ) .gt. 1.0D-6*abs(yv) ) then
- call stopit( 10, status )
- end if
- end do
-
-
-* 2-dimensional ChebyMaps: fitted inverse transformation
- tlbnd(1) = 4.0D0
- tlbnd(2) = 4.0D0
- tubnd(1) = 6.0D0
- tubnd(2) = 6.0D0
- cm2 = ast_polytran( cm, .false., 0.01D0, 0.01D0, 10, tlbnd,
- : tubnd, status )
-
- if( cm2 .eq. AST__NULL ) then
- call stopit( 11, status )
- else
- xin(1) = 4.0D0
- xin(2) = 4.5D0
- xin(3) = 5.0D0
- xin(4) = 5.5D0
-
- yin(1) = 6.0D0
- yin(2) = 5.5D0
- yin(3) = 5.0D0
- yin(4) = 4.5D0
-
- call ast_tran2( cm2, 4, xin, yin, .true., xout, yout, status )
- call ast_tran2( cm2, 4, xout, yout, .false., xrec, yrec,
- : status )
- do i = 1, 4
- if( abs( xrec(i) - xin(i) ) .gt. 0.01D0 .or.
- : abs( yrec(i) - yin(i) ) .gt. 0.01D0 ) then
- call stopit( 12, status )
- end if
- end do
- end if
-
-
-* Test recovery of coeffs
- call ast_polycoeffs( cm2, .true., 0, 0.0D0, nco, status )
- if( nco .ne. 5 ) then
- call stopit( 13, status )
- endif
-
- call ast_polycoeffs( cm2, .true., 100, cofs, nco, status )
- if( nco .ne. 5 ) then
- call stopit( 14, status )
- else
- do i = 1, 20
- if( cofs( i ) .ne. coeffs_3( i ) ) then
- call stopit( 15, status )
- end if
- end do
- endif
-
- call ast_polycoeffs( cm2, .false., 0, 0.0D0, nco, status )
- if( nco .ne. 9 ) then
- call stopit( 16, status )
- endif
-
- call ast_polycoeffs( cm2, .false., 100, cofs, nco, status )
-
- if( nco .ne. 9 ) then
- call stopit( 17, status )
- else if( abs( cofs( 1 ) - 5.0000000000000018D0 ) .gt.
- : 1.0E-6 ) then
- call stopit( 18, status )
- else if( abs( cofs( 13 ) - 0.35096188953505458D0 ) .gt.
- : 1.0E-6 ) then
- call stopit( 19, status )
- else if( cofs( 15 ) .ne. 2.0D0 ) then
- call stopit( 20, status )
- end if
-
-* Test recovery of domain bounding box
- call ast_chebydomain( cm, .true., dlbnd, dubnd, status )
-
- if( dlbnd(1) .ne. lbnd(1) ) then
- call stopit( 21, status )
- else if( dlbnd(2) .ne. lbnd(2) ) then
- call stopit( 22, status )
- else if( dubnd(1) .ne. ubnd(1) ) then
- call stopit( 23, status )
- else if( dubnd(2) .ne. ubnd(2) ) then
- call stopit( 24, status )
- end if
-
- call ast_chebydomain( cm, .false., dlbnd, dubnd, status )
-
- if( dlbnd(1) .ne. -2.0D0 ) then
- call stopit( 25, status )
- else if( dlbnd(2) .ne. -1.0D0 ) then
- call stopit( 26, status )
- else if( dubnd(1) .ne. 4.0D0 ) then
- call stopit( 27, status )
- else if( dubnd(2) .ne. 4.0D0 ) then
- call stopit( 28, status )
- end if
-
-
- call ast_chebydomain( cm2, .true., dlbnd, dubnd, status )
-
- if( dlbnd(1) .ne. lbnd(1) ) then
- call stopit( 29, status )
- else if( dlbnd(2) .ne. lbnd(2) ) then
- call stopit( 30, status )
- else if( dubnd(1) .ne. ubnd(1) ) then
- call stopit( 31, status )
- else if( dubnd(2) .ne. ubnd(2) ) then
- call stopit( 32, status )
- end if
-
- call ast_chebydomain( cm2, .false., dlbnd, dubnd, status )
-
- if( abs( dlbnd(1) - 0.432 ) .gt. 1.0D-6 ) then
- call stopit( 33, status )
- else if( abs( dlbnd(2) - 1.000816 ) .gt. 1.0D-6 ) then
- call stopit( 34, status )
- else if( abs( dubnd(1) - 1.568D0 ) .gt. 1.0D-6 ) then
- call stopit( 35, status )
- else if( abs( dubnd(2) - 1.9991836D0 ) .gt. 1.0D-6 ) then
- call stopit( 36, status )
- end if
-
-
- call ast_end( status )
- call ast_activememory( 'testchebymap' );
- call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All ChebyMap tests passed'
- else
- write(*,*) 'ChebyMap tests failed'
- end if
-
- end
-
-
- subroutine stopit( i, status )
- implicit none
- include 'SAE_PAR'
- integer i, status
- if( status .eq. sai__ok ) then
- write( *,* ) 'Error ',i
- status = sai__error
- end if
- end
-
-
- subroutine checkdump( obj, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer obj, status, ch, result
-
- if( status .ne. sai__ok ) return
-
- ch = ast_channel( AST_NULL, AST_NULL, ' ', status )
-
- call ast_set( ch, 'SinkFile=fred.tmp', status )
- if( ast_write( ch, obj, status ) .ne. 1 ) then
- call stopit( -1, status )
- end if
- call ast_clear( ch, 'SinkFile', status )
-
- call ast_set( ch, 'SourceFile=fred.tmp', status )
- result = ast_read( ch, status )
- if( result .eq. ast__null ) then
- call stopit( -2, status )
- end if
- call ast_clear( ch, 'SourceFile', status )
-
- if( .not. ast_equal( result, obj, status ) ) then
- call ast_show( obj, status )
- call ast_show( result, status )
- call stopit( -3, status )
- end if
-
- end
diff --git a/ast/ast_tester/testcmpmap.f b/ast/ast_tester/testcmpmap.f
deleted file mode 100644
index bd3cad1..0000000
--- a/ast/ast_tester/testcmpmap.f
+++ /dev/null
@@ -1,149 +0,0 @@
- program testcmpmap
- implicit none
-
- include 'AST_PAR'
- include 'SAE_PAR'
-
- integer m1, m2, m3, m4, m5, status, i, in(7), out(7)
- double precision x( 7 ), y(7), y2(7), matrix( 3 )
-
- data matrix /-1.0D0, 1.0D0, 2.0D0 /
-
- status = sai__ok
- call err_mark( status )
- call ast_begin( status )
-
-
- m1 = ast_UnitMap( 1, ' ', status )
- m2 = ast_ZoomMap( 2, 2.0D0, ' ', status )
- m3 = ast_MatrixMap( 3, 3, 1, matrix, ' ', status )
- m4 = ast_CmpMap( ast_CmpMap( m1, m2, .false., ' ', status ), m3,
- : .false., ' ', status )
-
-
- in( 1 ) = 3
- in( 2 ) = 6
- in( 3 ) = 4
- call ast_mapsplit( m4, 3, in, out, m5, status )
- if( m5 .eq. AST__NULL ) then
- call stopit( status, 'Error 1' )
- else if( ast_geti( m5, 'Nin', status ) .ne. 3 ) then
- call stopit( status, 'Error 2' )
- else if( ast_geti( m5, 'Nout', status ) .ne. 3 ) then
- call stopit( status, 'Error 3' )
- end if
-
- if( out( 1 ) .ne. 3 ) call stopit( status, 'Error 4' )
- if( out( 2 ) .ne. 4 ) call stopit( status, 'Error 5' )
- if( out( 3 ) .ne. 6 ) call stopit( status, 'Error 6' )
-
-
- call readobj( 'splittest1.ast', m1, status )
- in(1)= 1
- call ast_mapsplit( m1, 1, in, out, m2, status )
- if( m2 .ne. AST__NULL ) call stopit( status, 'Error 7' )
-
- in(2)= 4
- in(3)= 2
- call ast_mapsplit( m1, 3, in, out, m2, status )
- if( m2 .eq. AST__NULL ) then
- call stopit( status, 'Error 8' )
- else if( ast_geti( m2, 'Nin', status ) .ne. 3 ) then
- call stopit( status, 'Error 9' )
- else if( ast_geti( m2, 'Nout', status ) .ne. 3 ) then
- call stopit( status, 'Error 10' )
- end if
-
-
-
- x(1) = 1.0D0
- x(2) = 2.0D0
- x(3) = 4.0D0
- x(4) = 8.0D0
- call ast_trann( m1, 1,4, 1, x, .true., 4, 1, y, status )
-
- x(1) = 1.0D0
- x(2) = 8.0D0
- x(3) = 2.0D0
- call ast_trann( m2, 1, 3, 1, x, .true., 3, 1, y2, status )
-
- if( y2( 1 ) .ne. y( 1 ) ) then
- call stopit( status, 'Error 11' )
- else if( y2( 2 ) .ne. y( 2 ) ) then
- call stopit( status, 'Error 12' )
- else if( y2( 3 ) .ne. y( 4 ) ) then
- call stopit( status, 'Error 13' )
- end if
-
-
-
-
-
-
-
- call ast_end( status )
- call err_rlse( status )
-
-c call ast_activememory( 'testcmpmap' )
- call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All cmpmap tests passed'
- else
- write(*,*) 'cmpmap tests failed'
- end if
-
- end
-
-
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
- end
-
-
-
- subroutine readobj( file, iobj, status )
- implicit none
-
- include 'AST_PAR'
- include 'SAE_PAR'
-
- external chsource
- integer iobj, status, ch
- character file*(*)
-
- open( 10, status='old', file=file )
-
- ch = ast_channel( chsource, AST_NULL, ' ', status )
- iobj = ast_read( ch, status )
- call ast_annul( ch, status )
-
- close( 10 )
-
- end
-
- subroutine chsource( status )
- implicit none
-
- include 'AST_PAR'
- include 'SAE_PAR'
-
- integer status
- character line*200
-
- read( 10, '(A)', end=99 ) line
-
- call ast_putline( line, len( line ), status )
- return
-
- 99 call ast_putline( line, -1, status )
-
- end
-
diff --git a/ast/ast_tester/testconvert.c b/ast/ast_tester/testconvert.c
deleted file mode 100644
index d28c318..0000000
--- a/ast/ast_tester/testconvert.c
+++ /dev/null
@@ -1,232 +0,0 @@
-#define astCLASS testconvert
-
-#include "ast_err.h"
-#include "error.h"
-#include "object.h"
-#include "skyframe.h"
-#include "specframe.h"
-#include "cmpframe.h"
-#include "frame.h"
-#include "unitmap.h"
-#include "permmap.h"
-
-int main(){
- int status_value = 0;
- int *status = &status_value;
-
- AstFrameSet *fs;
-
- AstSkyFrame *sf = astSkyFrame( " ", status );
- AstSpecFrame *df = astSpecFrame( " ", status );
- AstCmpFrame *cf = astCmpFrame( df, sf, " ", status );
- AstFrame *bf = astFrame( 2, "Domain=SKY", status );
- AstFrame *target, *template;
-
-
- fs = astConvert( bf, sf, " " );
- if( fs ) {
- if( !astEqual( astGetFrame( fs, AST__BASE ), bf ) && astOK ) {
- astError( AST__INTER, "Error 1\n", status );
- } else if( !astEqual( astGetFrame( fs, AST__CURRENT ), sf ) && astOK ) {
- astError( AST__INTER, "Error 2\n", status );
- } else if( !astIsAUnitMap( astGetMapping( fs, AST__BASE, AST__CURRENT ) ) ) {
- astError( AST__INTER, "Error 3\n", status );
- }
- } else {
- astError( AST__INTER, "Error 4\n", status );
- }
-
- fs = astConvert( sf, bf, " " );
- if( fs ) {
- if( !astEqual( astGetFrame( fs, AST__BASE ), sf ) && astOK ) {
- astError( AST__INTER, "Error 5\n", status );
- } else if( !astEqual( astGetFrame( fs, AST__CURRENT ), bf ) && astOK ) {
- astError( AST__INTER, "Error 6\n", status );
- } else if( !astIsAUnitMap( astGetMapping( fs, AST__BASE, AST__CURRENT ) ) ) {
- astError( AST__INTER, "Error 7\n", status );
- }
- } else {
- astError( AST__INTER, "Error 8\n", status );
- }
-
-
- astSetDomain( bf, "NOTSKY" );
- fs = astConvert( bf, sf, " " );
- if( fs ) {
- astShow( fs );
- astError( AST__INTER, "Error 9\n", status );
- }
-
- fs = astConvert( sf, bf, " " );
- if( fs ) {
- astShow( fs );
- astError( AST__INTER, "Error 10\n", status );
- }
-
- astClearDomain( bf );
-
- fs = astConvert( bf, sf, " " );
- if( fs ) {
- if( !astEqual( astGetFrame( fs, AST__BASE ), bf ) && astOK ) {
- astError( AST__INTER, "Error 11\n", status );
- } else if( !astEqual( astGetFrame( fs, AST__CURRENT ), sf ) && astOK ) {
- astError( AST__INTER, "Error 12\n", status );
- } else if( !astIsAUnitMap( astGetMapping( fs, AST__BASE, AST__CURRENT ) ) ) {
- astError( AST__INTER, "Error 13\n", status );
- }
- } else {
- astError( AST__INTER, "Error 14\n", status );
- }
-
- fs = astConvert( sf, bf, " " );
- if( fs ) {
- if( !astEqual( astGetFrame( fs, AST__BASE ), sf ) && astOK ) {
- astError( AST__INTER, "Error 15\n", status );
- } else if( !astEqual( astGetFrame( fs, AST__CURRENT ), bf ) && astOK ) {
- astError( AST__INTER, "Error 16\n", status );
- } else if( !astIsAUnitMap( astGetMapping( fs, AST__BASE, AST__CURRENT ) ) ) {
- astError( AST__INTER, "Error 17\n", status );
- }
- } else {
- astError( AST__INTER, "Error 18\n", status );
- }
-
-
- fs = astConvert( bf, cf, " " );
- if( fs ) {
- if( !astEqual( astGetFrame( fs, AST__BASE ), bf ) && astOK ) {
- astError( AST__INTER, "Error 19\n", status );
- } else if( !astEqual( astGetFrame( fs, AST__CURRENT ), cf ) && astOK ) {
- astError( AST__INTER, "Error 20\n", status );
- } else if( !astIsAPermMap( astGetMapping( fs, AST__BASE, AST__CURRENT ) ) ) {
- astError( AST__INTER, "Error 21\n", status );
- }
- } else {
- astError( AST__INTER, "Error 22\n", status );
- }
-
- fs = astConvert( cf, bf, " " );
- if( fs ) {
- if( !astEqual( astGetFrame( fs, AST__BASE ), cf ) && astOK ) {
- astError( AST__INTER, "Error 23\n", status );
- } else if( !astEqual( astGetFrame( fs, AST__CURRENT ), bf ) && astOK ) {
- astError( AST__INTER, "Error 24\n", status );
- } else if( !astIsAPermMap( astGetMapping( fs, AST__BASE, AST__CURRENT ) ) ) {
- astError( AST__INTER, "Error 25\n", status );
- }
- } else {
- astError( AST__INTER, "Error 26\n", status );
- }
-
-
- astSetDomain( bf, "NOTSKY" );
- fs = astConvert( bf, cf, " " );
- if( fs ) {
- astShow( fs );
- astError( AST__INTER, "Error 27\n", status );
- }
-
- fs = astConvert( cf, bf, " " );
- if( fs ) {
- astShow( fs );
- astError( AST__INTER, "Error 28\n", status );
- }
-
-
- astSetDomain( bf, "SKY" );
- fs = astConvert( bf, cf, " " );
- if( fs ) {
- if( !astEqual( astGetFrame( fs, AST__BASE ), bf ) && astOK ) {
- astError( AST__INTER, "Error 29\n", status );
- } else if( !astEqual( astGetFrame( fs, AST__CURRENT ), cf ) && astOK ) {
- astError( AST__INTER, "Error 30\n", status );
- } else if( !astIsAPermMap( astGetMapping( fs, AST__BASE, AST__CURRENT ) ) ) {
- astError( AST__INTER, "Error 31\n", status );
- }
- } else {
- astError( AST__INTER, "Error 32\n", status );
- }
-
- fs = astConvert( cf, bf, " " );
- if( fs ) {
- if( !astEqual( astGetFrame( fs, AST__BASE ), cf ) && astOK ) {
- astError( AST__INTER, "Error 33\n", status );
- } else if( !astEqual( astGetFrame( fs, AST__CURRENT ), bf ) && astOK ) {
- astError( AST__INTER, "Error 34\n", status );
- } else if( !astIsAPermMap( astGetMapping( fs, AST__BASE, AST__CURRENT ) ) ) {
- astError( AST__INTER, "Error 35\n", status );
- }
- } else {
- astError( AST__INTER, "Error 36\n", status );
- }
-
-
- fs = astConvert( sf, cf, " " );
- if( fs ) {
- if( !astEqual( astGetFrame( fs, AST__BASE ), sf ) && astOK ) {
- astError( AST__INTER, "Error 37\n", status );
- } else if( !astEqual( astGetFrame( fs, AST__CURRENT ), cf ) && astOK ) {
- astError( AST__INTER, "Error 38\n", status );
- } else if( !astIsAPermMap( astGetMapping( fs, AST__BASE, AST__CURRENT ) ) ) {
- astError( AST__INTER, "Error 39\n", status );
- }
- } else {
- astError( AST__INTER, "Error 40\n", status );
- }
-
- fs = astConvert( cf, sf, " " );
- if( fs ) {
- if( !astEqual( astGetFrame( fs, AST__BASE ), cf ) && astOK ) {
- astError( AST__INTER, "Error 41\n", status );
- } else if( !astEqual( astGetFrame( fs, AST__CURRENT ), sf ) && astOK ) {
- astError( AST__INTER, "Error 42\n", status );
- } else if( !astIsAPermMap( astGetMapping( fs, AST__BASE, AST__CURRENT ) ) ) {
- astError( AST__INTER, "Error 43\n", status );
- }
- } else {
- astError( AST__INTER, "Error 44\n", status );
- }
-
-
- fs = astFindFrame( sf, cf, " " );
- if( !fs && astOK ) {
- astError( AST__INTER, "Error 45\n", status );
- }
-
- fs = astFindFrame( cf, sf, " " );
- if( fs && astOK ) {
- astError( AST__INTER, "Error 46\n", status );
- }
-
- astSetMaxAxes( sf, 3 );
- astSetMinAxes( sf, 1 );
-
- fs = astFindFrame( cf, sf, " " );
- if( !fs && astOK ) {
- astError( AST__INTER, "Error 47\n", status );
- } else {
- if( !astEqual( astGetFrame( fs, AST__BASE ), cf ) && astOK ) {
- astError( AST__INTER, "Error 48\n", status );
- } else if( !astEqual( astGetFrame( fs, AST__CURRENT ), sf ) && astOK ) {
- astError( AST__INTER, "Error 49\n", status );
- } else if( !astIsAPermMap( astGetMapping( fs, AST__BASE, AST__CURRENT ) ) ) {
- astError( AST__INTER, "Error 50\n", status );
- }
- }
-
- target = astFrame( 2, "Domain=ARDAPP", status );
- template = (AstFrame *) astSkyFrame( "System=GAPPT", status );
- fs = astFindFrame( target, template, " " );
- if( fs && astOK ) {
- astError( AST__INTER, "Error 51\n", status );
- }
-
-
-
-
- if( astOK ) {
- printf(" All astConvert tests passed\n");
- } else {
- printf("astConvert tests failed\n");
- }
-}
diff --git a/ast/ast_tester/testerror.c b/ast/ast_tester/testerror.c
deleted file mode 100644
index d668879..0000000
--- a/ast/ast_tester/testerror.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include "ast.h"
-
-#define ERRVAL -1234
-static int flag;
-
-void myPutErr( int status_value, const char *message );
-
-int main(){
- double a[2] = {0.0,0.0};
-
-/* Initialise the flag that indicates if the error handler has been
- called. */
- flag = 0;
-
-/* Register the error handler. */
- astSetPutErr( myPutErr );
-
-/* Generate an error by making a ShiftMap with a negative number of axes.
- The error handler will set the flag to a special value. */
- AstShiftMap *map = astShiftMap( -1, a, " " );
-
-/* Clear the error status. */
- astClearStatus;
-
-/* Clear the error reporter so that the default error reporter is used. */
- astSetPutErr( NULL );
-
-/* Report an error if the flag was not set to the correct value. */
- if( flag != ERRVAL ) {
- astError( AST__INTER, "Error reporting function has not been "
- "called." );
- }
-
- if( astOK ) {
- printf(" All Error tests passed\n");
- } else {
- printf("Error tests failed\n");
- }
-
-}
-
-void myPutErr( int status_value, const char *message ) {
- flag = ERRVAL;
-}
diff --git a/ast/ast_tester/testfitschan.f b/ast/ast_tester/testfitschan.f
deleted file mode 100644
index f2816c3..0000000
--- a/ast/ast_tester/testfitschan.f
+++ /dev/null
@@ -1,988 +0,0 @@
- program testfitschan
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer status, fs, fc, i, val, iwcfrm, map
- character cards(10)*80, card*80
- logical there
- double precision xin, yin, xout, yout
-
- status = sai__ok
-
-
-c call ast_watchmemory( 225192 )
- call ast_begin( status )
-
-* Create a FitsChan that will write its contents out to text file
-* fred.txt when it is deleted.
- fc = ast_fitschan( AST_NULL, AST_NULL, 'SinkFile=./fred.txt',
- : status )
-
- if( .not. ast_getl( fc, 'SipOK', status ) ) then
- call stopit( 776, ' ', status )
- end if
-
-* Put a FITS-WCS header into it.
- cards(1) = 'CRPIX1 = 45'
- cards(2) = 'CRPIX2 = 45'
- cards(3) = 'CRVAL1 = 45'
- cards(4) = 'CRVAL2 = 89.9'
- cards(5) = 'MYNAME = '
- cards(6) = 'CDELT1 = -0.01'
- cards(7) = 'CDELT2 = 0.01'
- cards(8) = 'CTYPE1 = ''RA---TAN'''
- cards(9) = 'CTYPE2 = ''DEC--TAN'''
- do i = 1, 9
- call ast_putfits( fc, cards(i), .false., status )
- end do
-
- call ast_seti( fc, 'Card', 2, status )
- if( .not. ast_getfitsi( fc, '.', val, status ) ) then
- call stopit( 777, ' ', status )
- else if( val .ne. 45 ) then
- call stopit( 778, ' ', status )
- endif
-
- call ast_seti( fc, 'Card', 5, status )
- if( ast_testfits( fc, '.', there, status ) ) then
- call stopit( 779, ' ', status )
- else if( .not. there ) then
- call stopit( 780, ' ', status )
- endif
-
- if( .not. ast_testfits( fc, 'CDELT1', there, status ) ) then
- call stopit( 781, ' ', status )
- else if( .not. there ) then
- call stopit( 782, ' ', status )
- endif
-
- if( ast_testfits( fc, 'ABCDEF', there, status ) ) then
- call stopit( 783, ' ', status )
- else if( there ) then
- call stopit( 784, ' ', status )
- endif
-
- call ast_seti( fc, 'Card', 10, status )
- if( ast_testfits( fc, '.', there, status ) ) then
- call stopit( 785, ' ', status )
- else if( there ) then
- call stopit( 786, ' ', status )
- endif
-
- card = ast_getc( fc, 'CardName', status )
- if( card .ne. ' ' ) call stopit( 787, ' ', status )
-
-* Annul the fitschan. Only 1 ref so this should delete it.
- call ast_annul( fc, status )
-
-* Create another FitsChan and tell it to read headers from fred.txt.
- fc = ast_fitschan( AST_NULL, AST_NULL, 'SourceFile=./fred.txt',
- : status )
-
-* Check it looks like the original header.
- if( ast_geti( fc, 'NCard', status ) .ne. 9 ) then
- write(*,*) ast_geti( fc, 'NCard', status )
- call stopit( 1000, ' ', status )
- endif
-
- if( ast_geti( fc, 'Nkey', status ) .ne. 9 ) then
- write(*,*) ast_geti( fc, 'Nkey', status )
- call stopit( 999, ' ', status )
- endif
-
- call ast_clear( fc, 'Card', status )
- i = 0
- do while( ast_findfits( fc, '%f', card, .true., status ) )
- i = i + 1
- if( card .ne. cards( i ) ) then
- call stopit( 1001, ' ', status )
- endif
- end do
-
-* Annul the fitschan.
- call ast_annul( fc, status )
-
-* Put a simple FITS-WCS header into a FitsChan.
- cards(1) = 'CRPIX1 = 45'
- cards(2) = 'CRPIX2 = 45'
- cards(3) = 'CRVAL1 = 45'
- cards(4) = 'CRVAL2 = 89.9'
- cards(5) = 'CDELT1 = -0.01'
- cards(6) = 'CDELT2 = 0.01'
- cards(7) = 'CTYPE1 = ''RA---TAN'''
- cards(8) = 'CTYPE2 = ''DEC--TAN'''
-
- fc = ast_fitschan( AST_NULL, AST_NULL, 'Iwc=1', status )
- do i = 1, 8
- call ast_putfits( fc, cards(i), .false., status )
- end do
-
-
- call ast_clear( fc, 'Card', status )
- if( ast_geti( fc, 'CardType', status ) .NE. AST__INT ) then
- write(*,*) ast_geti( fc, 'CardType', status ),' should be ',
- : AST__STRING
- call stopit( 993, ' ', status )
- endif
-
-
-* Indicate that the CTYPE1 card should be retained by ast_read.
- if( ast_findfits( fc, 'CTYPE1', card, .FALSE., status ) ) then
- call ast_retainfits( fc, status )
- endif
-
-* Read a FrameSet from the FitsChan.
- call ast_clear( fc, 'Card', status )
- fs = ast_read( fc, status )
- if( fs .eq. AST__NULL ) then
- call stopit( 1, 'No FrameSet read from FitsChan', status )
- end if
-
-* Check the CTYPE1 card is still present in the FitsChan.
- call ast_clear( fc, 'Card', status )
- if( .not. ast_findfits( fc, 'CTYPE1', card, .FALSE.,
- : status ) ) then
- call stopit( 2, 'CTYPE1 has not been retained', status )
- end if
-
-* Check the CTYPE2 card is not present in the FitsChan.
- call ast_clear( fc, 'Card', status )
- if( ast_findfits( fc, 'CTYPE2', card, .FALSE., status ) ) then
- call stopit( 3, 'CTYPE2 has been retained', status )
- end if
-
-* Check the IWC Frame is present and check the reference point
-* transforms to the origin of IWC.
- if( ast_geti( fs, 'Nframe', status ) .ne. 3 ) then
- call stopit( 301, 'Wrong number of Frames', status )
- endif
- if( ast_geti( fs, 'Current', status ) .ne. 2 ) then
- call stopit( 302, 'Wrong current Frame', status )
- endif
- iwcfrm = ast_getframe( fs, 3, status )
- if( ast_getc( iwcfrm, 'Domain', status ) .ne. 'IWC' ) then
- call stopit( 303, 'Wrong Domain in IWC Frame', status )
- endif
-
- map = ast_getmapping( fs, 1, 3, status )
- xin = 45.0D0
- yin = 45.0D0
- call ast_tran2( map, 1, xin, yin, .true., xout, yout, status )
- if( xout .ne. 0.0D0 .or. yout .ne. 0.0D0 ) then
- call stopit( 304, 'Wrong IWC for CRPIX position', status )
- endif
-
- xin = xin + 1.0D0
- call ast_tran2( map, 1, xin, yin, .true., xout, yout, status )
- if( xout .ne. -0.01D0 .or. yout .ne. 0.0D0 ) then
- call stopit( 305, 'Wrong IWC for offset CRPIX position',
- : status )
- endif
-
- map = ast_getmapping( fs, 2, 3, status )
- xin = 45.0D0*AST__DD2R
- yin = 89.9D0*AST__DD2R
- call ast_tran2( map, 1, xin, yin, .true., xout, yout, status )
- if( abs( xout ) .gt. 1.0D-10 .or. abs( yout ) .gt. 1.0D-10 ) then
- call stopit( 306, 'Wrong IWC for CRVAL position', status )
- endif
-
-
-* Do it again, this time with an illegal value for CRPIX2. This will
-* cause ast_read to report an error.
- cards(1) = 'CRPIX1 = 45'
- cards(2) = 'CRPIX2 = ''fred'''
- cards(3) = 'CRVAL1 = 45'
- cards(4) = 'CRVAL2 = 89.9'
- cards(5) = 'CDELT1 = -0.01'
- cards(6) = 'CDELT2 = 0.01'
- cards(7) = 'CTYPE1 = ''RA---TAN'''
- cards(8) = 'CTYPE2 = ''DEC--TAN'''
-
- fc = ast_fitschan( AST_NULL, AST_NULL, ' ', status )
- do i = 1, 8
- call ast_putfits( fc, cards(i), .false., status )
- end do
-
-* Set the Clean attribute to true so that used cards are removed from the
-* FitsChan even if an error occurrs in astRead.
-c call ast_setl( fc, 'Clean', .true., status )
-
-* Indicate that the CTYPE1 card should be retained by ast_read.
- call ast_clear( fc, 'Card', status )
- if( ast_findfits( fc, 'CTYPE1', card, .FALSE., status ) ) then
- call ast_retainfits( fc, status )
- endif
-
-* Abort if an error has occurred.
- if( status .ne. sai__ok ) go to 999
-
-* Read a FrameSet from the FitsChan, deferring error reporting. Check an
-* error is reported by ast_read.
- call ast_clear( fc, 'Card', status )
-
- call err_begin( status )
- fs = ast_read( fc, status )
-
- if( fs .ne. AST__NULL ) then
- call stopit( 4, 'A FrameSet has been read from the FitsChan',
- : status )
-
- else if( status .eq. sai__ok ) then
- call stopit( 5, 'No error has been reported by ast_read',
- : status )
-
- else
- call err_annul( status )
- end if
-
- call err_end( status )
-
-* Check the CTYPE1 card is still present in the FitsChan.
- call ast_clear( fc, 'Card', status )
- if( .not. ast_findfits( fc, 'CTYPE1', card, .FALSE.,
- : status ) ) then
- call stopit( 6, 'CTYPE1 has not been retained', status )
- end if
-
-* Check the CTYPE2 card is also still present in the FitsChan (because
-* cards are not removed if an error is reported in ast_read unless the
-* Clean attribute is set true).
- call ast_clear( fc, 'Card', status )
- if( .not. ast_findfits( fc, 'CTYPE2', card, .FALSE.,
- : status ) ) then
- call stopit( 7, 'CTYPE2 has not been retained', status )
- end if
-
-
-
-
-
-* Do it again, again with an illegal value for CRPIX2, but this time
-* setting the Clean attribute true.
- cards(1) = 'CRPIX1 = 45'
- cards(2) = 'CRPIX2 = ''fred'''
- cards(3) = 'CRVAL1 = 45'
- cards(4) = 'CRVAL2 = 89.9'
- cards(5) = 'CDELT1 = -0.01'
- cards(6) = 'CDELT2 = 0.01'
- cards(7) = 'CTYPE1 = ''RA---TAN'''
- cards(8) = 'CTYPE2 = ''DEC--TAN'''
-
- fc = ast_fitschan( AST_NULL, AST_NULL, 'Clean=1', status )
- do i = 1, 8
- call ast_putfits( fc, cards(i), .false., status )
- end do
-
-* Indicate that the CTYPE1 card should be retained by ast_read.
- call ast_clear( fc, 'Card', status )
- if( ast_findfits( fc, 'CTYPE1', card, .FALSE., status ) ) then
- call ast_retainfits( fc, status )
- endif
-
-* Abort if an error has occurred.
- if( status .ne. sai__ok ) go to 999
-
-* Read a FrameSet from the FitsChan, deferring error reporting. Check an
-* error is reported by ast_read.
- call ast_clear( fc, 'Card', status )
-
- call err_begin( status )
- fs = ast_read( fc, status )
-
- if( fs .ne. AST__NULL ) then
- call stopit( 8, 'A FrameSet has been read from the FitsChan',
- : status )
-
- else if( status .eq. sai__ok ) then
- call stopit( 9, 'No error has been reported by ast_read',
- : status )
-
- else
- call err_annul( status )
- end if
-
- call err_end( status )
-
-* Check the CTYPE1 card is still present in the FitsChan (because of the
-* call to ast_retainfits).
- call ast_clear( fc, 'Card', status )
- if( .not. ast_findfits( fc, 'CTYPE1', card, .FALSE.,
- : status ) ) then
- call stopit( 10, 'CTYPE1 has not been retained', status )
- end if
-
-* Check the CTYPE2 card is no longer present in the FitsChan (because
-* the Clean attribute is set true).
- call ast_clear( fc, 'Card', status )
- if( ast_findfits( fc, 'CTYPE2', card, .FALSE., status ) ) then
- call stopit( 11, 'CTYPE2 has been retained', status )
- end if
-
-* Test -TAB
- call checktab( status )
- call checktab2( status )
-
-* Read a SIP header and then attempt to write it out. It should fail
-* because the SIP header is non-linear.
- call ast_emptyfits( fc, status )
- call ast_seti( fc, 'SipOK', 0, status )
- call ast_set( fc, 'SourceFile=sip.head', status )
- call ast_clear( fc, 'Card', status )
- fs = ast_read( fc, status )
- call ast_set( fc, 'Encoding=FITS-WCS', status )
- if( fs .eq. AST__NULL ) then
- call stopit( 12, 'Failed to read SIP header', status )
- else if( ast_write( fc, fs, status ) .gt. 0 ) then
- call stopit( 13, 'Test on SIP header non-linearity failed',
- : status )
- end if
-
-
-
-
-
-
-
-
- 999 continue
-
- call ast_end( status )
- call ast_activememory( 'testfitschan' )
- call ast_flushmemory( 1 );
-
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All FitsChan tests passed'
- else
- write(*,*) 'FitsChan tests failed'
- end if
-
- end
-
-
- subroutine stopit( errnum, text, status )
- implicit none
- include 'SAE_PAR'
- character text*(*)
- integer errnum, status
-
- if( status .eq. sai__ok ) then
- status = sai__error
- call msg_seti( 'N', errnum )
- call msg_setc( 'T', text )
- call err_rep( ' ', 'Error ^N: ^T', status )
- end if
-
- end
-
-
- subroutine checktab( status )
- implicit none
-
- external tabsource
-
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'AST_ERR'
- include 'PRM_PAR'
- include 'CNF_PAR'
- integer status, sf, mm, fc, fs,gf, tables, table, size, pntr1,
- : nelem, pntr2, i, lm, sm, fs2, map, fc2, ncard, fs3
- character key*20,card*80
- double precision lut( 100 ), shift, x(3), y(3), y2(3)
-
- common /tabsrc/ tables
-
- if( status .ne. sai__ok ) return
-
- call err_begin( status )
- call ast_begin( status )
-
- sf = ast_specframe( 'system=freq,unit=MHz', status )
- gf = ast_frame( 1, 'domain=GRID', status )
- mm = ast_mathmap( 1, 1, 1, 'y=1/(x*x)', 1, 'x=1/sqrt(y)', ' ',
- : status )
- fs = ast_frameset( gf, ' ', status )
- call ast_addframe( fs, AST__BASE, mm, sf, status )
-
- fc = ast_fitschan( ast_null, ast_null, 'Encoding=FITS-WCS',
- : status )
- call ast_putfits( fc, 'NAXIS = 1', .false., status )
- call ast_putfits( fc, 'NAXIS1 = 100', .false., status )
-
-
- if( ast_write( fc, fs, status ) .ne. 0 ) then
- call stopit( 1000, ' ', status )
- else if( ast_gettables( fc, status ) .ne. AST__NULL ) then
- call stopit( 1001, ' ', status )
- endif
-
- call ast_setl( fc, 'TabOK', .true., status )
-
- if( ast_write( fc, fs, status ) .ne. 1 )
- : call stopit( 1002, ' ', status )
-
- tables = ast_gettables( fc, status )
- if( tables .eq. AST__NULL ) then
- call stopit( 1003, ' ', status )
- else if( .not. ast_isakeymap( tables, status ) ) then
- call stopit( 1004, ' ', status )
- else if( ast_mapsize( tables, status ) .ne. 1 ) then
- call stopit( 1005, ' ', status )
- endif
-
- key = ast_mapkey( tables, 1, status )
- if( key .ne. 'WCS-TAB' ) then
- call stopit( 1006, ' ', status )
- endif
-
- if( .not. ast_mapget0a( tables, 'WCS-TAB', table,
- : status ) ) then
- call stopit( 1007, ' ', status )
- else if( .not. ast_isafitstable( table, status ) ) then
- call stopit( 1004, ' ', status )
- endif
-
- if( ast_geti( table, 'NColumn', status ) .ne. 2 ) then
- call stopit( 1005, ' ', status )
- else if( ast_geti( table, 'NRow', status ) .ne. 1 ) then
- call stopit( 1006, ' ', status )
- else if( ast_geti( table, 'ColumnLength(coords1)', status ) .ne.
- : 197 ) then
- call stopit( 1007, ' ', status )
- else if( ast_geti( table, 'ColumnLength(index1)', status ) .ne.
- : 197 ) then
- call stopit( 1008, ' ', status )
- end if
-
- size = ast_columnsize( table, 'COORDS1', status )
- if( size .ne. VAL__NBD*197 ) call stopit( 1009, ' ', status )
- call psx_malloc( size, pntr1, status )
- call ast_getcolumndata( table, 'Coords1', 0.0, AST__BAD, size,
- : %val( cnf_pval( pntr1 ) ), nelem,
- : status )
- if( nelem .ne. 197 ) call stopit( 1010, ' ', status )
-
- size = ast_columnsize( table, 'INDEX1', status )
- if( size .ne. VAL__NBD*197 ) call stopit( 1011, ' ', status )
- call psx_malloc( size, pntr2, status )
- call ast_getcolumndata( table, 'inDex1', 0.0, AST__BAD, size,
- : %val( cnf_pval( pntr2 ) ), nelem,
- : status )
- if( nelem .ne. 197 ) call stopit( 1012, ' ', status )
-
- call checkft( 197, %val( cnf_pval( pntr1 ) ),
- : %val( cnf_pval( pntr2 ) ), status )
-
- call psx_free( pntr1, status )
- call psx_free( pntr2, status )
-
-c --------------------------------------------------------------------
- do i = 1, 100
- lut( i ) = 1.0D0/dble(i*i)
- end do
-
- lm = ast_lutmap( 100, lut, -49.0D0, 1.0D0, ' ', status )
-
- call ast_set( sf, 'System=Wave,Unit=m', status )
- call ast_removeframe( fs, AST__CURRENT, status )
- call ast_addframe( fs, AST__BASE, lm, sf, status )
- call ast_set( fs, 'System=freq', status )
-
- shift = 50.0D0
- sm = ast_shiftmap( 1, shift, ' ', status )
- call ast_remapframe( fs, AST__BASE, sm, status )
-
- call ast_removetables( fc, 'WCS-TAB', status )
- call ast_purgewcs( fc, status )
-
- if( ast_write( fc, fs, status ) .ne. 1 )
- : call stopit( 1013, ' ', status )
- tables = ast_gettables( fc, status )
-
- if( tables .eq. AST__NULL ) then
- call stopit( 1014, ' ', status )
- else if( .not. ast_isakeymap( tables, status ) ) then
- call stopit( 1015, ' ', status )
- else if( ast_mapsize( tables, status ) .ne. 1 ) then
- call stopit( 1016, ' ', status )
- endif
-
- key = ast_mapkey( tables, 1, status )
- if( key .ne. 'WCS-TAB' ) then
- call stopit( 1017, ' ', status )
- endif
-
- if( .not. ast_mapget0a( tables, 'WCS-TAB', table,
- : status ) ) then
- call stopit( 1018, ' ', status )
- else if( .not. ast_isafitstable( table, status ) ) then
- call stopit( 1019, ' ', status )
- endif
-
- if( ast_geti( table, 'NColumn', status ) .ne. 1 ) then
- call stopit( 1020, ' ', status )
- else if( ast_geti( table, 'NRow', status ) .ne. 1 ) then
- call stopit( 1021, ' ', status )
- else if( ast_geti( table, 'ColumnLength(coords1)', status ) .ne.
- : 100 ) then
- call stopit( 1022, ' ', status )
- end if
-
- size = ast_columnsize( table, 'COORDS1', status )
- if( size .ne. VAL__NBD*100 ) call stopit( 1024, ' ', status )
- call psx_malloc( size, pntr1, status )
- call ast_getcolumndata( table, 'Coords1', 0.0, AST__BAD, size,
- : %val( cnf_pval( pntr1 ) ), nelem,
- : status )
- if( nelem .ne. 100 ) call stopit( 1025, ' ', status )
-
- call checkft2( 100, %val( cnf_pval( pntr1 ) ), status )
-
- call psx_free( pntr1, status )
-
-c --------------------------------------------------------------------
-
- call ast_removetables( fc, ' ', status )
- fc2 = ast_copy( fc, status )
- call ast_puttables( fc, tables, status )
- call ast_clear( fc, 'Card', status )
-
- fs2 = ast_read( fc, status )
- if( fs2 .eq. ast__null ) call stopit( 1028, ' ', status )
-
- if( .not. ast_equal( ast_getframe( fs, ast__current, status ),
- : ast_getframe( fs2, ast__current, status ),
- : status ) ) then
- call stopit( 1029, ' ', status )
- endif
-
- map = ast_cmpmap( ast_getmapping( fs, ast__base, ast__current,
- : status ),
- : ast_getmapping( fs2, ast__current, ast__base,
- : status ), .TRUE., ' ', status )
-
- x(1) = 1.0D0;
- x(2) = 50.0D0;
- x(3) = 100.0D0;
- call ast_tran1( map, 3, x, .true., y, status )
-
- if( abs( y(1) - x(1) ) .gt. 1.0D-4 .OR.
- : abs( y(2) - x(2) ) .gt. 1.0D-4 .OR.
- : abs( y(3) - x(3) ) .gt. 1.0D-4 ) then
- call stopit( 1030, ' ', status )
- end if
-
-
-c --------------------------------------------------------------------
- if( .not. ast_getl( fc2, 'TabOK', status ) ) then
- call stopit( 1031, ' ', status )
- endif
- ncard = ast_geti( fc2, 'Ncard', status )
-
- call ast_clear( fc2, 'Card', status )
- fs2 = ast_read( fc2, status )
- if( status .ne. AST__NOTAB ) then
- if( status .ne. SAI__OK ) call err_flush( status )
- call stopit( 1032, ' ', status )
- else
- call err_annul( status )
- end if
-
- call ast_setl( fc2, 'TabOK', .false., status )
- call ast_clear( fc2, 'Card', status )
- fs2 = ast_read( fc2, status )
- if( status .ne. AST__BDFTS ) then
- if( status .ne. SAI__OK ) call err_flush( status )
- call stopit( 1032, ' ', status )
- else
- call err_annul( status )
- end if
- call ast_setl( fc2, 'TabOK', .true., status )
-
- if( ncard .ne. ast_geti( fc2, 'Ncard', status ) ) then
- call stopit( 1034, ' ', status )
- endif
-
- call ast_tablesource( fc2, tabsource, status )
- call ast_clear( fc2, 'Card', status )
- fs2 = ast_read( fc2, status )
- if( fs2 .eq. ast__null ) call stopit( 1035, ' ', status )
-
- if( .not. ast_equal( ast_getframe( fs, ast__current, status ),
- : ast_getframe( fs2, ast__current, status ),
- : status ) ) then
- call stopit( 1036, ' ', status )
- endif
-
- map = ast_cmpmap( ast_getmapping( fs, ast__base, ast__current,
- : status ),
- : ast_getmapping( fs2, ast__current, ast__base,
- : status ), .TRUE., ' ', status )
-
- x(1) = 1.0D0;
- x(2) = 50.0D0;
- x(3) = 100.0D0;
- call ast_tran1( map, 3, x, .true., y, status )
-
- if( abs( y(1) - x(1) ) .gt. 1.0D-4 .OR.
- : abs( y(2) - x(2) ) .gt. 1.0D-4 .OR.
- : abs( y(3) - x(3) ) .gt. 1.0D-4 ) then
- call stopit( 1037, ' ', status )
- end if
-
-c --------------------------------------------------------------------
- call readobj( 'sparse.ast', fs, status )
-
- fc = ast_fitschan( ast_null, ast_null,
- : 'Encoding=FITS-WCS,TabOK=1', status )
-
- call ast_putfits( fc, 'NAXIS = 2', .false., status )
- call ast_putfits( fc, 'NAXIS1 = 2000', .false., status )
- call ast_putfits( fc, 'NAXIS2 = 1', .false., status )
-
- if( ast_write( fc, fs, status ) .ne. 1 ) then
- call stopit( 1038, ' ', status )
- end if
-
- call ast_clear( fc, 'Card', status )
- fs2 = ast_read( fc, status )
-
- call ast_invert( fs, status )
- call ast_invert( fs2, status )
- fs3 = ast_convert( fs, fs2, 'SKY-DSBSPECTRUM', status )
- if( fs3 .eq. AST__NULL ) then
- call stopit( 1039, ' ', status )
- endif
-
- if( ast_getc( ast_getframe( fs, AST__BASE, status ), 'Domain',
- : status ) .ne. 'SKY-DSBSPECTRUM' ) then
- call stopit( 1040, ' ', status )
- endif
-
- if( ast_getc( ast_getframe( fs2, AST__BASE, status ), 'Domain',
- : status ) .ne. 'SKY-DSBSPECTRUM' ) then
- call stopit( 1041, ' ', status )
- endif
-
- call ast_invert( fs, status )
- call ast_invert( fs2, status )
-
- x( 1 ) = 1.0
- x( 2 ) = 1.0
- x( 3 ) = 1.0
- call ast_trann( fs, 1, 3, 1, x, .true., 3, 1, y, status )
- call ast_trann( fs2, 1, 3, 1, x, .true., 3, 1, y2, status )
-
- do i = 1, 3
- if( abs( y(i) - y2(i) ) .gt. 1.0E-8 ) then
- call stopit( 1042, ' ', status )
- endif
- enddo
-
- x( 1 ) = 10.0
- x( 2 ) = 1.0
- x( 3 ) = 1000.0
- call ast_trann( fs, 1, 3, 1, x, .true., 3, 1, y, status )
- call ast_trann( fs2, 1, 3, 1, x, .true., 3, 1, y2, status )
-
- do i = 1, 3
- if( abs( y(i) - y2(i) ) .gt. 1.0E-8 ) then
- call stopit( 1042, ' ', status )
- endif
- enddo
-
-
-c --------------------------------------------------------------------
-
- sf = ast_frame( 1, 'domain=voltage,unit=V', status )
- gf = ast_frame( 1, 'domain=GRID', status )
- mm = ast_mathmap( 1, 1, 1, 'y=1/(x*x)', 1, 'x=1/sqrt(y)', ' ',
- : status )
- fs = ast_frameset( gf, ' ', status )
- call ast_addframe( fs, AST__BASE, mm, sf, status )
-
- call ast_emptyfits( fc, status )
- call ast_putfits( fc, 'NAXIS = 1', .false., status )
- call ast_putfits( fc, 'NAXIS1 = 100', .false., status )
-
- if( ast_write( fc, fs, status ) .ne. 1 )
- : call stopit( 1043, ' ', status )
-
- if( ast_getfitss( fc, 'CTYPE1', card, status ) ) then
- if( card .ne. 'VOLT-TAB' ) call stopit( 1059, ' ', status )
- else
- call stopit( 1060, ' ', status )
- endif
-
- tables = ast_gettables( fc, status )
- if( tables .eq. AST__NULL ) then
- call stopit( 1044, ' ', status )
- else if( .not. ast_isakeymap( tables, status ) ) then
- call stopit( 1045, ' ', status )
- else if( ast_mapsize( tables, status ) .ne. 1 ) then
- call stopit( 1046, ' ', status )
- endif
-
- key = ast_mapkey( tables, 1, status )
- if( key .ne. 'WCS-TAB' ) then
- call stopit( 1047, ' ', status )
- endif
-
- if( .not. ast_mapget0a( tables, 'WCS-TAB', table,
- : status ) ) then
- call stopit( 1048, ' ', status )
- else if( .not. ast_isafitstable( table, status ) ) then
- call stopit( 1049, ' ', status )
- endif
-
- if( ast_geti( table, 'NColumn', status ) .ne. 2 ) then
- call stopit( 1050, ' ', status )
- else if( ast_geti( table, 'NRow', status ) .ne. 1 ) then
- call stopit( 1051, ' ', status )
- else if( ast_geti( table, 'ColumnLength(coords1)', status ) .ne.
- : 197 ) then
- call stopit( 1052, ' ', status )
- else if( ast_geti( table, 'ColumnLength(index1)', status ) .ne.
- : 197 ) then
- call stopit( 1053, ' ', status )
- end if
-
- size = ast_columnsize( table, 'COORDS1', status )
-
- if( size .ne. VAL__NBD*197 ) call stopit( 1054, ' ', status )
- call psx_malloc( size, pntr1, status )
- call ast_getcolumndata( table, 'Coords1', 0.0, AST__BAD, size,
- : %val( cnf_pval( pntr1 ) ), nelem,
- : status )
- if( nelem .ne. 197 ) call stopit( 1055, ' ', status )
-
- size = ast_columnsize( table, 'INDEX1', status )
- if( size .ne. VAL__NBD*197 ) call stopit( 1056, ' ', status )
- call psx_malloc( size, pntr2, status )
- call ast_getcolumndata( table, 'inDex1', 0.0, AST__BAD, size,
- : %val( cnf_pval( pntr2 ) ), nelem,
- : status )
- if( nelem .ne. 197 ) call stopit( 1057, ' ', status )
-
- call checkft( 197, %val( cnf_pval( pntr1 ) ),
- : %val( cnf_pval( pntr2 ) ), status )
-
- call psx_free( pntr1, status )
- call psx_free( pntr2, status )
-
-
- call ast_clear( fc, 'Card', status )
- fs2 = ast_read( fc, status )
- if( fs2 .eq. AST__NULL )
- : call stopit( 1058, ' ', status )
-
- call ast_invert( fs, status )
- call ast_invert( fs2, status )
- fs3 = ast_convert( fs2, fs, ' ', status )
- if( fs3 .eq. AST__NULL ) then
- call stopit( 1061, ' ', status )
- endif
-
- if( ast_getc( ast_getframe( fs, AST__BASE, status ), 'Domain',
- : status ) .ne. 'VOLTAGE' ) then
- call stopit( 1062, ' ', status )
- endif
-
- if( ast_getc( ast_getframe( fs2, AST__BASE, status ), 'Domain',
- : status ) .ne. 'VOLTAGE' ) then
- call stopit( 1063, ' ', status )
- endif
-
- x(1) = 1.0
- x(2) = 10.0
- x(3) = 100.0
- call ast_tran1( fs3, 3, x, .true., y, status )
- if( abs( y(1) - x(1) ) .gt. 1.0D-2 .OR.
- : abs( y(2) - x(2) ) .gt. 1.0D-2 .OR.
- : abs( y(3) - x(3) ) .gt. 1.0D-2 ) then
- call stopit( 1064, ' ', status )
- end if
-
-
-
- call ast_end( status )
- call err_end( status )
-
- end
-
-
- subroutine checkft( nelem, coords, indx, status )
- implicit none
- include 'SAE_PAR'
- integer nelem, status
- double precision coords( nelem ), indx( nelem )
-
- if( status .ne. sai__ok ) return
-
- if( indx( 1 ) .ne. 1.0D0 ) then
- call stopit( 2001, ' ', status )
-
- else if( coords( 1 ) .ne. 1.0D0 ) then
- call stopit( 2002, ' ', status )
-
- else if( indx( nelem ) .ne. 1.0D2 ) then
- call stopit( 2003, ' ', status )
-
- else if( coords( nelem ) .ne. 1.0D-4 ) then
- call stopit( 2004, ' ', status )
-
- else if( coords( nelem/2 ) .ne.
- : indx( nelem/2 )**(-2) ) then
- call stopit( 2005, ' ', status )
- end if
-
- end
-
- subroutine checkft2( nelem, coords, status )
- implicit none
- include 'SAE_PAR'
- integer nelem, status
- double precision coords( nelem )
-
- if( status .ne. sai__ok ) return
-
- if( abs( coords( 1 ) - 299.792458 ) .gt. 1.0D-5 ) then
- call stopit( 3002, ' ', status )
-
- else if( abs( coords( nelem ) - 2997924.58 ) .gt. 1.0D-1 ) then
- call stopit( 3004, ' ', status )
-
- end if
-
- end
-
- subroutine tabsource( fc, extnam, extver, extlevel, status )
- implicit none
- include 'AST_PAR'
-
- integer fc, status, tables, table, extver, extlevel
- character extnam*(*)
-
- common /tabsrc/ tables
-
- if( extnam .ne. 'WCS-TAB' ) then
- call stopit( 1035, ' ', status )
-
- else if( .not. ast_mapget0a( tables, extnam, table,
- : status ) ) then
- call stopit( 1036, ' ', status )
-
- else if( .not. ast_isafitstable( table, status ) ) then
- call stopit( 1037, ' ', status )
-
- else if( extver .ne. 1 ) then
- write(*,*) 'EXTVER=',extver
- call stopit( 1065, ' ', status )
-
- else if( extlevel .ne. 1 ) then
- call stopit( 1066, ' ', status )
-
- else
- call ast_puttables( fc, tables, status )
-
- endif
-
- call ast_annul( table, status )
-
- end
-
-
-
- subroutine readobj( file, iobj, status )
- implicit none
-
- include 'AST_PAR'
- include 'SAE_PAR'
-
- external chsource
- integer iobj, status, ch
- character file*(*)
-
- open( 10, status='old', file=file )
-
- ch = ast_channel( chsource, AST_NULL, ' ', status )
- iobj = ast_read( ch, status )
- call ast_annul( ch, status )
-
- close( 10 )
-
- end
-
- subroutine chsource( status )
- implicit none
-
- include 'AST_PAR'
- include 'SAE_PAR'
-
- integer status
- character line*200
-
- read( 10, '(A)', end=99 ) line
-
- call ast_putline( line, len( line ), status )
- return
-
- 99 call ast_putline( line, -1, status )
-
- end
-
-
-
-
- subroutine checktab2( status )
- implicit none
-
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, sf, mmm, mm, fc, fs, fs2, gf
-
- if( status .ne. sai__ok ) return
-
- call err_begin( status )
- call ast_begin( status )
-
- sf = ast_skyframe( ' ', status )
- call ast_setd( sf, 'SkyRef(1)', 0.0001D0, status )
- call ast_setd( sf, 'SkyRef(2)', 0.0001D0, status )
-
- gf = ast_frame( 2, 'domain=GRID', status )
-
- mm = ast_mathmap( 1, 1, 1, 'y=(x+50)**(-2)', 1, 'x=-50+1/sqrt(y)',
- : ' ', status )
- mmm = ast_cmpmap( mm, mm, .false., ' ', status )
-
- fs = ast_frameset( gf, ' ', status )
- call ast_addframe( fs, AST__BASE, mmm, sf, status )
-
- fc = ast_fitschan( ast_null, ast_null, 'Encoding=FITS-WCS,'//
- : 'TabOK=1', status )
- call ast_putfits( fc, 'NAXIS = 2', .false., status )
- call ast_putfits( fc, 'NAXIS1 = 100', .false., status )
- call ast_putfits( fc, 'NAXIS2 = 100', .false., status )
-
- if( ast_write( fc, fs, status ) .ne. 1 ) then
- call stopit( 2000, ' ', status )
- endif
-
- call ast_clear( fc, 'Card', status )
- fs2 = ast_read( fc, status )
- if( fs2 .eq. AST__NULL )
- : call stopit( 2001, ' ', status )
-
- if( abs( ast_getd( fs2, 'SkyRef(1)', status ) - 0.0001 ) .gt.
- : 1E-7 ) call stopit( 2001, ' ', status )
- if( abs( ast_getd( fs2, 'SkyRef(2)', status ) - 0.0001 ) .gt.
- : 1E-7 ) call stopit( 2001, ' ', status )
-
- call ast_end( status )
- call err_end( status )
-
- end
diff --git a/ast/ast_tester/testfitstable.f b/ast/ast_tester/testfitstable.f
deleted file mode 100644
index e85f065..0000000
--- a/ast/ast_tester/testfitstable.f
+++ /dev/null
@@ -1,590 +0,0 @@
- program testfitstable
- implicit none
-
- include 'AST_PAR'
- include 'AST_ERR'
- include 'SAE_PAR'
- include 'CNF_PAR'
-
- integer status, table, table2, dims( 7 ), header, ival, l, nval,
- : icard, colsize, pntr, head, clen, oldnull, null
- byte bytes(2,3),bval
- logical wasset, hasnull
- real rval
- character cval*30, text(3)*10, card*70
- character header1(18)*30
- character header2(20)*30
-
- data header1 / 'XTENSION= ''BINTABLE''',
- : 'BITPIX = 8',
- : 'NAXIS = 2',
- : 'NAXIS1 = 10',
- : 'NAXIS2 = 0',
- : 'PCOUNT = 0',
- : 'GCOUNT = 1',
- : 'TFIELDS = 3',
- : 'TFORM1 = ''6B ''',
- : 'TTYPE1 = ''BYTECOL ''',
- : 'TUNIT1 = ''ADU ''',
- : 'TDIM1 = ''(2,3) ''',
- : 'TFORM2 = ''1J ''',
- : 'TTYPE2 = ''INTCOL ''',
- : 'TUNIT2 = ''m ''',
- : 'TFORM3 = ''0A ''',
- : 'TTYPE3 = ''STRINGCOL''',
- : 'TDIM3 = ''(0,3) ''' /
-
-
- data header2 / 'XTENSION= ''BINTABLE''',
- : 'BITPIX = 8',
- : 'NAXIS = 2',
- : 'NAXIS1 = 40',
- : 'NAXIS2 = 3',
- : 'PCOUNT = 0',
- : 'GCOUNT = 1',
- : 'TFIELDS = 3',
- : 'TFORM1 = ''6B ''',
- : 'TTYPE1 = ''BYTECOL ''',
- : 'TUNIT1 = ''ADU ''',
- : 'TNULL1 = 254',
- : 'TDIM1 = ''(2,3) ''',
- : 'TFORM2 = ''1J ''',
- : 'TTYPE2 = ''INTCOL ''',
- : 'TUNIT2 = ''m ''',
- : 'TNULL2 = 2147483647',
- : 'TFORM3 = ''30A ''',
- : 'TTYPE3 = ''STRINGCOL''',
- : 'TDIM3 = ''(10,3) ''' /
-
-c call ast_watchmemory(483)
-
- status = sai__ok
- call err_mark( status )
- call ast_begin( status )
-
- table = ast_fitstable( AST__NULL, ' ', status )
-
- header = ast_gettableheader( table, status )
- if( ast_geti( header, 'NCard', status ) .ne. 8 ) then
- call stopit( status, 'FitsTable error 1' )
- else if( .not. ast_getfitsi( header, 'NAXIS', ival, status )) then
- call stopit( status, 'FitsTable error 2' )
- else if( ival .ne. 2 ) then
- call stopit( status, 'FitsTable error 3' )
- else if( .not. ast_getfitsi( header, 'NAXIS1', ival, status)) then
- call stopit( status, 'FitsTable error 4' )
- else if( ival .ne. 0 ) then
- call stopit( status, 'FitsTable error 5' )
- else if( .not. ast_getfitsi( header, 'NAXIS2', ival, status)) then
- call stopit( status, 'FitsTable error 6' )
- else if( ival .ne. 0 ) then
- call stopit( status, 'FitsTable error 7' )
- endif
- call ast_annul( header, status )
-
-
- call ast_addcolumn( table, 'JUNK', AST__OBJECTTYPE, 0, 0, 'm',
- : status )
- if( status .eq. AST__NAXIN ) then
- call err_annul( status )
- else if( status .eq. sai__ok ) then
- call stopit( status, 'FitsTable error 8' )
- endif
-
- dims( 1 ) = 2
- dims( 2 ) = 3
- call ast_addcolumn( table, 'BYTECOL', AST__BYTETYPE, 2, dims,
- : 'ADU', status )
-
- call ast_addcolumn( table, 'INTCOL', AST__INTTYPE, 0, 0, 'm',
- : status )
-
- dims( 1 ) = 3
- call ast_addcolumn( table, 'STRINGCOL', AST__STRINGTYPE, 1, dims,
- : ' ', status )
-
-
- header = ast_gettableheader( table, status )
- icard = 0
- do while( ast_findfits( header, '%f', card, .true., status ) )
- icard = icard + 1
- if( icard .gt. 18 ) then
- call stopit( status, 'FitsTable error 9' )
- else if( card .ne. header1( icard ) ) then
- call stopit( status, 'FitsTable error 10' )
- end if
- end do
- if( icard .ne. 18 ) call stopit( status, 'FitsTable error 11' )
-
-
- table2 = ast_fitstable( header, ' ', status )
- call ast_annul( header, status )
-
- if( ast_geti( table2, 'Ncolumn', status ) .ne. 3 ) then
- call stopit( status, 'FitsTable error 11a' )
- end if
-
-
-
- if( ast_geti( table2, 'ColumnLength(bytecol)', status )
- : .ne. 6 ) then
- call stopit( status, 'FitsTable error 11b' )
- endif
-
- if( ast_geti( table2, 'ColumnNdim(bytecol)', status )
- : .ne. 2 ) then
- call stopit( status, 'FitsTable error 11c' )
- end if
-
- if( ast_geti( table2, 'ColumnType(bytecol)', status )
- : .ne. AST__BYTETYPE ) then
- call stopit( status, 'FitsTable error 11d' )
- end if
-
- if( ast_getc( table2, 'ColumnUnit(bytecol)', status )
- : .ne. 'ADU' ) then
- call stopit( status, 'FitsTable error 11e' )
- end if
-
-
- if( ast_geti( table2, 'ColumnLength(intcol)', status )
- : .ne. 1 ) then
- call stopit( status, 'FitsTable error 11f' )
- endif
-
- if( ast_geti( table2, 'ColumnNdim(intcol)', status )
- : .ne. 0 ) then
- call stopit( status, 'FitsTable error 11g' )
- end if
-
- if( ast_geti( table2, 'ColumnType(intcol)', status )
- : .ne. AST__INTTYPE ) then
- call stopit( status, 'FitsTable error 11h' )
- end if
-
- if( ast_getc( table2, 'ColumnUnit(intcol)', status )
- : .ne. 'm' ) then
- call stopit( status, 'FitsTable error 11i' )
- end if
-
-
- if( ast_geti( table2, 'ColumnLength(StringCol)', status )
- : .ne. 3 ) then
- call stopit( status, 'FitsTable error 11j' )
- endif
-
- if( ast_geti( table2, 'ColumnNdim(StringCol)', status )
- : .ne. 1 ) then
- call stopit( status, 'FitsTable error 11k' )
- end if
-
- if( ast_geti( table2, 'ColumnType(StringCol)', status )
- : .ne. AST__STRINGTYPE ) then
- call stopit( status, 'FitsTable error 11l' )
- end if
-
- if( ast_getc( table2, 'ColumnUnit(StringCol)', status )
- : .ne. ' ' ) then
- call stopit( status, 'FitsTable error 11m' )
- end if
-
-
-
- bytes(1,1) = 0
- bytes(1,2) = 128
- bytes(1,3) = -127
- bytes(2,1) = 1
- bytes(2,2) = 127
- bytes(2,3) = -1
- call ast_mapput1b( table, 'BYTECOL(1)', 6, bytes, ' ', status )
-
- bytes(1,1) = 0
- bytes(1,2) = 0
- bytes(1,3) = 0
- bytes(2,1) = 1
- bytes(2,2) = 1
- bytes(2,3) = 1
- call ast_mapput1b( table, 'BYTECOL(2)', 6, bytes, ' ', status )
-
- call ast_mapput0i( table, 'INTCOL(2)', 10, ' ', status )
-
- call ast_mapput0i( table, 'INTCOL(3)', -10, ' ', status )
-
- text( 1 ) = 'hello'
- text( 2 ) = ' '
- text( 3 ) = 'goodbye'
- call ast_mapput1c( table, 'STRINGCOL(1)', 3, text, ' ', status )
-
- text( 1 ) = ' '
- text( 2 ) = ' '
- text( 3 ) = ' '
- call ast_mapput1c( table, 'STRINGCOL(3)', 3, text, ' ', status )
-
- if( ast_geti( table, 'Nrow', status ) .ne. 3 ) then
- call stopit( status, 'FitsTable error 12' )
- endif
-
- if( ast_geti( table, 'Ncolumn', status ) .ne. 3 ) then
- call stopit( status, 'FitsTable error 13' )
- endif
-
- head = ast_gettableheader( table, status )
- table2 = ast_fitstable( head, ' ', status )
- call ast_annul( head, status )
-
- colsize = ast_columnsize( table, 'stringcol', status )
- if( colsize .ne. 90 ) then
- call stopit( status, 'FitsTable error 13a' )
- else
- call psx_malloc( colsize, pntr, status )
- call ast_getcolumndata( table, 'StringCol', 0.0, 0.0D0,
- : colsize, %val( cnf_pval(pntr)),
- : colsize, status )
- if( colsize .ne. 9 ) call stopit( status,
- : 'FitsTable error 13b' )
- call checkstrings( table, %val( CNF_PVAL( pntr ) ), status )
-
- clen = ast_geti( table, 'ColumnLenC(StringCol)', status )
- if( clen .ne. 10 ) call stopit( status,
- : 'FitsTable error 13c' )
-
- colsize = 90
- call ast_putcolumndata( table2, 'StringCol', 10, colsize,
- : %val( CNF_PVAL( pntr ) ), status )
- call ast_getcolumndata( table2, 'StringCol', 0.0, 0.0D0,
- : colsize, %val( cnf_pval(pntr)),
- : colsize, status )
-
- if( colsize .ne. 9 ) call stopit( status,
- : 'FitsTable error 13d' )
- call checkstrings( table2, %val( CNF_PVAL( pntr ) ), status )
-
- call psx_free( pntr, status )
- end if
-
- colsize = ast_columnsize( table, 'bytecol', status )
- if( colsize .ne. 18 ) then
- call stopit( status, 'FitsTable error 13e' )
- else
- call psx_malloc( colsize, pntr, status )
- call ast_getcolumndata( table, 'BYTECOL', 0.0, 0.0D0, colsize,
- : %val( cnf_pval( pntr ) ), colsize,
- : status )
- if( colsize .ne. 18 ) call stopit( status,
- : 'FitsTable error 13f' )
-
- null = ast_columnnull( table, 'BYTECOL', .FALSE., 0,
- : wasset, hasnull, status )
- call checkbytes( table, %val( CNF_PVAL( pntr ) ), null,
- : status )
-
- colsize = 18
- call ast_putcolumndata( table2, 'byteCol', 0, colsize,
- : %val( CNF_PVAL( pntr ) ), status )
- oldnull = ast_columnnull( table2, 'BYTECOL', .TRUE., null,
- : wasset, hasnull, status )
- call ast_getcolumndata( table2, 'BYTECOL', 0.0, 0.0D0, colsize,
- : %val( cnf_pval( pntr ) ), colsize,
- : status )
- if( colsize .ne. 18 ) call stopit( status,
- : 'FitsTable error 13g' )
- call checkbytes( table2, %val( CNF_PVAL( pntr ) ), null,
- : status )
-
- call psx_free( pntr, status )
- end if
-
- colsize = ast_columnsize( table, 'intcol', status )
- if( colsize .ne. 12 ) then
- call stopit( status, 'FitsTable error 13h' )
- else
- call psx_malloc( colsize, pntr, status )
- call ast_getcolumndata( table, 'INTCOL', 0.0, 0.0D0, colsize,
- : %val( cnf_pval( pntr ) ), colsize,
- : status )
- if( colsize .ne. 3 ) call stopit( status,
- : 'FitsTable error 13i' )
- call checkints( table, %val( CNF_PVAL( pntr ) ),
- : ast_columnnull( table, 'INTCOL', .FALSE., 0,
- : wasset, hasnull, status ),
- : status )
-
- colsize = 12
- call ast_putcolumndata( table2, 'INTCol', 0, colsize,
- : %val( CNF_PVAL( pntr ) ), status )
-
- call ast_getcolumndata( table2, 'INTCOL', 0.0, 0.0D0, colsize,
- : %val( cnf_pval( pntr ) ), colsize,
- : status )
- if( colsize .ne. 3 ) call stopit( status,
- : 'FitsTable error 13j' )
- call checkints( table2, %val( CNF_PVAL( pntr ) ),
- : ast_columnnull( table2, 'INTCOL', .FALSE., 0,
- : wasset, hasnull, status ),
- : status )
-
- call psx_free( pntr, status )
- end if
-
-
- call ast_addcolumn( table, 'REALCOL', AST__FLOATTYPE, 0, 0, ' ',
- : status )
- call ast_addcolumn( table2, 'REALCOL', AST__FLOATTYPE, 0, 0, ' ',
- : status )
- call ast_mapput0r( table, 'REALCOL(1)', -10.0, ' ', status )
- call ast_mapput0r( table, 'REALCOL(3)', 10.0, ' ', status )
-
- colsize = ast_columnsize( table, 'realcol', status )
- if( colsize .ne. 12 ) then
- call stopit( status, 'FitsTable error 13k' )
- else
- call psx_malloc( colsize, pntr, status )
- call ast_getcolumndata( table, 'REALCOL', -1.0, 0.0D0, colsize,
- : %val( cnf_pval( pntr ) ), colsize,
- : status )
- if( colsize .ne. 3 ) call stopit( status,
- : 'FitsTable error 13l' )
- call checkreals( table, %val( CNF_PVAL( pntr ) ), -1.0,
- : status )
-
- colsize = 12
- call ast_putcolumndata( table2, 'realCol', 0, colsize,
- : %val( CNF_PVAL( pntr ) ), status )
-
-
- call ast_mapremove( table2, 'REALCOL(2)', status )
- call ast_getcolumndata( table2, 'REALCOL', AST__NANR, 0.0D0,
- : colsize,
- : %val( cnf_pval( pntr ) ), colsize,
- : status )
- if( colsize .ne. 3 ) call stopit( status,
- : 'FitsTable error 13m' )
- call checkreals( table2, %val( CNF_PVAL( pntr ) ), AST__NANR,
- : status )
-
- call psx_free( pntr, status )
- end if
-
- call ast_removecolumn( table, 'REALCOL', status )
-
- call ast_mapremove( table, 'BYTECOL(3)', status )
- call ast_mapremove( table, 'INTCOL(3)', status )
- call ast_mapremove( table, 'STRINGCOL(3)', status )
-
- if( ast_geti( table, 'Nrow', status ) .ne. 3 ) then
- call stopit( status, 'FitsTable error 14' )
- endif
-
- if( ast_geti( table, 'Ncolumn', status ) .ne. 3 ) then
- call stopit( status, 'FitsTable error 15' )
- endif
-
-
-
-
- header = ast_gettableheader( table, status )
- icard = 0
- do while( ast_findfits( header, '%f', card, .true., status ) )
- icard = icard + 1
- if( icard .gt. 20 ) then
- call stopit( status, 'FitsTable error 16' )
- else if( card .ne. header2( icard ) ) then
- call stopit( status, 'FitsTable error 17' )
- end if
- end do
- call ast_annul( header, status )
- if( icard .ne. 20 ) call stopit( status, 'FitsTable error 18' )
-
-
-
- if( ast_columnnull( table, 'BYTECOL', .FALSE., 0, wasset,
- : hasnull, status ) .ne. 254 ) then
- call stopit( status, 'FitsTable error 19' )
- else if( wasset ) then
- call stopit( status, 'FitsTable error 20' )
- else if( .not. hasnull ) then
- call stopit( status, 'FitsTable error 21' )
- end if
-
-
-
- call ast_purgerows( table, status )
- if( ast_geti( table, 'Nrow', status ) .ne. 2 ) then
- call stopit( status, 'FitsTable error 22' )
- endif
-
- if( ast_geti( table, 'Ncolumn', status ) .ne. 3 ) then
- call stopit( status, 'FitsTable error 23' )
- endif
-
- header = ast_gettableheader( table, status )
- if( ast_getfitsi( header, 'TNULL1', ival, status ) ) then
- call stopit( status, 'FitsTable error 24' )
- endif
- call ast_annul( header, status )
-
- if( ast_columnnull( table, 'BYTECOL', .TRUE., 11, wasset,
- : hasnull, status ) .ne. 11 ) then
- call stopit( status, 'FitsTable error 25' )
- else if( wasset ) then
- call stopit( status, 'FitsTable error 26' )
- else if( hasnull ) then
- call stopit( status, 'FitsTable error 27' )
- end if
-
- if( ast_columnnull( table, 'BYTECOL', .FALSE., 0, wasset,
- : hasnull, status ) .ne. 11 ) then
- call stopit( status, 'FitsTable error 28' )
- else if( .not. wasset ) then
- call stopit( status, 'FitsTable error 29' )
- else if( hasnull ) then
- call stopit( status, 'FitsTable error 30' )
- end if
-
-
- table2 = ast_copy( table, status )
-
- call ast_end( status )
- call err_rlse( status )
-
-c call ast_activememory( 'testfitstable' )
- call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All FitsTable tests passed'
- else
- write(*,*) 'FitsTable tests failed'
- end if
-
- end
-
-
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
- end
-
-
-
- subroutine checkbytes( table, vals, null, status )
- implicit none
- include 'SAE_PAR'
- integer status, table, null, i
- byte vals( * ), ans( 12 ), bnull
-
- data ans / 0, 1, 128, 127, -127, -1, 0, 1, 0, 1, 0, 1 /
-
- if( status .ne. sai__ok ) return
-
- do i = 1, 12
- if( vals( i ) .ne. ans( i ) ) then
- write(*,*) 'i,vals,ans: ',i,' ',vals(i),' ',ans(i)
- call stopit( status, 'FitsTable error checkbytes 1' )
- end if
- end do
-
- bnull = null
- do i = 13, 18
- if( vals( i ) .ne. bnull ) then
- call stopit( status, 'FitsTable error checkbytes 2' )
- end if
- end do
-
- end
-
- subroutine checkints( table, vals, null, status )
- implicit none
- include 'SAE_PAR'
- integer status, table, null
- integer vals( * )
-
- if( status .ne. sai__ok ) return
-
- if( vals( 1 ) .ne. null ) then
- call stopit( status, 'FitsTable error checkints 1' )
- end if
-
- if( vals( 2 ) .ne. 10 ) then
- call stopit( status, 'FitsTable error checkints 2' )
- end if
-
- if( vals( 3 ) .ne. -10 ) then
- call stopit( status, 'FitsTable error checkints 3' )
- end if
-
- end
-
- subroutine checkreals( table, vals, null, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, table
- real vals( * ), null
-
- if( status .ne. sai__ok ) return
-
- if( vals( 1 ) .ne. -10.0 ) then
- call stopit( status, 'FitsTable error checkreals 1' )
- end if
-
- if( null .ne. AST__NANR ) then
- if( vals( 2 ) .ne. null ) then
- call stopit( status, 'FitsTable error checkreals 2a' )
- end if
- else
- if( .not. isnan( vals( 2 ) ) ) then
- call stopit( status, 'FitsTable error checkreals 2b' )
- end if
- end if
-
- if( vals( 3 ) .ne. 10.0 ) then
- call stopit( status, 'FitsTable error checkreals 3' )
- end if
-
- end
-
- subroutine checkstrings( table, vals, status )
- implicit none
- include 'SAE_PAR'
- integer status, table, i, start, end, j
- character ans( 9 )*10
- character vals*( * )
-
- data ans / 'hello', ' ', 'goodbye', '', '', '', ' ', ' ', ' ' /
-
- if( status .ne. sai__ok ) return
-
- start = 1
- end = 10
-
- do i = 1, 9
-
- do j = 1, 11
- if( vals( start + j - 1 : start + j - 1 ) .lt. ' ' ) then
- vals( start + j - 1 : start + j - 1 ) = ' '
- endif
- end do
-
- if( vals( start : end ) .ne. ans( i ) ) then
- write(*,*) 'start,end,i : ',start,' ',end,' ',i
- write(*,*) 'vals: ',vals( start : end )
- write(*,*) 'ans: ',ans( i )
- call stopit( status, 'FitsTable error checkstrings 1' )
- end if
-
- start = start + 10
- end = end + 10
-
- end do
-
- end
-
-
-
-
diff --git a/ast/ast_tester/testflux.f b/ast/ast_tester/testflux.f
deleted file mode 100644
index f24629f..0000000
--- a/ast/ast_tester/testflux.f
+++ /dev/null
@@ -1,354 +0,0 @@
- program testflux
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- double precision xin, xout
- integer status, sf, ff, ff2, mp, fs, sf2
- status = sai__ok
-
- sf = ast_specframe( 'system=freq,unit=GHz', status )
- ff = ast_Fluxframe( 123.0D0, sf, ' ', status )
-
- if( ast_GetD( ff, 'specval', status ) .ne. 123.0D0 ) then
- call stopit( status, 'Error 1' )
- end if
-
- if( ast_Test( ff, 'specval', status ) ) then
- call stopit( status, 'Error 2' )
- end if
-
- call ast_setd( ff, 'specval', 333.3D0, status )
- if( ast_GetD( ff, 'specval', status ) .ne. 333.3D0 ) then
- call stopit( status, 'Error 3' )
- end if
-
- if( .not. ast_Test( ff, 'specval', status ) ) then
- call stopit( status, 'Error 4' )
- end if
-
- call ast_clear( ff, 'specval', status )
-
- if( ast_GetD( ff, 'specval', status ) .ne. 123.0D0 ) then
- call stopit( status, 'Error 5' )
- end if
-
- if( ast_Test( ff, 'specval', status ) ) then
- call stopit( status, 'Error 6' )
- end if
-
-
- call checkDump( ff, 'CheckDump 1', status )
-
-
- ff2 = ast_Fluxframe( 123.1D0, sf, ' ', status )
- fs = ast_convert( ff, ff2, ' ', status )
- if( fs .eq. ast__null ) then
- call stopit( status, 'error 8' )
- else
- mp = ast_getmapping( fs, AST__BASE, AST__CURRENT, status )
- if( .not. ast_isaunitmap( mp, status ) ) then
- call stopit( status, 'error 9' )
- end if
- end if
-
-
-
-
-
- ff = ast_Fluxframe( 123.0D0, sf, 'unit=W/m^2/Hz', status )
- if( ast_GetC( ff, 'System', status ) .ne. 'FLXDN' ) then
- write(*,*) ast_GetC( ff, 'System', status )
- call stopit( status, 'error 10' )
- endif
-
- ff2 = ast_Fluxframe( 123.0D0, sf, 'unit=W/m^2/GHz', status )
- if( ast_GetC( ff2, 'System', status ) .ne. 'FLXDN' ) then
- write(*,*) ast_GetC( ff2, 'System', status )
- call stopit( status, 'error 11' )
- endif
-
- fs = ast_convert( ff2, ff, ' ', status )
- if( fs .eq. ast__null ) then
- call stopit( status, 'error 12' )
- else
- mp = ast_getmapping( fs, AST__BASE, AST__CURRENT, status )
- if( .not. ast_isazoommap( mp, status ) ) then
- call stopit( status, 'error 13' )
- else if( abs( ast_getd( mp, 'Zoom', status ) - 1.0D-9 )
- : .gt. 1.0E-24 ) then
- write(*,*) ast_getd( mp, 'Zoom', status )
- call stopit( status, 'error 14' )
- end if
- end if
-
-
- ff = ast_Fluxframe( 123.0D0, sf, 'unit=W/m^2/m', status )
- if( ast_GetC( ff, 'System', status ) .ne. 'FLXDNW' ) then
- write(*,*) ast_GetC( ff, 'System', status )
- call stopit( status, 'error 15' )
- endif
-
- sf2 = ast_specframe( 'system=freq,unit=Hz', status )
- ff2 = ast_Fluxframe( 123.0D9, sf2, 'unit=W/m^2/Angstrom', status )
- if( ast_GetC( ff2, 'System', status ) .ne. 'FLXDNW' ) then
- write(*,*) ast_GetC( ff2, 'System', status )
- call stopit( status, 'error 16' )
- endif
-
- fs = ast_convert( ff2, ff, ' ', status )
- if( fs .eq. ast__null ) then
- call stopit( status, 'error 17' )
- else
- mp = ast_getmapping( fs, AST__BASE, AST__CURRENT, status )
- if( .not. ast_isazoommap( mp, status ) ) then
- call stopit( status, 'error 18' )
- else if( ast_getd( mp, 'Zoom', status ) .ne. 1.0D10 ) then
- write(*,*) ast_getd( mp, 'Zoom', status )
- call stopit( status, 'error 19' )
- end if
- end if
-
-
-
-
- ff = ast_Fluxframe( 123.0D0, sf, 'unit=W/m^2/m', status )
- if( ast_GetC( ff, 'System', status ) .ne. 'FLXDNW' ) then
- write(*,*) ast_GetC( ff, 'System', status )
- call stopit( status, 'error 20' )
- endif
-
- sf2 = ast_specframe( 'system=wave,unit=nm', status )
- ff2 = ast_Fluxframe( 2437337.06D0, sf2, 'unit=W/m^2/Angstrom',
- : status )
- if( ast_GetC( ff2, 'System', status ) .ne. 'FLXDNW' ) then
- write(*,*) ast_GetC( ff2, 'System', status )
- call stopit( status, 'error 21' )
- endif
-
- fs = ast_convert( ff, ff2, ' ', status )
- if( fs .eq. ast__null ) then
- call stopit( status, 'error 22' )
- else
- mp = ast_getmapping( fs, AST__BASE, AST__CURRENT, status )
- if( .not. ast_isazoommap( mp, status ) ) then
- call stopit( status, 'error 23' )
- else if( ast_getd( mp, 'Zoom', status ) .ne. 1.0D-10 ) then
- write(*,*) ast_getd( mp, 'Zoom', status )
- call stopit( status, 'error 24' )
- end if
- end if
-
-
- sf = ast_specframe( 'system=freq,unit=GHz', status )
- ff = ast_Fluxframe( 123.0D0, sf, 'unit=W/m^2/Hz', status )
- sf2 = ast_specframe( 'system=wave,unit=nm', status )
- ff2 = ast_Fluxframe( 2437337.06D0, sf2, 'unit=W/m^2/m',
- : status )
- fs = ast_convert( ff, ff2, ' ', status )
- if( fs .eq. ast__null ) then
- call stopit( status, 'error 25' )
- else
- xin = 1.0D-13
- call ast_tran1( fs, 1,xin, 1,xout, status )
- if( abs( xout - 5.04649119D0 ) .gt. 1.0D-6 ) then
- call stopit( status, 'error 26' )
- end if
- end if
-
-
- sf = ast_specframe( 'system=freq,unit=GHz', status )
- ff = ast_Fluxframe( 123.0D0, sf, 'unit=W/m^2/Hz/arcsec**2',
- : status )
- if( ast_getc( ff, 'System', status ) .ne. 'SFCBR' )
- : call stopit( status, 'error 27a' )
-
- sf2 = ast_specframe( 'system=wave,unit=nm', status )
- ff2 = ast_Fluxframe( 2437337.06D0, sf2, 'unit=W/m^2/m/deg**2',
- : status )
- if( ast_getc( ff2, 'System', status ) .ne. 'SFCBRW' )
- : call stopit( status, 'error 27b' )
-
- fs = ast_convert( ff, ff2, ' ', status )
- if( fs .eq. ast__null ) then
- call stopit( status, 'error 27' )
- else
- xin = 1.0D-13
- call ast_tran1( fs, 1,xin, 1,xout, status )
- if( abs( xout - 65402525.8D0 ) .gt. 1.0 ) then
- write(*,*) xout - 65402525.8D0
- call stopit( status, 'error 28' )
- end if
- end if
-
-
- ff = ast_Fluxframe( 123.0D0, sf, 'unit=W/m^2/Hz/arcsec**2',
- : status )
- ff2 = ast_Fluxframe( 2437337.06D0, sf2, 'unit=W/m^2/m',
- : status )
-
- fs = ast_convert( ff, ff2, ' ', status )
- if( fs .ne. ast__null ) call stopit( status, 'error 29' )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All FluxFrame tests passed'
- else
- write(*,*) 'FluxFrame tests failed'
- end if
-
- end
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
-
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
-
- end
-
-
- subroutine checkdump( obj, text, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character text*(*)
- integer obj, status, next, end, ch, result, ll, overlap
- external mysource, mysink
- character buf*25000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- ch = ast_channel( mysource, mysink, ' ', status )
-
-
- ll = 110
- next = 1
- if( ast_write( ch, obj, status ) .ne.1 ) then
- write(*,*) text
- call stopit( status, 'Cannot write supplied object to '//
- : 'channel' )
- end if
-
- next = 1
- result = ast_read( ch, status )
- if( result .eq. ast__null ) then
- write(*,*) text
- call stopit( status, 'Cannot read object from channel' )
- end if
-
-
-
- if( ast_getd( obj, 'specval', status ) .ne.
- : ast_getd( result, 'specval', status ) ) then
- call ast_Show( obj, status )
- call ast_Show( result, status )
- write(*,*) text
- call stopit( status, 'Object has changed' )
- end if
-
- end
-
- subroutine sink1( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- logical fsfound, done
- common /sink1com/ fsfound, done
-
- integer status, l
- character line*200
-
- if( status .ne. sai__ok ) return
- call ast_getline( line, l, status )
-
- if( index( line( : l ),'Unc =' ) .GT. 0 ) then
- done = .true.
-
- else if( .not. done .and.
- : index( line( : l ),'FrameSet' ) .GT. 0 ) then
- fsfound= .true.
- end if
-
- end
-
- subroutine mysource( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, ll
- character buf*25000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- if( next .ge. end ) then
- call ast_putline( buf, -1, status )
- else
- call ast_putline( buf( next : ), ll, status )
- endif
-
- next = next + ll
-
- end
-
- subroutine mysink( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll
- character buf*25000
- character line*1000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
- buf( next : ) = line( f : l )
- l = l - f + 1
-
- if( next + ll - 1 .ge. 25000 ) then
- write(*,*)
- call stopit( status, 'Buffer overflow in mysink!!' )
- else if( l .gt. ll ) then
- write(*,*)
- write(*,*) buf( next : next + l)
- write(*,*) 'Line length ',l
- call stopit( status, 'Line overflow in mysink!!' )
- else
- end = next + l
- buf( end : next + ll - 1 ) = ' '
- endif
-
- next = next + ll
-
- end
-
-
diff --git a/ast/ast_tester/testframeset.f b/ast/ast_tester/testframeset.f
deleted file mode 100644
index 0c9c52e..0000000
--- a/ast/ast_tester/testframeset.f
+++ /dev/null
@@ -1,391 +0,0 @@
- program testframeset
- implicit none
-
- include 'AST_PAR'
- include 'AST_ERR'
- include 'SAE_PAR'
-
- integer status, pfrm, ffrm, p2fmap, fs, p2fmap2, result, orig
- double precision ina(2), inb(2), outa(2), outb(2), xout, yout
- character text*100
-
-c call ast_watchmemory(100)
-
-
- status = sai__ok
- call err_mark( status )
- call ast_begin( status )
-
-
- pfrm = ast_frame( 2, "Domain=PIXEL", status )
- ffrm = ast_frame( 2, "Domain=FPLANE", status )
-
- ina( 1 ) = 1.0
- ina( 2 ) = 1.0
- inb( 1 ) = 100.0
- inb( 2 ) = 200.0
-
- outa( 1 ) = -2.5
- outa( 2 ) = -1.0
- outb( 1 ) = 2.5
- outb( 2 ) = 1.0
- p2fmap = ast_winmap( 2, ina, inb, outa, outb, ' ', status )
-
- fs = ast_frameset( pfrm, ' ', status )
- call ast_addframe( fs, AST__CURRENT, p2fmap, ffrm, status )
-
- call ast_setc( fs, 'Base', 'Fplane', status )
- if( ast_geti( fs, 'Base', status ) .ne. 2 )
- : call stopit( status, 'Error -3' )
-
- call ast_setc( fs, 'Base', 'pixel', status )
- if( ast_geti( fs, 'Base', status ) .ne. 1 )
- : call stopit( status, 'Error -2' )
-
- call ast_setc( fs, 'Current', 'PIXEL', status )
- if( ast_geti( fs, 'Current', status ) .ne. 1 )
- : call stopit( status, 'Error -1' )
-
- call ast_setc( fs, 'Current', 'fplane', status )
- if( ast_geti( fs, 'Current', status ) .ne. 2 )
- : call stopit( status, 'Error 0' )
-
- text = ast_getc( fs, 'AllVariants', status )
- if( text .ne. 'FPLANE' ) call stopit( status, 'Error 1' )
-
- text = ast_getc( fs, 'Variant', status )
- if( text .ne. 'FPLANE' ) call stopit( status, 'Error 2' )
-
- if( ast_test( fs, 'Variant', status ) ) call stopit( status,
- : 'Error 3' )
-
-
- call ast_addvariant( FS, ast__null, 'FP1', status )
-
- text = ast_getc( fs, 'AllVariants', status )
- if( text .ne. 'FP1' ) call stopit( status, 'Error 4' )
-
- text = ast_getc( fs, 'Variant', status )
- if( text .ne. 'FP1' ) call stopit( status, 'Error 5' )
-
- if( .not. ast_test( fs, 'Variant', status ) ) call stopit( status,
- : 'Error 6' )
-
- call ast_clear( fs, 'Variant', status )
-
- text = ast_getc( fs, 'AllVariants', status )
- if( text .ne. 'FPLANE' ) call stopit( status, 'Error 7' )
-
- text = ast_getc( fs, 'Variant', status )
- if( text .ne. 'FPLANE' ) call stopit( status, 'Error 8' )
-
- if( ast_test( fs, 'Variant', status ) ) call stopit( status,
- : 'Error 9' )
-
- call ast_addvariant( FS, ast__null, 'FP1', status )
-
- outa( 1 ) = 100.0
- outa( 2 ) = 100.0
- outb( 1 ) = 200.0
- outb( 2 ) = 200.0
- p2fmap2 = ast_winmap( 2, ina, inb, outa, outb, ' ', status )
-
- call ast_invert( p2fmap, status )
- call ast_addvariant( fs, ast_simplify(
- : ast_cmpmap( p2fmap, p2fmap2, 1, ' ',
- : status ), status ),
- : 'FP2', status )
-
- text = ast_getc( fs, 'AllVariants', status )
- if( text .ne. 'FP1 FP2' ) call stopit( status, 'Error 10' )
-
- text = ast_getc( fs, 'Variant', status )
- if( text .ne. 'FP2' ) call stopit( status, 'Error 11' )
-
- if( .not. ast_test( fs, 'Variant', status ) ) call stopit( status,
- : 'Error 12' )
- call ast_tran2( fs, 1, 50.5D0, 100.5D0, .TRUE., xout, yout,
- : status )
- if( abs( xout - 150.0D0 ) .gt. 1.0E-6 .OR.
- : abs( yout - 150.0D0 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Error 13' )
-
- call ast_setc( fs, 'Variant', 'FP1', status )
- call ast_tran2( fs, 1, 50.5D0, 100.5D0, .TRUE., xout, yout,
- : status )
- if( abs( xout - 0.0D0 ) .gt. 1.0E-6 .OR.
- : abs( yout - 0.0D0 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Error 14' )
-
- outa( 1 ) = -100.0
- outa( 2 ) = -100.0
- outb( 1 ) = -200.0
- outb( 2 ) = -200.0
- p2fmap2 = ast_winmap( 2, ina, inb, outa, outb, ' ', status )
-
- p2fmap = ast_getmapping( fs, AST__CURRENT, AST__BASE, status )
- call ast_addvariant( fs, ast_simplify(
- : ast_cmpmap( p2fmap, p2fmap2, 1, ' ',
- : status ), status ),
- : 'FP3', status )
-
- text = ast_getc( fs, 'AllVariants', status )
- if( text .ne. 'FP1 FP2 FP3' ) call stopit( status, 'Error 15' )
-
- text = ast_getc( fs, 'Variant', status )
- if( text .ne. 'FP3' ) call stopit( status, 'Error 16' )
-
- if( .not. ast_test( fs, 'Variant', status ) ) call stopit( status,
- : 'Error 17' )
- call ast_tran2( fs, 1, 50.5D0, 100.5D0, .TRUE., xout, yout,
- : status )
- if( abs( xout + 150.0D0 ) .gt. 1.0E-6 .OR.
- : abs( yout + 150.0D0 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Error 18' )
-
- call ast_setc( fs, 'Variant', 'FP2', status )
- call ast_tran2( fs, 1, 50.5D0, 100.5D0, .TRUE., xout, yout,
- : status )
- if( abs( xout - 150.0D0 ) .gt. 1.0E-6 .OR.
- : abs( yout - 150.0D0 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Error 19' )
-
- call checkdump( fs, result, status )
-
- text = ast_getc( result, 'AllVariants', status )
- if( text .ne. 'FP1 FP2 FP3' ) call stopit( status, 'Error 20' )
-
- text = ast_getc( result, 'Variant', status )
- if( text .ne. 'FP2' ) call stopit( status, 'Error 21' )
-
- call ast_tran2( result, 1, 50.5D0, 100.5D0, .TRUE., xout, yout,
- : status )
- if( abs( xout - 150.0D0 ) .gt. 1.0E-6 .OR.
- : abs( yout - 150.0D0 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Error 22' )
-
-
-
- orig = ast_geti( fs, 'Current', status )
- call ast_addframe( fs, AST__CURRENT, AST_UNITMAP( 2, '', status ),
- : AST_FRAME( 2, "Domain=DSB", status ), status )
- call ast_tran2( fs, 1, 50.5D0, 100.5D0, .TRUE., xout, yout,
- : status )
- if( abs( xout - 150.0D0 ) .gt. 1.0E-6 .OR.
- : abs( yout - 150.0D0 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Error 23' )
-
- if( status .eq. sai__ok ) then
- call ast_setc( fs, 'Variant', 'FP1', status )
- if( status .eq. ast__attin ) then
- call err_annul( status )
- else
- call err_flush( status )
- call stopit( status, 'Error 24' )
- end if
- end if
-
- text = ast_getc( fs, 'AllVariants', status )
- if( text .ne. 'DSB' ) call stopit( status, 'Error 25' )
-
- text = ast_getc( fs, 'Variant', status )
- if( text .ne. 'DSB' ) call stopit( status, 'Error 26' )
-
- if( ast_test( fs, 'Variant', status ) ) call stopit( status,
- : 'Error 27' )
-
- call ast_mirrorvariants( fs, orig, status )
-
- text = ast_getc( fs, 'AllVariants', status )
- if( text .ne. 'FP1 FP2 FP3' ) call stopit( status, 'Error 28' )
-
- text = ast_getc( fs, 'Variant', status )
- if( text .ne. 'FP2' ) call stopit( status, 'Error 29' )
-
- if( .not. ast_test( fs, 'Variant', status ) ) call stopit( status,
- : 'Error 30' )
-
- call ast_tran2( fs, 1, 50.5D0, 100.5D0, .TRUE., xout, yout,
- : status )
- if( abs( xout - 150.0D0 ) .gt. 1.0E-6 .OR.
- : abs( yout - 150.0D0 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Error 31' )
-
- call ast_set( fs, 'Variant=FP1', status )
- text = ast_getc( fs, 'Variant', status )
- if( text .ne. 'FP1' ) call stopit( status, 'Error 32' )
-
- call ast_tran2( fs, 1, 50.5D0, 100.5D0, .TRUE., xout, yout,
- : status )
- if( abs( xout - 0.0D0 ) .gt. 1.0E-6 .OR.
- : abs( yout - 0.0D0 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Error 33' )
-
- call checkdump( fs, result, status )
-
- text = ast_getc( result, 'AllVariants', status )
- if( text .ne. 'FP1 FP2 FP3' ) call stopit( status, 'Error 34' )
-
- text = ast_getc( result, 'Variant', status )
- if( text .ne. 'FP1' ) call stopit( status, 'Error 35' )
-
- call ast_tran2( result, 1, 50.5D0, 100.5D0, .TRUE., xout, yout,
- : status )
- if( abs( xout - 0.0D0 ) .gt. 1.0E-6 .OR.
- : abs( yout - 0.0D0 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Error 36' )
-
- result = ast_copy( fs, status )
-
- text = ast_getc( result, 'AllVariants', status )
- if( text .ne. 'FP1 FP2 FP3' ) call stopit( status, 'Error 37' )
-
- text = ast_getc( result, 'Variant', status )
- if( text .ne. 'FP1' ) call stopit( status, 'Error 38' )
-
- call ast_tran2( result, 1, 50.5D0, 100.5D0, .TRUE., xout, yout,
- : status )
- if( abs( xout - 0.0D0 ) .gt. 1.0E-6 .OR.
- : abs( yout - 0.0D0 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Error 39' )
-
- call ast_clear( fs, 'Variant', status )
- text = ast_getc( fs, 'Variant', status )
- if( text .ne. 'DSB' ) call stopit( status, 'Error 40' )
-
-
-
-
-
-
- call ast_end( status )
- call err_rlse( status )
-
- call ast_activememory( 'testframeset' )
- call ast_flushmemory( 1 );
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All FrameSet tests passed'
- else
- write(*,*) 'FrameSet tests failed'
- end if
-
- end
-
-
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
-
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
-
- end
-
- subroutine checkdump( obj, result, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character key*30,txt1*50,txt2*50
- integer obj, status, next, end, ch, result, ll, overlap, size,
- : i, type,obj1,obj2,l1,l2,nl,nrow,nrowold
- external mysource, mysink
- character buf*400000
-
- common /ss1/ buf
- common /ss2/ next, end, ll, nl
-
- if( status .ne. sai__ok ) return
-
- ch = ast_channel( mysource, mysink, ' ', status )
-
- nl = 0
- ll = 110
- next = 1
- if( ast_write( ch, obj, status ) .ne.1 ) then
- call stopit( status, 'Cannot write supplied object to '//
- : 'channel' )
- end if
-
- next = 1
- nl = 0
- result = ast_read( ch, status )
-
- if( result .eq. ast__null ) then
- call stopit( status, 'Cannot read object from channel' )
- end if
-
- if( .not. ast_isaframeset( result, status ) ) then
- call stopit( status, 'Object read from channel is not a '//
- : 'FrameSet')
- end if
-
- end
-
- subroutine mysource( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, ll, nl
- character buf*400000
-
- common /ss1/ buf
- common /ss2/ next, end, ll,nl
-
- if( status .ne. sai__ok ) return
-
- if( next .ge. end ) then
- call ast_putline( buf, -1, status )
- else
-
-c write(*,*) buf( next : next + ll - 1 )
- call ast_putline( buf( next : ), ll, status )
- nl = nl + 1
- endif
-
- next = next + ll
-
- end
-
- subroutine mysink( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll, nl
- character buf*400000
- character line*1000
-
- common /ss1/ buf
- common /ss2/ next, end, ll, nl
-
- if( status .ne. sai__ok ) return
-
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
- buf( next : ) = line( f : l )
- l = l - f + 1
-
- if( next + ll - 1 .ge. 400000 ) then
- write(*,*)
- call stopit( status, 'Buffer overflow in mysink!!' )
- else if( l .gt. ll ) then
- write(*,*)
- write(*,*) buf( next : next + l)
- write(*,*) 'Line length ',l
- call stopit( status, 'Line overflow in mysink!!' )
- else
- end = next + l
- buf( end : next + ll - 1 ) = ' '
- nl = nl + 1
- endif
-
- next = next + ll
-
- end
-
-
diff --git a/ast/ast_tester/testkeymap.f b/ast/ast_tester/testkeymap.f
deleted file mode 100644
index fcd5d5c..0000000
--- a/ast/ast_tester/testkeymap.f
+++ /dev/null
@@ -1,1369 +0,0 @@
- program testkeymap
- implicit none
- include 'AST_PAR'
- include 'AST_ERR'
- include 'SAE_PAR'
- integer status,map,map2,ival,aval,l,ivec(2),avec(4),nval,i,iat,
- : map1, map3, km2
- character cval*20,cvec(3)*10,key*20,cval0*40
- double precision dval, dvec(2)
- logical gota, gotc, gotd, goti, gotr, gotw, lval
- real rval
- integer*2 sval,svec(2)
-
- status = sai__ok
- call err_mark( status )
- call ast_begin( status )
-
-c call ast_watchmemory( 29286 )
-
- call testcasesens( status )
- call testsorting( status )
-
- map = ast_keymap( ' ', status )
-
- call ast_MapPut0s( map, 'Freds', 1999, 'com 1', status )
- call ast_MapPut0i( map, 'Fredi', 1999, 'com 1', status )
- call ast_MapPut0d( map, 'Fredd', 1999.9D0, 'com2 ', status )
- call ast_MapPut0r( map, 'Fredr', 1999.9, 'com2 ', status )
- call ast_MapPut0c( map, 'Fredc', 'Hello', ' ', status )
- call ast_MapPut0A( map, 'Freda', ast_skyframe( ' ', status ),
- : ' ', status )
-
- if( .not. ast_mapdefined( map, 'Freda', status ) ) then
- call stopit( status, 'Error -12' )
- end if
-
- if( ast_maplenc( map, 'Fredi', status ) .ne. 4 ) then
- write(*,*) ast_maplenc( map, 'Fredi', status )
- call stopit( status, 'Error -11' )
- end if
-
- if( ast_maplenc( map, 'Freda', status ) .ne. 0 ) then
- write(*,*) ast_maplenc( map, 'Freda', status )
- call stopit( status, 'Error -10' )
- end if
-
- if( ast_maplenc( map, 'Fredc', status ) .ne. 5 ) then
- write(*,*) ast_maplenc( map, 'Fredc', status )
- call stopit( status, 'Error -9' )
- end if
-
- if( ast_maptype( map, 'freda', status ) .ne. AST__BADTYPE) then
- call stopit( status, 'Error -8' )
- end if
-
- if( ast_maptype( map, 'Freda', status ) .ne. AST__OBJECTTYPE) then
- call stopit( status, 'Error -7' )
- end if
-
- if( ast_maptype( map, 'Fredc', status ) .ne. AST__STRINGTYPE) then
- call stopit( status, 'Error -6' )
- end if
-
- if( ast_maptype( map, 'Fredd', status ) .ne. AST__DOUBLETYPE) then
- call stopit( status, 'Error -5' )
- end if
-
- if( ast_maptype( map, 'Fredr', status ) .ne. AST__FLOATTYPE) then
- call stopit( status, 'Error -5b' )
- end if
-
- if( ast_maptype( map, 'Fredi', status ) .ne. AST__INTTYPE ) then
- call stopit( status, 'Error -4' )
- end if
-
- if( ast_maphaskey( map, 'fredi', status ) ) then
- call stopit( status, 'Error -3' )
- end if
-
- if( .not. ast_maphaskey( map, 'Fredi', status ) ) then
- call stopit( status, 'Error -2' )
- end if
-
- map2 = ast_copy( map, status )
-
-
- if( ast_mapsize( map2, status ) .ne. 6 ) then
- write(*,*) ast_mapsize( map2, status )
- call stopit( status, 'Error 0' )
- end if
-
- goti = .false.
- gotd = .false.
- gotr = .false.
- gotc = .false.
- gota = .false.
- gotw = .false.
-
- do i = 1, ast_mapsize( map2, status )
- key = ast_mapkey( map2, i, status )
- if( .not. goti .and. key .eq. 'Fredi' ) then
- goti = .true.
- else if( .not. gotd .and. key .eq. 'Fredd' ) then
- gotd = .true.
- else if( .not. gotw .and. key .eq. 'Freds' ) then
- gotw = .true.
- else if( .not. gotr .and. key .eq. 'Fredr' ) then
- gotr = .true.
- else if( .not. gotc .and. key .eq. 'Fredc' ) then
- gotc = .true.
- else if( .not. gota .and. key .eq. 'Freda' ) then
- gota = .true.
- else
- call stopit( status, 'Error badkey' )
- endif
- end do
-
- if( .not. ( goti .AND. gotd .AND. gotc
- : .AND. gota .and. gotr .and. gotw) ) then
- call stopit( status, 'Error nokey' )
- endif
-
- if( ast_maplength( map2, 'Fredi', status ) .ne. 1 ) then
- write(*,*) ast_maplength( map2, 'Fredi', status )
- call stopit( status, 'Error -1' )
- end if
-
- if( .not. ast_mapget0i( map2, 'Fredi', ival, status ) ) then
- call stopit( status, 'Error 1' )
- else if( ival .ne. 1999 ) then
- write(*,*) ival
- call stopit( status, 'Error 2' )
- end if
-
- if( .not. ast_mapget0s( map2, 'Freds', sval, status ) ) then
- call stopit( status, 'Error 1' )
- else if( sval .ne. 1999 ) then
- write(*,*) ival
- call stopit( status, 'Error 2B' )
- end if
-
- if( .not. ast_mapget0d( map2, 'Fredd', dval, status ) ) then
- call stopit( status, 'Error 3' )
- else if( dval .ne. 1999.9D0 ) then
- write(*,*) dval - 1999.9D0
- call stopit( status, 'Error 4' )
- end if
-
- if( .not. ast_mapget0r( map2, 'Fredr', rval, status ) ) then
- call stopit( status, 'Error 3b' )
- else if( rval .ne. 1999.9 ) then
- write(*,*) rval - 1999.9
- call stopit( status, 'Error 4b' )
- end if
-
- if( .not. ast_mapget0c( map2, 'Fredc', cval, l, status ) ) then
- call stopit( status, 'Error 5' )
- else if( l .ne. 5 ) then
- write(*,*) l
- call stopit( status, 'Error 6' )
- else if( cval( :l ) .ne. 'Hello' ) then
- write(*,*) cval( :l )
- call stopit( status, 'Error 7' )
- end if
-
- if( .not. ast_mapgetc( map2, 'Fredc', cval, l, status ) ) then
- call stopit( status, 'Error 5b' )
- else if( l .ne. 5 ) then
- write(*,*) l
- call stopit( status, 'Error 6b' )
- else if( cval( :l ) .ne. 'Hello' ) then
- write(*,*) cval( :l )
- call stopit( status, 'Error 7b' )
- end if
-
- if( .not. ast_mapget0a( map2, 'Freda', aval, status ) ) then
- call stopit( status, 'Error 8' )
- else if( .not. ast_IsASkyFrame( aval, STATUS ) ) then
- call stopit( status, 'Error 9' )
- end if
-
- if( .not. ast_mapget0d( map2, 'Fredi', dval, status ) ) then
- call stopit( status, 'Error 10' )
- else if( dval .ne. 1999 ) then
- write(*,*) dval
- call stopit( status, 'Error 11' )
- end if
-
- if( .not. ast_mapget0r( map2, 'Fredi', rval, status ) ) then
- call stopit( status, 'Error 10b' )
- else if( rval .ne. 1999 ) then
- call stopit( status, 'Error 11b' )
- end if
-
- if( .not. ast_mapget0c( map2, 'Fredi', cval, l, status ) ) then
- call stopit( status, 'Error 12' )
- else if( l .ne. 4 ) then
- write(*,*) l
- call stopit( status, 'Error 13a' )
- else if( cval( :l ) .ne. '1999' ) then
- write(*,*) cval
- call stopit( status, 'Error 13' )
- end if
-
- if( .not. ast_mapget0i( map2, 'Fredd', ival, status ) ) then
- call stopit( status, 'Error 14' )
- else if( ival .ne. 2000.0 ) then
- write(*,*) ival
- call stopit( status, 'Error 15' )
- end if
-
- if( .not. ast_mapget0s( map2, 'Fredd', sval, status ) ) then
- call stopit( status, 'Error 14b' )
- else if( sval .ne. 2000.0 ) then
- write(*,*) sval
- call stopit( status, 'Error 15b' )
- end if
-
- if( .not. ast_mapget0c( map2, 'Fredd', cval, l, status ) ) then
- call stopit( status, 'Error 16' )
- else if( l .ne. 6 ) then
- write(*,*) l
- call stopit( status, 'Error 17a' )
- else if( cval( :l ) .ne. '1999.9' ) then
- write(*,*) cval
- call stopit( status, 'Error 17' )
- end if
-
-
- ivec(1) = -10
- ivec(2) = -10
- if( .not. ast_mapget1i( map2, 'Fredi', 2, nval, ivec,
- : status ) ) then
- call stopit( status, 'Error 18' )
- else if( nval .ne. 1 ) then
- write(*,*) nval
- call stopit( status, 'Error 19' )
- else if( ivec( 1 ) .ne. 1999 ) then
- write(*,*) ivec( 1 )
- call stopit( status, 'Error 20' )
- else if( ivec( 2 ) .ne. -10 ) then
- write(*,*) ivec( 2 )
- call stopit( status, 'Error 21' )
- end if
-
-
- dvec(1) = -10.0D0
- dvec(2) = -10.0D0
- if( .not. ast_mapget1d( map2, 'Fredd', 2, nval, dvec,
- : status ) ) then
- call stopit( status, 'Error 22' )
- else if( nval .ne. 1 ) then
- write(*,*) nval
- call stopit( status, 'Error 23' )
- else if( dvec( 1 ) .ne. 1999.9D0 ) then
- write(*,*) dvec( 1 )
- call stopit( status, 'Error 24' )
- else if( dvec( 2 ) .ne. -10.0D0 ) then
- write(*,*) dvec( 2 )
- call stopit( status, 'Error 25' )
- end if
-
- avec(1) = AST__NULL
- avec(2) = AST__NULL
- if( .not. ast_mapget1a( map2, 'Freda', 2, nval, avec,
- : status ) ) then
- call stopit( status, 'Error 26' )
- else if( nval .ne. 1 ) then
- write(*,*) nval
- call stopit( status, 'Error 27' )
- else if( .not. ast_IsASkyFrame( avec( 1 ), STATUS ) ) then
- write(*,*) ast_getc( avec( 1 ), 'class', status )
- call stopit( status, 'Error 28' )
- else if( avec( 2 ) .ne. AST__NULL ) then
- write(*,*) ast_getc( avec( 2 ), 'class', status )
- call stopit( status, 'Error 29' )
- end if
-
-
- ivec(1)=1999
- ivec(2)=0
- call ast_mapput1i( map, 'Fredi', 2, ivec, 'com 1', STATUS )
-
- if( ast_maplength( map, 'Fredi', status ) .ne. 2 ) then
- write(*,*) ast_maplength( map, 'Fredi', status )
- call stopit( status, 'Error 29b' )
-
- end if
-
- svec(1)=1999
- svec(2)=0
- call ast_mapput1s( map, 'Freds', 2, svec, 'com 1', STATUS )
-
- if( ast_maplength( map, 'Freds', status ) .ne. 2 ) then
- write(*,*) ast_maplength( map, 'Freds', status )
- call stopit( status, 'Error 29c' )
-
- end if
-
- dvec(1)=1999.9D0
- dvec(2)=-0.01D0
- call ast_mapput1d( map, 'Fredd', 2, dvec, 'com2', STATUS )
-
- cvec(1)='Hello'
- cvec(2)=' '
- cvec(3)=' Hello'
- call ast_mapput1c( map, 'Fredc', 3, cvec, ' ', STATUS )
-
- if( ast_maplenc( map, 'Fredc', status ) .ne. len(cvec(3)) ) then
- write(*,*) ast_maplenc( map, 'Fredc', status )
- call stopit( status, 'Error 29c' )
- end if
-
- avec(1) = ast_skyframe( ' ', status )
- avec(2) = AST__NULL
- avec(3) = ast_specframe( ' ', status )
- avec(4) = AST__NULL
- call ast_mapput1a( map, 'Freda', 4, avec, ' ', STATUS )
-
- map2 = ast_copy( map, status )
-
- if( .not. ast_mapget0i( map2, 'Fredi', ival, status ) ) then
- call stopit( status, 'Error A1' )
- else if( ival .ne. 1999 ) then
- write(*,*) ival
- call stopit( status, 'Error A2' )
- end if
-
- if( .not. ast_mapget0d( map2, 'Fredd', dval, status ) ) then
- call stopit( status, 'Error A3' )
- else if( dval .ne. 1999.9D0 ) then
- write(*,*) dval - 1999.9D0
- call stopit( status, 'Error A4' )
- end if
-
- if( .not. ast_mapget0c( map2, 'Fredc', cval, l, status ) ) then
- call stopit( status, 'Error A5' )
- else if( l .ne. 10 ) then
- write(*,*) l
- call stopit( status, 'Error A6' )
- else if( cval( :l ) .ne. 'Hello ' ) then
- write(*,*) cval( :l )
- call stopit( status, 'Error A7' )
- end if
-
- if( .not. ast_mapget0a( map2, 'Freda', aval, status ) ) then
- call stopit( status, 'Error A8' )
- else if( .not. ast_IsASkyFrame( aval, STATUS ) ) then
- call stopit( status, 'Error A9' )
- end if
-
- if( .not. ast_mapget0d( map2, 'Fredi', dval, status ) ) then
- call stopit( status, 'Error A10' )
- else if( dval .ne. 1999 ) then
- write(*,*) dval
- call stopit( status, 'Error A11' )
- end if
-
- if( .not. ast_mapget0c( map2, 'Fredi', cval, l, status ) ) then
- call stopit( status, 'Error A12' )
- else if( l .ne. 4 ) then
- write(*,*) l
- call stopit( status, 'Error A13a' )
- else if( cval( :l ) .ne. '1999' ) then
- write(*,*) cval
- call stopit( status, 'Error A13' )
- end if
-
- if( .not. ast_mapget0i( map2, 'Fredd', ival, status ) ) then
- call stopit( status, 'Error A14' )
- else if( ival .ne. 2000.0 ) then
- write(*,*) ival
- call stopit( status, 'Error A15' )
- end if
-
- if( .not. ast_mapget0c( map2, 'Fredd', cval, l, status ) ) then
- call stopit( status, 'Error A16' )
- else if( l .ne. 6 ) then
- write(*,*) l
- call stopit( status, 'Error A17a' )
- else if( cval( :l ) .ne. '1999.9' ) then
- write(*,*) cval
- call stopit( status, 'Error A17' )
- end if
-
-
-c Read vector entries as vectors.
- if( .not. ast_mapget1i( map2, 'Fredi', 2, nval, ivec,
- : status ) ) then
- call stopit( status, 'Error B1' )
- else if( nval .ne. 2 ) then
- write(*,*) nval
- call stopit( status, 'Error B2a' )
- else if( ivec( 1 ) .ne. 1999 ) then
- write(*,*) ivec( 1 )
- call stopit( status, 'Error B2b' )
- else if( ivec( 2 ) .ne. 0 ) then
- write(*,*) ivec( 2 )
- call stopit( status, 'Error B2c' )
- end if
-
- if( .not. ast_mapget1d( map2, 'Fredd', 2, nval, dvec,
- : status ) ) then
- call stopit( status, 'Error B3' )
- else if( nval .ne. 2 ) then
- write(*,*) nval
- call stopit( status, 'Error B4a' )
- else if( dvec( 1 ) .ne. 1999.9D0 ) then
- write(*,*) dvec( 1 )
- call stopit( status, 'Error B4b' )
- else if( dvec( 2 ) .ne. -0.01D0 ) then
- write(*,*) dvec( 2 )
- call stopit( status, 'Error B4c' )
- end if
-
- if( .not. ast_mapget1a( map2, 'Freda', 4, nval, avec,
- : status ) ) then
- call stopit( status, 'Error B5' )
- else if( nval .ne. 4 ) then
- write(*,*) nval
- call stopit( status, 'Error B6a' )
- else if( .not. ast_isaskyframe( avec( 1 ), status ) ) then
- write(*,*) ast_getc( avec( 1 ), 'class', status )
- call stopit( status, 'Error B6b' )
- else if( avec( 2 ) .NE. AST__NULL ) then
- write(*,*) ast_getc( avec( 2 ), 'class', status )
- call stopit( status, 'Error B6c' )
- else if( .not. ast_isaspecframe( avec( 3 ), status ) ) then
- write(*,*) ast_getc( avec( 3 ), 'class', status )
- call stopit( status, 'Error B6d' )
- else if( avec( 4 ) .ne. AST__NULL ) then
- write(*,*) ast_getc( avec( 4 ), 'class', status )
- call stopit( status, 'Error B6e' )
- end if
-
-
- if( .not. ast_mapget1c( map2, 'Fredc', 3, nval, cvec,
- : status ) ) then
- call stopit( status, 'Error B7' )
- else if( nval .ne. 3 ) then
- write(*,*) nval
- call stopit( status, 'Error B8a' )
- else if( cvec( 1 ) .ne. 'Hello ' ) then
- write(*,*) cvec( 1 )
- call stopit( status, 'Error B8b' )
- else if( cvec( 2 ) .ne. ' ' ) then
- write(*,*) cvec( 2 )
- call stopit( status, 'Error B8c' )
- else if( cvec( 3 ) .ne. ' Hello ' ) then
- write(*,*) cvec( 2 )
- call stopit( status, 'Error B8d' )
- end if
-
-c Read entire vector as a single string.
- if( .not. ast_mapgetc( map2, 'Fredc', cval0, l, status ) ) then
- call stopit( status, 'Error BB1' )
- else if( l .ne. 34 ) then
- call stopit( status, 'Error BB2' )
- else if( cval0 .ne. '(Hello , , Hello )' ) then
- call stopit( status, 'Error BB3' )
- end if
-
-c Read single elements of vector entries as scalars.
- if( .not. ast_mapgetelemi( map2, 'Fredi', 1, ivec,
- : status ) ) then
- call stopit( status, 'Error B1z' )
- else if( ivec( 1 ) .ne. 1999 ) then
- write(*,*) ivec( 1 )
- call stopit( status, 'Error B2bz' )
- end if
-
- if( .not. ast_mapgetelemd( map2, 'Fredd', 2, dvec,
- : status ) ) then
- call stopit( status, 'Error B3z' )
- else if( dvec( 1 ) .ne. -0.01D0 ) then
- write(*,*) dvec( 1 )
- call stopit( status, 'Error B4cz' )
- end if
-
- if( .not. ast_mapgetelema( map2, 'Freda', 3, avec,
- : status ) ) then
- call stopit( status, 'Error B5z' )
- else if( .not. ast_isaspecframe( avec( 1 ), status ) ) then
- write(*,*) ast_getc( avec( 1 ), 'class', status )
- call stopit( status, 'Error B6dz' )
- end if
-
-
- if( .not. ast_mapgetelemc( map2, 'Fredc', 3, cval0,
- : status ) ) then
- call stopit( status, 'Error B7z' )
- else if( cval0 .ne. ' Hello ' ) then
- write(*,*) cval0
- call stopit( status, 'Error B8dz' )
- end if
-
-
- call ast_mapremove( map2, 'Bert', status )
- call ast_mapremove( map2, 'Fredc', status )
- if( ast_mapget1c( map2, 'Fredc', 3, nval, cvec, status ) ) then
- call stopit( status, 'Error C1' )
- endif
-
-
- call checkDump( map2, 'checkDump 1 ', status )
-
- call ast_Annul( map, status )
- call ast_Annul( map2, status )
-
-
- map = ast_keymap( ' ', status )
-
- do i = 1, 500
- key = 'Fred'
- iat = 4
- call chr_puti( i, key, iat )
- call ast_MapPut0i( map, key, i, ' ', status )
- end do
-
- if( ast_mapsize( map, status ) .ne. 500 ) then
- call stopit( status, 'Error d1 ' )
- end if
-
- if( ast_maptype( map, 'Fred123', status ) .ne. AST__INTTYPE ) then
- call stopit( status, 'Error d2 ' )
- end if
-
- if( .not. ast_mapget0c( map, 'Fred489', cval, l, status ) ) then
- call stopit( status, 'Error d2 ' )
- else if( cval( : l ) .ne. '489' ) then
- call stopit( status, 'Error d3 ' )
- end if
-
- call checkDump( map, 'checkDump 2 ', status )
-
-
-
-c Test putting single elements into vector entries.
- map = ast_keymap( ' ', status )
-
- ivec(1) = 1
- ivec(2) = 2
- call ast_mapput1i( map, 'Fredi', 2, ivec, 'com 1', STATUS )
-
- call ast_mapputelemi( map, 'Fredi', 1, -1, STATUS )
- if( .not. ast_mapgetelemi( map, 'Fredi', 1, ival,
- : status ) ) then
- call stopit( status, 'Error GETELEM_1' )
- else if( ival .ne. -1 ) then
- write(*,*) ival
- call stopit( status, 'Error GETELEM_2' )
- end if
-
- call ast_mapputelemi( map, 'Fredi', 10, -2, STATUS )
- if( .not. ast_mapgetelemi( map, 'Fredi', 3, ival,
- : status ) ) then
- call stopit( status, 'Error GETELEM_3' )
- else if( ival .ne. -2 ) then
- write(*,*) ival
- call stopit( status, 'Error GETELEM_4' )
- end if
-
- call ast_mapputelemi( map, 'Fredi', 0, -3, STATUS )
- if( .not. ast_mapgetelemi( map, 'Fredi', 4, ival,
- : status ) ) then
- call stopit( status, 'Error GETELEM_5' )
- else if( ival .ne. -3 ) then
- write(*,*) ival
- call stopit( status, 'Error GETELEM_6' )
- end if
-
- if( ast_maplength( map, 'Fredi', status ) .ne. 4 ) then
- write(*,*) ast_maplength( map, 'Fredi', status )
- call stopit( status, 'Error GETELEM_7' )
- end if
-
- map2 = ast_keymap( ' ', status )
- call ast_mapputelema( map2, 'A A', 1, map, STATUS )
- if( ast_maplength( map2, 'A A', status ) .ne. 1 ) then
- write(*,*) ast_maplength( map, 'Fredi', status )
- call stopit( status, 'Error GETELEM_8' )
- end if
-
- if( .not. ast_mapgetelema( map2, 'A A', 1, map3,
- : status ) ) then
- call stopit( status, 'Error GETELEM_9' )
- else if( .not. ast_mapgetelemi( map3, 'Fredi', 4, ival,
- : status ) ) then
- call stopit( status, 'Error GETELEM_10' )
- else if( ival .ne. -3 ) then
- write(*,*) ival
- call stopit( status, 'Error GETELEM_11' )
- end if
-
- if( status .eq. sai__ok ) then
- call ast_mapputelema( map2, 'A A', 1, map2, STATUS )
- if( status .eq. ast__kycir ) then
- call err_annul( status )
- else
- call stopit( status, 'Error GETELEM_12' )
- end if
- end if
-
- call ast_mapput0c( map, ' B', 'Hello', ' ', status )
-
-
- call ast_setl( map, 'MapLocked', .TRUE., status )
- if( status .eq. sai__ok ) then
- call ast_mapput0c( map, ' BZZ', 'Bye Bye', ' ', STATUS )
- if( status .eq. AST__BADKEY ) then
- call err_annul( status )
- call ast_clear( map, 'maplocked', status )
- else
- call stopit( status, 'Error GETELEM_12B' )
- end if
- end if
-
- call ast_mapput0c( map, ' BZZ', 'Bye Bye', ' ', STATUS )
- km2 = ast_keymap( ' ', status )
- call ast_mapput0a( map, ' BZY', km2, ' ', STATUS )
- call ast_mapput0c( km2, ' BZZ', 'Bye Bye', ' ', STATUS )
-
- call ast_setl( map, 'MapLocked', .TRUE., status )
- call ast_mapput0c( map, ' BZZ', 'You Bye', ' ', STATUS )
- call ast_mapput0c( km2, ' BZZ', 'You Bye', ' ', STATUS )
- if( status .eq. sai__ok ) then
- call ast_mapput0c( km2, ' BZA', 'No Bye', ' ', STATUS )
- if( status .eq. AST__BADKEY ) then
- call err_annul( status )
- call ast_clear( map, 'maplocked', status )
- call ast_mapput0c( km2, ' BZA', 'No Bye', ' ', STATUS )
- else
- call stopit( status, 'Error GETELEM_12C' )
- end if
- end if
-
- if( ast_getl( km2, 'KeyError', status ) ) then
- call stopit( status, 'Error GETELEM_12D' )
- end if
-
- call ast_setl( map, 'KeyError', .TRUE., status )
-
- if( .not. ast_getl( km2, 'KeyError', status ) ) then
- call stopit( status, 'Error GETELEM_12E' )
- end if
-
- if( status .eq. sai__ok ) then
- lval = ast_mapget0c( km2, 'FRED', cval, l, status )
- if( status .eq. AST__MPKER ) then
- call err_annul( status )
- call ast_clear( map, 'keyerror', status )
- lval = ast_mapget0c( km2, 'FRED', cval, l, status )
- else
- call stopit( status, 'Error GETELEM_12F' )
- end if
- endif
-
-
-
-
-
-
-
-
- call ast_mapputelemc( map, ' B ', 3, 'YES YES', STATUS )
-
- if( ast_maplength( map, ' B', status ) .ne. 2 ) then
- write(*,*) ast_maplength( map, ' B', status )
- call stopit( status, 'Error GETELEM_13' )
-
- else if( .not. ast_mapgetelemc( map, ' B ', 2, cval0,
- : status ) ) then
- call stopit( status, 'Error GETELEM_14' )
-
- else if( cval0 .ne. 'YES YES' ) then
- write(*,*) cval0
- call stopit( status, 'Error GETELEM_15' )
- end if
-
- call ast_annul( map, status )
-
-
-C Test ast_mapcopy
- map = ast_keymap( ' ', status )
- map1 = ast_keymap( ' ', status )
- map2 = ast_keymap( ' ', status )
- map3 = ast_keymap( ' ', status )
-
- call ast_mapput0i( map1, 'a1', 1, ' ', status )
- call ast_mapput0i( map1, 'a2', 2, ' ', status )
- call ast_mapput0i( map1, 'a3', 3, ' ', status )
-
- call ast_mapput0c( map, 'aa1', 'Yes', ' ', status )
- call ast_mapput0i( map, 'aa2', 2, ' ', status )
- call ast_mapput0a( map, 'aa3', map1, ' ', status )
-
- call ast_mapput0i( map2, 'b1', 10, ' ', status )
- call ast_mapput0i( map2, 'b2', 20, ' ', status )
- call ast_mapput0i( map2, 'b3', 30, ' ', status )
-
- call ast_mapput0c( map3, 'bb1', 'No', ' ', status )
- call ast_mapput0i( map3, 'aa2', 20, ' ', status )
- call ast_mapput0a( map3, 'bb3', map2, ' ', status )
-
- call ast_mapcopy( map, map3, status )
-
- if( ast_mapsize( map, status ) .ne. 5 ) then
- write(*,*) ast_mapsize( map, status )
- call stopit( status, 'Error MAPCOPY_0' )
- end if
-
- if( .not. ast_mapget0c( map, 'aa1', cval, l, status ) ) then
- call stopit( status, 'Error MAPCOPY_1' )
- else if( cval .ne. 'Yes' ) then
- write(*,*) cval
- call stopit( status, 'Error MAPCOPY_2' )
- end if
-
- if( .not. ast_mapget0i( map, 'aa2', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_3' )
- else if( ival .ne. 20 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_4' )
- end if
-
- if( .not. ast_mapget0a( map, 'aa3', aval, status ) ) then
- call stopit( status, 'Error MAPCOPY_5' )
- else if( .not. ast_isakeymap( aval, status ) ) then
- write(*,*) ast_getc( aval, 'Class' )
- call stopit( status, 'Error MAPCOPY_6' )
-
- if( .not. ast_mapget0i( aval, 'a1', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_7' )
- else if( ival .ne. 1 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_8' )
- end if
-
- if( .not. ast_mapget0i( aval, 'a2', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_9' )
- else if( ival .ne. 20 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_10' )
- end if
-
- if( .not. ast_mapget0i( aval, 'a3', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_11' )
- else if( ival .ne. 3 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_12' )
- end if
- end if
-
- if( .not. ast_mapget0c( map, 'bb1', cval, l, status ) ) then
- call stopit( status, 'Error MAPCOPY_13' )
- else if( cval .ne. 'No' ) then
- write(*,*) cval
- call stopit( status, 'Error MAPCOPY_14' )
- end if
-
- if( .not. ast_mapget0a( map, 'bb3', aval, status ) ) then
- call stopit( status, 'Error MAPCOPY_15' )
- else if( .not. ast_isakeymap( aval, status ) ) then
- write(*,*) ast_getc( aval, 'Class' )
- call stopit( status, 'Error MAPCOPY_16' )
-
- if( .not. ast_mapget0i( aval, 'b1', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_17' )
- else if( ival .ne. 10 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_18' )
- end if
-
- if( .not. ast_mapget0i( aval, 'b2', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_19' )
- else if( ival .ne. 20 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_20' )
- end if
-
- if( .not. ast_mapget0i( aval, 'b3', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_21' )
- else if( ival .ne. 30 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_22' )
- end if
- end if
-
-
- map = ast_keymap( ' ', status )
- map1 = ast_keymap( ' ', status )
- map2 = ast_keymap( ' ', status )
- map3 = ast_keymap( ' ', status )
-
- call ast_mapput0i( map1, 'a1', 1, ' ', status )
- call ast_mapput0i( map1, 'a2', 2, ' ', status )
- call ast_mapput0i( map1, 'a3', 3, ' ', status )
-
- call ast_mapput0c( map, 'aa1', 'Yes', ' ', status )
- call ast_mapput0i( map, 'aa2', 2, ' ', status )
- call ast_mapput0a( map, 'aa3', map1, ' ', status )
-
- call ast_mapput0i( map2, 'b1', 10, ' ', status )
- call ast_mapput0i( map2, 'b2', 20, ' ', status )
- call ast_mapput0i( map2, 'b3', 30, ' ', status )
-
- call ast_mapput0i( map3, 'aa1', 0, ' ', status )
- call ast_mapput0i( map3, 'aa2', 20, ' ', status )
- call ast_mapput0a( map3, 'aa3', map2, ' ', status )
-
- call ast_mapcopy( map, map3, status )
-
- if( ast_mapsize( map, status ) .ne. 3 ) then
- write(*,*) ast_mapsize( map, status )
- call stopit( status, 'Error MAPCOPY_23' )
- end if
-
- if( .not. ast_mapget0i( map, 'aa1', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_24' )
- else if( ival .ne. 0 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_25' )
- end if
-
- if( .not. ast_mapget0i( map, 'aa2', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_26' )
- else if( ival .ne. 20 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_27' )
- end if
-
- if( .not. ast_mapget0a( map, 'aa3', aval, status ) ) then
- call stopit( status, 'Error MAPCOPY_28' )
- else if( .not. ast_isakeymap( aval, status ) ) then
- write(*,*) ast_getc( aval, 'Class' )
- call stopit( status, 'Error MAPCOPY_29' )
-
- if( .not. ast_mapget0i( aval, 'a1', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_30' )
- else if( ival .ne. 1 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_31' )
- end if
-
- if( .not. ast_mapget0i( aval, 'a2', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_32' )
- else if( ival .ne. 20 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_33' )
- end if
-
- if( .not. ast_mapget0i( aval, 'a3', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_34' )
- else if( ival .ne. 3 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_35' )
- end if
-
- if( .not. ast_mapget0i( aval, 'b1', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_36' )
- else if( ival .ne. 10 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_37' )
- end if
-
- if( .not. ast_mapget0i( aval, 'b2', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_38' )
- else if( ival .ne. 20 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_39' )
- end if
-
- if( .not. ast_mapget0i( aval, 'b3', ival, status ) ) then
- call stopit( status, 'Error MAPCOPY_40' )
- else if( ival .ne. 30 ) then
- write(*,*) ival
- call stopit( status, 'Error MAPCOPY_41' )
- end if
-
- end if
-
-
- map = ast_keymap( ' ', status )
- map1 = ast_keymap( ' ', status )
- map2 = ast_keymap( ' ', status )
- map3 = ast_keymap( ' ', status )
-
- call ast_mapput0i( map1, 'a1', 1, ' ', status )
- call ast_mapput0i( map1, 'a2', 2, ' ', status )
- call ast_mapput0i( map1, 'a3', 3, ' ', status )
-
- call ast_mapput0c( map, 'aa1', 'Yes', ' ', status )
- call ast_mapput0i( map, 'aa2', 2, ' ', status )
- call ast_mapput0a( map, 'aa3', map1, ' ', status )
-
- call ast_mapput0i( map2, 'b1', 10, ' ', status )
- call ast_mapput0i( map2, 'b2', 20, ' ', status )
- call ast_mapput0i( map2, 'b3', 30, ' ', status )
-
- call ast_mapput0i( map3, 'aa1', 0, ' ', status )
- call ast_mapput0i( map3, 'aa2', 20, ' ', status )
- call ast_mapput0a( map3, 'aa3', map2, ' ', status )
-
- call ast_setl( map, 'MapLocked', .TRUE., status )
- if( status .eq. SAI__OK ) then
- call ast_mapcopy( map, map3, status )
- if( status .eq. AST__BADKEY ) then
- call err_annul( status )
- else
- call stopit( status, 'Error MAPCOPY_42' )
- end if
- end if
-
-
-C Test AST_MAPPUTU and undefined values
- map = ast_keymap( ' ', status )
- call ast_mapputu( map, 'GG', 'A comment', status )
- if( ast_mapdefined( map, 'GG', status ) ) then
- call stopit( status, 'Error UNDEF_0' )
- else if( ast_mapget0i( map, 'GG', ival, status ) ) then
- call stopit( status, 'Error UNDEF_1' )
- else if( ast_mapget0s( map, 'GG', sval, status ) ) then
- call stopit( status, 'Error UNDEF_1B' )
- else if( ast_mapget0c( map, 'GG', cval, l, status ) ) then
- call stopit( status, 'Error UNDEF_2' )
- else if( ast_mapget0a( map, 'GG', aval, status ) ) then
- call stopit( status, 'Error UNDEF_3' )
- else if( ast_mapget1i( map, 'GG', 2, nval, ivec,
- : status ) ) then
- call stopit( status, 'Error UNDEF_4' )
- else if( ast_mapgetelemc( map, 'gg', 1, cval, status ) ) then
- call stopit( status, 'Error UNDEF_5' )
- else if( .not. ast_maphaskey( map, 'GG', status ) ) then
- call stopit( status, 'Error UNDEF_6' )
- end if
-
- if( ast_maptype( map, 'GG', status ) .ne. AST__UNDEFTYPE ) then
- write(*,*) ast_maptype( map, 'GG', status )
- call stopit( status, 'Error UNDEF_7' )
- else if( ast_mapsize( map, status ) .ne. 1 ) then
- call stopit( status, 'Error UNDEF_8' )
- end if
-
- call ast_mapput0i( map, 'GG', 0, ' ', status )
- if( .not. ast_mapget0i( map, 'GG', ival, status ) ) then
- call stopit( status, 'Error UNDEF_9' )
- else if( ival .ne. 0 ) then
- call stopit( status, 'Error UNDEF_10' )
- endif
-
- call ast_maprename( map, 'GG', 'GGNEW', status )
- if( ast_maphaskey( map, 'GG', status ) ) then
- call stopit( status, 'Error RENAME_1' )
- else if( .not. ast_mapget0i( map, 'GGNEW', ival, status ) ) then
- call stopit( status, 'Error RENAME_2' )
- else if( ival .ne. 0 ) then
- call stopit( status, 'Error RENAME_3' )
- endif
-
- call ast_maprename( map, 'GGNEW', 'GG', status )
- if( ast_maphaskey( map, 'GGNEW', status ) ) then
- call stopit( status, 'Error RENAME_4' )
- else if( .not. ast_mapget0i( map, 'GG', ival, status ) ) then
- call stopit( status, 'Error RENAME_5' )
- else if( ival .ne. 0 ) then
- call stopit( status, 'Error RENAME_6' )
- endif
-
-
-
-
-
-
- call ast_end( status )
-
- call ast_activememory( ' ' )
- call ast_flushmemory( 1 );
-
- call err_rlse( status )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All KeyMap tests passed'
- else
- write(*,*) 'KeyMap tests failed'
- end if
-
- end
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
-
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
-
- end
-
- subroutine checkdump( obj, text, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character text*(*),key*30,txt1*50,txt2*50
- integer obj, status, next, end, ch, result, ll, overlap, size,
- : i, type,obj1,obj2,l1,l2,nl
- external mysource, mysink
- character buf*400000
-
- common /ss1/ buf
- common /ss2/ next, end, ll, nl
-
- if( status .ne. sai__ok ) return
-
- ch = ast_channel( mysource, mysink, ' ', status )
-
-
- nl = 0
- ll = 110
- next = 1
- if( ast_write( ch, obj, status ) .ne.1 ) then
- write(*,*) text
- call stopit( status, 'Cannot write supplied object to '//
- : 'channel' )
- end if
-
- next = 1
- nl = 0
- result = ast_read( ch, status )
-
- if( result .eq. ast__null ) then
- write(*,*) text
- call stopit( status, 'Cannot read object from channel' )
- end if
-
- size = ast_mapsize( result, status )
- if( ast_mapsize( obj, status ) .ne. size ) then
- write(*,*) size, ast_mapsize( obj, status )
- call stopit( status, 'checkDump 1' )
- else
- do i = 1, size
- key = ast_mapkey( result, i, status )
- type = ast_maptype( result, key, status )
- if( ast_maptype( obj, key, status ) .ne. type ) then
- write(*,*) type, ast_maptype( obj, key, status )
- call stopit( status, 'checkDump 4' )
- else
-
- if( type .eq. AST__OBJECTTYPE ) then
-
- if( .not. ast_mapGet0A( result, key, obj1,
- : status ) ) call stopit( status, 'checkDump 5' )
- if( .not. ast_mapGet0A( obj, key, obj2,
- : status ) ) call stopit( status, 'checkDump 6' )
- if( ast_GetC( obj1, 'class', status ) .ne.
- : ast_GetC( obj2, 'class', status ) ) then
- call stopit( status, 'checkDump 7' )
- end if
-
- else
-
- if( .not. ast_mapGet0C( result, key, txt1, l1,
- : status ) ) call stopit( status, 'checkDump 8' )
- if( .not. ast_mapGet0C( obj, key, txt2, l2,
- : status ) ) call stopit( status, 'checkDump 9' )
- if( txt1( : l1 ) .ne. txt2( : l2 ) .or.
- : l1 .ne. l2 ) then
- call stopit( status, 'checkDump 10' )
- end if
-
- end if
- end if
- end do
- end if
-
- end
-
- subroutine mysource( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, ll, nl
- character buf*400000
-
- common /ss1/ buf
- common /ss2/ next, end, ll,nl
-
- if( status .ne. sai__ok ) return
-
- if( next .ge. end ) then
- call ast_putline( buf, -1, status )
- else
- call ast_putline( buf( next : ), ll, status )
- nl = nl + 1
- endif
-
- next = next + ll
-
- end
-
- subroutine mysink( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll, nl
- character buf*400000
- character line*1000
-
- common /ss1/ buf
- common /ss2/ next, end, ll, nl
-
- if( status .ne. sai__ok ) return
-
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
- buf( next : ) = line( f : l )
- l = l - f + 1
-
- if( next + ll - 1 .ge. 400000 ) then
- write(*,*)
- call stopit( status, 'Buffer overflow in mysink!!' )
- else if( l .gt. ll ) then
- write(*,*)
- write(*,*) buf( next : next + l)
- write(*,*) 'Line length ',l
- call stopit( status, 'Line overflow in mysink!!' )
- else
- end = next + l
- buf( end : next + ll - 1 ) = ' '
- nl = nl + 1
- endif
-
- next = next + ll
-
- end
-
-
-
- subroutine testsorting( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer status, km, i
- character keys(5)*15
- character skeys(5)*15
- character key*( AST__SZCHR )
-
-
- data keys / 'ABC', 'zzzzzzzzzzz', 'this_is_a_key', 'HE-HE', 'A' /
- data skeys / 'A', 'ABC', 'HE-HE', 'this_is_a_key', 'zzzzzzzzzzz' /
-
-
- if( status .ne. sai__ok ) return
-
-C Value Age sorting...
-
-C First test adding entries into an already sorted KeyMap
-
- km = ast_keymap( 'Sortby=AgeDown', status )
-
- do i = 1, 5
- call ast_mapput0i( km, keys(i), i, ' ', status )
- end do
-
- do i = 1, 5
- key = ast_mapkey( km, i, status )
- if( key .ne. keys(i) .and. status .eq. SAI__OK ) then
- write(*,*) 'Key ',i,' is ',key,' (should be ',keys(i),')'
- call stopit( status, 'Error Sort 1' )
- return
- end if
- end do
-
-C Now test sorting existing entries in a KeyMap.
- call ast_set( km, 'Sortby=AgeUp', status )
-
- do i = 1, 5
- key = ast_mapkey( km, i, status )
- if( key .ne. keys(6-i) .and. status .eq. SAI__OK ) then
- write(*,*) 'Key ',i,' is ',key,' (should be ',keys(6-i),')'
- call stopit( status, 'Error Sort 2' )
- return
- end if
- end do
-
-
-C Changing the value of an existing entry should change its position in
-C the list.
- call ast_mapput0i( km, keys(1), 10, ' ', status )
- call ast_set( km, 'Sortby=AgeDown', status )
-
- do i = 1, 5
- key = ast_mapkey( km, i, status )
- if( i .eq. 5 ) then
- if( key .ne. keys(1) .and. status .eq. SAI__OK ) then
- write(*,*) 'Key ',1,' is ',key,' (should be ',keys(1),')'
- call stopit( status, 'Error Sort 2b' )
- return
- end if
- else if( key .ne. keys(i+1) .and. status .eq. SAI__OK ) then
- write(*,*) 'Key ',i+1,' is ',key,' (should be ',keys(i+1),
- : ')'
- call stopit( status, 'Error Sort 2c' )
- return
- end if
- end do
-
- call ast_annul( km, status )
-
-
-C Key Age sorting...
-
-C First test adding entries into an already sorted KeyMap
-
- km = ast_keymap( 'Sortby=KeyAgeDown', status )
-
- do i = 1, 5
- call ast_mapput0i( km, keys(i), i, ' ', status )
- end do
-
- do i = 1, 5
- key = ast_mapkey( km, i, status )
- if( key .ne. keys(i) .and. status .eq. SAI__OK ) then
- write(*,*) 'Key ',i,' is ',key,' (should be ',keys(i),')'
- call stopit( status, 'Error Sort 0' )
- return
- end if
- end do
-
-C Now test sorting existing entries in a KeyMap.
- call ast_set( km, 'Sortby=KeyAgeUp', status )
-
- do i = 1, 5
- key = ast_mapkey( km, i, status )
- if( key .ne. keys(6-i) .and. status .eq. SAI__OK ) then
- write(*,*) 'Key ',i,' is ',key,' (should be ',keys(6-i),')'
- call stopit( status, 'Error Sort -1' )
- return
- end if
- end do
-
-
-C Changing the value of an existing entry should not change its position
-C in the list.
- call ast_mapput0i( km, keys(1), 10, ' ', status )
- call ast_set( km, 'Sortby=KeyAgeDown', status )
-
- do i = 1, 5
- key = ast_mapkey( km, i, status )
- if( key .ne. keys(i) .and. status .eq. SAI__OK ) then
- write(*,*) 'Key ',i,' is ',key,' (should be ',keys(i),')'
- call stopit( status, 'Error Sort -2' )
- return
- end if
- end do
-
- call ast_annul( km, status )
-
-
-
-C Key sorting...
-
-C First test adding entries into an already sorted KeyMap
-
- km = ast_keymap( 'Sortby=KeyUp', status )
-
- do i = 1, 5
- call ast_mapput0i( km, keys(i), i, ' ', status )
- end do
-
- do i = 1, 5
- key = ast_mapkey( km, i, status )
- if( key .ne. skeys(i) .and. status .eq. SAI__OK ) then
- write(*,*) 'Key ',i,' is ',key,' (should be ',skeys(i),')'
- call stopit( status, 'Error Sort 3' )
- return
- end if
- end do
-
-C Now test sorting existing entries in a KeyMap.
- call ast_set( km, 'Sortby=KeyDown', status )
-
- do i = 1, 5
- key = ast_mapkey( km, i, status )
- if( key .ne. skeys(6-i) .and. status .eq. SAI__OK ) then
- write(*,*) 'Key ',i,' is ',key,' (should be ',skeys(6-i),')'
- call stopit( status, 'Error Sort 4' )
- return
- end if
- end do
-
- call ast_annul( km, status )
-
-
-
-
- end
-
-
-
-
- subroutine testcasesens( status )
- implicit none
- include 'AST_PAR'
- include 'AST_ERR'
- include 'SAE_PAR'
-
- integer status, map, l
- character sval*( AST__SZCHR )
-
- if( status .ne. sai__ok ) return
-
- map = ast_keymap( 'KeyCase=0', status )
- call ast_mapput0i( map, 'Freds', 1999, 'com 1', status )
-
- if( .not. ast_maphaskey( map, 'fReDs', status ) ) then
- call stopit( status, 'Error case 1' )
- endif
-
- if( ast_mapkey( map, 1, status ) .ne. 'FREDS' ) then
- call stopit( status, 'Error case 2' )
- endif
-
- if( .not. ast_mapget0c( map, 'freds', sval, l, status ) ) then
- call stopit( status, 'Error case 3' )
- else if( sval .ne. '1999' ) then
- call stopit( status, 'Error case 4' )
- else if( l .ne. 4 ) then
- call stopit( status, 'Error case 4b' )
- end if
-
- call ast_setl( map, 'KeyCase', 0, status );
-
- if( status .eq. sai__ok ) then
- call ast_clear( map, 'KeyCase', status )
- if( status .eq. AST__NOWRT ) then
- call err_annul( status )
- else if( status .eq. sai__ok ) then
- call stopit( status, 'Error case 5' )
- end if
- end if
-
- if( ast_mapsize( map, status ) .ne. 1 ) then
- call stopit( status, 'Error case 6' )
- end if
-
- call ast_mapremove( map, 'freDs', status )
-
- if( ast_mapsize( map, status ) .ne. 0 ) then
- call stopit( status, 'Error case 7' )
- end if
-
- call ast_clear( map, 'KeyCase', status )
- call ast_mapput0i( map, 'Freds', 1999, 'com 1', status )
- if( ast_maphaskey( map, ' fReDs', status ) ) then
- call stopit( status, 'Error case 8' )
- endif
-
-
- call ast_annul( map, status )
-
- end
-
-
-
-
diff --git a/ast/ast_tester/testlutmap.f b/ast/ast_tester/testlutmap.f
deleted file mode 100644
index e183375..0000000
--- a/ast/ast_tester/testlutmap.f
+++ /dev/null
@@ -1,177 +0,0 @@
- program testlutmap
- implicit none
-
- include 'AST_PAR'
- include 'SAE_PAR'
-
- integer lm, status, i
- double precision lut1( 10 ), x( 7 ), y(7)
-
- status = sai__ok
- call err_mark( status )
- call ast_begin( status )
-
-
- data lut1/ -1D0, 0D0, 1D0, 2D0, 3D0, 4D0, 5D0, 6D0, 7D0, 8D0 /
-
-
-
-
- lm = ast_lutmap( 10, lut1, -1.0D0, 1.0D0, ' ', status )
- x( 1 ) = -2.0D0
- x( 2 ) = -1.0D0
- x( 3 ) = -0.5D0
- x( 4 ) = 3.0D0
- x( 5 ) = 7.5D0
- x( 6 ) = 8.0D0
- x( 7 ) = 8.5D0
-
- call ast_tran1( lm, 7, x, .TRUE., y, status )
-
- do i = 1, 7
- if( x( i ) .ne. y( i ) ) then
- call stopit( status, "Error 1" );
- end if
- end do
-
- call ast_tran1( lm, 7, y, .FALSE., x, status )
-
- do i = 1, 7
- if( x( i ) .ne. y( i ) ) then
- call stopit( status, "Error 2" );
- end if
- end do
-
-
-
-
- lut1( 1 ) = lut1( 2 )
- lm = ast_lutmap( 10, lut1, -1.0D0, 1.0D0, ' ', status )
- x( 1 ) = -2.0D0
- x( 2 ) = -1.0D0
- x( 3 ) = -0.5D0
- x( 4 ) = 0.5D0
- x( 5 ) = 3.0D0
- x( 6 ) = 8.0D0
- x( 7 ) = 8.5D0
-
- call ast_tran1( lm, 7, x, .TRUE., y, status )
-
- do i = 1, 3
- if( y( i ) .ne. 0.0 ) then
- call stopit( status, "Error 3" );
- end if
- end do
-
- do i = 4, 7
- if( x( i ) .ne. y( i ) ) then
- call stopit( status, "Error 4" );
- end if
- end do
-
- call ast_tran1( lm, 7, y, .FALSE., x, status )
-
- do i = 1, 3
- if( x( i ) .ne. AST__BAD ) then
- call stopit( status, "Error 5" );
- end if
- end do
-
- do i = 4, 7
- if( x( i ) .ne. y( i ) ) then
- call stopit( status, "Error 6" );
- end if
- end do
-
-
- lut1( 5 ) = AST__BAD
- lm = ast_lutmap( 10, lut1, -1.0D0, 1.0D0, ' ', status )
- x( 1 ) = -2.0D0
- x( 2 ) = -1.0D0
- x( 3 ) = -0.5D0
- x( 4 ) = 0.5D0
- x( 5 ) = 3.0D0
- x( 6 ) = 8.0D0
- x( 7 ) = 8.5D0
-
- call ast_tran1( lm, 7, x, .TRUE., y, status )
-
- do i = 1, 3
- if( y( i ) .ne. 0.0 ) then
- call stopit( status, "Error 7" );
- end if
- end do
-
- if( y( 5 ) .ne. AST__BAD ) then
- call stopit( status, "Error 8" );
- end if
- y(5) = x( 5 )
-
- do i = 4, 7
- if( x( i ) .ne. y( i ) ) then
- call stopit( status, "Error 9" );
- end if
- end do
-
- call ast_tran1( lm, 7, y, .FALSE., x, status )
-
- do i = 1, 3
- if( x( i ) .ne. AST__BAD ) then
- call stopit( status, "Error 10" );
- end if
- end do
-
- if( x( 5 ) .ne. AST__BAD ) then
- call stopit( status, "Error 11" );
- end if
- x(5) = y( 5 )
-
- do i = 4, 7
- if( x( i ) .ne. y( i ) ) then
- call stopit( status, "Error 12" );
- end if
- end do
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- call ast_end( status )
- call err_rlse( status )
-
-c call ast_activememory( 'testlutmap' )
- call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All LutMap tests passed'
- else
- write(*,*) 'LutMap tests failed'
- end if
-
- end
-
-
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
- end
-
-
-
diff --git a/ast/ast_tester/testmapping.f b/ast/ast_tester/testmapping.f
deleted file mode 100644
index a02dd5b..0000000
--- a/ast/ast_tester/testmapping.f
+++ /dev/null
@@ -1,85 +0,0 @@
- program testmapping
- implicit none
-
- include 'AST_PAR'
- include 'SAE_PAR'
-
- integer status, pm
- double precision coeff(20), fit(6), lbnd(2), ubnd(2)
-
- data coeff / 1.0, 1.0, 0.0, 0.0,
- : 2.0, 1.0, 1.0, 0.0,
- : 1.0, 2.0, 0.0, 0.0,
- : 3.0, 2.0, 0.0, 1.0,
- : 3.0, 1.0, 0.0, 2.0 /
-
-
-
- status = sai__ok
- call err_mark( status )
- call ast_begin( status )
-
- pm = ast_polymap( 2, 2, 4, coeff, 0, coeff, ' ', status )
-
- lbnd( 1 ) = -1.0D0
- lbnd( 2 ) = -1.0D0
- ubnd( 1 ) = 1.0D0
- ubnd( 2 ) = 1.0D0
- if( ast_linearapprox(pm, lbnd, ubnd, 0.001D0, fit, status) ) then
- if( fit(1) .ne. 1.0D0 .or. fit(2) .ne. 1.0D0 .or.
- : fit(3) .ne. 2.0D0 .or. fit(4) .ne. 0.0D0 .or.
- : fit(5) .ne. 0.0D0 .or. fit(6) .ne. 3.0D0 ) then
- call stopit( status, 'Error 0' )
- end if
- else
- call stopit( status, 'Error 1' )
- end if
-
- coeff( 13 ) = AST__BAD
- pm = ast_polymap( 2, 2, 4, coeff, 0, coeff, ' ', status )
-
- if( ast_linearapprox(pm, lbnd, ubnd, 0.001D0, fit, status) ) then
- if( fit(1) .ne. 1.0D0 .or. fit(2) .ne. AST__BAD .or.
- : fit(3) .ne. 2.0D0 .or. fit(4) .ne. 0.0D0 .or.
- : fit(5) .ne. AST__BAD .or. fit(6) .ne. AST__BAD ) then
- call stopit( status, 'Error 2' )
- end if
- else
- call stopit( status, 'Error 3' )
- end if
-
- pm = ast_polymap( 2, 2, 5, coeff, 0, coeff, ' ', status )
-
- if( ast_linearapprox(pm, lbnd, ubnd, 0.001D0, fit, status) ) then
- write(*,*) fit
- call stopit( status, 'Error 4' )
- end if
-
-
-
-
- call ast_end( status )
- call err_rlse( status )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All Mapping tests passed'
- else
- write(*,*) 'Mapping tests failed'
- end if
-
- end
-
-
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
- end
-
-
-
diff --git a/ast/ast_tester/testnormmap.f b/ast/ast_tester/testnormmap.f
deleted file mode 100644
index 2c57ee6..0000000
--- a/ast/ast_tester/testnormmap.f
+++ /dev/null
@@ -1,94 +0,0 @@
- program testnormmap
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'PRM_PAR'
-
- integer status, m, m2, m3, f, perm(3)
- double precision at(3), bt(3)
-
- call ast_begin( status )
-
-
- status = sai__ok
-
- f = ast_cmpframe( ast_specframe( ' ', status ),
- : ast_skyframe( ' ', status ), ' ', status )
-
- perm( 1 ) = 3
- perm( 2 ) = 1
- perm( 3 ) = 2
- call ast_permaxes( f, perm, status )
- m = ast_normmap( f, ' ', status )
-
- if( ast_geti( m, 'nin', status ) .ne. 3 ) call stopit( 1, status )
- if( ast_geti( m, 'nout', status ) .ne. 3 ) call stopit( 2, status)
-
- if( .not. ast_getl( m, 'TranForward', status ) ) call stopit( 3,
- : status )
- if( .not. ast_getl( m, 'TranInverse', status ) ) call stopit( 4,
- : status )
-
-
- m2 = ast_copy( m, status )
- call ast_invert( m2, status )
- m3 = ast_simplify( ast_cmpmap( m, m2, .true., ' ', status ),
- : status )
- if( .not. ast_isaunitmap( m3, status ) ) call stopit( 5, status )
-
-
- at( 1 ) = 2.0D0
- at( 2 ) = 3.0D4
- at( 3 ) = 1.0D0
-
- call ast_trann( m, 1, 3, 1, at, 1, 3, 1, bt, status )
-
- if( abs( bt(1)-1.14159265D0) .gt. 1.0D-6 ) then
- write(*,*) bt(1)-1.14159265D0
- call stopit(6,status)
- end if
- if( bt(2) .ne. 3.0D4 ) call stopit(7,status)
- if( abs( bt(3)-4.14159265D0) .gt. 1.0D-6 ) call stopit(8,status)
-
-
-
-
-* Test adjacent identical NormMaps are simplified to a single NormMap.
- m2 = ast_cmpmap( ast_cmpmap( m, ast_copy( m, status ), .true.,
- : ' ', status ),
- : ast_cmpmap( m, ast_copy( m, status ), .true.,
- : ' ', status ), .true., ' ', status )
- m3 = ast_simplify( m2, status )
- if( .not. ast_isanormmap( m3, status ) ) call stopit( 9, status )
-
-* Test NormMap that encapsulate a basic Frame are simplified to a UnitMap.
- m = ast_normmap( ast_frame(2, ' ', status ), ' ', status )
- m2 = ast_simplify( m, status )
- if( .not. ast_isaunitmap( m2, status ) ) call stopit( 10, status )
-
-
-
-
-
- call ast_end( status )
-
- call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All NormMap tests passed'
- else
- write(*,*) 'NormMap tests failed'
- end if
-
- end
-
-
- subroutine stopit( i, status )
- implicit none
- include 'SAE_PAR'
- integer i, status
- if( status .eq. sai__ok ) then
- write( *,* ) 'Error ',i
- status = sai__error
- end if
- end
diff --git a/ast/ast_tester/testobject.c b/ast/ast_tester/testobject.c
deleted file mode 100644
index c1c1972..0000000
--- a/ast/ast_tester/testobject.c
+++ /dev/null
@@ -1,120 +0,0 @@
-#include "ast.h"
-#include <stdio.h>
-#include <string.h>
-
-int main(){
- const char *routine;
- const char *file;
- int i;
- int line;
- char *pickle1;
- char *pickle2;
- AstSkyFrame *sf = astSkyFrame( " " );
- AstFrame *bf = astFrame( 2, "Domain=SKY" );
- AstFrameSet *fs = astConvert( bf, sf, " " );
- AstKeyMap *km;
- void *p;
-
- if( fs ) {
- pickle1 = astToString( fs );
- AstFrameSet *fs2 = astFromString( pickle1 );
- pickle2 = astToString( fs2 );
- if( pickle1 && pickle2 ) {
- if( strcmp( pickle1, pickle2 ) && astOK ) {
- astError( AST__INTER, "Error 1\n" );
- }
- } else if( astOK ) {
- astError( AST__INTER, "Error 2\n" );
- }
-
-
- pickle1 = astFree( pickle1 );
- pickle2 = astFree( pickle2 );
-
- if( fs2 && !astEqual( fs, fs2 ) && astOK ) {
- astError( AST__INTER, "Error 3\n" );
- }
-
- astCreatedAt( bf, &routine, &file, &line );
- if( ( !routine || strcmp( routine, "main" ) ) && astOK ) {
- astError( AST__INTER, "Error 31\n" );
- }
- if( ( !file || strcmp( file, "testobject.c" ) ) && astOK ) {
- astError( AST__INTER, "Error 32\n" );
- }
- if( line != 13 && astOK ) {
- astError( AST__INTER, "Error 33 (line is %d)\n", line );
- }
-
-
- km = astActiveObjects( NULL, 0, 0 );
- if( !km && astOK ) {
- astError( AST__INTER, "Error 34\n" );
- } else {
- int nkey = astMapSize( km );
- if( nkey != 3 && astOK ) {
- astError( AST__INTER, "Error 35 (nkey is %d)\n", nkey );
- }
-
- astSetC( km, "SortBy", "KeyUp" );
- for( i=0; i < 3; i++ ){
- const char *key = astMapKey( km, i );
- if( i == 0 ) {
- if( strcmp( key, "Frame" ) && astOK ) {
- astError( AST__INTER, "Error 36 (key 0 is '%s')\n", key );
- } else if( astMapLength(km,key) != 1 && astOK ) {
- astError( AST__INTER, "Error 361 (%d)\n", astMapLength(km,key) );
- } else if( ( !astMapGetElemP( km, key, 0, &p ) || ( p != bf ) ) && astOK ) {
- astError( AST__INTER, "Error 362\n" );
- } else {
- astCreatedAt( p, &routine, &file, &line );
- if( ( !routine || strcmp( routine, "main" ) ) && astOK ) {
- astError( AST__INTER, "Error 363\n" );
- }
- if( ( !file || strcmp( file, "testobject.c" ) ) && astOK ) {
- astError( AST__INTER, "Error 364\n" );
- }
- if( line != 13 && astOK ) {
- astError( AST__INTER, "Error 365 (line is %d)\n", line );
- }
- }
- } else if( i == 1 ) {
- if( strcmp( key, "FrameSet" ) && astOK ) {
- astError( AST__INTER, "Error 37 (key 1 is '%s')\n", key );
- } else if( astMapLength(km,key) != 2 && astOK ) {
- astError( AST__INTER, "Error 371 (%d)\n", astMapLength(km,key) );
- } else if( ( !astMapGetElemP( km, key, 1, &p ) || ( p != fs2 ) ) && astOK ) {
- astError( AST__INTER, "Error 372\n" );
- } else {
- astCreatedAt( p, &routine, &file, &line );
- if( ( !routine || strcmp( routine, "main" ) ) && astOK ) {
- astError( AST__INTER, "Error 373\n" );
- }
- if( ( !file || strcmp( file, "testobject.c" ) ) && astOK ) {
- astError( AST__INTER, "Error 374\n" );
- }
- if( line != 20 && astOK ) {
- astError( AST__INTER, "Error 375 (line is %d)\n", line );
- }
- }
- } else {
- if( strcmp( key, "SkyFrame" ) && astOK ) {
- astError( AST__INTER, "Error 38 (key 2 is '%s')\n", key );
- } else if( astMapLength(km,key) != 1 && astOK ) {
- astError( AST__INTER, "Error 381 (%d)\n", astMapLength(km,key) );
- }
- }
- }
- }
- km = astAnnul( km );
-
- } else if( astOK ){
- astError( AST__INTER, "Error 4\n" );
- }
-
- if( astOK ) {
- printf(" All Object tests passed\n");
- } else {
- printf("Object tests failed\n");
- }
-}
diff --git a/ast/ast_tester/testplot3d.f b/ast/ast_tester/testplot3d.f
deleted file mode 100644
index 66a6858..0000000
--- a/ast/ast_tester/testplot3d.f
+++ /dev/null
@@ -1,1357 +0,0 @@
- program testplot3d
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer fset, plot3d, status, pgbeg
- real gbox(6), lbnd(3), ubnd(3)
- double precision bbox(6)
- integer readtest
- logical ok, pg3d_autocamera
- character device*30
-
- status = sai__ok
-
-c call ast_watchmemory( 130836 )
- call ast_begin( status )
-
- lbnd( 1 ) = -1.0
- lbnd( 2 ) = -1.0
- lbnd( 3 ) = -1.0
- ubnd( 1 ) = 1.0
- ubnd( 2 ) = 1.0
- ubnd( 3 ) = 1.0
-
- if( iargc() .gt. 0 ) then
- call getarg( 1, device )
- else
- device = '/XSERVE'
- end if
- ok = ( pgbeg( 0, device, 1, 1 ) .eq. 1 )
-
- if( .not. ok ) write(*,*) 'PGPLOT OPEN FIALED'
-
- call pgask( .false. )
-
- call pgpage
- call pgwnad( 0.0, 1.0, 0.0, 1.0 )
-
- ok = pg3d_autocamera( lbnd, ubnd )
-c
- gbox(1) = lbnd(1)
- gbox(2) = lbnd(2)
- gbox(3) = lbnd(3)
- gbox(4) = ubnd(1)
- gbox(5) = ubnd(2)
- gbox(6) = ubnd(3)
-
- bbox(1) = -1.0
- bbox(2) = -1.0
- bbox(3) = -1.0
- bbox(4) = 1.0
- bbox(5) = 1.0
- bbox(6) = 1.0
-
- plot3d = ast_plot3d( AST__NULL, gbox, bbox, 'minticklen=0',
- : status )
- call checkdump( plot3d, 'CheckDump test 1', status )
- call ast_annul( plot3d, status )
- bbox(1) = 0.5
- bbox(2) = 0.5
- bbox(3) = 0.5
- bbox(4) = 155.5
- bbox(5) = 107.5
- bbox(6) = 1640.5
- plot3d = ast_plot3d( readtest( "plot3d-test1.ast", status ), gbox,
- : bbox, ' ' , status )
-c call checkdump( plot3d, 'CheckDump test 2', status )
-c call ast_set( plot3d, "System(1)=galactic,system(3)=freq",
-c : status )
-c call ast_grid( plot3d, status )
- call explore( plot3d, status )
- call pgend
- call ast_end( status )
- call ast_activememory( 'testplot3d' )
- call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All Plot3D tests passed'
- else
- write(*,*) 'Plot3D tests failed'
- end if
-
- end
-
- subroutine checkdump( obj, text, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character text*(*)
- integer obj, status, next, end, ch, result, ll, overlap
- external mysource, mysink, mysink2
- character buf*400000,buf2*400000
- common /ss1/ buf
- common /ss2/ next, end, ll
- common /ss3/ buf2
- if( status .ne. sai__ok ) return
- call ast_begin( status )
- ch = ast_channel( mysource, mysink, ' ', status )
- ll = 200
- next = 1
- if( ast_write( ch, obj, status ) .ne.1 ) then
- write(*,*) text
- call stopit( status, 'Cannot write supplied object to '//
- : 'channel' )
- end if
- next = 1
- result = ast_read( ch, status )
- if( result .eq. ast__null ) then
- write(*,*) text
- call stopit( status, 'Cannot read object from channel' )
- end if
-
- ll = 200
- next = 1
- ch = ast_channel( AST_NULL, mysink2, ' ', status )
- if( ast_write( ch, obj, status ) .ne.1 ) then
- write(*,*) text
- call stopit( status, 'Cannot write copied object to '//
- : 'channel' )
- end if
- if( buf .ne. buf2 ) then
- call ast_Show( obj, status )
- call ast_Show( result, status )
- write(*,*) text
- call stopit( status, 'Object has changed' )
- end if
- call ast_end( status )
- end
- subroutine mysource( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, ll
- character buf*400000
- common /ss1/ buf
- common /ss2/ next, end, ll
- if( status .ne. sai__ok ) return
- if( next .ge. end ) then
- call ast_putline( buf, -1, status )
- else
- call ast_putline( buf( next : ), ll, status )
- endif
- next = next + ll
- end
- subroutine mysink( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll
- character buf*400000
- character line*1000
- common /ss1/ buf
- common /ss2/ next, end, ll
- if( status .ne. sai__ok ) return
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
- buf( next : ) = line( f : l )
- l = l - f + 1
- if( next + ll - 1 .ge. 400000 ) then
- write(*,*)
- call stopit( status, 'Buffer overflow in mysink!!' )
- else if( l .gt. ll ) then
- write(*,*)
- write(*,*) line( f : l )
- write(*,*) 'Line length ',l
- call stopit( status, 'Line overflow in mysink!!' )
- else
- end = next + l
- buf( end : next + ll - 1 ) = ' '
- endif
- next = next + ll
- end
- subroutine mysink2( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll
- character buf2*400000
- character line*1000
- common /ss3/ buf2
- common /ss2/ next, end, ll
- if( status .ne. sai__ok ) return
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
- buf2( next : ) = line( f : l )
- l = l - f + 1
- if( next + ll - 1 .ge. 400000 ) then
- write(*,*)
- call stopit( status, 'Buffer overflow in mysink2!!' )
- else if( l .gt. ll ) then
- write(*,*)
- write(*,*) buf2( next : next + l)
- write(*,*) 'Line length ',l
- call stopit( status, 'Line overflow in mysink2!!' )
- else
- end = next + l
- buf2( end : next + ll - 1 ) = ' '
- endif
- next = next + ll
- end
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
- end
-
- integer function readtest( name, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character name*(*)
- integer status, ch
- external mysource3
- readtest = AST__NULL
- if( status .ne. sai__ok ) return
- open( unit=1, file=name, status='old' )
- ch = ast_channel( mysource3, ast_null, ' ', status )
- readtest = ast_read( ch, status )
- call ast_annul( ch, status )
- close(1)
- end
-
- subroutine mysource3( status )
- integer status
- character buffer*200
- read( 1, '(A)', end = 99 ) buffer
- call ast_putline( buffer, len( buffer ), status )
- return
- 99 call ast_putline( buffer, -1, status )
-
- end
-
-
- subroutine explore( plot3d, status )
- implicit none
- include 'AST_PAR'
- include 'SAE_PAR'
-
- real common_par
- integer common_map
- logical use_common
- double precision common_x, common_y
- common /ss4/ common_par,common_x,common_y,common_map,use_common
-
- real pi
- parameter( pi = 3.1415927 )
- integer diag, plot3d, status, iopt, i, iclose
- logical more, draw, ok, pg3d_findnearest, lval, pg3d_seteye,
- : pg3d_setup
- character settings*40, attr*20, corn(8)*3, text*40,just*4
- real xc(8), yc(8), zc(8)
- double precision pos(3),x,y
- real up(3), eye(3)
- integer type, map
- integer readtest
- data xc /-1, 1, -1, 1, -1, 1, -1, 1 /
- data yc /-1, -1, 1, 1, -1, -1, 1, 1 /
- data zc /-1, -1, -1, -1, 1, 1, 1, 1 /
- data corn/ 'lll', 'ull', 'lul', 'uul',
- : 'llu', 'ulu', 'luu', 'uuu' /
- if( status .ne. sai__ok ) return
- eye( 1 ) = -3
- eye( 2 ) = 4
- eye( 3 ) = 3
- ok = pg3d_seteye( eye )
- up( 1 ) = 0.0
- up( 2 ) = -0.03
- up( 3 ) = 1.0
- ok = pg3d_setup( up )
- diag = 1
- common_x = AST__BAD
- common_y = AST__BAD
- common_map = AST__NULL
- use_common = .false.
-
- call drawit( diag, plot3d, status )
- more = .true.
- do while( more )
-
- write(*,*) ' 0 - exit'
- write(*,*) ' 1 - move forward'
- write(*,*) ' 2 - move backwards'
- write(*,*) ' 3 - rotate right'
- write(*,*) ' 4 - rotate left'
- write(*,*) ' 5 - rotate up'
- write(*,*) ' 6 - rotate down'
- write(*,*) ' 7 - rotate right continuous'
- write(*,*) ' 8 - set attribute values'
- write(*,*) ' 9 - get an attribute value'
- write(*,*) ' 10 - clear an attribute value'
- write(*,*) ' 11 - test an attribute value'
- write(*,*) ' 12 - show the plot3d (big!)'
- write(*,*) ' 13 - Draw a border'
- write(*,*) ' 14 - Draw a marker'
- write(*,*) ' 15 - Draw a text string'
- write(*,*) ' 16 - Draw az-el diagram'
- write(*,*) ' 17 - Draw grid-box diagram'
- write(*,*) ' 18 - Vary parameter continuously'
- write(*,*) ' 19 - Next figure'
- write(*,*) ' 20 - Set Mapping'
- write(*,*) ' 21 - Mark mapped position'
- write(*,'(A,$)' ) 'Option: '
- read(*,*) iopt
-
- draw = .true.
- if( iopt .eq. 0 ) then
- draw = .false.
- more = .false.
- else if( iopt .eq. 1 ) then
- call pg3d_forward( 0.1 )
- else if( iopt .eq. 2 ) then
- call pg3d_forward( -0.1 )
- else if( iopt .eq. 3 ) then
- call pg3d_rotateeye( 4, 7.0 )
- else if( iopt .eq. 4 ) then
- call pg3d_rotateeye( 3, 7.0 )
- else if( iopt .eq. 5 ) then
- call pg3d_rotateeye( 1, 7.0 )
- else if( iopt .eq. 6 ) then
- call pg3d_rotateeye( 2, 7.0 )
- else if( iopt .eq. 7 ) then
- do i = 0, 360, 7
- call pg3d_rotateeye( 4, 7.0 )
- call pgpage
- call drawit( diag, plot3d, status )
- call pause
- end do
- draw = .false.
- else if( iopt .eq. 8 ) then
- write( *, '(A,$)' ) 'Attribute settings: '
- read( *, '(A)' ) settings
- call ast_set( plot3d, settings, status )
- else if( iopt .eq. 9 ) then
- write( *, '(A,$)' ) 'Attribute name to get: '
- read( *, '(A)' ) attr
- write(*,*) ast_getc( plot3d, attr, status )
- draw = .false.
- else if( iopt .eq. 10 ) then
- write( *, '(A,$)' ) 'Attribute name to clear: '
- read( *, '(A)' ) attr
- call ast_clear( plot3d, attr, status )
- else if( iopt .eq. 11 ) then
- write( *, '(A,$)' ) 'Attribute name to test: '
- read( *, '(A)' ) attr
- write(*,*) ast_test( plot3d, attr, status )
- draw = .false.
- else if( iopt .eq. 12 ) then
- call ast_show( plot3d, status )
- draw = .false.
- else if( iopt .eq. 13 ) then
- lval = ast_border( plot3d, status )
- draw = .false.
- else if( iopt .eq. 14 ) then
- write(*,'(A,$)') 'Marker X coord: '
- read(*,*) pos(1)
- write(*,'(A,$)') 'Marker Y coord: '
- read(*,*) pos(2)
- write(*,'(A,$)') 'Marker Z coord: '
- read(*,*) pos(3)
- write(*,'(A,$)') 'Marker type: '
- read(*,*) type
- call ast_mark( plot3d, 1, 3, 1, pos, type, status )
- draw = .false.
- else if( iopt .eq. 15 ) then
- write(*,'(A,$)') 'Text X coord: '
- read(*,*) pos(1)
- write(*,'(A,$)') 'Text Y coord: '
- read(*,*) pos(2)
- write(*,'(A,$)') 'Text Z coord: '
- read(*,*) pos(3)
- write(*,'(A,$)') 'Text: '
- read(*,*) text
- write(*,'(A,$)') 'Justification: '
- read(*,*) just
- write(*,'(A,$)') 'Up X: '
- read(*,*) up(1)
- write(*,'(A,$)') 'Up Y: '
- read(*,*) up(2)
- write(*,'(A,$)') 'Up Z: '
- read(*,*) up(3)
- call ast_text( plot3d, text, pos, up, just, status )
- draw = .false.
- else if( iopt .eq. 16 ) then
- diag = 2
- else if( iopt .eq. 17 ) then
- diag = 1
- else if( iopt .eq. 18 ) then
- use_common = .true.
- do i = 0, 90, 1
- common_par = pi*i/180.0;
- call pgpage
- call drawit( diag, plot3d, status )
- call pause
- end do
- draw = .false.
- use_common = .false.
- else if( iopt .eq. 19 ) then
- diag = diag + 1
- write(*,*) 'Drawing diag ',diag
-
- else if( iopt .eq. 20 ) then
- write(*,'(A,$)') 'Supply a 2-in, 2-out Mapping (outputs '//
- : 'are (long,lat)):'
- read(*,*) text
- common_map = readtest( text, status )
- draw = .false.
-
- else if( iopt .eq. 21 ) then
- write(*,'(A,$)') 'Value for input 1: '
- read(*,*) common_x
- write(*,'(A,$)') 'Value for input 2: '
- read(*,*) common_y
-
- else
- draw = .false.
- write(*,*) 'Bad option ',iopt
- end if
-
- if( draw ) then
- call pgpage
-c ok = pg3d_findnearest( 8, xc, yc, zc, iclose )
-c call ast_setc( plot3d, 'RootCorner', corn( iclose + 1 ),
-c : status )
- call drawit( diag, plot3d, status )
- end if
-
- if( status .ne. sai__ok ) call err_flush( status )
- end do
-
- end
-
- subroutine pause
- implicit none
- integer i
- double precision a
- a = 1.0D0
- do i = 1, 2000000
- a = tan( a )
- end do
- end
-
- subroutine drawit( diag, plot3d, status )
- implicit none
- include 'AST_PAR'
- include 'SAE_PAR'
- integer NP
- parameter ( NP = 50 )
- integer w1, w2
- real rd, pi
- parameter( w1 = 6, w2 = 3, rd = 1.5, pi = 3.1415927 )
-
- real common_par
- integer common_map
- logical use_common
- double precision common_x, common_y
- common /ss4/ common_par,common_x,common_y,common_map,use_common
-
- double precision dlat, dlon, up, north
- integer diag, plot3d, status, i, j, azelmap
- real x(NP), y(NP), z(NP), axlen, a1, a2, r(3), u(3), n(3),
- : ang, k, cen(3), norm(3), start(3), lon, lat, origin(3),
- : theta,phi
- if( status .ne. sai__ok ) return
-
- if( diag .eq. 1 ) then
- call ast_grid( plot3d, status )
-
- else
- axlen = 1.8
- a1 = 0.1
- a2 = a1*0.6
- lon = pi*210.0/180.0
- if( use_common ) then
- lat = common_par
- else
- lat = pi*25.0/180.0
- endif
-
- do while( lat .gt. pi )
- lat = lat - 2*pi
- end do
-
- do while( lat .lt. -pi )
- lat = lat + 2*pi
- end do
-
- if( lat .gt. pi/2 ) then
- lat = pi - lat
- lon = lon + pi
-
- else if( lat .lt. -pi/2 ) then
- lat = -pi - lat
- lon = lon + pi
- end if
-
- do while( lon .gt. 2*pi )
- lon = lon - 2*pi
- end do
-
- do while( lon .lt. 0 )
- lon = lon + 2*pi
- end do
-
-
-c+ Fig1 (part a)
- if( diag .eq. 2 ) then
- call pgslw( w2 )
- cen(1) = 0.0
- cen(2) = 0.0
- cen(3) = 0.0
- call s2c( lon - pi/2, 0.0, 1.0, norm )
- call s2c( lon, 0.0, rd*0.6, start )
- call pgsci( 10 )
- call pgscr( 10, 0.0, 0.0, 1.0 )
- call arc( cen, norm, start, -lat, -rd*0.1 )
-
- u(1)=0
- u(2)=0
- u(3)=1
- call s2c( lon, lat/2.2, rd*0.7, r )
- call g3dtext( 'el', r, 'CL', u, norm )
-
- norm(1)=0
- norm(2)=0
- norm(3)=-1
- start(1)=rd*0.6
- start(2)=0
- start(3)=0
- call arc( cen, norm, start, lon, rd*0.1 )
-
- call s2c( 110.0/180.0*PI, 0.0, rd*0.7, r )
- call g3dtext( 'az', r, 'TC', r, norm )
-
- call pgsci( 1 )
- endif
-
- origin(1) = 0.0
- origin(2) = 0.0
- origin(3) = 0.0
- call axes( origin, axlen, '(north) u', '(east) v',
- : '(zenith) w', w1, w2, 'X', 0.0, 0.0, 0.0 )
-
-* Quadrant from (0,0,1) to (-1,0,0)
- cen(1) = 0.0
- cen(2) = 0.0
- cen(3) = 0.0
- call s2c( (int(2*lon/pi)-1)*pi/2, 0.0, 1.0, norm )
- start(1) = 0.0
- start(2) = 0.0
- start(3) = rd
- call pgslw( w2 )
- call arc( cen, norm, start, pi/2, 0.0 )
-
-* Quadrant from (0,0,1) to (0,-1,0)
- call s2c( int(2*lon/pi)*pi/2, 0.0, 1.0, norm )
- call arc( cen, norm, start, pi/2, 0.0 )
-
-* Quadrant from (-1,0,0) to (0,-1,0)
- norm(1) = 0.0
- norm(2) = 0.0
- norm(3) = 1.0
- call s2c( (int(2*lon/pi)+1)*pi/2, 0.0, rd, start )
- call arc( cen, norm, start, pi/2, 0.0 )
-
-* Dashed red quadrant at az = lon degs
- call s2c( lon-pi/2, 0.0, 1.0, norm )
- start(1) = 0.0
- start(2) = 0.0
- start(3) = rd
- call pgsci( 10 )
- call pgscr( 10, 1.0, 0.0, 0.0 )
- call pgsls( 2 )
- call pgslw( 2 )
- call arc( cen, norm, start, pi/2, 0.0 )
-
-* Dashed red line of latitude at el = lat degs
- cen(1) = 0.0
- cen(2) = 0.0
- cen(3) = sin(lat)*rd
- norm(1) = 0.0
- norm(2) = 0.0
- norm(3) = 1.0
- call s2c( (int(2*lon/pi)+1)*pi/2, lat, rd, start )
- call arc( cen, norm, start, pi/2, 0.0 )
-
-* Dashed red line from centre to az=lon el=0
- x( 1 ) = 0.0
- y( 1 ) = 0.0
- z( 1 ) = 0.0
- x( 2 ) = cos(lon)*rd
- y( 2 ) = sin(lon)*rd
- z( 2 ) = 0.0
- call g3dline( 2, x, y, z )
-
-* Solid red line from centre to az=210 el=45
- x( 1 ) = 0.0
- y( 1 ) = 0.0
- z( 1 ) = 0.0
- call s2c( lon, lat, rd, origin )
- x( 2 ) = origin(1)
- y( 2 ) = origin(2)
- z( 2 ) = origin(3)
- call pgsls( 1 )
- call g3dline( 2, x, y, z )
-
-c+ Fig1 - (part b)
- if( diag .eq. 2 ) then
- call pgscr( 10, 0.0, 0.6, 0.0 )
- call s2c( lon, lat, rd, origin )
- call axes( origin, 0.2*axlen, 'daz', 'del', ' ', w1, w2,
- : 'ZYZ', lon, (pi/2 - lat), pi/2 )
- endif
-
-
-c+ Fig2
- if( diag .eq. 3 ) then
- call pgscr( 10, 0.6, 0.6, 0.0 )
- call s2c( lon, lat, rd, origin )
- call axes( origin, 0.4*axlen, 'UP', 'N', ' ', w1, w2,
- : 'ZYZ', lon, (pi/2 - lat), lat )
-
-
- call pgscr( 10, 0.0, 0.0, 1.0 )
- call s2c( lon+0.22, lat, rd, start )
- call s2c( lon, lat, rd, cen )
- call s2c( lon, lat, rd, norm )
- call arc( cen, norm, start, -(lat-0.05), -rd*0.02 )
-
- call s2c( lon+0.25, lat*1.1, rd, r )
- norm(1) = 0
- norm(2) = 0
- norm(3) = 0
- u(1) = 0
- u(2) = 0
- u(3) = 1.0
- call g3dtext( 'el', r, 'CR', u, norm )
-
- endif
-
-
-c+ Fig3
- if( diag .eq. 4 ) then
- call pgscr( 10, 0.0, 0.0, 1.0 )
- call s2c( lon, lat, rd, origin )
- do i = 1, 4
- theta = i*5.0*pi/180.0
- cen(1) = cos(theta)*origin(1)
- cen(2) = cos(theta)*origin(2)
- cen(3) = cos(theta)*origin(3)
- call s2c( lon + theta, lat, rd, start )
- call arc( cen, cen, start, 2*pi, 0.05 )
- end do
-
-
- cen(1)=0
- cen(2)=0
- cen(3)=0
-
- call s2c( pi, pi/2-pi/2, rd, start )
- call s2c( pi+pi/2, 0.0, 1.0, norm )
-
- call rotvec( 'ZYZ', lon, pi/2-lat, lat, norm )
- call rotvec( 'ZYZ', lon, pi/2-lat, lat, start )
- call arc( cen, norm, start, pi/2, 0.0 )
-
-
- call pgscr( 10, 0.0, 1.0, 1.0 )
- call s2c( lon, lat, rd, origin )
- call axes( origin, 0.2*axlen, 'y', 'x', ' ', w1, w2,
- : 'ZYZ', lon, (pi/2 - lat), lat )
- endif
-
-
-c+ Fig4
- if( diag .eq. 5 ) then
- call pgscr( 10, 0.0, 0.0, 1.0 )
- call s2c( lon, lat, rd, origin )
- do i = 1, 4
- theta = i*5.0*pi/180.0
- cen(1) = cos(theta)*origin(1)
- cen(2) = cos(theta)*origin(2)
- cen(3) = cos(theta)*origin(3)
- call s2c( lon + theta, lat, rd, start )
- call arc( cen, cen, start, 2*pi, 0.05 )
- end do
-
-
- cen(1)=0
- cen(2)=0
- cen(3)=0
-
- call s2c( pi, pi/2-pi/2, rd, start )
- call s2c( pi+pi/2, 0.0, 1.0, norm )
-
- call rotvec( 'ZYZ', lon, pi/2-lat, lat, norm )
- call rotvec( 'ZYZ', lon, pi/2-lat, lat, start )
- call arc( cen, norm, start, pi/2, 0.0 )
-
-
- call pgscr( 10, 0.0, 1.0, 1.0 )
- call s2c( lon, lat, 0.0, origin )
- call axes( origin, rd, 'b', 'a', 'c', w1, w2,
- : 'ZYZ', lon, (pi/2 - lat), pi/2 + lat )
- endif
-
-c+ Fig5
- if( diag .eq. 6 ) then
- call pgscr( 10, 0.0, 1.0, 1.0 )
- call s2c( lon, lat, 0.0, origin )
- call axes( origin, rd, 'b', 'a', 'c', w1, w2,
- : 'ZYZ', lon, (pi/2 - lat), pi/2 + lat )
-
-
- call pgscr( 10, 0.0, 0.0, 1.0 )
- call axes( origin, rd, 'b''', 'a''', 'c''', w1, w2,
- : 'ZYZ', lon, (pi/2 - lat), pi/2 )
-
- call pgsci( 1 )
- call s2c( lon, lat, 1.0, norm )
- start(1) = 0.0
- start(2) = 0.0
- start(3) = rd*0.5
- call s2c( lon, lat, 0.0, cen )
- call arc( cen, norm, start, -lat, 0.0 )
-
- call pgsci( 1 )
- call s2c( 0.5*( lon - pi/2), lat/2+0.2, rd*0.55, r )
- norm(1) = 0
- norm(2) = 0
- norm(3) = 0
- u(1) = 0
- u(2) = 0
- u(3) = 1.0
- call g3dtext( 'el', r, 'CR', u, norm )
- endif
-
-c+ Fig6
- if( diag .eq. 7 ) then
- call s2c( lon, lat, 0.0, origin )
-
- call pgscr( 10, 0.0, 0.0, 1.0 )
- call axes( origin, rd, 'b''', 'a''', 'c''', w1, w2,
- : 'ZYZ', lon, (pi/2 - lat), pi )
-
- call pgscr( 10, 0.0, 1.0, 0.0 )
- call axes( origin, rd, 'b''''', 'a''''', 'c''''', w1, w2,
- : 'ZYZ', lon, 0.0, pi )
-
- endif
-
-
-
-
-
- if( diag .eq. 8 ) then
- call pgscr( 10, 0.0, 1.0, 1.0 )
- call s2c( lon, lat, 0.0, origin )
- call axes( origin, rd, 'a', 'b', 'c', w1, w2,
- : 'ZYZ', 0.0, 0.0, 0.0 )
- end if
-
- if( diag .eq. 9 ) then
- call pgscr( 10, 0.0, 1.0, 1.0 )
- call s2c( lon, lat, 0.0, origin )
- call axes( origin, rd, 'a', 'b', 'c', w1, w2,
- : 'ZYZ', lon, 0.0, 0.0 )
- end if
-
- if( diag .eq. 10 ) then
- call pgscr( 10, 0.0, 1.0, 1.0 )
- call s2c( lon, lat, 0.0, origin )
- call axes( origin, rd, 'a', 'b', 'c', w1, w2,
- : 'ZYZ', lon, pi/2-lat, 0.0 )
- end if
-
- if( diag .eq. 11 ) then
- call pgscr( 10, 0.0, 1.0, 1.0 )
- call s2c( lon, lat, 0.0, origin )
- call axes( origin, rd, 'a', 'b', 'c', w1, w2,
- : 'ZYZ', lon, pi/2-lat, lat )
- end if
-
-
-
-
-
-
-
-
-
-
-
-c if( common_map .ne. AST__NULL .and.
-c ; common_x .ne. AST__BAD .and.
-c : common_y .ne. AST__BAD ) then
-c call ast_tran2( common_map, 1, common_x, common_y, .true.,
-c : dlon, dlat, status )
-c call s2c( real(dlon), real(dlat), rd, cen )
-c call pgsci( 10 )
-c call pgscr( 10, 1.0, 0.0, 1.0 )
-c call g3dmark( cen, 2 )
-c end if
-
- call pgsci( 1 )
- call pgslw( 4 )
- call pgsls( 1 )
-
- end if
-
- end
-
- subroutine arc( cen, normal, start, ang, arrow )
- implicit none
- real cen(3), normal(3), start(3), ang, arrow, ut(3), ur(3)
- integer np
- parameter( NP = 50 )
- integer i
- real v1(3), v2( 3 ), v1l, v2l, x(NP), y(NP), z(NP), a, ca, sa,
- : t1(3), t2(3), n(3)
- call copy( normal, n )
- call norm( n )
- call sub( start, cen, v1 )
- call cross( n, v1, t1 )
- call cross( t1, n, v1 )
- call mod( v1, v1l )
- call cross( v1, n, v2 )
- call mod( v2, v2l )
- do i = 1, 3
- v1( i ) = v1(i)/v1l
- v2( i ) = v2(i)/v2l
- end do
-
- do i = 1, NP
- a = ang*( i - 1 )/( NP - 1 )
- ca = cos(a)
- sa = sin(a)
- x(i) = v1l*( v1(1)*ca + v2(1)*sa ) + cen(1)
- y(i) = v1l*( v1(2)*ca + v2(2)*sa ) + cen(2)
- z(i) = v1l*( v1(3)*ca + v2(3)*sa ) + cen(3)
- end do
- call g3dline( NP, x, y, z )
- if( arrow .ne. 0.0 ) then
- ca = cos(ang)
- sa = sin(ang)
- do i = 1, 3
- ut(i) = sa*v1(i)-ca*v2(i)
- ur(i) = ca*v1(i)+sa*v2(i)
- end do
- x(1) = x(NP) + arrow*( ut(1) - 0.5*ur(1) )
- y(1) = y(NP) + arrow*( ut(2) - 0.5*ur(2) )
- z(1) = z(NP) + arrow*( ut(3) - 0.5*ur(3) )
- x(2) = x(NP)
- y(2) = y(NP)
- z(2) = z(NP)
- x(3) = x(NP) + arrow*( ut(1) + 0.5*ur(1) )
- y(3) = y(NP) + arrow*( ut(2) + 0.5*ur(2) )
- z(3) = z(NP) + arrow*( ut(3) + 0.5*ur(3) )
- call g3dline( 3, x, y, z )
- end if
- end
- subroutine s2c( lon, lat, r, p )
- implicit none
- real lon, lat, r, p(3), k
- p( 3 ) = r*sin(lat)
- k = r*cos(lat)
- p( 1 ) = k*cos(lon)
- p( 2 ) = k*sin(lon)
- end
-
- subroutine axes( origin, axlen, tx, ty, tz, w1, w2, order, phi,
- : theta, psi )
- implicit none
- character order*(*),tx*(*), ty*(*), tz*(*)
- real phi, theta, psi
- double precision rmat(3,3),va,vb
- real axlen, a1, a2, mat(3,3),x(10),y(10),z(10),r(3),u(3),n(3),
- : origin(3), sn
- integer w1, w2
- a1 = 0.05
- a2 = a1*0.6
- sn = 0.0
- call deuler( order, dble(phi), dble(theta), dble(psi), rmat )
- mat(1,1) = rmat(1,1)
- mat(1,2) = rmat(1,2)
- mat(1,3) = rmat(1,3)
- mat(2,1) = rmat(2,1)
- mat(2,2) = rmat(2,2)
- mat(2,3) = rmat(2,3)
- mat(3,1) = rmat(3,1)
- mat(3,2) = rmat(3,2)
- mat(3,3) = rmat(3,3)
-cc* X axis with arrow and label
- if( tx .ne. ' ' ) then
- x(1) = axlen
- y(1) = 0.0
- z(1) = 0.0
- x(2) = -axlen
- y(2) = 0.0
- z(2) = 0.0
- call mxv( mat, 2, x, y, z, origin )
- call pgslw( w1 )
- call g3dline( 2, x, y, z )
- x(1) = axlen - a1
- y(1) = -a2
- z(1) = 0.0
- x(2) = axlen
- y(2) = 0.0
- z(2) = 0.0
- x(3) = axlen - a1
- y(3) = a2
- z(3) = 0.0
- call mxv( mat, 3, x, y, z, origin )
- call g3dline( 3, x, y, z )
- r(1) = axlen + a1
- r(2) = 0.0
- r(3) = a2
- u(1) = 0.0
- u(2) = 0.0
- u(3) = 1.0
- n(1) = 0.0
- n(2) = sn
- n(3) = 0.0
-
- call pgslw( w2 )
- call mxv2( mat, r, .true., origin )
- call g3dtext( tx, r, 'BR', u, n )
- call pgslw( w1 )
- end if
-c* Y axis with arrow and label
- if( ty .ne. ' ' ) then
- x(1) = 0.0
- y(1) = -axlen
- z(1) = 0.0
- x(2) = 0.0
- y(2) = axlen
- z(2) = 0.0
- call mxv( mat, 2, x, y, z, origin )
- call g3dline( 2, x, y, z )
- x(1) = -a2
- y(1) = axlen - a1
- z(1) = 0.0
- x(2) = 0.0
- y(2) = axlen
- z(2) = 0.0
- x(3) = a2
- y(3) = axlen - a1
- z(3) = 0.0
- call mxv( mat, 3, x, y, z, origin )
- call g3dline( 3, x, y, z )
- r(1) = 0.0
- r(2) = axlen + a1
- r(3) = a2
- u(1) = 0.0
- u(2) = 0.0
- u(3) = 1.0
- n(1) = sn
- n(2) = 0.0
- n(3) = 0.0
-
- call pgslw( w2 )
- call mxv2( mat, r, .true., origin )
- call g3dtext( ty, r, 'BR', u, n )
- call pgslw( w1 )
- end if
-c* Z axis with arrow and label
- if( tz .ne. ' ' ) then
- x(1) = 0.0
- y(1) = 0.0
- z(1) = axlen
- x(2) = 0.0
- y(2) = 0.0
- z(2) = 0.0
- call mxv( mat, 2, x, y, z, origin )
- call g3dline( 2, x, y, z )
- x(1) = -a2
- y(1) = 0.0
- z(1) = axlen - a1
- x(2) = 0.0
- y(2) = 0.0
- z(2) = axlen
- x(3) = a2
- y(3) = 0.0
- z(3) = axlen - a1
- call mxv( mat, 3, x, y, z, origin )
- call g3dline( 3, x, y, z )
- r(1) = 0.0
- r(2) = 0.0
- r(3) = axlen + a1
- u(1) = 0.0
- u(2) = 0.0
- u(3) = 1.0
- n(1) = 0.0
- n(2) = 0.0
- n(3) = 0.0
-
- call pgslw( w2 )
- call mxv2( mat, r, .true., origin )
- call g3dtext( tz, r, 'CR', u, n )
- call pgslw( w1 )
- end if
- end
-
- subroutine mxv( mat, n, x, y, z, origin )
- implicit none
- integer n, i
- real x(n), y(n), z(n), mat(3,3), va(3),vb(3),origin(3)
- do i = 1, n
- va(1)= x(i)
- va(2)= y(i)
- va(3)= z(i)
- call sla_mxv( mat, va, vb )
- x(i) = vb(1) + origin(1)
- y(i) = vb(2) + origin(2)
- z(i) = vb(3) + origin(3)
- end do
- end
-
- subroutine mxv2( mat, r, move, origin )
- implicit none
- real r(3), mat(3,3), vb(3), origin(3)
- logical move
- call sla_mxv( mat, r, vb )
- if( move ) then
- r(1) = vb(1) + origin(1)
- r(2) = vb(2) + origin(2)
- r(3) = vb(3) + origin(3)
- else
- r(1) = vb(1)
- r(2) = vb(2)
- r(3) = vb(3)
- end if
- end
-
- subroutine deuler( order, phi, theta, psi, rmat )
- implicit none
- character order*(*)
- double precision phi, theta, psi, rmat(3,3), t(3), smat(3,3)
- double precision ang, v(3), ux(3), uy(3), uz(3), tmat(3,3),
- : axvec(3)
- integer n, i, j
- n = len( order )
- do i = 1, 3
- ux(i) = 0.0D0
- uy(i) = 0.0D0
- uz(i) = 0.0D0
- do j = 1, 3
- rmat(i,j) = 0.0
- end do
- rmat(i,i) = 1.0
- end do
- ux(1) = 1.0D0
- uy(2) = 1.0D0
- uz(3) = 1.0D0
- do i = 1, 3
- if( i .le. n ) then
- if( i .eq. 1 ) then
- ang = phi
- else if( i .eq. 2 ) then
- ang = theta
- else
- ang = psi
- end if
- if( order( i : i ) .eq. 'X' ) then
- do j = 1, 3
- axvec(j) = -ux(j)*ang
- end do
- else if( order( i : i ) .eq. 'Y' ) then
- do j = 1, 3
- axvec(j) = -uy(j)*ang
- end do
- else if( order( i : i ) .eq. 'Z' ) then
- do j = 1, 3
- axvec(j) = -uz(j)*ang
- end do
- else
- write(*,*) 'Bad axis label (',order(i:i),') in deuler!!!'
- end if
- call sla_dav2m( axvec, tmat )
- do j = 1, 3
- smat(1,j) = rmat(1,j)
- smat(2,j) = rmat(2,j)
- smat(3,j) = rmat(3,j)
- end do
- call sla_dmxm( tmat, smat, rmat )
- call sla_dmxv( tmat, ux, v )
- ux(1) = v(1)
- ux(2) = v(2)
- ux(3) = v(3)
- call sla_dmxv( tmat, uy, v )
- uy(1) = v(1)
- uy(2) = v(2)
- uy(3) = v(3)
- call sla_dmxv( tmat, uz, v )
- uz(1) = v(1)
- uz(2) = v(2)
- uz(3) = v(3)
- end if
- end do
- end
-
- subroutine rotvec( order, phi, theta, psi, v )
- implicit none
- character order*(*)
- real phi, theta, psi,v(3),vt(3)
- double precision rmat(3,3)
- real mat(3,3)
- call deuler( order, dble(phi), dble(theta), dble(psi), rmat )
- mat(1,1) = rmat(1,1)
- mat(1,2) = rmat(1,2)
- mat(1,3) = rmat(1,3)
- mat(2,1) = rmat(2,1)
- mat(2,2) = rmat(2,2)
- mat(2,3) = rmat(2,3)
- mat(3,1) = rmat(3,1)
- mat(3,2) = rmat(3,2)
- mat(3,3) = rmat(3,3)
- call sla_mxv( mat, v, vt )
- v(1) = vt(1)
- v(2) = vt(2)
- v(3) = vt(3)
- end
-
- subroutine cross( a, b, c )
- implicit none
- real a(3), b(3), c(3)
- c(1) = a(2)*b(3) - a(3)*b(2)
- c(2) = - a(1)*b(3) + a(3)*b(1)
- c(3) = a(1)*b(2) - a(2)*b(1)
- end
-
- subroutine sub( a, b, c )
- implicit none
- real a(3), b(3), c(3)
- c(1) = a(1) - b(1)
- c(2) = a(2) - b(2)
- c(3) = a(3) - b(3)
- end
-
- subroutine add( a, b, c )
- implicit none
- real a(3), b(3), c(3)
- c(1) = a(1) + b(1)
- c(2) = a(2) + b(2)
- c(3) = a(3) + b(3)
- end
-
- subroutine dot( a, b, c )
- implicit none
- real a(3), b(3), c
- c = a(1)*b(1) + a(2)*b(2) + a(3)*b(3)
- end
-
- subroutine mod( a, c )
- implicit none
- real a(3), c
- c = sqrt( a(1)*a(1) + a(2)*a(2) + a(3)*a(3) )
- end
-
- subroutine copy( a, b )
- implicit none
- real a(3), b(3)
- b(1) = a(1)
- b(2) = a(2)
- b(3) = a(3)
- end
-
- subroutine norm( a )
- implicit none
- real a(3), b
- call mod( a, b )
- if( b .ne. 0.0 ) then
- a(1) = a(1)/b
- a(2) = a(2)/b
- a(3) = a(3)/b
- end if
- end
-
- subroutine g3dtext( t, r, j, u, n )
- implicit none
- character*(*) t, j
- real r(3), u(3), n(3), r2(3),u2(3),n2(3)
- integer junk, ast_g3dtext
-
- call copy( r, r2 )
- call copy( u, u2 )
- call copy( n, n2 )
- r2(2) = -r2(2)
- u2(2) = -u2(2)
- n2(2) = -n2(2)
-
- junk = ast_g3dtext( t, r2, j, u2, n2 )
- end
-
- subroutine g3dline( n, x, y, z )
- implicit none
- integer i, n
- logical junk, ast_g3dline
- real x(n), y(n), z(n)
-
- do i = 1, n
- y(i)=-y(i)
- end do
-
- junk = ast_g3dline( n, x, y, z )
-
- do i = 1, n
- y(i)=-y(i)
- end do
-
- end
-
- subroutine g3dmark( pos, type )
- implicit none
- real pos(3)
- integer type
- logical junk, ast_g3dmark
-
- pos(2) = -pos(2)
- junk = ast_g3dmark( 1, pos(1), pos(2), pos(3), type, pos )
- pos(2) = -pos(2)
-
- end
-
-
-
-
-
- subroutine maketanmap( new, lon, lat, rot, azelmap, status )
- implicit none
-
- include 'SAE_PAR'
- include 'AST_PAR'
-
- logical new
- double precision lon, lat, rot
- integer azelmap, status
-
- double precision mmt( 2 ), mat(9), mat1(9), mat2(3)
- integer tanmap, tmap, sphmap, wcsmap, m1, m2, m3, c0, c1, matmap1,
- : matmap2
- double precision pi, piby2
-
- if( status .ne. sai__ok ) return
-
- pi = 3.1415927D0
- piby2 = pi/2.0
-
- c0 = ast_SphMap( 'UnitRadius=1', status )
- wcsmap = ast_WcsMap( 2, AST__TAN, 1, 2, ' ', status )
- call ast_Invert( wcsmap, status )
- call ast_Invert( c0, status )
- c1 = ast_CmpMap( wcsmap, c0, .true., ' ', status )
- call ast_Invert( c0, status )
-
- if( new ) then
- mmt( 1 ) = -1.0
- mmt( 2 ) = -1.0
- tmap = ast_MatrixMap( 2, 2, 1, mmt, ' ', status )
-
-* Note, sla_deuler groups columns in the returned matrix, but slaDeuler
-* groups rows. AST always expects rows to be grouped, so transpose the
-* matrices returned by sla_deuler.
- call sla_Deuler( 'Z', -rot, 0.0D0, 0.0D0, mat1 )
- call trans( mat1 )
- m1 = ast_MatrixMap( 3, 3, 0, mat1, ' ', status )
-
- call sla_Deuler( 'Y', (PIBY2-lat), 0.0D0, 0.0D0, mat1 )
- call trans( mat1 )
- m2 = ast_MatrixMap( 3, 3, 0, mat1, ' ', status )
-
- call sla_Deuler( 'Z', (lon-PI), 0.0D0, 0.0D0, mat1 )
- call trans( mat1 )
- m3 = ast_MatrixMap( 3, 3, 0, mat1, ' ', status )
-
- matmap1 = ast_CmpMap( m1, ast_CmpMap( m2, m3, .true., ' ',
- : status ),
- : .TRUE., ' ', status )
-
- mat2( 1 ) = 1.0
- mat2( 2 ) = -1.0
- mat2( 3 ) = 1.0
- matmap2 = ast_MatrixMap( 3, 3, 1, mat2, ' ', status )
-
- m1 = ast_CmpMap( c1, matmap1, .true., ' ', status )
- m2 = ast_CmpMap( m1, matmap2, .true., ' ', status )
- tanmap = ast_CmpMap( m2, c0, .true., ' ', status )
- azelmap = ast_CmpMap( tmap, tanmap, .true., ' ', status )
-
- else
-
-* Note, sla_deuler groups columns in the returned matrix, but slaDeuler
-* groups rows. AST always expects rows to be grouped, so transpose the
-* matrices returned by sla_deuler.
- call sla_Deuler( 'Z', rot, 0.0D0, 0.0D0, mat1 )
- call trans( mat1 )
- m1 = ast_MatrixMap( 3, 3, 0, mat1, ' ', status )
-
- call sla_Deuler( 'Y', -(PIBY2-lat), 0.0D0, 0.0D0, mat1 )
- call trans( mat1 )
- m2 = ast_MatrixMap( 3, 3, 0, mat1, ' ', status )
-
- call sla_Deuler( 'Z', -lon, 0.0D0, 0.0D0, mat1 )
- call trans( mat1 )
- m3 = ast_MatrixMap( 3, 3, 0, mat1, ' ', status )
-
-
- matmap1 = ast_CmpMap( m1, ast_CmpMap( m2, m3, .true., ' ',
- : status ),
- : .TRUE., ' ', status )
-
- m1 = ast_CmpMap( c1, matmap1, .true., ' ', status )
-
-
-
-
-
-
- mmt( 1 ) = -1.0
- mmt( 2 ) = 1.0
- tmap = ast_MatrixMap( 2, 2, 1, mmt, ' ', status )
- m2 = ast_CmpMap( tmap, m1, .true., ' ', status )
-
-
-
-
-
-
- azelmap = ast_CmpMap( m2, c0, .true., ' ', status )
-
- end if
-
- end
-
- subroutine trans( mat )
- implicit none
- double precision t, mat(9)
-
- t = mat(8)
- mat(8) = mat(6)
- mat(6) = t
-
- t = mat(3)
- mat(3) = mat(7)
- mat(7) = t
-
- t = mat(2)
- mat(2) = mat(4)
- mat(4) = t
-
- end
diff --git a/ast/ast_tester/testpolymap.f b/ast/ast_tester/testpolymap.f
deleted file mode 100644
index 1251894..0000000
--- a/ast/ast_tester/testpolymap.f
+++ /dev/null
@@ -1,319 +0,0 @@
- program testpolymap
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'PRM_PAR'
-
- integer status, pm, pm2, i, maxord, nco
- double precision coeff( 16 ), lbnd( 2 ), ubnd( 2 ),
- : xin(3), yin(3), xout(3), yout(3), errlim,
- : xin2(3), yin2(3), coeff_1d(6), acc,
- : coeff2( 24 ), coeff3( 6*4 ), err, maxacc,
- : cofs( 20 )
-
- data coeff / 1.0, 1.0, 0.0, 0.0,
- : 2.0, 1.0, 1.0, 0.0,
- : 1.0, 2.0, 0.0, 0.0,
- : 3.0, 2.0, 0.0, 1.0 /
-
- data coeff2 / 1.0, 1.0, 0.0, 0.0,
- : 2.0, 1.0, 1.0, 0.0,
- : 1.0, 1.0, 0.0, 1.0,
- : 1.0, 2.0, 0.0, 0.0,
- : 1.0, 2.0, 1.0, 0.0,
- : 2.0, 2.0, 0.0, 1.0 /
-
-c data coeff3 / -0.1, 1.0, 0.0, 0.0,
-c : 0.99, 1.0, 1.0, 0.0,
-c : 1.0E-4, 1.0, 1.0, 1.0,
-c : -1.0E-9, 1.0, 2.0, 1.0,
-c : -0.1, 2.0, 0.0, 0.0,
-c : 0.99, 2.0, 0.0, 1.0,
-c : 1.0E-4, 2.0, 1.0, 1.0,
-c : -1.0E-9, 2.0, 1.0, 2.0 /
-
- data coeff3 / -0.1, 1.0, 0.0, 0.0,
- : 0.99, 1.0, 1.0, 0.0,
- : 1.0E-4, 1.0, 1.0, 1.0,
- : -0.1, 2.0, 0.0, 0.0,
- : 0.99, 2.0, 0.0, 1.0,
- : 1.0E-4, 2.0, 1.0, 1.0 /
-
-
- data coeff_1d / 1.0, 1.0, 0.0,
- : 2.0, 1.0, 1.0 /
-
- data lbnd / -10.0D2, -10.0D2 /
- data ubnd / 10.0D2, 10.0D2 /
-
-
-
- status = sai__ok
- call ast_begin( status )
-
-c call ast_watchmemory( 131 )
-
- acc = 1.0D-7
- errlim = 1000*acc
- maxacc = 1.0D-3
- maxord = 10
-
- pm = ast_polymap( 2, 2, 4, coeff, 0, coeff, ' ', status )
-
- call ast_polycoeffs( pm, .true., 0, 0.0D0, nco, status )
- if( nco .ne. 4 ) then
- call stopit( -1, status )
- endif
-
- call ast_polycoeffs( pm, .false., 0, 0.0D0, nco, status )
- if( nco .ne. 0 ) then
- call stopit( -2, status )
- endif
-
- call ast_polycoeffs( pm, .true., 20, cofs, nco, status )
- if( nco .ne. 4 ) then
- call stopit( -3, status )
- else
- do i = 1, 16
- if( cofs( i ) .ne. coeff( i ) ) then
- call stopit( -4, status )
- end if
- end do
- endif
-
- pm2 = ast_polytran( pm, .FALSE., acc, maxacc, maxord, lbnd,
- : ubnd, status )
-
- xin( 1 ) = 1.0d0
- xin( 2 ) = 100.0d0
- xin( 3 ) = -50.0d0
- yin( 1 ) = 1.0d0
- yin( 2 ) = 100.0d0
- yin( 3 ) = -50.0d0
-
- call ast_tran2( pm2, 3, xin, yin, .true., xout, yout,
- : status )
- call ast_tran2( pm2, 3, xout, yout, .false., xin2, yin2,
- : status )
-
- do i = 1, 3
- if( abs( xin( i ) - xin2( i ) ) .gt. errlim ) then
- call stopit( 1, status )
- endif
- if( abs( yin( i ) - yin2( i ) ) .gt. errlim ) then
- call stopit( 2, status )
- endif
- end do
-
-
-
- call ast_setl( pm2, 'IterInverse', .TRUE., status )
- call ast_tran2( pm2, 3, xout, yout, .false., xin2, yin2,
- : status )
- do i = 1, 3
- if( abs( xin( i ) - xin2( i ) ) .gt. errlim ) then
- call stopit( 1001, status )
- endif
- if( abs( yin( i ) - yin2( i ) ) .gt. errlim ) then
- call stopit( 1002, status )
- endif
- end do
-
-
-
-
-
- pm = ast_polymap( 1, 1, 2, coeff_1d, 0, coeff_1d, ' ', status )
- pm2 = ast_polytran( pm, .FALSE., acc, maxacc, maxord, lbnd,
- : ubnd, status )
-
- xin( 1 ) = 1.0d0
- xin( 2 ) = 100.0d0
- xin( 3 ) = -50.0d0
-
- call ast_tran1( pm2, 3, xin, .true., xout, status )
- call ast_tran1( pm2, 3, xout, .false., xin2, status )
-
- do i = 1, 3
- if( abs( xin( i ) - xin2( i ) ) .gt. errlim ) then
- call stopit( 3, status )
- endif
- end do
-
- call ast_setl( pm2, 'IterInverse', .TRUE., status )
- call ast_tran1( pm2, 3, xout, .false., xin2, status )
-
- do i = 1, 3
- if( abs( xin( i ) - xin2( i ) ) .gt. errlim ) then
- call stopit( 3001, status )
- endif
- end do
-
-
-
-
- pm = ast_polymap( 2, 2, 6, coeff2, 0, coeff2, ' ', status )
- pm2 = ast_polytran( pm, .FALSE., acc, maxacc, maxord, lbnd,
- : ubnd, status )
-
- xin( 1 ) = 1.0d0
- xin( 2 ) = 100.0d0
- xin( 3 ) = -50.0d0
- yin( 1 ) = 1.0d0
- yin( 2 ) = 100.0d0
- yin( 3 ) = -50.0d0
-
- call ast_tran2( pm2, 3, xin, yin, .true., xout, yout,
- : status )
- call ast_tran2( pm2, 3, xout, yout, .false., xin2, yin2,
- : status )
-
- do i = 1, 3
- if( abs( xin( i ) - xin2( i ) ) .gt. errlim ) then
- call stopit( 4, status )
- endif
- if( abs( yin( i ) - yin2( i ) ) .gt. errlim ) then
- call stopit( 5, status )
- endif
- end do
-
- call ast_setl( pm2, 'IterInverse', .TRUE., status )
- call ast_tran2( pm2, 3, xout, yout, .false., xin2, yin2,
- : status )
-
- do i = 1, 3
- if( abs( xin( i ) - xin2( i ) ) .gt. errlim ) then
- call stopit( 4001, status )
- endif
- if( abs( yin( i ) - yin2( i ) ) .gt. errlim ) then
- call stopit( 5001, status )
- endif
- end do
-
-
-
-
-
-
-
- pm = ast_polymap( 2, 2, 6, coeff3, 0, coeff3, ' ', status )
- pm2 = ast_polytran( pm, .FALSE., acc, maxacc, maxord, lbnd,
- : ubnd, status )
-
- xin( 1 ) = 1.0d0
- xin( 2 ) = 100.0d0
- xin( 3 ) = -50.0d0
- yin( 1 ) = 1.0d0
- yin( 2 ) = 100.0d0
- yin( 3 ) = -50.0d0
-
- call ast_tran2( pm2, 3, xin, yin, .true., xout, yout,
- : status )
- call ast_tran2( pm2, 3, xout, yout, .false., xin2, yin2,
- : status )
-
- do i = 1, 3
- if( abs( xin( i ) - xin2( i ) ) .gt. errlim ) then
- write(*,*) i, xin( i ), xin2( i ), errlim
- call stopit( 6, status )
- endif
- if( abs( yin( i ) - yin2( i ) ) .gt. errlim ) then
- call stopit( 7, status )
- endif
- end do
-
-
- call ast_setl( pm2, 'IterInverse', .TRUE., status )
- call ast_tran2( pm2, 3, xout, yout, .false., xin2, yin2,
- : status )
-
- do i = 1, 3
- if( abs( xin( i ) - xin2( i ) ) .gt. errlim ) then
- write(*,*) i, xin( i ), xin2( i ), errlim
- call stopit( 6001, status )
- endif
- if( abs( yin( i ) - yin2( i ) ) .gt. errlim ) then
- call stopit( 7001, status )
- endif
- end do
-
-
-
- if( .not. ast_getl( pm, 'TranForward', status ) ) then
- call stopit( 8001, status )
- else if( .not. ast_getl( pm, 'IterInverse', status ) ) then
- call stopit( 8002, status )
- else if( .not. ast_getl( pm, 'TranInverse', status ) ) then
- call stopit( 8003, status )
- endif
-
- call ast_setl( pm, 'IterInverse', .FALSE., status )
-
- if( .not. ast_getl( pm, 'TranForward', status ) ) then
- call stopit( 8004, status )
- else if( ast_getl( pm, 'IterInverse', status ) ) then
- call stopit( 8005, status )
- else if( ast_getl( pm, 'TranInverse', status ) ) then
- call stopit( 8006, status )
- endif
-
- call ast_invert( pm, status )
-
- if( ast_getl( pm, 'TranForward', status ) ) then
- call stopit( 8007, status )
- else if( ast_getl( pm, 'IterInverse', status ) ) then
- call stopit( 8008, status )
- else if( .not. ast_getl( pm, 'TranInverse', status ) ) then
- call stopit( 8009, status )
- endif
-
- call ast_setl( pm, 'IterInverse', .TRUE., status )
-
- if( .not. ast_getl( pm, 'TranForward', status ) ) then
- call stopit( 8010, status )
- else if( .not. ast_getl( pm, 'IterInverse', status ) ) then
- call stopit( 8011, status )
- else if( .not. ast_getl( pm, 'TranInverse', status ) ) then
- call stopit( 8012, status )
- endif
-
- call ast_invert( pm, status )
-
- if( .not. ast_getl( pm, 'TranForward', status ) ) then
- call stopit( 8013, status )
- else if( .not. ast_getl( pm, 'IterInverse', status ) ) then
- call stopit( 8014, status )
- else if( .not. ast_getl( pm, 'TranInverse', status ) ) then
- call stopit( 8015, status )
- endif
-
-
-
-
-
-
-
-
-
- call ast_end( status )
- call ast_activememory( 'testpolymap' );
- call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All PolyMap tests passed'
- else
- write(*,*) 'PolyMap tests failed'
- end if
-
- end
-
-
- subroutine stopit( i, status )
- implicit none
- include 'SAE_PAR'
- integer i, status
- if( status .eq. sai__ok ) then
- write( *,* ) 'Error ',i
- status = sai__error
- end if
- end
diff --git a/ast/ast_tester/testrate.f b/ast/ast_tester/testrate.f
deleted file mode 100644
index 4803294..0000000
--- a/ast/ast_tester/testrate.f
+++ /dev/null
@@ -1,344 +0,0 @@
- program testrate
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'PRM_PAR'
-
- integer status, m, outp(4), inp(4), c1, c2, c3, c4
- double precision at(4), r, mat(4), b1(2), b2(2), a1(2),
- : a2(4)
-
- status = sai__ok
-
- at(1) = 10.0D0
- at(2) = 1.2D6
-
-* UnitMap
- m = ast_unitmap( 2, ' ', status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 1.0D0 ) call stopit( 1, r, status )
- r = ast_rate( m, at, 2, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 2, r, status )
-
- call ast_invert( m, status )
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 1.0D0 ) call stopit( 202, r, status )
-
-* ZoomMap
- m = ast_zoommap( 2, 2.0D0, ' ', status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 2.0D0 ) call stopit( 3, r, status )
- r = ast_rate( m, at, 2, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 4, r, status )
-
- call ast_invert( m, status )
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 0.5D0 ) call stopit( 402, r, status )
-
-* MatrixMap
- m = ast_matrixmap( 2, 2, 2, mat, ' ', status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 1.0D0 ) call stopit( 5, r, status )
- r = ast_rate( m, at, 2, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 6, r, status )
-
- call ast_invert( m, status )
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 1.0D0 ) call stopit( 602, r, status )
- r = ast_rate( m, at, 1, 2, status )
- if( r .ne. 0.0D0 ) call stopit( 603, r, status )
-
- mat(1)= -2.0D0
- mat(2)= 1.5D0
- m = ast_matrixmap( 2, 2, 1, mat, ' ', status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. -2.0D0 ) call stopit( 7, r, status )
- r = ast_rate( m, at, 2, 2, status )
- if( r .ne. 1.5D0 ) call stopit( 8, r, status )
- r = ast_rate( m, at, 1, 2, status )
- if( r .ne. 0.0D0 ) call stopit( 9, r, status )
- r = ast_rate( m, at, 2, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 10, r, status )
-
- call ast_invert( m, status )
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. -0.5D0 ) call stopit( 1002, r, status )
-
- mat(1)= 1.2D0
- mat(2)= 1.6D0
- mat(3)= -1.6D0
- mat(4)= 2.2D0
- m = ast_matrixmap( 2, 2, 0, mat, ' ', status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 1.2D0 ) call stopit( 11, r, status )
- r = ast_rate( m, at, 2, 2, status )
- if( r .ne. 2.2D0 ) call stopit( 12, r, status )
- r = ast_rate( m, at, 1, 2, status )
- if( r .ne. 1.6D0 ) call stopit( 13, r, status )
- r = ast_rate( m, at, 2, 1, status )
- if( r .ne. -1.6D0 ) call stopit( 14, r, status )
-
- call ast_invert( m, status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( abs( r - 0.423076923 ) .gt. 1.0E-6 ) call stopit( 15, r,
- : status )
-
- r = ast_rate( m, at, 2, 2, status )
- if( abs( r - 0.230769231 ) .gt. 1.0E-6 ) call stopit( 16, r,
- : status )
-
- r = ast_rate( m, at, 1, 2, status )
- if( abs( r + 0.307692308 ) .gt. 1.0E-6 ) call stopit( 17, r,
- : status )
-
- r = ast_rate( m, at, 2, 1, status )
- if( abs( r - 0.307692308 ) .gt. 1.0E-6 ) call stopit( 18, r,
- : status )
-
-
-* ShiftMap
- mat(1) = -1.2D0
- mat(2) = 1.2D0
- m = ast_shiftmap( 2, mat, ' ', status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 1.0D0 ) call stopit( 20, r, status )
- r = ast_rate( m, at, 2, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 21, r, status )
-
- call ast_invert( m, status )
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 1.0D0 ) call stopit( 23, r, status )
-
-
-* WinMap
- a1( 1 ) = 0.0D0
- a1( 2 ) = 0.0D0
- a2( 1 ) = 1.0D0
- a2( 2 ) = 1.0D0
- b1( 1 ) = 0.5D0
- b1( 2 ) = 0.5D0
- b2( 1 ) = 2.5D0
- b2( 2 ) = 2.5D0
- m = ast_winmap( 2, a1, a2, b1, b2, ' ', status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 2.0D0 ) call stopit( 24, r, status )
- r = ast_rate( m, at, 2, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 25, r, status )
-
- r = ast_rate( m, at, 2, 2, status )
- if( r .ne. 2.0D0 ) call stopit( 26, r, status )
- r = ast_rate( m, at, 1, 2, status )
- if( r .ne. 0.0D0 ) call stopit( 27, r, status )
-
-
- call ast_invert( m, status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 0.5D0 ) call stopit( 29, r, status )
- r = ast_rate( m, at, 2, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 30, r, status )
-
- r = ast_rate( m, at, 2, 2, status )
- if( r .ne. 0.5D0 ) call stopit( 31, r, status )
- r = ast_rate( m, at, 1, 2, status )
- if( r .ne. 0.0D0 ) call stopit( 32, r, status )
-
-
-
-* PermMap
- outp(1)=2
- outp(2)=1
- inp(1)=1
- inp(2)=2
- m = ast_permmap( 2, inp, 2, outp, 0.0D0, ' ', status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 34, r, status )
-
- r = ast_rate( m, at, 2, 1, status )
- if( r .ne. 1.0D0 ) call stopit( 35, r, status )
-
- r = ast_rate( m, at, 2, 2, status )
- if( r .ne. 0.0D0 ) call stopit( 37, r, status )
-
- r = ast_rate( m, at, 1, 2, status )
- if( r .ne. 1.0D0 ) call stopit( 38, r, status )
-
- call ast_invert( m, status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 1.0D0 ) call stopit( 40, r, status )
-
- r = ast_rate( m, at, 2, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 41, r, status )
-
- r = ast_rate( m, at, 2, 2, status )
- if( r .ne. 1.0D0 ) call stopit( 43, r, status )
-
- r = ast_rate( m, at, 1, 2, status )
- if( r .ne. 0.0D0 ) call stopit( 44, r, status )
-
-* TranMap
- a1( 1 ) = 0.0D0
- a1( 2 ) = 0.0D0
- a2( 1 ) = 1.0D0
- a2( 2 ) = 1.0D0
- b1( 1 ) = 0.5D0
- b1( 2 ) = 0.5D0
- b2( 1 ) = 2.5D0
- b2( 2 ) = 2.5D0
- c1 = ast_winmap( 2, a1, a2, b1, b2, ' ', status )
-
- mat(1)= 1.2D0
- mat(2)= 1.6D0
- mat(3)= -1.6D0
- mat(4)= 2.2D0
- c2 = ast_matrixmap( 2, 2, 0, mat, ' ', status )
-
- m = ast_tranmap( c1, c2, ' ', status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 2.0D0 ) call stopit( 46, r, status )
- r = ast_rate( m, at, 2, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 47, r, status )
-
- r = ast_rate( m, at, 2, 2, status )
- if( r .ne. 2.0D0 ) call stopit( 48, r, status )
- r = ast_rate( m, at, 1, 2, status )
- if( r .ne. 0.0D0 ) call stopit( 49, r, status )
-
- call ast_invert( m, status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( abs( r - 0.423076923 ) .gt. 1.0E-6 ) call stopit( 51, r,
- : status )
- r = ast_rate( m, at, 2, 2, status )
- if( abs( r - 0.230769231 ) .gt. 1.0E-6 ) call stopit( 52, r,
- : status )
- r = ast_rate( m, at, 1, 2, status )
- if( abs( r + 0.307692308 ) .gt. 1.0E-6 ) call stopit( 53, r,
- : status )
- r = ast_rate( m, at, 2, 1, status )
- if( abs( r - 0.307692308 ) .gt. 1.0E-6 ) call stopit( 54, r,
- : status )
-
-
-* CmpMap
- mat(1) = -1.0D0
- mat(2) = 1.0D0
- c1 = ast_shiftmap( 2, mat, ' ', status )
- mat(1)= 1.0D0
- mat(2)= 2.0D0
- mat(3)= -2.0D0
- mat(4)= 3.0D0
- c2 = ast_matrixmap( 2, 2, 0, mat, ' ', status )
- c3 = ast_cmpmap( c1, c2, 0, ' ', status )
-
- outp(1) = 3
- outp(2) = 4
- outp(3) = 1
- outp(4) = 2
- inp(1) = 3
- inp(2) = 4
- inp(3) = 1
- inp(4) = 2
- c1 = ast_permmap( 4, inp, 4, outp, 0.0D0, ' ', status )
- c2 = ast_ZoomMap( 4, 0.25D0, ' ', status )
- call ast_invert( c2, status )
-
- c4 = ast_cmpmap( c1, c2, 1, ' ', status )
- call ast_invert( c4, status )
-
- m = ast_cmpmap( c3, c4, 1, ' ', status )
-
- call ast_invert( c2, status )
- call ast_invert( c3, status )
- call ast_invert( c4, status )
-
- at(1) = 1.0D0
- at(2) = 2.0D0
- at(3) = 3.0D0
- at(4) = 4.0D0
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 55, r, status )
-
- r = ast_rate( m, at, 1, 2, status )
- if( r .ne. 0.0D0 ) call stopit( 56, r, status )
-
- r = ast_rate( m, at, 1, 3, status )
- if( abs( r - 0.25D0 ) .gt. 1.0D-6 ) call stopit( 57, r, status )
-
- r = ast_rate( m, at, 1, 4, status )
- if( r .ne. 0.5D0 ) call stopit( 58, r, status )
-
- r = ast_rate( m, at, 3, 1, status )
- if( r .ne. 0.25D0 ) call stopit( 59, r, status )
-
- r = ast_rate( m, at, 3, 2, status )
- if( r .ne. 0.0D0 ) call stopit( 60, r, status )
-
- r = ast_rate( m, at, 3, 3, status )
- if( r .ne. 0.0D0 ) call stopit( 61, r, status )
-
- r = ast_rate( m, at, 3, 4, status )
- if( r .ne. 0.0D0 ) call stopit( 62, r, status )
-
-
- call ast_invert( m, status )
-
- r = ast_rate( m, at, 1, 1, status )
- if( r .ne. 0.0D0 ) call stopit( 63, r, status )
-
- r = ast_rate( m, at, 1, 2, status )
- if( r .ne. 0.0D0 ) call stopit( 64, r, status )
-
- r = ast_rate( m, at, 1, 3, status )
- if( r .ne. 4.0D0 ) call stopit( 65, r, status )
-
- r = ast_rate( m, at, 1, 4, status )
- if( r .ne. 0.0D0 ) call stopit( 66, r, status )
-
- r = ast_rate( m, at, 3, 1, status )
- if( abs( r - 12.0D0/7.0D0 ) .gt. 1.0D-6 )
- : call stopit( 67, r, status )
-
- r = ast_rate( m, at, 3, 2, status )
- if( abs( r - (-8.0D0/7.0D0) ) .gt. 1.0D-6 )
- : call stopit( 68, r, status )
-
- r = ast_rate( m, at, 3, 3, status )
- if( r .ne. 0.0D0 ) call stopit( 69, r, status )
-
- r = ast_rate( m, at, 3, 4, status )
- if( r .ne. 0.0D0 ) call stopit( 70, r, status )
-
-
-
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All AST_RATE tests passed'
- else
- write(*,*) 'AST_RATE tests failed'
- end if
-
- end
-
-
- subroutine stopit( i, r, status )
- implicit none
- include 'SAE_PAR'
- integer i, status
- double precision r
- if( status .eq. sai__ok ) then
- write( *,* ) 'Error ',i,': ',r
- status = sai__error
- end if
- end
diff --git a/ast/ast_tester/testratemap.f b/ast/ast_tester/testratemap.f
deleted file mode 100644
index 720a4b9..0000000
--- a/ast/ast_tester/testratemap.f
+++ /dev/null
@@ -1,148 +0,0 @@
- program testratemap
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'PRM_PAR'
-
- integer status, m, outp(4), inp(4), c1, c2, c3, c4, rm
- double precision at(4), r, mat(4), b1(2), b2(2), a1(2),
- : a2(4)
-
- status = sai__ok
-
- at(1) = 10.0D0
- at(2) = 1.2D6
-
- mat(1) = -1.0D0
- mat(2) = 1.0D0
- c1 = ast_shiftmap( 2, mat, ' ', status )
- mat(1)= 1.0D0
- mat(2)= 2.0D0
- mat(3)= -2.0D0
- mat(4)= 3.0D0
- c2 = ast_matrixmap( 2, 2, 0, mat, ' ', status )
- c3 = ast_cmpmap( c1, c2, 0, ' ', status )
-
- outp(1) = 3
- outp(2) = 4
- outp(3) = 1
- outp(4) = 2
- inp(1) = 3
- inp(2) = 4
- inp(3) = 1
- inp(4) = 2
- c1 = ast_permmap( 4, inp, 4, outp, 0.0D0, ' ', status )
- c2 = ast_ZoomMap( 4, 0.25D0, ' ', status )
- call ast_invert( c2, status )
-
- c4 = ast_cmpmap( c1, c2, 1, ' ', status )
- call ast_invert( c4, status )
-
- m = ast_cmpmap( c3, c4, 1, ' ', status )
-
- call ast_invert( c2, status )
- call ast_invert( c3, status )
- call ast_invert( c4, status )
-
- rm = ast_ratemap( m, 1, 1, ' ', status )
- at(1) = 1.0D0
- at(2) = 2.0D0
- at(3) = 3.0D0
- at(4) = 4.0D0
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.0D0 ) call stopit( 1, r, status )
-
- if( .not. ast_getl( rm, 'TranForward', status ) ) call stopit( 2,
- : r, status )
-
- if( ast_getl( rm, 'TranInverse', status ) ) call stopit( 3, r,
- : status )
-
- rm = ast_ratemap( m, 1, 2, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.0D0 ) call stopit( 4, r, status )
-
- rm = ast_ratemap( m, 1, 3, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( abs( r - 0.25D0 ) .gt. 1.0D-6 ) call stopit( 5, r, status )
-
- rm = ast_ratemap( m, 1, 4, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.5D0 ) call stopit( 6, r, status )
-
- rm = ast_ratemap( m, 3, 1, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.25D0 ) call stopit( 7, r, status )
-
- rm = ast_ratemap( m, 3, 2, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.0D0 ) call stopit( 8, r, status )
-
- rm = ast_ratemap( m, 3, 3, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.0D0 ) call stopit( 9, r, status )
-
- rm = ast_ratemap( m, 3, 4, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.0D0 ) call stopit( 10, r, status )
-
- call ast_invert( m, status )
-
- rm = ast_ratemap( m, 1, 1, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.0D0 ) call stopit( 11, r, status )
-
- rm = ast_ratemap( m, 1, 2, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.0D0 ) call stopit( 12, r, status )
-
- rm = ast_ratemap( m, 1, 3, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 4.0D0 ) call stopit( 13, r, status )
-
- rm = ast_ratemap( m, 1, 4, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.0D0 ) call stopit( 14, r, status )
-
- rm = ast_ratemap( m, 3, 1, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( abs( r - 12.0D0/7.0D0 ) .gt. 1.0E-6 )
- : call stopit( 15, r, status )
-
- rm = ast_ratemap( m, 3, 2, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( abs( r - (-8.0D0/7.0D0) ) .gt. 1.0E-6 )
- : call stopit( 16, r, status )
-
- rm = ast_ratemap( m, 3, 3, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.0D0 ) call stopit( 17, r, status )
-
- rm = ast_ratemap( m, 3, 4, ' ', status )
- call ast_trann( rm, 1, 4, 1, at, 1, 1, 1, r, status )
- if( r .ne. 0.0D0 ) call stopit( 18, r, status )
-
-
-
-
-
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All RateMap tests passed'
- else
- write(*,*) 'RateMap tests failed'
- end if
-
- end
-
-
- subroutine stopit( i, r, status )
- implicit none
- include 'SAE_PAR'
- integer i, status
- double precision r
- if( status .eq. sai__ok ) then
- write( *,* ) 'Error ',i,': ',r
- status = sai__error
- end if
- end
diff --git a/ast/ast_tester/testrebin.f b/ast/ast_tester/testrebin.f
deleted file mode 100644
index 5ec976f..0000000
--- a/ast/ast_tester/testrebin.f
+++ /dev/null
@@ -1,4176 +0,0 @@
- program testrebin
- implicit none
- include 'SAE_PAR'
- external test1, test2, test3, test4, test5, test6, test7, test8,
- : test9
- integer status
- status = sai__ok
-
- call ast_begin( status )
-
- call tester( test7, status )
- call tester( test8, status )
- call tester( test9, status )
- call tester( test1, status )
- call tester( test2, status )
- call tester( test3, status )
- call tester( test4, status )
- call tester( test5, status )
- call tester( test6, status )
-
- call ast_end( status )
- call ast_flushmemory( 1 )
-
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All AST_REBIN tests passed'
- else
- write(*,*) 'AST_REBIN tests failed'
- end if
-
- end
-
-
-
-
-*
-* Do a given test with a all data types and spread functions.
-*
- subroutine tester( testfun, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'PRM_PAR'
- include 'CNF_PAR'
-
- integer m, lbnd_in(10), ubnd_in(10), ipin, ipin_var,
- : lbnd_out(10), ubnd_out(10), lbnd(10), ubnd(10), ipout,
- : ipout_var, status, nin, nout, i, nel_in, nel_out,
- : spreads(6), j
- character types(3)*15, name*20
- double precision tol, params(20)
- external testfun
-
- data types/ '_DOUBLE', '_REAL', '_INTEGER' /
-
- data spreads/ AST__SINC, AST__NEAREST, AST__LINEAR,
- : AST__SINCSINC, AST__SINCCOS, AST__SINCGAUSS /
-
-
- if( status .ne. sai__ok ) return
-
-* Get the scalar properties of the test.
- call testfun( 0, name, types(1),
- : lbnd_in, ubnd_in, ipin, ipin_var,
- : lbnd_out, ubnd_out, ipout, ipout_var,
- : lbnd, ubnd, m, params, tol, j, status )
-
-* Get the number of input and output axes.
- nin = ast_geti( m, 'Nin', status )
- nout = ast_geti( m, 'Nout', status )
-
-* Get no. of pixels in entire input array.
- nel_in = 1
- do i = 1, nin
- nel_in = nel_in*( ubnd_in( i ) - lbnd_in( i ) + 1 )
- end do
-
-* Get no. of pixels in entire output array.
- nel_out = 1
- do i = 1, nout
- nel_out = nel_out*( ubnd_out( i ) - lbnd_out( i ) + 1 )
- end do
-
-* Loop round all data types.
- do i = 1, 3
-
-* Allocate memory for input and output data and variance arrays
- call psx_calloc( nel_in, types(i), ipin, status )
- call psx_calloc( nel_in, types(i), ipin_var, status )
-
- call psx_calloc( nel_out, types(i), ipout, status )
- call psx_calloc( nel_out, types(i), ipout_var, status )
-
-* Loop round all spread functions
- do j = 1, 6
-
-* Get the scalar properties of the test. This may change the Mapping.
- call testfun( 0, name, types(i),
- : lbnd_in, ubnd_in, ipin, ipin_var,
- : lbnd_out, ubnd_out, ipout, ipout_var,
- : lbnd, ubnd, m, params, tol, spreads(j), status )
-
-* Fill the input data and variance arrays using the supplied function.
- call testfun( 1, name, types(i),
- : lbnd_in, ubnd_in, ipin, ipin_var,
- : lbnd_out, ubnd_out, ipout, ipout_var,
- : lbnd, ubnd, m, params, tol, spreads(j),
- : status )
-
-* Rebin the input data using the AST function appropriate to the
-* supplied data type.
- if( types(i) .eq. '_REAL' ) then
- call ast_rebinr( m, 0.0D0, nin, lbnd_in, ubnd_in,
- : %val( cnf_pval( ipin )), %val( cnf_pval(ipin_var )),
- : spreads(j), params,
- : AST__USEBAD+AST__USEVAR, tol, 100, VAL__BADR,
- : nout, lbnd_out, ubnd_out,
- : lbnd, ubnd, %val( cnf_pval( ipout )),
- : %val( cnf_pval( ipout_var )), status )
-
- else if( types(i) .eq. '_DOUBLE' ) then
- call ast_rebind( m, 0.0D0, nin, lbnd_in, ubnd_in,
- : %val( cnf_pval( ipin )), %val( cnf_pval(ipin_var )),
- : spreads(j), params,
- : AST__USEBAD+AST__USEVAR, tol, 100, VAL__BADD,
- : nout, lbnd_out, ubnd_out,
- : lbnd, ubnd, %val( cnf_pval( ipout ) ),
- : %val( cnf_pval( ipout_var )), status )
-
- else if( types(i) .eq. '_INTEGER' ) then
- call ast_rebini( m, 0.0D0, nin, lbnd_in, ubnd_in,
- : %val( cnf_pval( ipin )), %val( cnf_pval(ipin_var )),
- : spreads(j), params,
- : AST__USEBAD+AST__USEVAR, tol, 100, VAL__BADI,
- : nout, lbnd_out, ubnd_out,
- : lbnd, ubnd, %val( cnf_pval( ipout )),
- : %val( cnf_pval( ipout_var )), status )
-
- else if( status .eq. sai__ok ) then
- status = SAI__ERROR
- call msg_setc( 'T', types(i) )
- call err_rep( ' ', 'Bad data type (^T) supplied to '//
- : 'rebin', status )
- end if
-
-* Call the supplied function to test the results.
- call testfun( 2, name, types(i),
- : lbnd_in, ubnd_in, ipin, ipin_var,
- : lbnd_out, ubnd_out, ipout, ipout_var,
- : lbnd, ubnd, m, params, tol,
- : spreads(j), status )
-
-* Report the data type and spread function if an error occurred, and
-* abort.
- if( status .ne. sai__ok ) then
- call msg_seti( 'sf', j )
- call msg_setc( 'dt', types( i ) )
- call msg_setc( 't', name )
- call err_rep( ' ', '^t failed: Spread function ^sf '//
- : 'data type ^dt', status )
- go to 999
- end if
-
- end do
-
-* Free resources.
- call psx_free( ipout, status )
- call psx_free( ipout_var, status )
- call psx_free( ipin, status )
- call psx_free( ipin_var, status )
- end do
-
- 999 continue
-
- end
-
- LOGICAL FUNCTION EQUALB( A, B )
- IMPLICIT NONE
- BYTE A, B
- EQUALB = ( A .EQ. B )
- END
-
- LOGICAL FUNCTION EQUALD( A, B )
- IMPLICIT NONE
- INCLUDE 'PRM_PAR'
- DOUBLE PRECISION A, B
- IF( A .NE. 0.0D0 .AND. B .NE. 0.0D0 ) THEN
- EQUALD = ( ABS( A - B ) .LE. 1.0E9*ABS( A + B )*VAL__EPSD )
- ELSE
- EQUALD = ( ABS( A + B ) .LE. 1.0D-11 )
- END IF
-
- END
-
- LOGICAL FUNCTION MYEQUALD( A, B )
- IMPLICIT NONE
- DOUBLE PRECISION A, B
- LOGICAL EQUALD
- MYEQUALD = EQUALD( A, B )
- END
-
- LOGICAL FUNCTION EQUALI( A, B )
- IMPLICIT NONE
- INTEGER A, B
- EQUALI = ( A .EQ. B )
-
- END
-
- LOGICAL FUNCTION EQUALR( A, B )
- IMPLICIT NONE
- INCLUDE 'PRM_PAR'
- REAL A, B
-
- IF( A .NE. 0.0 .AND. B .NE. 0.0 ) THEN
- EQUALR = ( ABS( A - B ) .LE. 50.0*ABS( A + B )*VAL__EPSR )
- ELSE
- EQUALR = ( ABS( A + B ) .LE. 1.0E-11 )
- END IF
-
- END
-
- LOGICAL FUNCTION EQUALW( A, B )
- IMPLICIT NONE
- INTEGER*2 A, B
- EQUALW = ( A .EQ. B )
- END
-
-
-
-
-* -----------------------------------------------
-* Test 7
-*
-
- SUBROUTINE TEST7( DO, NAME, TYPE,
- : LBND_IN, UBND_IN, IPIN, IPIN_VAR,
- : LBND_OUT, UBND_OUT, IPOUT, IPOUT_VAR,
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
-
- INTEGER M, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), IPIN, IPIN_VAR, IPOUT, IPOUT_VAR,
- : STATUS, DO, J
- DOUBLE PRECISION TOL, PARAMS(*)
- CHARACTER TYPE*(*), NAME*(*)
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- NAME = 'TEST7'
-
-* Fill the input data and variance arrays if required.
- IF( TYPE .EQ. '_REAL' ) THEN
- CALL TEST7R( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_DOUBLE' ) THEN
- CALL TEST7D( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_INTEGER' ) THEN
- CALL TEST7I( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( STATUS .EQ. SAI__OK ) then
- STATUS = SAI__ERROR
- CALL MSG_SETC( 'T', TYPE )
- CALL ERR_REP( ' ', 'Bad data type (^T) supplied to TEST7',
- : STATUS )
- END IF
-
- END
-
-
-
-
- SUBROUTINE TEST7D( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, NZ
- DOUBLE PRECISION IN(*), IN_VAR(*), OUT(*), OUT_VAR(*), SUM, KT
- DOUBLE PRECISION TOL, PARAMS(*), K
- LOGICAL EQUALD, MYEQUALD, GOOD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- K = MIN( 1000.0D0, NUM_DTOD( VAL__MAXD )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 10
- UBND_IN( 1 ) = 19
- LBND_OUT( 1 ) = 12
- UBND_OUT( 1 ) = 20
- LBND( 1 ) = 11
- UBND( 1 ) = 17
- M = AST_SHIFTMAP( 1, 1.5D0, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.1
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- DO I = LBND_IN(1), UBND_IN(1)
- IN( I - LBND_IN(1) + 1 ) = 0
- IN_VAR( I - LBND_IN(1) + 1 ) = K
- END DO
- IN( 14 - LBND_IN(1) + 1 ) = K
-
-* Otherwise check output data and variance arrays look right.
- ELSE
-
- SUM = 0
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( OUT( I - LBND_OUT(1) + 1) .NE. VAL__BADD ) THEN
- SUM = SUM + OUT( I - LBND_OUT(1) + 1)
- END IF
- END DO
-
- KT = K
-
-
- IF( 'D' .EQ. 'R' .OR. 'D' .EQ. 'D' ) THEN
- GOOD = EQUALD( SUM, KT )
- ELSE
- GOOD = ( ABS( SUM - KT ) .LT. 3 )
- END IF
-
- IF( .NOT. GOOD ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL MSG_SETD( 'S', dble( SUM ) )
- CALL ERR_REP( ' ', 'TEST7D Data sum is ^S should be ^K',
- : STATUS )
- END IF
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- NZ = 0
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( OUT( I - LBND_OUT(1) + 1) .NE. 0 .AND.
- : OUT( I - LBND_OUT(1) + 1) .NE. VAL__BADD ) THEN
- IF( NZ .EQ. 0 ) THEN
- NZ = NZ + 1
- IF( OUT( I - LBND_OUT(1) + 1) .NE. KT ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'D1',
- : DBLE( OUT( I - LBND_OUT(1) + 1)))
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL ERR_REP( ' ', 'TEST7D ^I: ^D1 ^K',
- : STATUS )
- END IF
- ELSE
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'D1',
- : DBLE( OUT( I - LBND_OUT(1) + 1)))
- CALL ERR_REP( ' ', 'TEST7D ^I: ^D1',
- : STATUS )
- END IF
- END IF
- END DO
-
- ELSE
- DO I = 0, 3
- IF( .NOT. EQUALD( OUT( 15 - I - LBND_OUT(1) + 1 ),
- : OUT( 16 + I - LBND_OUT(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I1', 15 - I )
- CALL MSG_SETI( 'I2', 16 + I )
- CALL MSG_SETD( 'D1',
- : DBLE( OUT( 15 - I - LBND_OUT(1) + 1)))
- CALL MSG_SETD( 'D2',
- : DBLE( OUT( 16 + I - LBND_OUT(1) + 1)))
- CALL ERR_REP( ' ', 'TEST7D ^I1 (^D1) != '//
- : '^I2 (^D2)', STATUS )
- END IF
- END DO
- END IF
-
- END IF
-
- END
-
-
- SUBROUTINE TEST7I( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, NZ
- INTEGER IN(*), IN_VAR(*), OUT(*), OUT_VAR(*), SUM, KT
- DOUBLE PRECISION TOL, PARAMS(*), K
- LOGICAL EQUALI, MYEQUALD, GOOD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- K = MIN( 1000.0D0, NUM_ITOD( VAL__MAXI )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 10
- UBND_IN( 1 ) = 19
- LBND_OUT( 1 ) = 12
- UBND_OUT( 1 ) = 20
- LBND( 1 ) = 11
- UBND( 1 ) = 17
- M = AST_SHIFTMAP( 1, 1.5D0, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.1
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- DO I = LBND_IN(1), UBND_IN(1)
- IN( I - LBND_IN(1) + 1 ) = 0
- IN_VAR( I - LBND_IN(1) + 1 ) = K
- END DO
- IN( 14 - LBND_IN(1) + 1 ) = K
-
-* Otherwise check output data and variance arrays look right.
- ELSE
-
- SUM = 0
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( OUT( I - LBND_OUT(1) + 1) .NE. VAL__BADI ) THEN
- SUM = SUM + OUT( I - LBND_OUT(1) + 1)
- END IF
- END DO
-
- KT = K
-
-
- IF( 'I' .EQ. 'R' .OR. 'I' .EQ. 'D' ) THEN
- GOOD = EQUALI( SUM, KT )
- ELSE
- GOOD = ( ABS( SUM - KT ) .LT. 3 )
- END IF
-
- IF( .NOT. GOOD ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL MSG_SETD( 'S', dble( SUM ) )
- CALL ERR_REP( ' ', 'TEST7I Data sum is ^S should be ^K',
- : STATUS )
- END IF
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- NZ = 0
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( OUT( I - LBND_OUT(1) + 1) .NE. 0 .AND.
- : OUT( I - LBND_OUT(1) + 1) .NE. VAL__BADI ) THEN
- IF( NZ .EQ. 0 ) THEN
- NZ = NZ + 1
- IF( OUT( I - LBND_OUT(1) + 1) .NE. KT ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'D1',
- : DBLE( OUT( I - LBND_OUT(1) + 1)))
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL ERR_REP( ' ', 'TEST7I ^I: ^D1 ^K',
- : STATUS )
- END IF
- ELSE
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'D1',
- : DBLE( OUT( I - LBND_OUT(1) + 1)))
- CALL ERR_REP( ' ', 'TEST7I ^I: ^D1',
- : STATUS )
- END IF
- END IF
- END DO
-
- ELSE
- DO I = 0, 3
- IF( .NOT. EQUALI( OUT( 15 - I - LBND_OUT(1) + 1 ),
- : OUT( 16 + I - LBND_OUT(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I1', 15 - I )
- CALL MSG_SETI( 'I2', 16 + I )
- CALL MSG_SETD( 'D1',
- : DBLE( OUT( 15 - I - LBND_OUT(1) + 1)))
- CALL MSG_SETD( 'D2',
- : DBLE( OUT( 16 + I - LBND_OUT(1) + 1)))
- CALL ERR_REP( ' ', 'TEST7I ^I1 (^D1) != '//
- : '^I2 (^D2)', STATUS )
- END IF
- END DO
- END IF
-
- END IF
-
- END
-
-
- SUBROUTINE TEST7R( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, NZ
- REAL IN(*), IN_VAR(*), OUT(*), OUT_VAR(*), SUM, KT
- DOUBLE PRECISION TOL, PARAMS(*), K
- LOGICAL EQUALR, MYEQUALD, GOOD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- K = MIN( 1000.0D0, NUM_RTOD( VAL__MAXR )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 10
- UBND_IN( 1 ) = 19
- LBND_OUT( 1 ) = 12
- UBND_OUT( 1 ) = 20
- LBND( 1 ) = 11
- UBND( 1 ) = 17
- M = AST_SHIFTMAP( 1, 1.5D0, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.1
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- DO I = LBND_IN(1), UBND_IN(1)
- IN( I - LBND_IN(1) + 1 ) = 0
- IN_VAR( I - LBND_IN(1) + 1 ) = K
- END DO
- IN( 14 - LBND_IN(1) + 1 ) = K
-
-* Otherwise check output data and variance arrays look right.
- ELSE
-
- SUM = 0
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( OUT( I - LBND_OUT(1) + 1) .NE. VAL__BADR ) THEN
- SUM = SUM + OUT( I - LBND_OUT(1) + 1)
- END IF
- END DO
-
- KT = K
-
-
- IF( 'R' .EQ. 'R' .OR. 'R' .EQ. 'D' ) THEN
- GOOD = EQUALR( SUM, KT )
- ELSE
- GOOD = ( ABS( SUM - KT ) .LT. 3 )
- END IF
-
- IF( .NOT. GOOD ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL MSG_SETD( 'S', dble( SUM ) )
- CALL ERR_REP( ' ', 'TEST7R Data sum is ^S should be ^K',
- : STATUS )
- END IF
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- NZ = 0
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( OUT( I - LBND_OUT(1) + 1) .NE. 0 .AND.
- : OUT( I - LBND_OUT(1) + 1) .NE. VAL__BADR ) THEN
- IF( NZ .EQ. 0 ) THEN
- NZ = NZ + 1
- IF( OUT( I - LBND_OUT(1) + 1) .NE. KT ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'D1',
- : DBLE( OUT( I - LBND_OUT(1) + 1)))
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL ERR_REP( ' ', 'TEST7R ^I: ^D1 ^K',
- : STATUS )
- END IF
- ELSE
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'D1',
- : DBLE( OUT( I - LBND_OUT(1) + 1)))
- CALL ERR_REP( ' ', 'TEST7R ^I: ^D1',
- : STATUS )
- END IF
- END IF
- END DO
-
- ELSE
- DO I = 0, 3
- IF( .NOT. EQUALR( OUT( 15 - I - LBND_OUT(1) + 1 ),
- : OUT( 16 + I - LBND_OUT(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I1', 15 - I )
- CALL MSG_SETI( 'I2', 16 + I )
- CALL MSG_SETD( 'D1',
- : DBLE( OUT( 15 - I - LBND_OUT(1) + 1)))
- CALL MSG_SETD( 'D2',
- : DBLE( OUT( 16 + I - LBND_OUT(1) + 1)))
- CALL ERR_REP( ' ', 'TEST7R ^I1 (^D1) != '//
- : '^I2 (^D2)', STATUS )
- END IF
- END DO
- END IF
-
- END IF
-
- END
-
-
-
-
-* -----------------------------------------------
-* Test 8
-*
-
- SUBROUTINE TEST8( DO, NAME, TYPE,
- : LBND_IN, UBND_IN, IPIN, IPIN_VAR,
- : LBND_OUT, UBND_OUT, IPOUT, IPOUT_VAR,
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
-
- INTEGER M, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), IPIN, IPIN_VAR, IPOUT, IPOUT_VAR,
- : STATUS, DO, J
- DOUBLE PRECISION TOL, PARAMS(*)
- CHARACTER TYPE*(*), NAME*(*)
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- NAME = 'TEST8'
-
-* Fill the input data and variance arrays if required.
- IF( TYPE .EQ. '_REAL' ) THEN
- CALL TEST8R( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_DOUBLE' ) THEN
- CALL TEST8D( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_INTEGER' ) THEN
- CALL TEST8I( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( STATUS .EQ. SAI__OK ) then
- STATUS = SAI__ERROR
- CALL MSG_SETC( 'T', TYPE )
- CALL ERR_REP( ' ', 'Bad data type (^T) supplied to TEST8',
- : STATUS )
- END IF
-
- END
-
-
-
-
- SUBROUTINE TEST8D( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, NZ,
- : II, JJ, KK
- DOUBLE PRECISION IN(*), IN_VAR(*), OUT(*), OUT_VAR(*), SUM, KT
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(2)
- LOGICAL EQUALD, GOOD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 10000.0D0, NUM_DTOD( VAL__MAXD )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -2
- UBND_IN( 1 ) = 3
- LBND_OUT( 1 ) = -2
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -2
- UBND( 1 ) = 3
- LBND_IN( 2 ) = 0
- UBND_IN( 2 ) = 5
- LBND_OUT( 2 ) = 0
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 0
- UBND( 2 ) = 5
- SHIFTS(1) = 0.5D0
- SHIFTS(2) = -0.5D0
- M = AST_SHIFTMAP( 2, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = 0
- IN_VAR( K ) = KFAC
- K = K + 1
- END DO
- END DO
- IN( 21 ) = KFAC
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 0
- SUM = 0
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- SUM = SUM + OUT( K )
- END IF
- END DO
- END DO
-
- KT = KFAC
-
- IF( 'D' .EQ. 'R' .OR. 'D' .EQ. 'D' ) THEN
- GOOD = EQUALD( SUM, KT )
- ELSE
- GOOD = ( ABS( SUM - KT ) .LT. 5 )
- END IF
-
- IF( .NOT. GOOD ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL MSG_SETD( 'S', dble( SUM ) )
- CALL ERR_REP( ' ', 'TEST8D Data sum is ^S should be ^K',
- : STATUS )
- GO TO 999
- END IF
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- NZ = 0
- K = 0
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( OUT( K ) .NE. 0 .AND.
- : OUT( K ) .NE. VAL__BADD ) THEN
- IF( NZ .EQ. 0 ) THEN
- NZ = NZ + 1
- IF( OUT( K ) .NE. KT ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'D1', DBLE( OUT( K )))
- CALL MSG_SETD( 'KT', DBLE( KT ) )
- CALL ERR_REP( ' ', 'TEST8D ^K: ^D1 ^KT',
- : STATUS )
- GO TO 999
- END IF
- ELSE
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'D1', DBLE( OUT( K )))
- CALL ERR_REP( ' ', 'TEST8D ^K: ^D1',
- : STATUS )
- GO TO 999
- END IF
- END IF
- END DO
- END DO
- ELSE
- K = 0
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- II = 1 - I
- JJ = 5 - J
- IF( II .GE. LBND_OUT(1) .AND.
- : II .LE. UBND_OUT(1) .AND.
- : JJ .GE. LBND_OUT(2) .AND.
- : JJ .LE. UBND_OUT(2) ) THEN
- KK = 6*JJ + ( II + 3 )
-
- IF( .NOT. EQUALD( OUT( KK ), OUT( K ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'KK', KK )
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'D1', DBLE( OUT(KK) ) )
- CALL MSG_SETD( 'D2', DBLE( OUT(K) ) )
- CALL ERR_REP( ' ', 'TEST8D ^KK (^D1) != '//
- : '^K (^D2)', STATUS )
- GO TO 999
- END IF
- END IF
- END DO
- END DO
- END IF
-
- END IF
-
- 999 CONTINUE
-
- END
-
-
-
- SUBROUTINE TEST8I( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, NZ,
- : II, JJ, KK
- INTEGER IN(*), IN_VAR(*), OUT(*), OUT_VAR(*), SUM, KT
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(2)
- LOGICAL EQUALI, GOOD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 10000.0D0, NUM_ITOD( VAL__MAXI )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -2
- UBND_IN( 1 ) = 3
- LBND_OUT( 1 ) = -2
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -2
- UBND( 1 ) = 3
- LBND_IN( 2 ) = 0
- UBND_IN( 2 ) = 5
- LBND_OUT( 2 ) = 0
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 0
- UBND( 2 ) = 5
- SHIFTS(1) = 0.5D0
- SHIFTS(2) = -0.5D0
- M = AST_SHIFTMAP( 2, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = 0
- IN_VAR( K ) = KFAC
- K = K + 1
- END DO
- END DO
- IN( 21 ) = KFAC
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 0
- SUM = 0
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- SUM = SUM + OUT( K )
- END IF
- END DO
- END DO
-
- KT = KFAC
-
- IF( 'I' .EQ. 'R' .OR. 'I' .EQ. 'D' ) THEN
- GOOD = EQUALI( SUM, KT )
- ELSE
- GOOD = ( ABS( SUM - KT ) .LT. 5 )
- END IF
-
- IF( .NOT. GOOD ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL MSG_SETD( 'S', dble( SUM ) )
- CALL ERR_REP( ' ', 'TEST8I Data sum is ^S should be ^K',
- : STATUS )
- GO TO 999
- END IF
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- NZ = 0
- K = 0
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( OUT( K ) .NE. 0 .AND.
- : OUT( K ) .NE. VAL__BADI ) THEN
- IF( NZ .EQ. 0 ) THEN
- NZ = NZ + 1
- IF( OUT( K ) .NE. KT ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'D1', DBLE( OUT( K )))
- CALL MSG_SETD( 'KT', DBLE( KT ) )
- CALL ERR_REP( ' ', 'TEST8I ^K: ^D1 ^KT',
- : STATUS )
- GO TO 999
- END IF
- ELSE
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'D1', DBLE( OUT( K )))
- CALL ERR_REP( ' ', 'TEST8I ^K: ^D1',
- : STATUS )
- GO TO 999
- END IF
- END IF
- END DO
- END DO
- ELSE
- K = 0
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- II = 1 - I
- JJ = 5 - J
- IF( II .GE. LBND_OUT(1) .AND.
- : II .LE. UBND_OUT(1) .AND.
- : JJ .GE. LBND_OUT(2) .AND.
- : JJ .LE. UBND_OUT(2) ) THEN
- KK = 6*JJ + ( II + 3 )
-
- IF( .NOT. EQUALI( OUT( KK ), OUT( K ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'KK', KK )
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'D1', DBLE( OUT(KK) ) )
- CALL MSG_SETD( 'D2', DBLE( OUT(K) ) )
- CALL ERR_REP( ' ', 'TEST8I ^KK (^D1) != '//
- : '^K (^D2)', STATUS )
- GO TO 999
- END IF
- END IF
- END DO
- END DO
- END IF
-
- END IF
-
- 999 CONTINUE
-
- END
-
-
-
- SUBROUTINE TEST8R( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, NZ,
- : II, JJ, KK
- REAL IN(*), IN_VAR(*), OUT(*), OUT_VAR(*), SUM, KT
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(2)
- LOGICAL EQUALR, GOOD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 10000.0D0, NUM_RTOD( VAL__MAXR )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -2
- UBND_IN( 1 ) = 3
- LBND_OUT( 1 ) = -2
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -2
- UBND( 1 ) = 3
- LBND_IN( 2 ) = 0
- UBND_IN( 2 ) = 5
- LBND_OUT( 2 ) = 0
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 0
- UBND( 2 ) = 5
- SHIFTS(1) = 0.5D0
- SHIFTS(2) = -0.5D0
- M = AST_SHIFTMAP( 2, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = 0
- IN_VAR( K ) = KFAC
- K = K + 1
- END DO
- END DO
- IN( 21 ) = KFAC
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 0
- SUM = 0
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- SUM = SUM + OUT( K )
- END IF
- END DO
- END DO
-
- KT = KFAC
-
- IF( 'R' .EQ. 'R' .OR. 'R' .EQ. 'D' ) THEN
- GOOD = EQUALR( SUM, KT )
- ELSE
- GOOD = ( ABS( SUM - KT ) .LT. 5 )
- END IF
-
- IF( .NOT. GOOD ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL MSG_SETD( 'S', dble( SUM ) )
- CALL ERR_REP( ' ', 'TEST8R Data sum is ^S should be ^K',
- : STATUS )
- GO TO 999
- END IF
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- NZ = 0
- K = 0
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( OUT( K ) .NE. 0 .AND.
- : OUT( K ) .NE. VAL__BADR ) THEN
- IF( NZ .EQ. 0 ) THEN
- NZ = NZ + 1
- IF( OUT( K ) .NE. KT ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'D1', DBLE( OUT( K )))
- CALL MSG_SETD( 'KT', DBLE( KT ) )
- CALL ERR_REP( ' ', 'TEST8R ^K: ^D1 ^KT',
- : STATUS )
- GO TO 999
- END IF
- ELSE
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'D1', DBLE( OUT( K )))
- CALL ERR_REP( ' ', 'TEST8R ^K: ^D1',
- : STATUS )
- GO TO 999
- END IF
- END IF
- END DO
- END DO
- ELSE
- K = 0
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- II = 1 - I
- JJ = 5 - J
- IF( II .GE. LBND_OUT(1) .AND.
- : II .LE. UBND_OUT(1) .AND.
- : JJ .GE. LBND_OUT(2) .AND.
- : JJ .LE. UBND_OUT(2) ) THEN
- KK = 6*JJ + ( II + 3 )
-
- IF( .NOT. EQUALR( OUT( KK ), OUT( K ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'KK', KK )
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'D1', DBLE( OUT(KK) ) )
- CALL MSG_SETD( 'D2', DBLE( OUT(K) ) )
- CALL ERR_REP( ' ', 'TEST8R ^KK (^D1) != '//
- : '^K (^D2)', STATUS )
- GO TO 999
- END IF
- END IF
- END DO
- END DO
- END IF
-
- END IF
-
- 999 CONTINUE
-
- END
-
-
-
-
-
-* -----------------------------------------------
-* Test 9
-*
-
- SUBROUTINE TEST9( DO, NAME, TYPE,
- : LBND_IN, UBND_IN, IPIN, IPIN_VAR,
- : LBND_OUT, UBND_OUT, IPOUT, IPOUT_VAR,
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
-
- INTEGER M, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), IPIN, IPIN_VAR, IPOUT, IPOUT_VAR,
- : STATUS, DO, J
- DOUBLE PRECISION TOL, PARAMS(*)
- CHARACTER TYPE*(*), NAME*(*)
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- NAME = 'TEST9'
-
-* Fill the input data and variance arrays if required.
- IF( TYPE .EQ. '_REAL' ) THEN
- CALL TEST9R( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_DOUBLE' ) THEN
- CALL TEST9D( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_INTEGER' ) THEN
- CALL TEST9I( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( STATUS .EQ. SAI__OK ) then
- STATUS = SAI__ERROR
- CALL MSG_SETC( 'T', TYPE )
- CALL ERR_REP( ' ', 'Bad data type (^T) supplied to TEST9',
- : STATUS )
- END IF
-
- END
-
-
-
-
- SUBROUTINE TEST9D( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, L, K2
- DOUBLE PRECISION IN(*), IN_VAR(*), OUT(*), OUT_VAR(*), KT, SUM
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(3), G(3), W
- LOGICAL EQUALD, GOOD, MYEQUALD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 10000.0D0, NUM_DTOD( VAL__MAXD )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 0
- UBND_IN( 1 ) = 6
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 6
- LBND( 1 ) = 0
- UBND( 1 ) = 6
- LBND_IN( 2 ) = 0
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 0
- UBND_OUT( 2 ) = 6
- LBND( 2 ) = 0
- UBND( 2 ) = 6
- LBND_IN( 3 ) = 0
- UBND_IN( 3 ) = 6
- LBND_OUT( 3 ) = 0
- UBND_OUT( 3 ) = 6
- LBND( 3 ) = 0
- UBND( 3 ) = 6
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- SHIFTS(1) = 1.7D0
- SHIFTS(2) = 2.1D0
- SHIFTS(3) = -1.2D0
- ELSE
- SHIFTS(1) = 0.5D0
- SHIFTS(2) = 0.0D0
- SHIFTS(3) = -0.5D0
- END IF
-
- M = AST_SHIFTMAP( 3, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO L = LBND_IN(3), UBND_IN(3)
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = 0
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
- END DO
- IN( 172 ) = KFAC
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 0
- SUM = 0
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- SUM = SUM + OUT( K )
- END IF
- END DO
- END DO
- END DO
-
- KT = KFAC
-
- IF( 'D' .EQ. 'R' .OR. 'D' .EQ. 'D' ) THEN
- GOOD = EQUALD( SUM, KT )
- ELSE
- GOOD = ( ABS( SUM - KT ) .LT. 5 )
- END IF
-
- IF( .NOT. GOOD ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL MSG_SETD( 'S', dble( SUM ) )
- CALL ERR_REP( ' ', 'TEST9D Data sum is ^S should be ^K',
- : STATUS )
- GO TO 999
- END IF
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- K = 0
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( K .EQ. 139 ) THEN
- IF( .NOT. EQUALD( OUT(K), KT ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', DBLE( KT ) )
- CALL MSG_SETD( 'O', DBLE( OUT(K) ) )
- CALL ERR_REP( ' ', 'TEST9D El. 139 is '//
- : '^O should be ^K', STATUS )
- GO TO 999
- END IF
- ELSE
- IF( .NOT. EQUALD( OUT(K), 0.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'O', DBLE( OUT(K) ) )
- CALL ERR_REP( ' ', 'TEST9D El. ^K is '//
- : '^O should be zero', STATUS )
- GO TO 999
- END IF
- END IF
- END DO
- END DO
- END DO
- ELSE
-
- G(1) = 0.0
- G(2) = 0.0
- G(3) = 0.0
- W = 0.0
- K = 0
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- G(1) = G(1) + DBLE( I*OUT( k ) )
- G(2) = G(2) + DBLE( J*OUT( K ) )
- G(3) = G(3) + DBLE( L*OUT( K ) )
- W = W + DBLE( OUT( K ) )
- END DO
- END DO
- END DO
-
- IF( .NOT. MYEQUALD( G(1)/W, 3.5D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'A', G(1)/W )
- CALL ERR_REP( ' ', 'TEST9D Mean X is ^A '//
- : ' should be 3.5', STATUS )
- GO TO 999
- ELSE IF( .NOT. MYEQUALD( G(2)/W, 3.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'A', G(2)/W )
- CALL ERR_REP( ' ', 'TEST9D Mean Y is ^A '//
- : ' should be 3.0', STATUS )
- GO TO 999
- ELSE IF( .NOT. MYEQUALD( G(3)/W, 2.5D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'A', G(3)/W )
- CALL ERR_REP( ' ', 'TEST9D Mean Z is ^A '//
- : ' should be 2.5', STATUS )
- GO TO 999
- END IF
-
- END IF
- END IF
-
- 999 CONTINUE
-
- END
-
-
-
- SUBROUTINE TEST9I( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, L, K2
- INTEGER IN(*), IN_VAR(*), OUT(*), OUT_VAR(*), KT, SUM
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(3), G(3), W
- LOGICAL EQUALI, GOOD, MYEQUALD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 10000.0D0, NUM_ITOD( VAL__MAXI )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 0
- UBND_IN( 1 ) = 6
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 6
- LBND( 1 ) = 0
- UBND( 1 ) = 6
- LBND_IN( 2 ) = 0
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 0
- UBND_OUT( 2 ) = 6
- LBND( 2 ) = 0
- UBND( 2 ) = 6
- LBND_IN( 3 ) = 0
- UBND_IN( 3 ) = 6
- LBND_OUT( 3 ) = 0
- UBND_OUT( 3 ) = 6
- LBND( 3 ) = 0
- UBND( 3 ) = 6
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- SHIFTS(1) = 1.7D0
- SHIFTS(2) = 2.1D0
- SHIFTS(3) = -1.2D0
- ELSE
- SHIFTS(1) = 0.5D0
- SHIFTS(2) = 0.0D0
- SHIFTS(3) = -0.5D0
- END IF
-
- M = AST_SHIFTMAP( 3, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO L = LBND_IN(3), UBND_IN(3)
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = 0
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
- END DO
- IN( 172 ) = KFAC
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 0
- SUM = 0
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- SUM = SUM + OUT( K )
- END IF
- END DO
- END DO
- END DO
-
- KT = KFAC
-
- IF( 'I' .EQ. 'R' .OR. 'I' .EQ. 'D' ) THEN
- GOOD = EQUALI( SUM, KT )
- ELSE
- GOOD = ( ABS( SUM - KT ) .LT. 5 )
- END IF
-
- IF( .NOT. GOOD ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL MSG_SETD( 'S', dble( SUM ) )
- CALL ERR_REP( ' ', 'TEST9I Data sum is ^S should be ^K',
- : STATUS )
- GO TO 999
- END IF
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- K = 0
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( K .EQ. 139 ) THEN
- IF( .NOT. EQUALI( OUT(K), KT ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', DBLE( KT ) )
- CALL MSG_SETD( 'O', DBLE( OUT(K) ) )
- CALL ERR_REP( ' ', 'TEST9I El. 139 is '//
- : '^O should be ^K', STATUS )
- GO TO 999
- END IF
- ELSE
- IF( .NOT. EQUALI( OUT(K), 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'O', DBLE( OUT(K) ) )
- CALL ERR_REP( ' ', 'TEST9I El. ^K is '//
- : '^O should be zero', STATUS )
- GO TO 999
- END IF
- END IF
- END DO
- END DO
- END DO
- ELSE
-
- G(1) = 0.0
- G(2) = 0.0
- G(3) = 0.0
- W = 0.0
- K = 0
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- G(1) = G(1) + DBLE( I*OUT( k ) )
- G(2) = G(2) + DBLE( J*OUT( K ) )
- G(3) = G(3) + DBLE( L*OUT( K ) )
- W = W + DBLE( OUT( K ) )
- END DO
- END DO
- END DO
-
- IF( .NOT. MYEQUALD( G(1)/W, 3.5D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'A', G(1)/W )
- CALL ERR_REP( ' ', 'TEST9I Mean X is ^A '//
- : ' should be 3.5', STATUS )
- GO TO 999
- ELSE IF( .NOT. MYEQUALD( G(2)/W, 3.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'A', G(2)/W )
- CALL ERR_REP( ' ', 'TEST9I Mean Y is ^A '//
- : ' should be 3.0', STATUS )
- GO TO 999
- ELSE IF( .NOT. MYEQUALD( G(3)/W, 2.5D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'A', G(3)/W )
- CALL ERR_REP( ' ', 'TEST9I Mean Z is ^A '//
- : ' should be 2.5', STATUS )
- GO TO 999
- END IF
-
- END IF
- END IF
-
- 999 CONTINUE
-
- END
-
-
-
- SUBROUTINE TEST9R( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, L, K2
- REAL IN(*), IN_VAR(*), OUT(*), OUT_VAR(*), KT, SUM
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(3), G(3), W
- LOGICAL EQUALR, GOOD, MYEQUALD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 10000.0D0, NUM_RTOD( VAL__MAXR )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 0
- UBND_IN( 1 ) = 6
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 6
- LBND( 1 ) = 0
- UBND( 1 ) = 6
- LBND_IN( 2 ) = 0
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 0
- UBND_OUT( 2 ) = 6
- LBND( 2 ) = 0
- UBND( 2 ) = 6
- LBND_IN( 3 ) = 0
- UBND_IN( 3 ) = 6
- LBND_OUT( 3 ) = 0
- UBND_OUT( 3 ) = 6
- LBND( 3 ) = 0
- UBND( 3 ) = 6
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- SHIFTS(1) = 1.7D0
- SHIFTS(2) = 2.1D0
- SHIFTS(3) = -1.2D0
- ELSE
- SHIFTS(1) = 0.5D0
- SHIFTS(2) = 0.0D0
- SHIFTS(3) = -0.5D0
- END IF
-
- M = AST_SHIFTMAP( 3, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO L = LBND_IN(3), UBND_IN(3)
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = 0
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
- END DO
- IN( 172 ) = KFAC
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 0
- SUM = 0
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- SUM = SUM + OUT( K )
- END IF
- END DO
- END DO
- END DO
-
- KT = KFAC
-
- IF( 'R' .EQ. 'R' .OR. 'R' .EQ. 'D' ) THEN
- GOOD = EQUALR( SUM, KT )
- ELSE
- GOOD = ( ABS( SUM - KT ) .LT. 5 )
- END IF
-
- IF( .NOT. GOOD ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', dble( KT ) )
- CALL MSG_SETD( 'S', dble( SUM ) )
- CALL ERR_REP( ' ', 'TEST9R Data sum is ^S should be ^K',
- : STATUS )
- GO TO 999
- END IF
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- K = 0
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- IF( K .EQ. 139 ) THEN
- IF( .NOT. EQUALR( OUT(K), KT ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'K', DBLE( KT ) )
- CALL MSG_SETD( 'O', DBLE( OUT(K) ) )
- CALL ERR_REP( ' ', 'TEST9R El. 139 is '//
- : '^O should be ^K', STATUS )
- GO TO 999
- END IF
- ELSE
- IF( .NOT. EQUALR( OUT(K), 0.0E0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'K', K )
- CALL MSG_SETD( 'O', DBLE( OUT(K) ) )
- CALL ERR_REP( ' ', 'TEST9R El. ^K is '//
- : '^O should be zero', STATUS )
- GO TO 999
- END IF
- END IF
- END DO
- END DO
- END DO
- ELSE
-
- G(1) = 0.0
- G(2) = 0.0
- G(3) = 0.0
- W = 0.0
- K = 0
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- K = K + 1
- G(1) = G(1) + DBLE( I*OUT( k ) )
- G(2) = G(2) + DBLE( J*OUT( K ) )
- G(3) = G(3) + DBLE( L*OUT( K ) )
- W = W + DBLE( OUT( K ) )
- END DO
- END DO
- END DO
-
- IF( .NOT. MYEQUALD( G(1)/W, 3.5D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'A', G(1)/W )
- CALL ERR_REP( ' ', 'TEST9R Mean X is ^A '//
- : ' should be 3.5', STATUS )
- GO TO 999
- ELSE IF( .NOT. MYEQUALD( G(2)/W, 3.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'A', G(2)/W )
- CALL ERR_REP( ' ', 'TEST9R Mean Y is ^A '//
- : ' should be 3.0', STATUS )
- GO TO 999
- ELSE IF( .NOT. MYEQUALD( G(3)/W, 2.5D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'A', G(3)/W )
- CALL ERR_REP( ' ', 'TEST9R Mean Z is ^A '//
- : ' should be 2.5', STATUS )
- GO TO 999
- END IF
-
- END IF
- END IF
-
- 999 CONTINUE
-
- END
-
-
-
-
-
-* -----------------------------------------------
-* Test 1
-*
-
- SUBROUTINE TEST1( DO, NAME, TYPE,
- : LBND_IN, UBND_IN, IPIN, IPIN_VAR,
- : LBND_OUT, UBND_OUT, IPOUT, IPOUT_VAR,
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
-
- INTEGER M, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), IPIN, IPIN_VAR, IPOUT, IPOUT_VAR,
- : STATUS, DO, J
- DOUBLE PRECISION TOL, PARAMS(*)
- CHARACTER TYPE*(*), NAME*(*)
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- NAME = 'TEST1'
-
-* Fill the input data and variance arrays if required.
- IF( TYPE .EQ. '_REAL' ) THEN
- CALL TEST1R( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_DOUBLE' ) THEN
- CALL TEST1D( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_INTEGER' ) THEN
- CALL TEST1I( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( STATUS .EQ. SAI__OK ) then
- STATUS = SAI__ERROR
- CALL MSG_SETC( 'T', TYPE )
- CALL ERR_REP( ' ', 'Bad data type (^T) supplied to TEST1',
- : STATUS )
- END IF
-
- END
-
-
-
-
- SUBROUTINE TEST1D( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), STATUS, M, I, SPREAD
- DOUBLE PRECISION IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- LOGICAL EQUALD, IGNORE
- DOUBLE PRECISION TOL, PARAMS(*), K
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- K = MIN( 1000.0D0, NUM_DTOD( VAL__MAXD )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 10
- UBND_IN( 1 ) = 19
- LBND_OUT( 1 ) = 12
- UBND_OUT( 1 ) = 20
- LBND( 1 ) = 11
- UBND( 1 ) = 17
- M = AST_UNITMAP( 1, ' ', STATUS )
- IF( SPREAD .EQ. AST__GAUSS ) THEN
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- ELSE
- PARAMS(1) = 2.0
- PARAMS(2) = 0.5
- END IF
- TOL = 0.1
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- DO I = LBND_IN(1), UBND_IN(1)
- IN( I - LBND_IN(1) + 1 ) = I*K
- IN_VAR( I - LBND_IN(1) + 1 ) = I
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- DO I = LBND_OUT(1), UBND(1)
- IGNORE = ( SPREAD .EQ. AST__GAUSS .AND.
- : ( I .LE. LBND_OUT(1) + 1 .OR.
- : I .GE. UBND(1) - 1 ) )
- IF( IGNORE ) THEN
-
- ELSE IF( .NOT. EQUALD( OUT( I - LBND_OUT(1) + 1 ),
- : IN( I - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1 ) ) )
- CALL MSG_SETD( 'B', DBLE( IN( I - LBND_IN(1) + 1 ) ) )
- CALL ERR_REP( ' ', 'TEST1D ^I: data ^V != ^B', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : IN_VAR( I - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1) ) )
- CALL MSG_SETD( 'B', DBLE( IN_VAR(I-LBND_IN(1)+1) ) )
- CALL ERR_REP( ' ', 'TEST1D ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END DO
- DO I = UBND(1) + 1, UBND_OUT(1)
- IF( .NOT. EQUALD( OUT( I - LBND_OUT(1) + 1 ),
- : 0.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1)))
- CALL ERR_REP( ' ', 'TEST1D ^I: ^V != 0.0', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : 0.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1)))
- CALL ERR_REP( ' ', 'TEST1D ^I: variance ^V != 0.0',
- : STATUS )
- RETURN
- END IF
- END DO
-
- END IF
-
- END
-
-
-
- SUBROUTINE TEST1I( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), STATUS, M, I, SPREAD
- INTEGER IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- LOGICAL EQUALI, IGNORE
- DOUBLE PRECISION TOL, PARAMS(*), K
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- K = MIN( 1000.0D0, NUM_ITOD( VAL__MAXI )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 10
- UBND_IN( 1 ) = 19
- LBND_OUT( 1 ) = 12
- UBND_OUT( 1 ) = 20
- LBND( 1 ) = 11
- UBND( 1 ) = 17
- M = AST_UNITMAP( 1, ' ', STATUS )
- IF( SPREAD .EQ. AST__GAUSS ) THEN
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- ELSE
- PARAMS(1) = 2.0
- PARAMS(2) = 0.5
- END IF
- TOL = 0.1
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- DO I = LBND_IN(1), UBND_IN(1)
- IN( I - LBND_IN(1) + 1 ) = I*K
- IN_VAR( I - LBND_IN(1) + 1 ) = I
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- DO I = LBND_OUT(1), UBND(1)
- IGNORE = ( SPREAD .EQ. AST__GAUSS .AND.
- : ( I .LE. LBND_OUT(1) + 1 .OR.
- : I .GE. UBND(1) - 1 ) )
- IF( IGNORE ) THEN
-
- ELSE IF( .NOT. EQUALI( OUT( I - LBND_OUT(1) + 1 ),
- : IN( I - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1 ) ) )
- CALL MSG_SETD( 'B', DBLE( IN( I - LBND_IN(1) + 1 ) ) )
- CALL ERR_REP( ' ', 'TEST1I ^I: data ^V != ^B', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : IN_VAR( I - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1) ) )
- CALL MSG_SETD( 'B', DBLE( IN_VAR(I-LBND_IN(1)+1) ) )
- CALL ERR_REP( ' ', 'TEST1I ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END DO
- DO I = UBND(1) + 1, UBND_OUT(1)
- IF( .NOT. EQUALI( OUT( I - LBND_OUT(1) + 1 ),
- : 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1)))
- CALL ERR_REP( ' ', 'TEST1I ^I: ^V != 0.0', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1)))
- CALL ERR_REP( ' ', 'TEST1I ^I: variance ^V != 0.0',
- : STATUS )
- RETURN
- END IF
- END DO
-
- END IF
-
- END
-
-
-
- SUBROUTINE TEST1R( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), STATUS, M, I, SPREAD
- REAL IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- LOGICAL EQUALR, IGNORE
- DOUBLE PRECISION TOL, PARAMS(*), K
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- K = MIN( 1000.0D0, NUM_RTOD( VAL__MAXR )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 10
- UBND_IN( 1 ) = 19
- LBND_OUT( 1 ) = 12
- UBND_OUT( 1 ) = 20
- LBND( 1 ) = 11
- UBND( 1 ) = 17
- M = AST_UNITMAP( 1, ' ', STATUS )
- IF( SPREAD .EQ. AST__GAUSS ) THEN
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- ELSE
- PARAMS(1) = 2.0
- PARAMS(2) = 0.5
- END IF
- TOL = 0.1
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- DO I = LBND_IN(1), UBND_IN(1)
- IN( I - LBND_IN(1) + 1 ) = I*K
- IN_VAR( I - LBND_IN(1) + 1 ) = I
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- DO I = LBND_OUT(1), UBND(1)
- IGNORE = ( SPREAD .EQ. AST__GAUSS .AND.
- : ( I .LE. LBND_OUT(1) + 1 .OR.
- : I .GE. UBND(1) - 1 ) )
- IF( IGNORE ) THEN
-
- ELSE IF( .NOT. EQUALR( OUT( I - LBND_OUT(1) + 1 ),
- : IN( I - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1 ) ) )
- CALL MSG_SETD( 'B', DBLE( IN( I - LBND_IN(1) + 1 ) ) )
- CALL ERR_REP( ' ', 'TEST1R ^I: data ^V != ^B', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : IN_VAR( I - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1) ) )
- CALL MSG_SETD( 'B', DBLE( IN_VAR(I-LBND_IN(1)+1) ) )
- CALL ERR_REP( ' ', 'TEST1R ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END DO
- DO I = UBND(1) + 1, UBND_OUT(1)
- IF( .NOT. EQUALR( OUT( I - LBND_OUT(1) + 1 ),
- : 0.0E0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1)))
- CALL ERR_REP( ' ', 'TEST1R ^I: ^V != 0.0', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : 0.0E0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1)))
- CALL ERR_REP( ' ', 'TEST1R ^I: variance ^V != 0.0',
- : STATUS )
- RETURN
- END IF
- END DO
-
- END IF
-
- END
-
-
-
-
-
-* -----------------------------------------------
-* Test 2
-*
-
- SUBROUTINE TEST2( DO, NAME, TYPE,
- : LBND_IN, UBND_IN, IPIN, IPIN_VAR,
- : LBND_OUT, UBND_OUT, IPOUT, IPOUT_VAR,
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
-
- INTEGER M, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), IPIN, IPIN_VAR, IPOUT, IPOUT_VAR,
- : STATUS, DO, J
- DOUBLE PRECISION TOL, PARAMS(*)
- CHARACTER TYPE*(*), NAME*(*)
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- NAME = 'TEST2'
-
-* Fill the input data and variance arrays if required.
- IF( TYPE .EQ. '_REAL' ) THEN
- CALL TEST2R( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_DOUBLE' ) THEN
- CALL TEST2D( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_INTEGER' ) THEN
- CALL TEST2I( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( STATUS .EQ. SAI__OK ) then
- STATUS = SAI__ERROR
- CALL MSG_SETC( 'T', TYPE )
- CALL ERR_REP( ' ', 'Bad data type (^T) supplied to TEST2',
- : STATUS )
- END IF
-
- END
-
-
-
-
- SUBROUTINE TEST2D( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), STATUS, M, I, J, K, SPREAD
- DOUBLE PRECISION IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC
- LOGICAL EQUALD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_DTOD( VAL__MAXD )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- M = AST_UNITMAP( 2, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( K .LE. 4 .OR. MOD( K, 4 ) .EQ. 0 .OR.
- : MOD( K, 4 ) .EQ. 3 ) THEN
- IF( .NOT. EQUALD( OUT( K ), 0.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- CALL ERR_REP( ' ', 'TEST2D ^I: ^V != 0',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT_VAR( K ), 0.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- CALL ERR_REP( ' ', 'TEST2D ^I: variance ^V '//
- : '!= 0', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALD( OUT( K ), IN( K - 3 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K - 3 ) ) )
- CALL ERR_REP( ' ', 'TEST2D ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT( K ), IN( K-3 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K - 3 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST2D ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
-
- END IF
-
- END
-
-
-
- SUBROUTINE TEST2I( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), STATUS, M, I, J, K, SPREAD
- INTEGER IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC
- LOGICAL EQUALI
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_ITOD( VAL__MAXI )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- M = AST_UNITMAP( 2, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( K .LE. 4 .OR. MOD( K, 4 ) .EQ. 0 .OR.
- : MOD( K, 4 ) .EQ. 3 ) THEN
- IF( .NOT. EQUALI( OUT( K ), 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- CALL ERR_REP( ' ', 'TEST2I ^I: ^V != 0',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT_VAR( K ), 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- CALL ERR_REP( ' ', 'TEST2I ^I: variance ^V '//
- : '!= 0', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALI( OUT( K ), IN( K - 3 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K - 3 ) ) )
- CALL ERR_REP( ' ', 'TEST2I ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT( K ), IN( K-3 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K - 3 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST2I ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
-
- END IF
-
- END
-
-
-
- SUBROUTINE TEST2R( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), STATUS, M, I, J, K, SPREAD
- REAL IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC
- LOGICAL EQUALR
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_RTOD( VAL__MAXR )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- M = AST_UNITMAP( 2, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( K .LE. 4 .OR. MOD( K, 4 ) .EQ. 0 .OR.
- : MOD( K, 4 ) .EQ. 3 ) THEN
- IF( .NOT. EQUALR( OUT( K ), 0.0E0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- CALL ERR_REP( ' ', 'TEST2R ^I: ^V != 0',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT_VAR( K ), 0.0E0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- CALL ERR_REP( ' ', 'TEST2R ^I: variance ^V '//
- : '!= 0', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALR( OUT( K ), IN( K - 3 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K - 3 ) ) )
- CALL ERR_REP( ' ', 'TEST2R ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT( K ), IN( K-3 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K - 3 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST2R ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
-
- END IF
-
- END
-
-
-
-
-
-* -----------------------------------------------
-* Test 3
-*
-
- SUBROUTINE TEST3( DO, NAME, TYPE,
- : LBND_IN, UBND_IN, IPIN, IPIN_VAR,
- : LBND_OUT, UBND_OUT, IPOUT, IPOUT_VAR,
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
-
- INTEGER M, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), IPIN, IPIN_VAR, IPOUT, IPOUT_VAR,
- : STATUS, DO, J
- DOUBLE PRECISION TOL, PARAMS(*)
- CHARACTER TYPE*(*), NAME*(*)
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- NAME = 'TEST3'
-
-* Fill the input data and variance arrays if required.
- IF( TYPE .EQ. '_REAL' ) THEN
- CALL TEST3R( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_DOUBLE' ) THEN
- CALL TEST3D( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_INTEGER' ) THEN
- CALL TEST3I( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( STATUS .EQ. SAI__OK ) then
- STATUS = SAI__ERROR
- CALL MSG_SETC( 'T', TYPE )
- CALL ERR_REP( ' ', 'Bad data type (^T) supplied to TEST3',
- : STATUS )
- END IF
-
- END
-
-
-
-
- SUBROUTINE TEST3D( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, L, K2
- DOUBLE PRECISION IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC
- LOGICAL EQUALD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_DTOD( VAL__MAXD )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- LBND_IN( 3 ) = -1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 0
- UBND_OUT( 3 ) = 2
- LBND( 3 ) = -1
- UBND( 3 ) = 1
- M = AST_UNITMAP( 3, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO L = LBND_IN(3), UBND_IN(3)
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
-
- K2 = MOD( K - 1, 16 ) + 1
- IF( K2 .LE. 4 .OR. MOD( K2, 4 ) .EQ. 0 .OR.
- : MOD( K2, 4 ) .EQ. 3 .OR.
- : L .EQ. 2 ) THEN
- IF( .NOT. EQUALD( OUT( K ), 0.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST3D ^I: ^V != 0',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT_VAR( K ),
- ; 0.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT_VAR( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST3D ^I: variance ^V '//
- : '!= 0', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALD( OUT( K ), IN( K + 13 ))) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K+13 ) ) )
- CALL ERR_REP( ' ', 'TEST3D ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT( K ), IN(K+13) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K+13 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST3D ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
- END DO
- END IF
-
- END
-
-
-
- SUBROUTINE TEST3I( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, L, K2
- INTEGER IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC
- LOGICAL EQUALI
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_ITOD( VAL__MAXI )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- LBND_IN( 3 ) = -1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 0
- UBND_OUT( 3 ) = 2
- LBND( 3 ) = -1
- UBND( 3 ) = 1
- M = AST_UNITMAP( 3, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO L = LBND_IN(3), UBND_IN(3)
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
-
- K2 = MOD( K - 1, 16 ) + 1
- IF( K2 .LE. 4 .OR. MOD( K2, 4 ) .EQ. 0 .OR.
- : MOD( K2, 4 ) .EQ. 3 .OR.
- : L .EQ. 2 ) THEN
- IF( .NOT. EQUALI( OUT( K ), 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST3I ^I: ^V != 0',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT_VAR( K ),
- ; 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT_VAR( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST3I ^I: variance ^V '//
- : '!= 0', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALI( OUT( K ), IN( K + 13 ))) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K+13 ) ) )
- CALL ERR_REP( ' ', 'TEST3I ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT( K ), IN(K+13) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K+13 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST3I ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
- END DO
- END IF
-
- END
-
-
-
- SUBROUTINE TEST3R( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, L, K2
- REAL IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC
- LOGICAL EQUALR
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_RTOD( VAL__MAXR )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- LBND_IN( 3 ) = -1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 0
- UBND_OUT( 3 ) = 2
- LBND( 3 ) = -1
- UBND( 3 ) = 1
- M = AST_UNITMAP( 3, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO L = LBND_IN(3), UBND_IN(3)
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
-
- K2 = MOD( K - 1, 16 ) + 1
- IF( K2 .LE. 4 .OR. MOD( K2, 4 ) .EQ. 0 .OR.
- : MOD( K2, 4 ) .EQ. 3 .OR.
- : L .EQ. 2 ) THEN
- IF( .NOT. EQUALR( OUT( K ), 0.0E0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST3R ^I: ^V != 0',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT_VAR( K ),
- ; 0.0E0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT_VAR( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST3R ^I: variance ^V '//
- : '!= 0', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALR( OUT( K ), IN( K + 13 ))) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K+13 ) ) )
- CALL ERR_REP( ' ', 'TEST3R ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT( K ), IN(K+13) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K+13 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST3R ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
- END DO
- END IF
-
- END
-
-
-
-
-
-* -----------------------------------------------
-* Test 4
-*
-
- SUBROUTINE TEST4( DO, NAME, TYPE,
- : LBND_IN, UBND_IN, IPIN, IPIN_VAR,
- : LBND_OUT, UBND_OUT, IPOUT, IPOUT_VAR,
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
-
- INTEGER M, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), IPIN, IPIN_VAR, IPOUT, IPOUT_VAR,
- : STATUS, DO, J
- DOUBLE PRECISION TOL, PARAMS(*)
- CHARACTER TYPE*(*), NAME*(*)
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- NAME = 'TEST4'
-
-* Fill the input data and variance arrays if required.
- IF( TYPE .EQ. '_REAL' ) THEN
- CALL TEST4R( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_DOUBLE' ) THEN
- CALL TEST4D( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_INTEGER' ) THEN
- CALL TEST4I( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( STATUS .EQ. SAI__OK ) then
- STATUS = SAI__ERROR
- CALL MSG_SETC( 'T', TYPE )
- CALL ERR_REP( ' ', 'Bad data type (^T) supplied to TEST4',
- : STATUS )
- END IF
-
- END
-
-
-
-
- SUBROUTINE TEST4D( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I
- DOUBLE PRECISION IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), K
- LOGICAL EQUALD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- K = MIN( 1000.0D0, NUM_DTOD( VAL__MAXD )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 10
- UBND_IN( 1 ) = 19
- LBND_OUT( 1 ) = 12
- UBND_OUT( 1 ) = 20
- LBND( 1 ) = 11
- UBND( 1 ) = 17
- M = AST_SHIFTMAP( 1, 3.0D0, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.1
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- DO I = LBND_IN(1), UBND_IN(1)
- IN( I - LBND_IN(1) + 1 ) = I*K
- IN_VAR( I - LBND_IN(1) + 1 ) = I
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
-
- DO I = LBND_OUT(1), LBND(1) + 2
- IF( .NOT. EQUALD( OUT( I - LBND_OUT(1) + 1 ),
- : 0.0D0) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1 ) ) )
- CALL ERR_REP( ' ', 'TEST4D ^I: ^V != BAD', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : 0.0D0) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1) ) )
- CALL ERR_REP( ' ', 'TEST4D ^I: variance ^V != BAD',
- : STATUS )
- RETURN
- END IF
- END DO
-
- DO I = LBND(1) + 3, UBND_OUT(1)
- IF( .NOT. EQUALD( OUT( I - LBND_OUT(1) + 1 ),
- : IN( I - 3 - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- IF( OUT( I - LBND_OUT(1) + 1 ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1)))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( I -3 - LBND_IN(1) + 1 ) ) )
- CALL ERR_REP( ' ', 'TEST4D ^I: data ^V != ^B', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : IN_VAR( I - 3 - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- IF( OUT_VAR(I-LBND_OUT(1)+1) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1)))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR(I-3-LBND_IN(1)+1) ) )
- CALL ERR_REP( ' ', 'TEST4D ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END DO
-
- END IF
-
- END
-
- SUBROUTINE TEST4I( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I
- INTEGER IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), K
- LOGICAL EQUALI
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- K = MIN( 1000.0D0, NUM_ITOD( VAL__MAXI )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 10
- UBND_IN( 1 ) = 19
- LBND_OUT( 1 ) = 12
- UBND_OUT( 1 ) = 20
- LBND( 1 ) = 11
- UBND( 1 ) = 17
- M = AST_SHIFTMAP( 1, 3.0D0, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.1
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- DO I = LBND_IN(1), UBND_IN(1)
- IN( I - LBND_IN(1) + 1 ) = I*K
- IN_VAR( I - LBND_IN(1) + 1 ) = I
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
-
- DO I = LBND_OUT(1), LBND(1) + 2
- IF( .NOT. EQUALI( OUT( I - LBND_OUT(1) + 1 ),
- : 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1 ) ) )
- CALL ERR_REP( ' ', 'TEST4I ^I: ^V != BAD', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1) ) )
- CALL ERR_REP( ' ', 'TEST4I ^I: variance ^V != BAD',
- : STATUS )
- RETURN
- END IF
- END DO
-
- DO I = LBND(1) + 3, UBND_OUT(1)
- IF( .NOT. EQUALI( OUT( I - LBND_OUT(1) + 1 ),
- : IN( I - 3 - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- IF( OUT( I - LBND_OUT(1) + 1 ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1)))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( I -3 - LBND_IN(1) + 1 ) ) )
- CALL ERR_REP( ' ', 'TEST4I ^I: data ^V != ^B', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : IN_VAR( I - 3 - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- IF( OUT_VAR(I-LBND_OUT(1)+1) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1)))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR(I-3-LBND_IN(1)+1) ) )
- CALL ERR_REP( ' ', 'TEST4I ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END DO
-
- END IF
-
- END
-
- SUBROUTINE TEST4R( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I
- REAL IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), K
- LOGICAL EQUALR
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- K = MIN( 1000.0D0, NUM_RTOD( VAL__MAXR )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = 10
- UBND_IN( 1 ) = 19
- LBND_OUT( 1 ) = 12
- UBND_OUT( 1 ) = 20
- LBND( 1 ) = 11
- UBND( 1 ) = 17
- M = AST_SHIFTMAP( 1, 3.0D0, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.1
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- DO I = LBND_IN(1), UBND_IN(1)
- IN( I - LBND_IN(1) + 1 ) = I*K
- IN_VAR( I - LBND_IN(1) + 1 ) = I
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
-
- DO I = LBND_OUT(1), LBND(1) + 2
- IF( .NOT. EQUALR( OUT( I - LBND_OUT(1) + 1 ),
- : 0.0E0) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1 ) ) )
- CALL ERR_REP( ' ', 'TEST4R ^I: ^V != BAD', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : 0.0E0) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1) ) )
- CALL ERR_REP( ' ', 'TEST4R ^I: variance ^V != BAD',
- : STATUS )
- RETURN
- END IF
- END DO
-
- DO I = LBND(1) + 3, UBND_OUT(1)
- IF( .NOT. EQUALR( OUT( I - LBND_OUT(1) + 1 ),
- : IN( I - 3 - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- IF( OUT( I - LBND_OUT(1) + 1 ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( I - LBND_OUT(1) + 1)))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( I -3 - LBND_IN(1) + 1 ) ) )
- CALL ERR_REP( ' ', 'TEST4R ^I: data ^V != ^B', STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT_VAR( I - LBND_OUT(1) + 1 ),
- : IN_VAR( I - 3 - LBND_IN(1) + 1 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- IF( OUT_VAR(I-LBND_OUT(1)+1) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR(I-LBND_OUT(1)+1)))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR(I-3-LBND_IN(1)+1) ) )
- CALL ERR_REP( ' ', 'TEST4R ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END DO
-
- END IF
-
- END
-
-
-
-* -----------------------------------------------
-* Test 5
-*
-
- SUBROUTINE TEST5( DO, NAME, TYPE,
- : LBND_IN, UBND_IN, IPIN, IPIN_VAR,
- : LBND_OUT, UBND_OUT, IPOUT, IPOUT_VAR,
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
-
- INTEGER M, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), IPIN, IPIN_VAR, IPOUT, IPOUT_VAR,
- : STATUS, DO, J
- DOUBLE PRECISION TOL, PARAMS(*)
- CHARACTER TYPE*(*), NAME*(*)
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- NAME = 'TEST5'
-
-* Fill the input data and variance arrays if required.
- IF( TYPE .EQ. '_REAL' ) THEN
- CALL TEST5R( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_DOUBLE' ) THEN
- CALL TEST5D( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_INTEGER' ) THEN
- CALL TEST5I( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( STATUS .EQ. SAI__OK ) then
- STATUS = SAI__ERROR
- CALL MSG_SETC( 'T', TYPE )
- CALL ERR_REP( ' ', 'Bad data type (^T) supplied to TEST5',
- : STATUS )
- END IF
-
- END
-
-
-
-
- SUBROUTINE TEST5D( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K
- DOUBLE PRECISION IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(2)
- LOGICAL EQUALD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_DTOD( VAL__MAXD )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- SHIFTS(1) = 3.0D0
- SHIFTS(2) = -1.0D0
- M = AST_SHIFTMAP( 2, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( MOD( K - 1, 4 ) .LT. 2 ) THEN
- IF( .NOT. EQUALD( OUT( K ), 0.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST5D ^I: ^V != BAD',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT_VAR( K ),
- : 0.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT_VAR( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST5D ^I: variance ^V '//
- : '!= BAD', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALD( OUT( K ), IN( K - 2 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K - 2 ) ) )
- CALL ERR_REP( ' ', 'TEST5D ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT( K ), IN( K-2 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K - 2 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST5D ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
-
- END IF
-
- END
-
-
-
- SUBROUTINE TEST5I( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K
- INTEGER IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(2)
- LOGICAL EQUALI
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_ITOD( VAL__MAXI )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- SHIFTS(1) = 3.0D0
- SHIFTS(2) = -1.0D0
- M = AST_SHIFTMAP( 2, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( MOD( K - 1, 4 ) .LT. 2 ) THEN
- IF( .NOT. EQUALI( OUT( K ), 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST5I ^I: ^V != BAD',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT_VAR( K ),
- : 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT_VAR( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST5I ^I: variance ^V '//
- : '!= BAD', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALI( OUT( K ), IN( K - 2 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K - 2 ) ) )
- CALL ERR_REP( ' ', 'TEST5I ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT( K ), IN( K-2 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K - 2 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST5I ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
-
- END IF
-
- END
-
-
-
- SUBROUTINE TEST5R( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K
- REAL IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(2)
- LOGICAL EQUALR
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_RTOD( VAL__MAXR )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- SHIFTS(1) = 3.0D0
- SHIFTS(2) = -1.0D0
- M = AST_SHIFTMAP( 2, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
- IF( MOD( K - 1, 4 ) .LT. 2 ) THEN
- IF( .NOT. EQUALR( OUT( K ), 0.0E0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST5R ^I: ^V != BAD',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT_VAR( K ),
- : 0.0E0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT_VAR( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST5R ^I: variance ^V '//
- : '!= BAD', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALR( OUT( K ), IN( K - 2 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K - 2 ) ) )
- CALL ERR_REP( ' ', 'TEST5R ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT( K ), IN( K-2 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K - 2 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST5R ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
-
- END IF
-
- END
-
-
-
-
-
-* -----------------------------------------------
-* Test 6
-*
-
- SUBROUTINE TEST6( DO, NAME, TYPE,
- : LBND_IN, UBND_IN, IPIN, IPIN_VAR,
- : LBND_OUT, UBND_OUT, IPOUT, IPOUT_VAR,
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
-
- INTEGER M, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : LBND(*), UBND(*), IPIN, IPIN_VAR, IPOUT, IPOUT_VAR,
- : STATUS, DO, J
- DOUBLE PRECISION TOL, PARAMS(*)
- CHARACTER TYPE*(*), NAME*(*)
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- NAME = 'TEST6'
-
-* Fill the input data and variance arrays if required.
- IF( TYPE .EQ. '_REAL' ) THEN
- CALL TEST6R( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_DOUBLE' ) THEN
- CALL TEST6D( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( TYPE .EQ. '_INTEGER' ) THEN
- CALL TEST6I( DO, LBND_IN, UBND_IN, %VAL(CNF_PVAL(IPIN)),
- : %VAL(CNF_PVAL(IPIN_VAR)), LBND_OUT, UBND_OUT,
- : %VAL(CNF_PVAL(IPOUT)),%VAL(CNF_PVAL(IPOUT_VAR)),
- : LBND, UBND, M, PARAMS, TOL, J, STATUS )
-
- ELSE IF( STATUS .EQ. SAI__OK ) then
- STATUS = SAI__ERROR
- CALL MSG_SETC( 'T', TYPE )
- CALL ERR_REP( ' ', 'Bad data type (^T) supplied to TEST6',
- : STATUS )
- END IF
-
- END
-
-
-
-
- SUBROUTINE TEST6D( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, L, K2
- DOUBLE PRECISION IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(3)
- LOGICAL EQUALD
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_DTOD( VAL__MAXD )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- LBND_IN( 3 ) = -1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 0
- UBND_OUT( 3 ) = 2
- LBND( 3 ) = -1
- UBND( 3 ) = 1
- SHIFTS(1) = 3.0D0
- SHIFTS(2) = -1.0D0
- SHIFTS(3) = 1.0D0
- M = AST_SHIFTMAP( 3, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO L = LBND_IN(3), UBND_IN(3)
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
-
- K2 = MOD( K - 1, 16 ) + 1
- IF( MOD( K2 - 1, 4 ) .LT. 2 ) THEN
- IF( .NOT. EQUALD( OUT( K ), 0.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST6D ^I: ^V != BAD',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT_VAR( K ),
- : 0.0D0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT_VAR( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST6D ^I: variance ^V '//
- : '!= BAD', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALD( OUT( K ), IN( K - 2 ))) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K-2 ) ) )
- CALL ERR_REP( ' ', 'TEST6D ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALD( OUT( K ), IN(K-2) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADD ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K-2 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST6D ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
- END DO
- END IF
-
- END
-
-
-
- SUBROUTINE TEST6I( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, L, K2
- INTEGER IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(3)
- LOGICAL EQUALI
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_ITOD( VAL__MAXI )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- LBND_IN( 3 ) = -1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 0
- UBND_OUT( 3 ) = 2
- LBND( 3 ) = -1
- UBND( 3 ) = 1
- SHIFTS(1) = 3.0D0
- SHIFTS(2) = -1.0D0
- SHIFTS(3) = 1.0D0
- M = AST_SHIFTMAP( 3, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO L = LBND_IN(3), UBND_IN(3)
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
-
- K2 = MOD( K - 1, 16 ) + 1
- IF( MOD( K2 - 1, 4 ) .LT. 2 ) THEN
- IF( .NOT. EQUALI( OUT( K ), 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST6I ^I: ^V != BAD',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT_VAR( K ),
- : 0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT_VAR( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST6I ^I: variance ^V '//
- : '!= BAD', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALI( OUT( K ), IN( K - 2 ))) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K-2 ) ) )
- CALL ERR_REP( ' ', 'TEST6I ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALI( OUT( K ), IN(K-2) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADI ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K-2 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST6I ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
- END DO
- END IF
-
- END
-
-
-
- SUBROUTINE TEST6R( DO, LBND_IN, UBND_IN, IN, IN_VAR, LBND_OUT,
- : UBND_OUT, OUT, OUT_VAR, LBND, UBND, M,
- : PARAMS, TOL, SPREAD, STATUS )
-
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'PRM_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'CNF_PAR'
- INCLUDE 'NUM_DEC'
- INCLUDE 'NUM_DEF'
-
- INTEGER DO, LBND_IN(*), UBND_IN(*), LBND_OUT(*), UBND_OUT(*),
- : SPREAD, LBND(*), UBND(*), STATUS, M, I, J, K, L, K2
- REAL IN(*), IN_VAR(*), OUT(*), OUT_VAR(*)
- DOUBLE PRECISION TOL, PARAMS(*), KFAC, SHIFTS(3)
- LOGICAL EQUALR
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- KFAC = MIN( 1000.0D0, NUM_RTOD( VAL__MAXR )/20.0 )
-
-* Return the scalar parameters of the test if required.
- IF( DO .EQ. 0 ) THEN
- LBND_IN( 1 ) = -1
- UBND_IN( 1 ) = 2
- LBND_OUT( 1 ) = 0
- UBND_OUT( 1 ) = 3
- LBND( 1 ) = -1
- UBND( 1 ) = 1
- LBND_IN( 2 ) = 3
- UBND_IN( 2 ) = 6
- LBND_OUT( 2 ) = 2
- UBND_OUT( 2 ) = 5
- LBND( 2 ) = 3
- UBND( 2 ) = 6
- LBND_IN( 3 ) = -1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 0
- UBND_OUT( 3 ) = 2
- LBND( 3 ) = -1
- UBND( 3 ) = 1
- SHIFTS(1) = 3.0D0
- SHIFTS(2) = -1.0D0
- SHIFTS(3) = 1.0D0
- M = AST_SHIFTMAP( 3, SHIFTS, ' ', STATUS )
- PARAMS(1) = 2.0
- PARAMS(2) = 2.0
- TOL = 0.0
-
-* Fill the input data and variance arrays if required.
- ELSE IF( DO .EQ. 1 ) THEN
- K = 1
- DO L = LBND_IN(3), UBND_IN(3)
- DO J = LBND_IN(2), UBND_IN(2)
- DO I = LBND_IN(1), UBND_IN(1)
- IN( K ) = K*KFAC
- IN_VAR( K ) = K
- K = K + 1
- END DO
- END DO
- END DO
-
-* Otherwise check output data and variance arrays look right.
- ELSE
- K = 1
- DO L = LBND_OUT(3), UBND_OUT(3)
- DO J = LBND_OUT(2), UBND_OUT(2)
- DO I = LBND_OUT(1), UBND_OUT(1)
-
- K2 = MOD( K - 1, 16 ) + 1
- IF( MOD( K2 - 1, 4 ) .LT. 2 ) THEN
- IF( .NOT. EQUALR( OUT( K ), 0.0E0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST6R ^I: ^V != BAD',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT_VAR( K ),
- : 0.0E0 ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT_VAR( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K )))
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL ERR_REP( ' ', 'TEST6R ^I: variance ^V '//
- : '!= BAD', STATUS )
- RETURN
- END IF
- ELSE
- IF( .NOT. EQUALR( OUT( K ), IN( K - 2 ))) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN( K-2 ) ) )
- CALL ERR_REP( ' ', 'TEST6R ^I: data ^V != ^B',
- : STATUS )
- RETURN
- ELSE IF( .NOT. EQUALR( OUT( K ), IN(K-2) ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', K )
- IF( OUT( K ) .NE. VAL__BADR ) THEN
- CALL MSG_SETD( 'V', DBLE( OUT_VAR( K ) ) )
- ELSE
- CALL MSG_SETC( 'V', 'BAD' )
- END IF
- CALL MSG_SETD( 'B', DBLE( IN_VAR( K-2 ) ) )
- CALL ERR_REP( ' ',
- : 'TEST6R ^I: variance ^V != ^B',
- : STATUS )
- RETURN
- END IF
- END IF
- K = K + 1
- END DO
- END DO
- END DO
- END IF
-
- END
-
-
-
diff --git a/ast/ast_tester/testrebinseq.f b/ast/ast_tester/testrebinseq.f
deleted file mode 100644
index 3ab4e43..0000000
--- a/ast/ast_tester/testrebinseq.f
+++ /dev/null
@@ -1,1580 +0,0 @@
- program testrebin
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer status
- double precision params(2)
- character ch
- status = sai__ok
-
- call ast_begin( status )
-
- params(1) = 1.5
- params(2) = 1
-
- call tests( 1, AST__GAUSS, params, status )
- call tests( 2, AST__GAUSS, params, status )
- call tests( 3, AST__GAUSS, params, status )
- call tests( 1, AST__NEAREST, params, status )
- call tests( 2, AST__NEAREST, params, status )
- call tests( 3, AST__NEAREST, params, status )
- call tests( 1, AST__LINEAR, params, status )
- call tests( 2, AST__LINEAR, params, status )
- call tests( 3, AST__LINEAR, params, status )
-
- call ast_end( status )
- call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All AST_REBINSEQ tests passed'
- else
- write(*,*) 'AST_REBINSEQ tests failed'
- end if
-
- end
-
- subroutine tests( NDIM, SPREAD, params, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer spread, status, ndim
- double precision params(2)
-
- if( status .ne. sai__ok ) return
-
- call test1( NDIM, SPREAD, params, status )
- call test2( NDIM, SPREAD, params, status )
- call test3( NDIM, SPREAD, params, status )
- call test4( NDIM, SPREAD, params, status )
- call test5( NDIM, SPREAD, params, status )
- call test6( NDIM, SPREAD, params, status )
- call test7( NDIM, SPREAD, params, status )
- call test8( NDIM, SPREAD, params, status )
- call test9( NDIM, SPREAD, params, status )
- call test10( NDIM, SPREAD, params, status )
- call test11( NDIM, SPREAD, params, status )
- call test12( NDIM, SPREAD, params, status )
-
- if( status .ne. SAI__OK ) then
- call msg_seti( 'N', ndim )
-
- if( spread .eq. AST__GAUSS ) then
- call msg_setc( 'S', 'AST__GAUSS' )
- else if( spread .eq. AST__NEAREST ) then
- call msg_setc( 'S', 'AST__NEAREST' )
- else if( spread .eq. AST__LINEAR ) then
- call msg_setc( 'S', 'AST__LINEAR' )
- endif
- call err_rep( ' ', 'Spread=^S (^N-dimensional)', status )
- endif
-
- end
-
-
-
-
- SUBROUTINE ADDNOISE( N, ARRAY, SIGMA, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER BUFSIZE
- PARAMETER ( BUFSIZE = 100 )
-
- INTEGER N, STATUS, MM, IAT, NUSED, I
- DOUBLE PRECISION ARRAY( N )
- DOUBLE PRECISION SIGMA
- DOUBLE PRECISION NOISE( BUFSIZE )
- DOUBLE PRECISION JUNK( BUFSIZE )
-
- CHARACTER FWD(1)*80
- CHARACTER INV(1)*80
-
- DATA JUNK/ BUFSIZE*0.0D0 /
-
- IF( STATUS .NE. SAI__OK ) RETURN
-
- FWD(1) = 'Y=Gauss(0.0,'
- IAT = 12
- CALL CHR_PUTD( SIGMA, FWD(1), IAT )
- CALL CHR_APPND( ')', FWD(1), IAT )
- INV(1) = 'X'
-
- MM = AST_MATHMAP( 1, 1, 1, FWD, 1, INV, ' ', STATUS )
-
- NUSED = BUFSIZE
- DO I = 1, N
- IF( NUSED .EQ. BUFSIZE ) THEN
- CALL AST_TRAN1( MM, BUFSIZE, JUNK, .TRUE., NOISE, STATUS )
- NUSED = 0
- END IF
- NUSED = NUSED + 1
- ARRAY( I ) = ARRAY( I ) + NOISE( NUSED )
- END DO
-
- CALL AST_ANNUL( MM, STATUS )
-
- END
-
-
-
-
-
-
- SUBROUTINE TEST1( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER NX, NY, JHI
- PARAMETER( NX = 100 )
- PARAMETER( NY = 200 )
-
-
- REAL IN( NX, NY )
- REAL OUT( NX, NY )
- DOUBLE PRECISION PARAMS(2), WEIGHTS( NX, NY )
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : FLAGS, I, J
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- DO I = 1, NX
- DO J = 1, NY
- IN( I, J ) = 1.0
- END DO
- END DO
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- LBND_IN( 3 ) = 1
- UBND_IN( 1 ) = NX - 1
- UBND_IN( 2 ) = NY
- UBND_IN( 3 ) = 1
-
- LBND_OUT( 1 ) = 0
- LBND_OUT( 2 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 1 ) = NX - 1
- UBND_OUT( 2 ) = NY
- UBND_OUT( 3 ) = 1
-
- FLAGS = AST__REBININIT + AST__REBINEND
-
- MAP = AST_UNITMAP( NDIM, ' ', STATUS )
- CALL AST_REBINSEQR( MAP, 0.0D0, NDIM, LBND_IN, UBND_IN, IN, IN,
- : spread, PARAMS, FLAGS, 0.01D0, 50, VAL__BADR,
- : NDIM, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : out, OUT, WEIGHTS, NUSED, STATUS )
-
- IF( NDIM .EQ. 1 ) THEN
- JHI = 1
- ELSE
- JHI = ny
- ENDIF
-
- DO I = 1, NX
- DO J = 1, JHI
- IF( ABS( OUT( I, J ) - 1.0 ) .GT. 1.0E-6 .AND.
- : STATUS .EQ. SAI__OK ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETI( 'J', J )
- CALL MSG_SETR( 'V', OUT(I,J) )
- CALL ERR_REP( ' ', 'Output pixel (^I,^J) should be '//
- : '1.0 but is ^V', status )
- END IF
- END DO
- END DO
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test1 failed', STATUS )
- END IF
-
- END
-
-
-
- SUBROUTINE TEST2( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER NX, NY, JHI
- PARAMETER( NX = 100 )
- PARAMETER( NY = 200 )
-
-
- DOUBLE PRECISION IN( NX, NY )
- DOUBLE PRECISION OUT( NX, NY )
- DOUBLE PRECISION PARAMS(2), WEIGHTS( NX, NY )
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : FLAGS, I, J
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- DO I = 1, NX
- DO J = 1, NY
- IN( I, J ) = 1.0D0
- END DO
- END DO
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- UBND_IN( 1 ) = NX - 1
- UBND_IN( 2 ) = NY
-
- LBND_OUT( 1 ) = 0
- LBND_OUT( 2 ) = 1
- UBND_OUT( 1 ) = NX - 1
- UBND_OUT( 2 ) = NY
-
- LBND_IN( 3 ) = 1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 3 ) = 1
-
- FLAGS = AST__REBININIT
-
- MAP = AST_UNITMAP( NDIM, ' ', STATUS )
-
- DO I = 1, 3
- IF( I .EQ. 3 ) FLAGS = AST__REBINEND
- CALL AST_REBINSEQD( MAP, 0.0D0, ndim, LBND_IN, UBND_IN, IN, IN,
- : spread, PARAMS, FLAGS, 0.01D0, 50, VAL__BADD,
- : ndim, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : OUT, OUT, WEIGHTS, NUSED, STATUS )
- END DO
-
- IF( NDIM .EQ. 1 ) THEN
- JHI = 1
- ELSE
- JHI = ny
- ENDIF
-
- DO I = 1, NX
- DO J = 1, JHI
- IF( ABS( OUT( I, J ) - 1.0D0 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETI( 'J', J )
- CALL MSG_SETD( 'V', OUT(I,J) )
- CALL ERR_REP( ' ', 'Output pixel (^I,^J) should be '//
- : '1.0 but is ^V', status )
- END IF
- END DO
- END DO
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test2 failed', STATUS )
- END IF
-
- END
-
-
-
-
-
- SUBROUTINE TEST3( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER NX, NY
- PARAMETER( NX = 100 )
- PARAMETER( NY = 200 )
-
- INTEGER IN( NX, NY )
- INTEGER OUT( NX, NY )
- DOUBLE PRECISION PARAMS(2), WEIGHTS( NX, NY )
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : FLAGS, I, J, JHI
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- DO I = 1, NX
- DO J = 1, NY
- IN( I, J ) = 1.0D0
- END DO
- END DO
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- UBND_IN( 1 ) = NX - 1
- UBND_IN( 2 ) = NY
-
- LBND_OUT( 1 ) = 0
- LBND_OUT( 2 ) = 1
- UBND_OUT( 1 ) = NX - 1
- UBND_OUT( 2 ) = NY
-
- LBND_IN( 3 ) = 1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 3 ) = 1
-
- FLAGS = AST__REBININIT + AST__NONORM
-
- MAP = AST_UNITMAP( NDIM, ' ', STATUS )
-
- DO I = 1, 3
- CALL AST_REBINSEQI( MAP, 0.0D0, ndim, LBND_IN, UBND_IN, IN, IN,
- : spread, PARAMS, FLAGS, 0.01D0, 50, VAL__BADI,
- : ndim, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : OUT, OUT, WEIGHTS, NUSED, STATUS )
- FLAGS = AST__NONORM
- END DO
-
- IF( NDIM .EQ. 1 ) THEN
- JHI = 1
- ELSE
- JHI = ny
- ENDIF
-
- DO I = 1, NX
- DO J = 1, JHI
- IF( OUT( I, J ) .NE. 3 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETI( 'J', J )
- CALL MSG_SETI( 'V', OUT(I,J) )
- CALL ERR_REP( ' ', 'Output pixel (^I,^J) should be '//
- : '3 but is ^V', status )
- END IF
- END DO
- END DO
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test3 failed', STATUS )
- END IF
-
- END
-
-
-
-
-
-
- SUBROUTINE TEST4( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER NX, NY
- PARAMETER( NX = 100 )
- PARAMETER( NY = 200 )
-
- REAL IN( NX, NY )
- REAL OUT( NX, NY )
- DOUBLE PRECISION PARAMS(2), WEIGHTS( NX, NY ), INA(3),
- : INB(3), OUTA(3), OUTB(3), SUM, ANSWER
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : FLAGS, I, J, LBOXG(3), UBOXG(3), JHI
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- DO I = 1, NX
- DO J = 1, NY
- IN( I, J ) = 1.0
- END DO
- END DO
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- UBND_IN( 1 ) = NX - 1
- UBND_IN( 2 ) = NY
-
- LBND_OUT( 1 ) = 0
- LBND_OUT( 2 ) = 1
- UBND_OUT( 1 ) = NX - 1
- UBND_OUT( 2 ) = NY
-
- LBND_IN( 3 ) = 1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 3 ) = 1
-
- FLAGS = AST__REBININIT + AST__REBINEND + AST__CONSERVEFLUX
-
- INA( 1 ) = LBND_IN( 1 )
- INA( 2 ) = LBND_IN( 2 )
- INA( 3 ) = LBND_IN( 3 )
- INB( 1 ) = UBND_IN( 1 )
- INB( 2 ) = UBND_IN( 2 )
- INB( 3 ) = UBND_IN( 3 ) + 1.0D0
-
- OUTA( 1 ) = 0.75*LBND_OUT( 1 ) + 0.25*UBND_OUT( 1 )
- OUTA( 2 ) = 0.75*LBND_OUT( 2 ) + 0.25*UBND_OUT( 2 )
- OUTA( 3 ) = INA( 3 )
- OUTB( 1 ) = 0.25*LBND_OUT( 1 ) + 0.75*UBND_OUT( 1 )
- OUTB( 2 ) = 0.25*LBND_OUT( 2 ) + 0.75*UBND_OUT( 2 )
- OUTB( 3 ) = INB( 3 )
-
- MAP = AST_WINMAP( NDIM, INA, INB, OUTA, OUTB, ' ', STATUS )
- CALL AST_REBINSEQR( MAP, 0.0D0, ndim, LBND_IN, UBND_IN, IN, IN,
- : spread, PARAMS, FLAGS, 0.01D0, 1000,
- : VAL__BADR,
- : ndim, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : OUT, OUT, WEIGHTS, NUSED, STATUS )
-
- LBOXG( 1 ) = VAL__MAXI
- LBOXG( 2 ) = VAL__MAXI
- UBOXG( 1 ) = VAL__MINI
- UBOXG( 2 ) = VAL__MINI
-
- SUM = 0.0D0
-
- IF( NDIM .EQ. 1 ) THEN
- JHI = 1
- ELSE
- JHI = ny
- ENDIF
-
- DO I = 1, NX
- DO J = 1, JHI
-
- IF( OUT(I,J) .NE. VAL__BADR ) THEN
- SUM = SUM + OUT(I,J)
- IF( I .LT. LBOXG(1) ) THEN
- LBOXG(1) = I
- ELSE IF( I .GT. UBOXG(1) ) THEN
- UBOXG(1) = I
- ENDIF
- IF( J .LT. LBOXG(2) ) THEN
- LBOXG(2) = J
- ELSE IF( J .GT. UBOXG(2) ) THEN
- UBOXG(2) = J
- ENDIF
- ENDIF
- END DO
- END DO
-
- IF( NDIM .EQ. 1 ) THEN
-
- IF( ( ( SPREAD .EQ. AST__GAUSS ) .AND. (
- : LBOXG( 1 ) .NE. 24 .OR.
- : UBOXG( 1 ) .NE. 77 )) .OR. (
- : ( SPREAD .EQ. AST__NEAREST ) .AND. (
- : LBOXG( 1 ) .NE. 26 .OR.
- : UBOXG( 1 ) .NE. 75 )) .OR. (
- : ( SPREAD .EQ. AST__LINEAR ) .AND. (
- : LBOXG( 1 ) .NE. 25 .OR.
- : UBOXG( 1 ) .NE. 76 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL ERR_REP( ' ', 'Good pixel bounding box is wrong',
- : STATUS )
- write(*,*) LBOXG, UBOXG
- END IF
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- ANSWER = 100.0
- ELSE IF( SPREAD .EQ. AST__GAUSS ) THEN
- ANSWER = 108.0
- ELSE IF( SPREAD .EQ. AST__LINEAR ) THEN
- ANSWER = 104.0
- ELSE
- ANSWER = -1
- END IF
-
- else
-
- IF( ( ( SPREAD .EQ. AST__GAUSS ) .AND. (
- : LBOXG( 1 ) .NE. 24 .OR.
- : LBOXG( 2 ) .NE. 49 .OR.
- : UBOXG( 1 ) .NE. 77 .OR.
- : UBOXG( 2 ) .NE. 152 ) ) .OR. (
- : ( SPREAD .EQ. AST__NEAREST ) .AND. (
- : LBOXG( 1 ) .NE. 26 .OR.
- : LBOXG( 2 ) .NE. 51 .OR.
- : UBOXG( 1 ) .NE. 75 .OR.
- : UBOXG( 2 ) .NE. 150 ) ) .OR. (
- : ( SPREAD .EQ. AST__LINEAR ) .AND. (
- : LBOXG( 1 ) .NE. 25 .OR.
- : LBOXG( 2 ) .NE. 50 .OR.
- : UBOXG( 1 ) .NE. 76 .OR.
- : UBOXG( 2 ) .NE. 151 ) ) ) THEN
- STATUS = SAI__ERROR
- CALL ERR_REP( ' ', 'Good pixel bounding box is wrong',
- : STATUS )
- write(*,*) LBOXG, UBOXG
- END IF
-
- IF( SPREAD .EQ. AST__NEAREST ) THEN
- ANSWER = 20000.0
- ELSE IF( SPREAD .EQ. AST__GAUSS ) THEN
- ANSWER = 22464.0
- ELSE IF( SPREAD .EQ. AST__LINEAR ) THEN
- ANSWER = 21216.0
- ELSE
- ANSWER = -1
- END IF
- endif
-
- IF( ABS( SUM - ANSWER ) .GT. 0.01 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', SUM )
- CALL MSG_SETD( 'W', ANSWER )
- CALL ERR_REP( ' ', 'Total output data sum is ^V (should '//
- : 'be ^W).', STATUS )
- END IF
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test4 failed', STATUS )
- END IF
-
- END
-
-
-
- SUBROUTINE TEST5( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER NX_IN, NY_IN
- PARAMETER( NX_IN = 100 )
- PARAMETER( NY_IN = 200 )
-
- INTEGER BORDER_OUT
- PARAMETER( BORDER_OUT = 10 )
-
- INTEGER NX_OUT, NY_OUT
- PARAMETER( NX_OUT = NX_IN + 2*BORDER_OUT )
- PARAMETER( NY_OUT = NY_IN + 2*BORDER_OUT )
-
- DOUBLE PRECISION IN( NX_IN, NY_IN )
- DOUBLE PRECISION OUT( NX_OUT, NY_OUT )
- DOUBLE PRECISION PARAMS(2), WEIGHTS( NX_OUT, NY_OUT ), INA(3),
- : INB(3), OUTA(3), OUTB(3), SUM, VA, VB
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : K, FLAGS, I, J, LBOXG(3), UBOXG(3), JHI
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- UBND_IN( 1 ) = NX_IN - 1
- UBND_IN( 2 ) = NY_IN
-
- LBND_OUT( 1 ) = LBND_IN( 1 ) - BORDER_OUT
- LBND_OUT( 2 ) = LBND_IN( 2 ) - BORDER_OUT
- UBND_OUT( 1 ) = UBND_IN( 1 ) + BORDER_OUT
- UBND_OUT( 2 ) = UBND_IN( 2 ) + BORDER_OUT
-
- LBND_IN( 3 ) = 1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 3 ) = 1
-
- FLAGS = AST__REBININIT + AST__NONORM
-
- INA( 1 ) = LBND_IN( 1 )
- INA( 2 ) = LBND_IN( 2 )
- INA( 3 ) = LBND_IN( 3 )
- INB( 1 ) = UBND_IN( 1 )
- INB( 2 ) = UBND_IN( 2 )
- INB( 3 ) = UBND_IN( 3 ) + 1.0D0
-
- DO K = 1, 3
-
- DO I = 1, NX_IN
- DO J = 1, NY_IN
- IN( I, J ) = K
- END DO
- END DO
-
- VA = (k-1)*0.25
- VB = VA + 0.5
-
- OUTA( 1 ) = VB*LBND_IN( 1 ) + VA*UBND_IN( 1 )
- OUTA( 2 ) = VB*LBND_IN( 2 ) + VA*UBND_IN( 2 )
- OUTB( 1 ) = VA*LBND_IN( 1 ) + VB*UBND_IN( 1 )
- OUTB( 2 ) = VA*LBND_IN( 2 ) + VB*UBND_IN( 2 )
- OUTA( 3 ) = INA( 3 )
- OUTB( 3 ) = INB( 3 )
-
- MAP = AST_WINMAP( NDIM, INA, INB, OUTA, OUTB, ' ', STATUS )
- CALL AST_REBINSEQD( MAP, 0.0D0, ndim, LBND_IN, UBND_IN, IN, IN,
- : spread, PARAMS, FLAGS, 0.01D0, 50, VAL__BADD,
- : ndim, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : OUT, OUT, WEIGHTS, NUSED, STATUS )
-
- FLAGS = AST__NONORM
- END DO
-
- IF( NDIM .EQ. 1 ) THEN
- JHI = 1
- ELSE
- JHI = ny_out
- ENDIF
-
- SUM = 0.0D0
-
- DO I = 1, NX_OUT
- DO J = 1, JHI
- IF( OUT(I,J) .NE. VAL__BADR ) THEN
- SUM = SUM + OUT(I,J)
- ENDIF
- END DO
- END DO
-
- IF( NDIM .EQ. 1 ) THEN
- IF( ABS( SUM - 600 ) .GT. 1.0E-3 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', SUM )
- CALL ERR_REP( ' ', 'Total output data sum is ^V (should '//
- : 'be 600).', STATUS )
-
- END IF
-
- IF( ABS( OUT(20,1) - 2.0 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', OUT(20,1) )
- CALL ERR_REP( ' ', 'Output pixel (20) should be 2, '//
- : 'is ^V', STATUS )
-
- ELSE IF( ABS( OUT(50,1) - 6.0 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', OUT(50,1) )
- CALL ERR_REP( ' ', 'Output pixel (50) should be 6, '//
- : 'is ^V', STATUS )
-
- ELSE IF( ABS( OUT(70,1) - 10.0 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', OUT(70,1) )
- CALL ERR_REP( ' ', 'Output pixel (70) should be 10, '//
- : 'is ^V', STATUS )
-
- ELSE IF( ABS( OUT(100,1) - 6.0 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', OUT(100,1) )
- CALL ERR_REP( ' ', 'Output pixel (100) should be 6, '//
- : 'is ^V', STATUS )
- END IF
-
- ELSE IF( NDIM .EQ. 2 ) THEN
- IF( ABS( SUM - 120000 ) .GT. 1.0E-3 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', SUM )
- CALL ERR_REP( ' ', 'Total output data sum is ^V (should '//
- : 'be 120000).', STATUS )
-
- END IF
-
- IF( ABS( OUT(40,40) - 4.0 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', OUT(40,40) )
- CALL ERR_REP( ' ', 'Output pixel (40,40) should be 4, '//
- : 'is ^V', STATUS )
-
- ELSE IF( ABS( OUT(50,90) - 12.0 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', OUT(50,90) )
- CALL ERR_REP( ' ', 'Output pixel (50,90) should be 12, '//
- : 'is ^V', STATUS )
-
- ELSE IF( ABS( OUT(70,80) - 8.0 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', OUT(70,80) )
- CALL ERR_REP( ' ', 'Output pixel (70,80) should be 8, '//
- : 'is ^V', STATUS )
-
- ELSE IF( ABS( OUT(70,130) - 20.0 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', OUT(70,130) )
- CALL ERR_REP( ' ', 'Output pixel (70,130) should be 20, '//
- : 'is ^V', STATUS )
-
- ELSE IF( ABS( OUT(20,130) - 0.0 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', OUT(20,130) )
- CALL ERR_REP( ' ', 'Output pixel (20,130) should be 0, '//
- : 'is ^V', STATUS )
-
- END IF
- END IF
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test5 failed', STATUS )
- END IF
-
- END
-
-
-
-
- SUBROUTINE TEST6( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER NK
- PARAMETER( NK = 3 )
-
- INTEGER NX_IN, NY_IN
- PARAMETER( NX_IN = 100 )
- PARAMETER( NY_IN = 200 )
-
- INTEGER BORDER_OUT
- PARAMETER( BORDER_OUT = 10 )
-
- INTEGER NX_OUT, NY_OUT
- PARAMETER( NX_OUT = NX_IN + 2*BORDER_OUT )
- PARAMETER( NY_OUT = NY_IN + 2*BORDER_OUT )
-
- DOUBLE PRECISION IN( NX_IN, NY_IN ), ANSWER
- DOUBLE PRECISION OUT( NX_OUT, NY_OUT ), MNVAL, MXVAL
- DOUBLE PRECISION PARAMS(2), WEIGHTS( NX_OUT, NY_OUT ), INA(3),
- : INB(3), OUTA(3), OUTB(3), SUM, VA, VB
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : K, FLAGS, I, J, LBOXG(3), UBOXG(3), JHI
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- UBND_IN( 1 ) = NX_IN - 1
- UBND_IN( 2 ) = NY_IN
-
- LBND_OUT( 1 ) = LBND_IN( 1 ) - BORDER_OUT
- LBND_OUT( 2 ) = LBND_IN( 2 ) - BORDER_OUT
- UBND_OUT( 1 ) = UBND_IN( 1 ) + BORDER_OUT
- UBND_OUT( 2 ) = UBND_IN( 2 ) + BORDER_OUT
-
- LBND_IN( 3 ) = 1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 3 ) = 1
-
- INA( 1 ) = LBND_IN( 1 )
- INA( 2 ) = LBND_IN( 2 )
- INA( 3 ) = LBND_IN( 3 )
- INB( 1 ) = UBND_IN( 1 )
- INB( 2 ) = UBND_IN( 2 )
- INB( 3 ) = UBND_IN( 3 ) + 1.0D0
-
- DO K = 1, NK
-
- FLAGS = AST__CONSERVEFLUX
- IF( K .EQ. 1 ) FLAGS = FLAGS + AST__REBININIT
- IF( K .EQ. NK ) FLAGS = FLAGS + AST__REBINEND
-
- DO I = 1, NX_IN
- DO J = 1, NY_IN
- IN( I, J ) = K
- END DO
- END DO
-
- VA = (k-1)*0.25
- VB = VA + 0.5
-
- OUTA( 1 ) = VB*LBND_IN( 1 ) + VA*UBND_IN( 1 )
- OUTA( 2 ) = VB*LBND_IN( 2 ) + VA*UBND_IN( 2 )
- OUTB( 1 ) = VA*LBND_IN( 1 ) + VB*UBND_IN( 1 )
- OUTB( 2 ) = VA*LBND_IN( 2 ) + VB*UBND_IN( 2 )
- OUTA( 3 ) = INA( 3 )
- OUTB( 3 ) = INB( 3 )
-
- MAP = AST_WINMAP( NDIM, INA, INB, OUTA, OUTB, ' ', STATUS )
- CALL AST_REBINSEQD( MAP, 0.0D0, ndim, LBND_IN, UBND_IN, IN, IN,
- : spread, PARAMS, FLAGS, 0.01D0, 50, VAL__BADD,
- : ndim, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : OUT, OUT, WEIGHTS, NUSED, STATUS )
-
- END DO
-
- IF( NDIM .EQ. 1 ) THEN
- JHI = 1
- ELSE
- JHI = ny_out
- ENDIF
-
- SUM = 0.0D0
- MXVAL = VAL__MIND
- MNVAL = VAL__MAXD
- DO I = 1, NX_OUT
- DO J = 1, JHI
- IF( OUT(I,J) .NE. VAL__BADD ) THEN
- SUM = SUM + OUT(I,J)
- IF( OUT(I,J) .GT. MXVAL ) MXVAL = OUT(I,J)
- IF( OUT(I,J) .lT. MnVAL ) MNVAL = OUT(I,J)
- ENDIF
- END DO
- END DO
-
- IF( NDIM .eq. 1 ) THEN
- IF( SPREAD .EQ. AST__GAUSS ) THEN
- ANSWER = 414.0D0
- ELSE IF( SPREAD .EQ. AST__NEAREST ) THEN
- ANSWER = 399.4D0
- ELSE IF( SPREAD .EQ. AST__LINEAR ) THEN
- ANSWER = 400.0D0
- ELSE
- ANSWER = -1.0
- END IF
-
- IF( ABS( SUM - ANSWER ) .GT. 1.0D-3 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', SUM )
- CALL MSG_SETD( 'W', ANSWER )
- CALL ERR_REP( ' ', 'Total output data sum is ^V (should '//
- : 'be ^W).', STATUS )
-
- ELSE IF( ABS( MXVAL - 6 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', MXVAL )
- CALL ERR_REP( ' ', 'Max value is ^V (should be 6).',
- : STATUS )
-
- ELSE IF( ABS( MNVAL - 2 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', MNVAL )
- CALL ERR_REP( ' ', 'Min value is ^V (should be 2).',
- : STATUS )
-
- END IF
-
- ELSE IF( NDIM .eq. 2 ) THEN
- IF( SPREAD .EQ. AST__GAUSS ) THEN
- ANSWER = 109011.729592723D0
- ELSE IF( SPREAD .EQ. AST__NEAREST ) THEN
- ANSWER = 100716.666666667D0
- ELSE IF( SPREAD .EQ. AST__LINEAR ) THEN
- ANSWER = 102816.0D0
- ELSE
- ANSWER = -1.0
- END IF
-
- IF( ABS( SUM - ANSWER ) .GT. 1.0D-3 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', SUM )
- CALL MSG_SETD( 'W', ANSWER )
- CALL ERR_REP( ' ', 'Total output data sum is ^V (should '//
- : 'be ^W).', STATUS )
-
- ELSE IF( ABS( MXVAL - 12 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', MXVAL )
- CALL ERR_REP( ' ', 'Max value is ^V (should be 12).',
- : STATUS )
-
- ELSE IF( ABS( MNVAL - 4 ) .GT. 1.0E-6 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', MNVAL )
- CALL ERR_REP( ' ', 'Min value is ^V (should be 4).',
- : STATUS )
-
- END IF
- END IF
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test6 failed', STATUS )
- END IF
-
- END
-
-
- SUBROUTINE TEST7( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER NX, NY
- PARAMETER( NX = 100 )
- PARAMETER( NY = 200 )
-
-
- REAL IN( NX, NY )
- REAL OUT( NX, NY )
- DOUBLE PRECISION PARAMS(2), WEIGHTS( NX, NY )
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : JHI, FLAGS, I, J
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- DO I = 1, NX
- DO J = 1, NY
- IN( I, J ) = 1.0
- END DO
- END DO
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- UBND_IN( 1 ) = NX - 1
- UBND_IN( 2 ) = NY
-
- LBND_OUT( 1 ) = 0
- LBND_OUT( 2 ) = 1
- UBND_OUT( 1 ) = NX - 1
- UBND_OUT( 2 ) = NY
-
- LBND_IN( 3 ) = 1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 3 ) = 1
-
- FLAGS = AST__REBININIT + AST__REBINEND
-
- MAP = AST_ZOOMMAP( NDIM, 0.5D0, ' ', STATUS )
- CALL AST_REBINSEQR( MAP, 0.0D0, ndim, LBND_IN, UBND_IN, IN, IN,
- : spread, PARAMS, FLAGS, 0.01D0, 50, VAL__BADR,
- : ndim, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : OUT, OUT, WEIGHTS, NUSED, STATUS )
-
- IF( NDIM .EQ. 1 ) THEN
- JHI = 1
- ELSE
- JHI = ny
- ENDIF
-
- DO I = 1, NX
- DO J = 1, JHI
- IF( ABS( OUT( I, J ) - 1.0 ) .GT. 1.0E-6 .AND.
- : OUT( I, J ) .NE. VAL__BADR ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETI( 'I', I )
- CALL MSG_SETI( 'J', J )
- CALL MSG_SETR( 'V', OUT(I,J) )
- CALL ERR_REP( ' ', 'Output pixel (^I,^J) should be '//
- : '1.0 but is ^V', status )
- END IF
- END DO
- END DO
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test7 failed', STATUS )
- END IF
-
- END
-
-
- SUBROUTINE TEST8( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER NX, NY
- PARAMETER( NX = 100 )
- PARAMETER( NY = 200 )
-
-
- REAL IN( NX, NY )
- REAL OUT( NX, NY )
- DOUBLE PRECISION PARAMS(2), WEIGHTS( NX, NY ), SHIFTS(3), SUM
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : FLAGS, I, J, JHI
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- DO I = 1, NX
- DO J = 1, NY
- IN( I, J ) = 1.0
- END DO
- END DO
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- UBND_IN( 1 ) = NX - 1
- UBND_IN( 2 ) = NY
-
- LBND_OUT( 1 ) = 0
- LBND_OUT( 2 ) = 1
- UBND_OUT( 1 ) = NX - 1
- UBND_OUT( 2 ) = NY
-
- LBND_IN( 3 ) = 1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 3 ) = 1
-
- FLAGS = AST__REBININIT + AST__REBINEND + AST__NONORM
-
- SHIFTS(1) = 5.0D0
- SHIFTS(2) = 5.0D0
-
- if( ndim .lt. 3 ) then
- MAP = AST_CMPMAP( AST_ZOOMMAP( NDIM, 0.5D0, ' ', STATUS ),
- : AST_SHIFTMAP( NDIM, SHIFTS, ' ', STATUS ),
- : .TRUE., ' ', STATUS )
- else
- MAP = AST_CMPMAP( AST_CMPMAP( AST_ZOOMMAP( 2, 0.5D0, ' ',
- : STATUS ),
- : AST_SHIFTMAP( 2, SHIFTS, ' ',
- : STATUS ),
- : .TRUE., ' ', STATUS ),
- : AST_UNITMAP( 1, ' ', STATUS ), .FALSE.,
- : ' ', STATUS )
- endif
-
- CALL AST_REBINSEQR( MAP, 0.0D0, ndim, LBND_IN, UBND_IN, IN, IN,
- : spread, PARAMS, FLAGS, 0.01D0, 50, VAL__BADR,
- : ndim, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : OUT, OUT, WEIGHTS, NUSED, STATUS )
-
- IF( NDIM .EQ. 1 ) THEN
- JHI = 1
- ELSE
- JHI = ny
- ENDIF
-
- SUM = 0.0D0
- DO I = 1, NX
- DO J = 1, JHI
- if( out(i,j) .ne. VAL__BADR ) then
- SUM = SUM + DBLE(OUT(I,J))
- end if
- END DO
- END DO
-
- IF( SUM .NE. SUM ) THEN
- STATUS = SAI__ERROR
- CALL ERR_REP( ' ', 'Total output data sum is NaN', STATUS )
-
- ELSE IF( ABS( SUM - NX*JHI ) .GT. SUM*1.0D-7 ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', SUM )
- CALL MSG_SETD( 'W', DBLE( NX*JHI) )
- CALL ERR_REP( ' ', 'Total output data sum is ^V (should '//
- : 'be ^W).', STATUS )
- END IF
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test8 failed', STATUS )
- END IF
-
- END
-
-
- SUBROUTINE TEST9( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER SIZE
- PARAMETER( SIZE = 20000 )
-
- INTEGER NX1, NY1
- PARAMETER( NX1 = SIZE )
- PARAMETER( NY1 = 1 )
-
- INTEGER NX2, NY2
- PARAMETER( NX2 = SIZE/200 )
- PARAMETER( NY2 = 200 )
-
- DOUBLE PRECISION SIGMA
- PARAMETER ( SIGMA = 0.1 )
-
- REAL*8 IN( size ), VIN( size )
- REAL*8 OUT( size ), VOUT( size )
- DOUBLE PRECISION PARAMS(2), WEIGHTS( size )
- DOUBLE PRECISION REALVAR,MEANVAR,SUM,SUM2,SUM3
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : FLAGS, I, J, NVAL, JHI, JLO, NX, NY, ILO, IHI, k
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- DO I = 1, size
- IN( I ) = 1.0D0
- VIN( I ) = SIGMA**2
- END DO
-
- CALL ADDNOISE( size, IN, SIGMA, STATUS )
-
- IF( NDIM .EQ. 1 ) THEN
- NX = NX1
- Ny = NY1
- ELSE
- NX = NX2
- Ny = NY2
- END IF
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- UBND_IN( 1 ) = NX - 1
- UBND_IN( 2 ) = NY
-
- LBND_OUT( 1 ) = 0
- LBND_OUT( 2 ) = 1
- UBND_OUT( 1 ) = NX - 1
- UBND_OUT( 2 ) = NY
-
- LBND_IN( 3 ) = 1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 3 ) = 1
-
- FLAGS = AST__REBININIT + AST__REBINEND + AST__NONORM + AST__USEVAR
-
- MAP = AST_ZOOMMAP( NDIM, 0.5D0, ' ', STATUS )
- CALL AST_REBINSEQD( MAP, 0.0D0, ndim, LBND_IN, UBND_IN, IN, VIN,
- : spread, PARAMS, FLAGS, 0.01D0, 50, VAL__BADD,
- : ndim, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : OUT, VOUT, WEIGHTS, NUSED, STATUS )
-
- IF( NDIM .EQ. 1 ) THEN
- ILO = 6
- IHI = NINT(0.45*NX1)
- JLO = 1
- JHI = 1
- ELSE
- ILO = 6
- IHI = 41
- JLO = 8
- JHI = 91
- ENDIF
-
- SUM = 0.0D0
- SUM2 = 0.0D0
- SUM3 = 0.0D0
- NVAL = 0
-
- DO I = ILO, IHI
- DO J = JLO, JHI
- K = ( J - 1 )*NX + I
- IF( OUT(K) .NE. VAL__BADD ) THEN
- SUM = SUM + OUT(K)
- SUM2 = SUM2 + OUT(K)**2
- SUM3 = SUM3 + VOUT(K)
- NVAL = NVAL + 1
- END IF
- END DO
- END DO
-
- SUM = SUM/NVAL
- REALVAR = SUM2/NVAL - SUM*SUM
- MEANVAR = SUM3/NVAL
- IF( ABS( REALVAR - MEANVAR ) .GT.
- : 0.05*( REALVAR + MEANVAR ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', REALVAR )
- CALL MSG_SETD( 'W', MEANVAR )
- CALL ERR_REP( ' ', 'Real variance is ^V - estimate is ^W.',
- : STATUS )
- END IF
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test9 failed', STATUS )
- END IF
-
- END
-
-
- SUBROUTINE TEST10( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER SIZE
- PARAMETER( SIZE = 20000 )
-
- INTEGER NX1, NY1
- PARAMETER( NX1 = SIZE )
- PARAMETER( NY1 = 1 )
-
- INTEGER NX2, NY2
- PARAMETER( NX2 = SIZE/200 )
- PARAMETER( NY2 = 200 )
-
- DOUBLE PRECISION SIGMA
- PARAMETER ( SIGMA = 0.1 )
-
- REAL*8 IN( size ), VIN( size )
- REAL*8 OUT( size ), VOUT( size )
- DOUBLE PRECISION PARAMS(2), WEIGHTS( size )
- DOUBLE PRECISION REALVAR,MEANVAR,SUM,SUM2,SUM3
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : FLAGS, I, J, NVAL, JHI, JLO, ILO, IHI, NX, NY, K
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- DO I = 1, SIZE
- IN( I ) = 1.0D0
- VIN( I ) = SIGMA**2
- END DO
-
- CALL ADDNOISE( SIZE, IN, SIGMA, STATUS )
-
- IF( NDIM .EQ. 1 ) THEN
- NX = NX1
- Ny = NY1
- ELSE
- NX = NX2
- Ny = NY2
- END IF
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- UBND_IN( 1 ) = NX - 1
- UBND_IN( 2 ) = NY
-
- LBND_OUT( 1 ) = 0
- LBND_OUT( 2 ) = 1
- UBND_OUT( 1 ) = NX - 1
- UBND_OUT( 2 ) = NY
-
- LBND_IN( 3 ) = 1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 3 ) = 1
-
- FLAGS = AST__REBININIT + AST__REBINEND + AST__CONSERVEFLUX
- : + AST__USEVAR
-
- MAP = AST_ZOOMMAP( NDIM, 0.5D0, ' ', STATUS )
- CALL AST_REBINSEQD( MAP, 0.0D0, ndim, LBND_IN, UBND_IN, IN, VIN,
- : spread, PARAMS, FLAGS, 0.01D0, 50, VAL__BADD,
- : ndim, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : OUT, VOUT, WEIGHTS, NUSED, STATUS )
-
- IF( NDIM .EQ. 1 ) THEN
- ILO = 6
- IHI = NINT(0.45*NX1)
- JLO = 1
- JHI = 1
- ELSE
- ILO = 6
- IHI = 41
- JLO = 8
- JHI = 91
- ENDIF
-
- SUM = 0.0D0
- SUM2 = 0.0D0
- SUM3 = 0.0D0
- NVAL = 0
-
- DO I = ILO,IHI
- DO J = JLO, JHI
- K = ( J - 1 )*NX + I
- IF( OUT(K) .NE. VAL__BADD ) THEN
- SUM = SUM + OUT(K)
- SUM2 = SUM2 + OUT(K)**2
- SUM3 = SUM3 + VOUT(K)
- NVAL = NVAL + 1
- END IF
- END DO
- END DO
-
- SUM = SUM/NVAL
- REALVAR = SUM2/NVAL - SUM*SUM
- MEANVAR = SUM3/NVAL
-
- IF( ABS( REALVAR - MEANVAR ) .GT.
- : 0.05*( REALVAR + MEANVAR ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', REALVAR )
- CALL MSG_SETD( 'W', MEANVAR )
- CALL ERR_REP( ' ', 'Real variance is ^V - estimate is ^W.',
- : STATUS )
- END IF
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test10 failed', STATUS )
- END IF
-
- END
-
- SUBROUTINE TEST11( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER SIZE
- PARAMETER( SIZE = 20000 )
-
- INTEGER NX1, NY1
- PARAMETER( NX1 = SIZE )
- PARAMETER( NY1 = 1 )
-
- INTEGER NX2, NY2
- PARAMETER( NX2 = SIZE/200 )
- PARAMETER( NY2 = 200 )
-
- DOUBLE PRECISION SIGMA
- PARAMETER ( SIGMA = 0.1 )
-
- REAL*8 IN( SIZE ), VIN( SIZE )
- REAL*8 OUT( SIZE ), VOUT( SIZE )
- DOUBLE PRECISION PARAMS(2), WEIGHTS( SIZE, 2 )
- DOUBLE PRECISION REALVAR,MEANVAR,SUM,SUM2,SUM3
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : FLAGS, I, J, NVAL, JLO, JHI, NX, NY, ILO, IHI, K
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- DO I = 1, SIZE
- IN( I ) = 1.0D0
- VIN( I ) = SIGMA**2
- END DO
-
- CALL ADDNOISE( SIZE, IN, SIGMA, STATUS )
-
- IF( NDIM .EQ. 1 ) THEN
- NX = NX1
- Ny = NY1
- ELSE
- NX = NX2
- Ny = NY2
- END IF
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- UBND_IN( 1 ) = NX - 1
- UBND_IN( 2 ) = NY
-
- LBND_OUT( 1 ) = 0
- LBND_OUT( 2 ) = 1
- UBND_OUT( 1 ) = NX - 1
- UBND_OUT( 2 ) = NY
-
- LBND_IN( 3 ) = 1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 3 ) = 1
-
- FLAGS = AST__REBININIT + AST__REBINEND + AST__GENVAR
-
- MAP = AST_ZOOMMAP( NDIM, 0.5D0, ' ', STATUS )
- CALL AST_REBINSEQD( MAP, 0.0D0, ndim, LBND_IN, UBND_IN, IN, VIN,
- : spread, PARAMS, FLAGS, 0.01D0, 50, VAL__BADD,
- : ndim, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : OUT, VOUT, WEIGHTS, NUSED, STATUS )
-
- IF( NDIM .EQ. 1 ) THEN
- ILO = 6
- IHI = NINT(0.45*NX1)
- JLO = 1
- JHI = 1
- ELSE
- ILO = 6
- IHI = 41
- JLO = 8
- JHI = 91
- ENDIF
-
- SUM = 0.0D0
- SUM2 = 0.0D0
- SUM3 = 0.0D0
- NVAL = 0
-
- DO I = ILO,IHI
- DO J = JLO, JHI
- K = ( J - 1 )*NX + I
- IF( OUT(K) .NE. VAL__BADD ) THEN
- SUM = SUM + OUT(K)
- SUM2 = SUM2 + OUT(K)**2
- SUM3 = SUM3 + VOUT(K)
- NVAL = NVAL + 1
- END IF
- END DO
- END DO
-
- SUM = SUM/NVAL
- REALVAR = SUM2/NVAL - SUM*SUM
- MEANVAR = SUM3/NVAL
- IF( ABS( REALVAR - MEANVAR ) .GT.
- : 0.05*( REALVAR + MEANVAR ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', REALVAR )
- CALL MSG_SETD( 'W', MEANVAR )
- CALL ERR_REP( ' ', 'Real variance is ^V - estimate is ^W.',
- : STATUS )
- END IF
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test11 failed', STATUS )
- END IF
-
- END
-
-
- SUBROUTINE TEST12( NDIM, SPREAD, PARAMS, STATUS )
- IMPLICIT NONE
- INCLUDE 'SAE_PAR'
- INCLUDE 'AST_PAR'
- INCLUDE 'PRM_PAR'
-
- INTEGER SPREAD, STATUS, NDIM
-
- INTEGER SIZE
- PARAMETER( SIZE = 20000 )
-
- INTEGER NX1, NY1
- PARAMETER( NX1 = SIZE )
- PARAMETER( NY1 = 1 )
-
- INTEGER NX2, NY2
- PARAMETER( NX2 = SIZE/200 )
- PARAMETER( NY2 = 200 )
-
- DOUBLE PRECISION SIGMA
- PARAMETER ( SIGMA = 0.1 )
-
- REAL*8 IN( SIZE ), VIN( SIZE )
- REAL*8 OUT( SIZE ), VOUT( SIZE )
- DOUBLE PRECISION PARAMS(2), WEIGHTS( SIZE, 2 )
- DOUBLE PRECISION REALVAR,MEANVAR,SUM,SUM2,SUM3
- INTEGER MAP, LBND_IN(3), UBND_IN(3), LBND_OUT(3), UBND_OUT(3),
- : FLAGS, I, J, NVAL,jlo, jhi,NX, NY, ILO, IHI, K
- INTEGER*8 NUSED
-
- IF( STATUS .NE. SAI__OK ) RETURN
- CALL AST_BEGIN( STATUS )
-
- DO I = 1, SIZE
- IN( I ) = 1.0D0
- VIN( I ) = SIGMA**2
- END DO
-
- CALL ADDNOISE( SIZE, IN, SIGMA, STATUS )
-
- IF( NDIM .EQ. 1 ) THEN
- NX = NX1
- Ny = NY1
- ELSE
- NX = NX2
- Ny = NY2
- END IF
-
- LBND_IN( 1 ) = 0
- LBND_IN( 2 ) = 1
- UBND_IN( 1 ) = NX - 1
- UBND_IN( 2 ) = NY
-
- LBND_OUT( 1 ) = 0
- LBND_OUT( 2 ) = 1
- UBND_OUT( 1 ) = NX - 1
- UBND_OUT( 2 ) = NY
-
- LBND_IN( 3 ) = 1
- UBND_IN( 3 ) = 1
- LBND_OUT( 3 ) = 1
- UBND_OUT( 3 ) = 1
-
- FLAGS = AST__REBININIT + AST__REBINEND + AST__GENVAR +
- : AST__CONSERVEFLUX + AST__VARWGT
-
- MAP = AST_ZOOMMAP( NDIM, 0.5D0, ' ', STATUS )
- CALL AST_REBINSEQD( MAP, 0.0D0, ndim, LBND_IN, UBND_IN, IN, VIN,
- : spread, PARAMS, FLAGS, 0.01D0, 50, VAL__BADD,
- : ndim, LBND_OUT, UBND_OUT, LBND_IN, UBND_IN,
- : OUT, VOUT, WEIGHTS, NUSED, STATUS )
-
- IF( NDIM .EQ. 1 ) THEN
- ILO = 6
- IHI = NINT(0.45*NX1)
- JLO = 1
- JHI = 1
- ELSE
- ILO = 6
- IHI = 41
- JLO = 8
- JHI = 91
- ENDIF
-
- SUM = 0.0D0
- SUM2 = 0.0D0
- SUM3 = 0.0D0
- NVAL = 0
-
- DO I = ILO,IHI
- DO J = JLO, JHI
- K = ( J - 1 )*NX + I
- IF( OUT(K) .NE. VAL__BADD ) THEN
- SUM = SUM + OUT(K)
- SUM2 = SUM2 + OUT(K)**2
- SUM3 = SUM3 + VOUT(K)
- NVAL = NVAL + 1
- END IF
- END DO
- END DO
-
- SUM = SUM/NVAL
- REALVAR = SUM2/NVAL - SUM*SUM
- MEANVAR = SUM3/NVAL
- IF( ABS( REALVAR - MEANVAR ) .GT.
- : 0.05*( REALVAR + MEANVAR ) ) THEN
- STATUS = SAI__ERROR
- CALL MSG_SETD( 'V', REALVAR )
- CALL MSG_SETD( 'W', MEANVAR )
- CALL ERR_REP( ' ', 'Real variance is ^V - estimate is ^W.',
- : STATUS )
- END IF
-
- CALL AST_END( STATUS )
- IF( STATUS .NE. SAI__OK ) THEN
- CALL ERR_REP( ' ', 'test12 failed', STATUS )
- END IF
-
- END
-
-
diff --git a/ast/ast_tester/testregions.f b/ast/ast_tester/testregions.f
deleted file mode 100644
index 201ab17..0000000
--- a/ast/ast_tester/testregions.f
+++ /dev/null
@@ -1,4032 +0,0 @@
- program testregions
- implicit none
- include 'SAE_PAR'
- integer status
-
- status = sai__ok
-
-c call ast_watchmemory( 282905 )
-
- call ast_begin( status )
- call checkConvex( status )
- call checkRemoveRegions( status )
- call checkInterval( status )
- call checkEllipse( status )
- call checkPrism( status )
- call checkPolygon( status )
- call checkCircle( status )
- call checkBox( status )
- call checkNullRegion( status )
- call generalChecks( status )
- call checkCmpRegion( status )
- call checkPointList( status )
-
- call ast_end( status )
-
-c call ast_activememory( 'testregions' )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All Region tests passed'
- else
- write(*,*) 'Region tests failed'
- end if
-
- end
-
-
- subroutine generalChecks( status )
- implicit none
- include 'AST_PAR'
- include 'PRM_PAR'
- include 'SAE_PAR'
-
- integer status, frm1, frm2, frm3, reg1, reg2, reg3, reg4, reg5
- double precision lbnd(3), ubnd(3), p1(2), p2(2)
-
- if( status .ne.sai__ok ) return
-
- call ast_begin( status )
-
-
-
- lbnd(1) = 0.0D0
- lbnd(2) = AST__BAD
- ubnd(1) = AST__BAD
- ubnd(2) = 0.0D0
- frm1 = ast_frame( 2, ' ', status )
- reg1 = ast_interval( frm1, lbnd, ubnd, AST__NULL, ' ', status )
-
- call ast_getregionbounds( reg1, lbnd, ubnd, status )
- if( lbnd(1) .ne. 0.0D0 ) call stopit( status, 'General 1' )
- if( lbnd(2) .gt. 0.99*val__mind ) call stopit( status,
- : 'General 2' )
- if( ubnd(1) .lt. 0.99*val__maxd ) call stopit( status,
- : 'General 3' )
- if( ubnd(2) .ne. 0.0D0 ) call stopit( status, 'General 4' )
-
-
-
- p1(1) = 0.0D0
- p1(2) = 0.0D0
- p2(1) = 1.0D0
- reg2 = ast_circle( frm1, 1, p1, p2, AST__NULL, ' ', status )
-
- call ast_getregionbounds( reg2, lbnd, ubnd, status )
- if( lbnd(1) .ne. -1.0D0 ) call stopit( status, 'General 5' )
- if( lbnd(2) .ne. -1.0D0 ) call stopit( status, 'General 6' )
- if( ubnd(1) .ne. 1.0D0 ) call stopit( status, 'General 7' )
- if( ubnd(2) .ne. 1.0D0 ) call stopit( status, 'General 8' )
-
-
-
- reg3 = ast_cmpregion( reg1, reg2, AST__OR, ' ', status )
-
- call ast_getregionbounds( reg3, lbnd, ubnd, status )
- if( lbnd(1) .ne. -1.0D0 ) call stopit( status, 'General 9' )
- if( lbnd(2) .gt. 0.99*val__mind ) call stopit( status,
- : 'General 10' )
- if( ubnd(1) .lt. 0.99*val__maxd ) call stopit( status,
- : 'General 11' )
- if( ubnd(2) .ne. 1.0D0 ) call stopit( status, 'General 12' )
-
-
-
- lbnd(1) = -1.0D0
- ubnd(1) = 1.0D0
- frm2 = ast_frame( 1, ' ', status )
- reg4 = ast_interval( frm2, lbnd, ubnd, AST__NULL, ' ', status )
-
- call ast_getregionbounds( reg4, lbnd, ubnd, status )
- if( lbnd(1) .ne. -1.0D0 ) call stopit( status, 'General 13' )
- if( ubnd(1) .ne. 1.0D0 ) call stopit( status, 'General 14' )
-
-
-
- reg5 = ast_prism( reg3, reg4, ' ', status )
-
- call ast_getregionbounds( reg5, lbnd, ubnd, status )
- if( lbnd(1) .ne. -1.0D0 ) call stopit( status, 'General 15' )
- if( lbnd(2) .gt. 0.99*val__mind ) call stopit( status,
- : 'General 16' )
- if( ubnd(1) .lt. 0.99*val__maxd ) call stopit( status,
- : 'General 17' )
- if( ubnd(2) .ne. 1.0D0 ) call stopit( status, 'General 18' )
- if( lbnd(3) .ne. -1.0D0 ) call stopit( status, 'General 19' )
- if( ubnd(3) .ne. 1.0D0 ) call stopit( status, 'General 20' )
-
-
-
- call ast_negate( reg2, status )
- reg3 = ast_cmpregion( reg1, reg2, AST__OR, ' ', status )
-
- call ast_getregionbounds( reg3, lbnd, ubnd, status )
- if( lbnd(1) .gt. 0.99*val__mind ) call stopit( status,
- : 'General 21' )
- if( lbnd(2) .gt. 0.99*val__mind ) call stopit( status,
- : 'General 22' )
- if( ubnd(1) .lt. 0.99*val__maxd ) call stopit( status,
- : 'General 23' )
- if( ubnd(2) .lt. 0.99*val__maxd ) call stopit( status,
- : 'General 24' )
-
-
- reg5 = ast_prism( reg3, reg4, ' ', status )
-
- call ast_getregionbounds( reg5, lbnd, ubnd, status )
- if( lbnd(1) .gt. 0.99*val__mind ) call stopit( status,
- : 'General 25' )
- if( lbnd(2) .gt. 0.99*val__mind ) call stopit( status,
- : 'General 26' )
- if( ubnd(1) .lt. 0.99*val__maxd ) call stopit( status,
- : 'General 27' )
- if( ubnd(2) .lt. 0.99*val__maxd ) call stopit( status,
- : 'General 28' )
- if( lbnd(3) .ne. -1.0D0 ) call stopit( status, 'General 29' )
- if( ubnd(3) .ne. 1.0D0 ) call stopit( status, 'General 30' )
-
-
- reg3 = ast_cmpregion( reg1, reg2, AST__AND, ' ', status )
-
- call ast_getregionbounds( reg3, lbnd, ubnd, status )
- if( lbnd(1) .ne. 0.0D0 ) call stopit( status, 'General 31' )
- if( lbnd(2) .gt. 0.99*val__mind ) call stopit( status,
- : 'General 32' )
- if( ubnd(1) .lt. 0.99*val__maxd ) call stopit( status,
- : 'General 33' )
- if( ubnd(2) .ne. 0.0D0 ) call stopit( status, 'General 34' )
-
-
-
- reg5 = ast_prism( reg3, reg4, ' ', status )
-
- call ast_getregionbounds( reg5, lbnd, ubnd, status )
- if( lbnd(1) .ne. 0.0D0 ) call stopit( status, 'General 35' )
- if( lbnd(2) .gt. 0.99*val__mind ) call stopit( status,
- : 'General 36' )
- if( ubnd(1) .lt. 0.99*val__maxd ) call stopit( status,
- : 'General 37' )
- if( ubnd(2) .ne. 0.0D0 ) call stopit( status, 'General 38' )
- if( lbnd(3) .ne. -1.0D0 ) call stopit( status, 'General 39' )
- if( ubnd(3) .ne. 1.0D0 ) call stopit( status, 'General 40' )
-
-
- call ast_end( status )
- if( status .ne. sai__ok ) write(*,*) 'General tests failed'
-
- end
-
-
-
-
- subroutine checkInterval( status )
- implicit none
- include 'AST_PAR'
- include 'SAE_PAR'
-
- integer status, frm1, frm2, frm3, unc, int1, int2, int3, int4,
- : int5, frm4, map, outperm(6), inperm(6), pm, reg
- double precision lbnd(3), ubnd(3), p(5,3), q(5,3),in(4,3),out(4,3)
- double precision xin(9), yin(9), xout(9), yout(9)
-
- logical hasframeset
-
- if( status .ne.sai__ok ) return
-
- call ast_begin( status )
-
- frm1 = ast_skyframe( ' ', status )
- frm2 = ast_specframe( 'Unit=Angstrom', status )
- frm3 = ast_cmpframe( frm1, frm2, ' ', status )
-
- if( ast_getc( frm1, 'InternalUnit(1)', status ) .ne. 'rad' )
- : call stopit( status, 'InternalUnit 1' )
- if( ast_getc( frm1, 'InternalUnit(2)', status ) .ne. 'rad' )
- : call stopit( status, 'InternalUnit 2' )
- if( ast_getc( frm2, 'InternalUnit(1)', status ) .ne. 'Angstrom' )
- : call stopit( status, 'InternalUnit 3' )
- if( ast_getc( frm3, 'InternalUnit(1)', status ) .ne. 'rad' )
- : call stopit( status, 'InternalUnit 4' )
- if( ast_getc( frm3, 'InternalUnit(2)', status ) .ne. 'rad' )
- : call stopit( status, 'InternalUnit 5' )
- if( ast_getc( frm3, 'InternalUnit(3)', status ) .ne. 'Angstrom' )
- : call stopit( status, 'InternalUnit 6' )
-
- lbnd( 1 ) = AST__BAD
- lbnd( 2 ) = AST__BAD
- lbnd( 3 ) = 5000.0
- ubnd( 1 ) = AST__BAD
- ubnd( 2 ) = AST__BAD
- ubnd( 3 ) = 6000.0
-
- int1 = ast_interval( frm3, lbnd, ubnd, AST__NULL, ' ', status )
- call checkdump( int1, 'checkdump int1', status )
-
- p(1,1) = 0.0 ! On boundary
- p(1,2) = 0.0
- p(1,3) = 5000.0
- p(2,1) = 2.0 ! On boundary
- p(2,2) = -1.0
- p(2,3) = 6000.0
- p(3,1) = -2.0 ! Inside
- p(3,2) = 1.0
- p(3,3) = 5999.0
- p(4,1) = 2.0 ! Outside
- p(4,2) = -2.0
- p(4,3) = 6010.0
- p(5,1) = 1.0 ! Outside
- p(5,2) = -1.0
- p(5,3) = 4910.0
-
- call ast_trann( int1, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. p(1,1)) call stopit( status, 'Interval 1' )
- if( q(1,2) .ne. p(1,2)) call stopit( status, 'Interval 1b' )
- if( q(1,3) .ne. p(1,3)) call stopit( status, 'Interval 1c' )
- if( q(2,1) .ne. p(2,1)) call stopit( status, 'Interval 2' )
- if( q(2,2) .ne. p(2,2)) call stopit( status, 'Interval 2b' )
- if( q(2,3) .ne. p(2,3)) call stopit( status, 'Interval 2c' )
- if( q(3,1) .ne. p(3,1)) call stopit( status, 'Interval 3' )
- if( q(3,2) .ne. p(3,2)) call stopit( status, 'Interval 3b' )
- if( q(3,3) .ne. p(3,3)) call stopit( status, 'Interval 3c' )
- if( q(4,1) .ne. AST__BAD ) call stopit( status, 'Interval 4' )
- if( q(4,2) .ne. AST__BAD ) call stopit( status, 'Interval 4b' )
- if( q(4,3) .ne. AST__BAD ) call stopit( status, 'Interval 4c' )
- if( q(5,1) .ne. AST__BAD ) call stopit( status, 'Interval 5' )
- if( q(5,2) .ne. AST__BAD ) call stopit( status, 'Interval 5b' )
- if( q(5,3) .ne. AST__BAD ) call stopit( status, 'Interval 5c' )
-
- call ast_negate( int1, status )
- call ast_trann( int1, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. p(1,1)) call stopit( status, 'Interval 6' )
- if( q(1,2) .ne. p(1,2)) call stopit( status, 'Interval 6b' )
- if( q(1,3) .ne. p(1,3)) call stopit( status, 'Interval 6c' )
- if( q(2,1) .ne. p(2,1)) call stopit( status, 'Interval 7' )
- if( q(2,2) .ne. p(2,2)) call stopit( status, 'Interval 7b' )
- if( q(2,3) .ne. p(2,3)) call stopit( status, 'Interval 7c' )
- if( q(3,1) .ne. AST__BAD) call stopit( status, 'Interval 8' )
- if( q(3,2) .ne. AST__BAD) call stopit( status, 'Interval 8b' )
- if( q(3,3) .ne. AST__BAD) call stopit( status, 'Interval 8c' )
- if( q(4,1) .ne. p(4,1) ) call stopit( status, 'Interval 9' )
- if( q(4,2) .ne. p(4,2) ) call stopit( status, 'Interval 9b' )
- if( q(4,3) .ne. p(4,3) ) call stopit( status, 'Interval 9c' )
- if( q(5,1) .ne. p(5,1) ) call stopit( status, 'Interval 10' )
- if( q(5,2) .ne. p(5,2) ) call stopit( status, 'Interval 10b' )
- if( q(5,3) .ne. p(5,3) ) call stopit( status, 'Interval 10c' )
-
- call ast_set( int1, 'closed=0,negated=0', status )
- call ast_trann( int1, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. AST__BAD ) call stopit( status, 'Interval 11' )
- if( q(1,2) .ne. AST__BAD ) call stopit( status, 'Interval 11b' )
- if( q(1,3) .ne. AST__BAD ) call stopit( status, 'Interval 11c' )
- if( q(2,1) .ne. AST__BAD ) call stopit( status, 'Interval 12' )
- if( q(2,2) .ne. AST__BAD ) call stopit( status, 'Interval 12b' )
- if( q(2,3) .ne. AST__BAD ) call stopit( status, 'Interval 12c' )
- if( q(3,1) .ne. p(3,1)) call stopit( status, 'Interval 13' )
- if( q(3,2) .ne. p(3,2)) call stopit( status, 'Interval 13b' )
- if( q(3,3) .ne. p(3,3)) call stopit( status, 'Interval 13c' )
- if( q(4,1) .ne. AST__BAD ) call stopit( status, 'Interval 14' )
- if( q(4,2) .ne. AST__BAD ) call stopit( status, 'Interval 14b' )
- if( q(4,3) .ne. AST__BAD ) call stopit( status, 'Interval 14c' )
- if( q(5,1) .ne. AST__BAD ) call stopit( status, 'Interval 15' )
- if( q(5,2) .ne. AST__BAD ) call stopit( status, 'Interval 15b' )
- if( q(5,3) .ne. AST__BAD ) call stopit( status, 'Interval 15c' )
-
- call ast_negate( int1, status )
- call ast_trann( int1, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. AST__BAD) call stopit( status, 'Interval 16' )
- if( q(1,2) .ne. AST__BAD) call stopit( status, 'Interval 16b' )
- if( q(1,3) .ne. AST__BAD) call stopit( status, 'Interval 16c' )
- if( q(2,1) .ne. AST__BAD) call stopit( status, 'Interval 17' )
- if( q(2,2) .ne. AST__BAD) call stopit( status, 'Interval 17b' )
- if( q(2,3) .ne. AST__BAD) call stopit( status, 'Interval 17c' )
- if( q(3,1) .ne. AST__BAD) call stopit( status, 'Interval 18' )
- if( q(3,2) .ne. AST__BAD) call stopit( status, 'Interval 18b' )
- if( q(3,3) .ne. AST__BAD) call stopit( status, 'Interval 18c' )
- if( q(4,1) .ne. p(4,1) ) call stopit( status, 'Interval 19' )
- if( q(4,2) .ne. p(4,2) ) call stopit( status, 'Interval 19b' )
- if( q(4,3) .ne. p(4,3) ) call stopit( status, 'Interval 19c' )
- if( q(5,1) .ne. p(5,1) ) call stopit( status, 'Interval 11' )
- if( q(5,2) .ne. p(5,2) ) call stopit( status, 'Interval 11b' )
- if( q(5,3) .ne. p(5,3) ) call stopit( status, 'Interval 11c' )
-
-
- lbnd( 1 ) = AST__BAD
- lbnd( 2 ) = AST__BAD
- lbnd( 3 ) = 6000.0
- ubnd( 1 ) = AST__BAD
- ubnd( 2 ) = AST__BAD
- ubnd( 3 ) = 5000.0
-
- int2 = ast_interval( frm3, lbnd, ubnd, AST__NULL, ' ', status )
- call checkdump( int2, 'checkdump int2', status )
-
- p(1,1) = 0.0 ! On boundary
- p(1,2) = 0.0
- p(1,3) = 5000.0
- p(2,1) = 2.0 ! On boundary
- p(2,2) = -1.0
- p(2,3) = 6000.0
- p(3,1) = -2.0 ! Outside
- p(3,2) = 1.0
- p(3,3) = 5999.0
- p(4,1) = 2.0 ! Inside
- p(4,2) = -2.0
- p(4,3) = 6010.0
- p(5,1) = 1.0 ! Inside
- p(5,2) = -1.0
- p(5,3) = 4910.0
-
- call ast_negate( int2, status )
- call ast_trann( int2, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. p(1,1)) call stopit( status, 'Interval B 1' )
- if( q(1,2) .ne. p(1,2)) call stopit( status, 'Interval B 1b' )
- if( q(1,3) .ne. p(1,3)) call stopit( status, 'Interval B 1c' )
- if( q(2,1) .ne. p(2,1)) call stopit( status, 'Interval B 2' )
- if( q(2,2) .ne. p(2,2)) call stopit( status, 'Interval B 2b' )
- if( q(2,3) .ne. p(2,3)) call stopit( status, 'Interval B 2c' )
- if( q(3,1) .ne. p(3,1)) call stopit( status, 'Interval B 3' )
- if( q(3,2) .ne. p(3,2)) call stopit( status, 'Interval B 3b' )
- if( q(3,3) .ne. p(3,3)) call stopit( status, 'Interval B 3c' )
- if( q(4,1) .ne. AST__BAD ) call stopit( status, 'Interval B 4' )
- if( q(4,2) .ne. AST__BAD ) call stopit( status, 'Interval B 4b' )
- if( q(4,3) .ne. AST__BAD ) call stopit( status, 'Interval B 4c' )
- if( q(5,1) .ne. AST__BAD ) call stopit( status, 'Interval B 5' )
- if( q(5,2) .ne. AST__BAD ) call stopit( status, 'Interval B 5b' )
- if( q(5,3) .ne. AST__BAD ) call stopit( status, 'Interval B 5c' )
-
- call ast_negate( int2, status )
- call ast_trann( int2, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. p(1,1)) call stopit( status, 'Interval B 6' )
- if( q(1,2) .ne. p(1,2)) call stopit( status, 'Interval B 6b' )
- if( q(1,3) .ne. p(1,3)) call stopit( status, 'Interval B 6c' )
- if( q(2,1) .ne. p(2,1)) call stopit( status, 'Interval B 7' )
- if( q(2,2) .ne. p(2,2)) call stopit( status, 'Interval B 7b' )
- if( q(2,3) .ne. p(2,3)) call stopit( status, 'Interval B 7c' )
- if( q(3,1) .ne. AST__BAD) call stopit( status, 'Interval B 8' )
- if( q(3,2) .ne. AST__BAD) call stopit( status, 'Interval B 8b' )
- if( q(3,3) .ne. AST__BAD) call stopit( status, 'Interval B 8c' )
- if( q(4,1) .ne. p(4,1) ) call stopit( status, 'Interval B 9' )
- if( q(4,2) .ne. p(4,2) ) call stopit( status, 'Interval B 9b' )
- if( q(4,3) .ne. p(4,3) ) call stopit( status, 'Interval B 9c' )
- if( q(5,1) .ne. p(5,1) ) call stopit( status, 'Interval B 10' )
- if( q(5,2) .ne. p(5,2) ) call stopit( status, 'Interval B 10b' )
- if( q(5,3) .ne. p(5,3) ) call stopit( status, 'Interval B 10c' )
-
- call ast_set( int2, 'closed=0,negated=1', status )
- call ast_trann( int2, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. AST__BAD ) call stopit( status, 'Interval B 11' )
- if( q(1,2) .ne. AST__BAD ) call stopit( status, 'Interval B 11b' )
- if( q(1,3) .ne. AST__BAD ) call stopit( status, 'Interval B 11c' )
- if( q(2,1) .ne. AST__BAD ) call stopit( status, 'Interval B 12' )
- if( q(2,2) .ne. AST__BAD ) call stopit( status, 'Interval B 12b' )
- if( q(2,3) .ne. AST__BAD ) call stopit( status, 'Interval B 12c' )
- if( q(3,1) .ne. p(3,1)) call stopit( status, 'Interval B 13' )
- if( q(3,2) .ne. p(3,2)) call stopit( status, 'Interval B 13b' )
- if( q(3,3) .ne. p(3,3)) call stopit( status, 'Interval B 13c' )
- if( q(4,1) .ne. AST__BAD ) call stopit( status, 'Interval B 14' )
- if( q(4,2) .ne. AST__BAD ) call stopit( status, 'Interval B 14b' )
- if( q(4,3) .ne. AST__BAD ) call stopit( status, 'Interval B 14c' )
- if( q(5,1) .ne. AST__BAD ) call stopit( status, 'Interval B 15' )
- if( q(5,2) .ne. AST__BAD ) call stopit( status, 'Interval B 15b' )
- if( q(5,3) .ne. AST__BAD ) call stopit( status, 'Interval B 15c' )
-
- call ast_negate( int2, status )
- call ast_trann( int2, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. AST__BAD) call stopit( status, 'Interval B 16' )
- if( q(1,2) .ne. AST__BAD) call stopit( status, 'Interval B 16b' )
- if( q(1,3) .ne. AST__BAD) call stopit( status, 'Interval B 16c' )
- if( q(2,1) .ne. AST__BAD) call stopit( status, 'Interval B 17' )
- if( q(2,2) .ne. AST__BAD) call stopit( status, 'Interval B 17b' )
- if( q(2,3) .ne. AST__BAD) call stopit( status, 'Interval B 17c' )
- if( q(3,1) .ne. AST__BAD) call stopit( status, 'Interval B 18' )
- if( q(3,2) .ne. AST__BAD) call stopit( status, 'Interval B 18b' )
- if( q(3,3) .ne. AST__BAD) call stopit( status, 'Interval B 18c' )
- if( q(4,1) .ne. p(4,1) ) call stopit( status, 'Interval B 19' )
- if( q(4,2) .ne. p(4,2) ) call stopit( status, 'Interval B 19b' )
- if( q(4,3) .ne. p(4,3) ) call stopit( status, 'Interval B 19c' )
- if( q(5,1) .ne. p(5,1) ) call stopit( status, 'Interval B 11' )
- if( q(5,2) .ne. p(5,2) ) call stopit( status, 'Interval B 11b' )
- if( q(5,3) .ne. p(5,3) ) call stopit( status, 'Interval B 11c' )
-
-
-
-
- lbnd( 1 ) = AST__BAD
- lbnd( 2 ) = AST__BAD
- lbnd( 3 ) = 5000.0
- ubnd( 1 ) = 0.5
- ubnd( 2 ) = AST__BAD
- ubnd( 3 ) = AST__BAD
-
- int3 = ast_interval( frm3, lbnd, ubnd, AST__NULL, ' ', status )
-
- call checkdump( int3, 'checkdump int3', status )
-
- p(1,1) = 0.0 ! On boundary
- p(1,2) = 0.0
- p(1,3) = 5000.0
- p(2,1) = 0.5 ! On boundary
- p(2,2) = -1.0
- p(2,3) = 6000.0
- p(3,1) = -2.0 ! Inside
- p(3,2) = 0.4
- p(3,3) = 5999.0
- p(4,1) = 2.0 ! Outside
- p(4,2) = -2.0
- p(4,3) = 6010.0
- p(5,1) = 0.0 ! Outside
- p(5,2) = -3.0
- p(5,3) = 4910.0
-
- call ast_trann( int3, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. p(1,1)) call stopit( status, 'Interval C 1' )
- if( q(1,2) .ne. p(1,2)) call stopit( status, 'Interval C 1b' )
- if( q(1,3) .ne. p(1,3)) call stopit( status, 'Interval C 1c' )
- if( q(2,1) .ne. p(2,1)) call stopit( status, 'Interval C 2' )
- if( q(2,2) .ne. p(2,2)) call stopit( status, 'Interval C 2b' )
- if( q(2,3) .ne. p(2,3)) call stopit( status, 'Interval C 2c' )
- if( q(3,1) .ne. p(3,1)) call stopit( status, 'Interval C 3' )
- if( q(3,2) .ne. p(3,2)) call stopit( status, 'Interval C 3b' )
- if( q(3,3) .ne. p(3,3)) call stopit( status, 'Interval C 3c' )
- if( q(4,1) .ne. AST__BAD ) call stopit( status, 'Interval C 4' )
- if( q(4,2) .ne. AST__BAD ) call stopit( status, 'Interval C 4b' )
- if( q(4,3) .ne. AST__BAD ) call stopit( status, 'Interval C 4c' )
- if( q(5,1) .ne. AST__BAD ) call stopit( status, 'Interval C 5' )
- if( q(5,2) .ne. AST__BAD ) call stopit( status, 'Interval C 5b' )
- if( q(5,3) .ne. AST__BAD ) call stopit( status, 'Interval C 5c' )
-
- call ast_negate( int3, status )
- call ast_trann( int3, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. p(1,1)) call stopit( status, 'Interval C 6' )
- if( q(1,2) .ne. p(1,2)) call stopit( status, 'Interval C 6b' )
- if( q(1,3) .ne. p(1,3)) call stopit( status, 'Interval C 6c' )
- if( q(2,1) .ne. p(2,1)) call stopit( status, 'Interval C 7' )
- if( q(2,2) .ne. p(2,2)) call stopit( status, 'Interval C 7b' )
- if( q(2,3) .ne. p(2,3)) call stopit( status, 'Interval C 7c' )
- if( q(3,1) .ne. AST__BAD) call stopit( status, 'Interval C 8' )
- if( q(3,2) .ne. AST__BAD) call stopit( status, 'Interval C 8b' )
- if( q(3,3) .ne. AST__BAD) call stopit( status, 'Interval C 8c' )
- if( q(4,1) .ne. p(4,1) ) call stopit( status, 'Interval C 9' )
- if( q(4,2) .ne. p(4,2) ) call stopit( status, 'Interval C 9b' )
- if( q(4,3) .ne. p(4,3) ) call stopit( status, 'Interval C 9c' )
- if( q(5,1) .ne. p(5,1) ) call stopit( status, 'Interval C 10' )
- if( q(5,2) .ne. p(5,2) ) call stopit( status, 'Interval C 10b' )
- if( q(5,3) .ne. p(5,3) ) call stopit( status, 'Interval C 10c' )
-
- call ast_set( int3, 'closed=0,negated=0', status )
- call ast_trann( int3, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. AST__BAD ) call stopit( status, 'Interval C 11' )
- if( q(1,2) .ne. AST__BAD ) call stopit( status, 'Interval C 11b' )
- if( q(1,3) .ne. AST__BAD ) call stopit( status, 'Interval C 11c' )
- if( q(2,1) .ne. AST__BAD ) call stopit( status, 'Interval C 12' )
- if( q(2,2) .ne. AST__BAD ) call stopit( status, 'Interval C 12b' )
- if( q(2,3) .ne. AST__BAD ) call stopit( status, 'Interval C 12c' )
- if( q(3,1) .ne. p(3,1)) call stopit( status, 'Interval C 13' )
- if( q(3,2) .ne. p(3,2)) call stopit( status, 'Interval C 13b' )
- if( q(3,3) .ne. p(3,3)) call stopit( status, 'Interval C 13c' )
- if( q(4,1) .ne. AST__BAD ) call stopit( status, 'Interval C 14' )
- if( q(4,2) .ne. AST__BAD ) call stopit( status, 'Interval C 14b' )
- if( q(4,3) .ne. AST__BAD ) call stopit( status, 'Interval C 14c' )
- if( q(5,1) .ne. AST__BAD ) call stopit( status, 'Interval C 15' )
- if( q(5,2) .ne. AST__BAD ) call stopit( status, 'Interval C 15b' )
- if( q(5,3) .ne. AST__BAD ) call stopit( status, 'Interval C 15c' )
-
- call ast_negate( int3, status )
- call ast_trann( int3, 5, 3, 5, p, .true., 3, 5, q, status )
- if( q(1,1) .ne. AST__BAD) call stopit( status, 'Interval C 16' )
- if( q(1,2) .ne. AST__BAD) call stopit( status, 'Interval C 16b' )
- if( q(1,3) .ne. AST__BAD) call stopit( status, 'Interval C 16c' )
- if( q(2,1) .ne. AST__BAD) call stopit( status, 'Interval C 17' )
- if( q(2,2) .ne. AST__BAD) call stopit( status, 'Interval C 17b' )
- if( q(2,3) .ne. AST__BAD) call stopit( status, 'Interval C 17c' )
- if( q(3,1) .ne. AST__BAD) call stopit( status, 'Interval C 18' )
- if( q(3,2) .ne. AST__BAD) call stopit( status, 'Interval C 18b' )
- if( q(3,3) .ne. AST__BAD) call stopit( status, 'Interval C 18c' )
- if( q(4,1) .ne. p(4,1) ) call stopit( status, 'Interval C 19' )
- if( q(4,2) .ne. p(4,2) ) call stopit( status, 'Interval C 19b' )
- if( q(4,3) .ne. p(4,3) ) call stopit( status, 'Interval C 19c' )
- if( q(5,1) .ne. p(5,1) ) call stopit( status, 'Interval C 11' )
- if( q(5,2) .ne. p(5,2) ) call stopit( status, 'Interval C 11b' )
- if( q(5,3) .ne. p(5,3) ) call stopit( status, 'Interval C 11c' )
-
-
-
- lbnd( 1 ) = AST__BAD
- lbnd( 2 ) = 0.0
- lbnd( 3 ) = AST__BAD
- ubnd( 1 ) = AST__BAD
- ubnd( 2 ) = -1.0
- ubnd( 3 ) = 6000.0
-
- call ast_setl( int3, 'Negated', .false., status )
- int4 = ast_interval( frm3, lbnd, ubnd, AST__NULL, ' ', status )
- if( ast_overlap( int3, int4, status ) .ne. 4 )
- : call stopit( status, 'Interval overlap 1' )
-
- call ast_negate( int3, status )
- if( ast_overlap( int3, int4, status ) .ne. 4 )
- : call stopit( status, 'Interval overlap 2' )
-
- call ast_negate( int4, status )
- if( ast_overlap( int3, int4, status ) .ne. 4 )
- : call stopit( status, 'Interval overlap 3' )
-
- call ast_negate( int3, status )
- if( ast_overlap( int3, int4, status ) .ne. 4 )
- : call stopit( status, 'Interval overlap 4' )
-
-
- lbnd( 1 ) = 0.6
- lbnd( 2 ) = 0.0
- lbnd( 3 ) = AST__BAD
- ubnd( 1 ) = AST__BAD
- ubnd( 2 ) = -1.0
- ubnd( 3 ) = 6000.0
-
- int4 = ast_interval( frm3, lbnd, ubnd, AST__NULL, ' ', status )
- if( ast_overlap( int3, int4, status ) .ne. 1 )
- : call stopit( status, 'Interval overlap 5' )
-
- call ast_negate( int3, status )
- if( ast_overlap( int3, int4, status ) .ne. 3 )
- : call stopit( status, 'Interval overlap 6' )
-
- call ast_negate( int4, status )
- if( ast_overlap( int3, int4, status ) .ne. 4 )
- : call stopit( status, 'Interval overlap 7' )
-
- call ast_negate( int3, status )
- if( ast_overlap( int3, int4, status ) .ne. 2 )
- : call stopit( status, 'Interval overlap 8' )
-
-
- int4 = ast_copy( int3, status )
- if( ast_overlap( int3, int4, status ) .ne. 5 )
- : call stopit( status, 'Interval overlap 9' )
-
- call ast_negate( int4, status )
- if( ast_overlap( int3, int4, status ) .ne. 6 )
- : call stopit( status, 'Interval overlap 10' )
-
-
-
-* Changing the number of axes in the Interval.
-
- frm1 = ast_frame( 2, 'Domain=A', status )
-
- lbnd(1) = 0.0
- lbnd(2) = 0.0
- ubnd(1) = 0.01
- ubnd(2) = 0.01
- unc = ast_box( frm1, 0, lbnd, ubnd, AST__NULL, ' ', status )
-
- lbnd(1) = -2.0
- lbnd(2) = 0.5
- ubnd(1) = 0.0
- ubnd(2) = AST__BAD
- int1 = ast_interval( frm1, lbnd, ubnd, unc, ' ', status )
-
- outperm(1) = 2
- outperm(2) = -1
- outperm(3) = 1
-
- inperm(1) = 3
- inperm(2) = 1
-
- pm = ast_permmap( 2, inperm, 3, outperm, 0.0D0, ' ', status )
-
- frm2 = ast_frame( 3, 'Domain=B', status )
- reg = ast_mapregion( int1, pm, frm2, status )
-
- if( .not. ast_isainterval( reg, status ) ) call stopit( status,
- : 'Int: perm check 1' )
- if( hasFrameSet( reg, status ) ) call stopit( status,
- : 'Int: perm check 2' )
- if( ast_geti( reg, 'naxes', status ) .ne. 3 ) call stopit( status,
- : 'Int: perm check 3' )
-
- in( 1, 1 ) = 0.0 ! Outside
- in( 1, 2 ) = 0.0
- in( 1, 3 ) = -0.5
- in( 2, 1 ) = 20.0 ! Inside
- in( 2, 2 ) = 0.0
- in( 2, 3 ) = -0.5
- in( 3, 1 ) = 20.0 ! Outside
- in( 3, 2 ) = -10.0
- in( 3, 3 ) = 0.5
- in( 4, 1 ) = 20.0 ! Boundary
- in( 4, 2 ) = 0.0
- in( 4, 3 ) = -2.0
-
- call ast_trann( reg, 4, 3, 4, in, .true., 3, 4, out, status )
-
- if( out( 1, 1 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 1' )
- if( out( 1, 2 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 2' )
- if( out( 1, 3 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 3' )
-
- if( out( 2, 1 ) .ne. in( 2,1 )) call stopit( status, 'Int: pc 4' )
- if( out( 2, 2 ) .ne. in( 2,2 )) call stopit( status, 'Int: pc 5' )
- if( out( 2, 3 ) .ne. in( 2,3 )) call stopit( status, 'Int: pc 6' )
-
- if( out( 3, 1 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 7' )
- if( out( 3, 2 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 8' )
- if( out( 3, 3 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 9' )
-
- if( out( 4, 1 ) .ne. in( 4,1 )) call stopit( status, 'Int: pc 10')
- if( out( 4, 2 ) .ne. in( 4,2 )) call stopit( status, 'Int: pc 11')
- if( out( 4, 3 ) .ne. in( 4,3 )) call stopit( status, 'Int: pc 12')
-
-
-
- outperm(1) = 2
- outperm(2) = -1
- outperm(3) = 1
-
- inperm(1) = 3
- inperm(2) = 1
-
- pm = ast_permmap( 2, inperm, 3, outperm, 1.5D0, ' ', status )
-
- frm2 = ast_frame( 3, 'Domain=B', status )
- reg = ast_mapregion( int1, pm, frm2, status )
-
- if( .not. ast_isainterval( reg, status ) ) call stopit( status,
- : 'Int: perm check 4' )
- if( hasFrameSet( reg, status ) ) call stopit( status,
- : 'Int: perm check 5' )
- if( ast_geti( reg, 'naxes', status ) .ne. 3 ) call stopit( status,
- : 'Int: perm check 6' )
-
- in( 1, 1 ) = 20.0 ! Outside
- in( 1, 2 ) = 0.0
- in( 1, 3 ) = -0.5
- in( 2, 1 ) = 20.0 ! Inside
- in( 2, 2 ) = 1.5
- in( 2, 3 ) = -0.5
- in( 3, 1 ) = 20.0 ! Outside
- in( 3, 2 ) = 1.6
- in( 3, 3 ) = -0.5
- in( 4, 1 ) = 0.5 ! Boundary
- in( 4, 2 ) = 1.5
- in( 4, 3 ) = 0.0
-
- call ast_trann( reg, 4, 3, 4, in, .true., 3, 4, out, status )
-
- if( out( 1, 1 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 13')
- if( out( 1, 2 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 14')
- if( out( 1, 3 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 15')
-
- if( out( 2, 1 ) .ne. in( 2,1 )) call stopit( status, 'Int: pc 16')
- if( out( 2, 2 ) .ne. in( 2,2 )) call stopit( status, 'Int: pc 17')
- if( out( 2, 3 ) .ne. in( 2,3 )) call stopit( status, 'Int: pc 18')
-
- if( out( 3, 1 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 19')
- if( out( 3, 2 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 20')
- if( out( 3, 3 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 21')
-
- if( out( 4, 1 ) .ne. in( 4,1 )) call stopit( status, 'Int: pc 22')
- if( out( 4, 2 ) .ne. in( 4,2 )) call stopit( status, 'Int: pc 23')
- if( out( 4, 3 ) .ne. in( 4,3 )) call stopit( status, 'Int: pc 24')
-
-
-
- call ast_negate( int1, status )
- call ast_set( int1, 'closed=0', status )
- reg = ast_mapregion( int1, pm, frm2, status )
- call ast_negate( int1, status )
- call ast_set( int1, 'closed=1', status )
-
- if( .not. ast_isainterval( reg, status ) ) call stopit( status,
- : 'Int: perm check 7' )
- if( hasFrameSet( reg, status ) ) call stopit( status,
- : 'Int: perm check 8' )
- if( ast_geti( reg, 'naxes', status ) .ne. 3 ) call stopit( status,
- : 'Int: perm check 9' )
-
- in( 1, 1 ) = 20.0 ! Inside
- in( 1, 2 ) = 0.0
- in( 1, 3 ) = -0.5
- in( 2, 1 ) = 20.0 ! Outside
- in( 2, 2 ) = 1.5
- in( 2, 3 ) = -0.5
- in( 3, 1 ) = 20.0 ! Inside
- in( 3, 2 ) = 1.6
- in( 3, 3 ) = -0.5
- in( 4, 1 ) = 0.5 ! Outside
- in( 4, 2 ) = 1.5
- in( 4, 3 ) = 0.0
-
- call ast_trann( reg, 4, 3, 4, in, .true., 3, 4, out, status )
-
- if( out( 1, 1 ) .ne. in( 1,1 )) call stopit( status, 'Int: pc 25')
- if( out( 1, 2 ) .ne. in( 1,2 )) call stopit( status, 'Int: pc 26')
- if( out( 1, 3 ) .ne. in( 1,3 )) call stopit( status, 'Int: pc 27')
-
- if( out( 2, 1 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 28')
- if( out( 2, 2 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 29')
- if( out( 2, 3 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 30')
-
- if( out( 3, 1 ) .ne. in( 3,1 )) call stopit( status, 'Int: pc 31')
- if( out( 3, 2 ) .ne. in( 3,2 )) call stopit( status, 'Int: pc 32')
- if( out( 3, 3 ) .ne. in( 3,3 )) call stopit( status, 'Int: pc 33')
-
- if( out( 4, 1 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 34')
- if( out( 4, 2 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 35')
- if( out( 4, 3 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 36')
-
-
-
-
- frm1 = ast_frame( 3, 'Domain=A', status )
-
-
- lbnd(1) = 0.0
- lbnd(2) = 0.0
- lbnd(3) = 0.0
- ubnd(1) = 0.01
- ubnd(2) = 0.01
- ubnd(3) = 0.01
- unc = ast_box( frm1, 0, lbnd, ubnd, AST__NULL, ' ', status )
-
- lbnd(1) = 0.5
- lbnd(2) = -1.0
- lbnd(3) = -2.0
- ubnd(1) = AST__BAD
- ubnd(2) = AST__BAD
- ubnd(3) = 0.0
-
- int1 = ast_interval( frm1, lbnd, ubnd, unc, ' ', status )
-
- outperm(1) = 1
- outperm(2) = 3
-
- inperm(1) = 1
- inperm(2) = -1
- inperm(3) = 2
-
- pm = ast_permmap( 3, inperm, 2, outperm, 1.0D0, ' ', status )
-
- frm2 = ast_frame( 2, 'Domain=B', status )
- reg = ast_mapregion( int1, pm, frm2, status )
-
- if( .not. ast_isainterval( reg, status ) ) call stopit( status,
- : 'Int: perm check 10' )
- if( hasFrameSet( reg, status ) ) call stopit( status,
- : 'Int: perm check 11' )
- if( ast_geti( reg, 'naxes', status ) .ne. 2 ) call stopit( status,
- : 'Int: perm check 12' )
-
- xin( 1 ) = 0.4 ! Out
- yin( 1 ) = -1.0
- xin( 2 ) = 1.0 ! Out
- yin( 2 ) = 0.1
- xin( 3 ) = 1.0 ! Out
- yin( 3 ) = -2.1
- xin( 4 ) = 0.5 ! Boundary
- yin( 4 ) = -1.0
- xin( 5 ) = 10.0 ! In
- yin( 5 ) = -0.1
- xin( 6 ) = 0.55 ! Boundary
- yin( 6 ) = -2.0
-
-
- call ast_tran2( reg, 6, xin, yin, .true., xout, yout, status )
-
- if( xout( 1 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 37')
- if( yout( 1 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 38')
- if( xout( 2 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 39')
- if( yout( 2 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 40')
- if( xout( 3 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 41')
- if( yout( 3 ) .ne. AST__BAD ) call stopit( status, 'Int: pc 42')
- if( xout( 4 ) .ne. xin( 4 ) ) call stopit( status, 'Int: pc 43')
- if( yout( 4 ) .ne. yin( 4 ) ) call stopit( status, 'Int: pc 44')
- if( xout( 5 ) .ne. xin( 5 ) ) call stopit( status, 'Int: pc 45')
- if( yout( 5 ) .ne. yin( 5 ) ) call stopit( status, 'Int: pc 46')
- if( xout( 6 ) .ne. xin( 6 ) ) call stopit( status, 'Int: pc 47')
- if( yout( 6 ) .ne. yin( 6 ) ) call stopit( status, 'Int: pc 48')
-
-
- pm = ast_permmap( 3, inperm, 2, outperm, -2.0D0, ' ', status )
- reg = ast_mapregion( int1, pm, frm2, status )
-
- if( .not. ast_isanullregion( reg, status ) ) call stopit( status,
- : 'Int: perm check 13' )
- if( hasFrameSet( reg, status ) ) call stopit( status,
- : 'Int: perm check 14' )
- if( ast_geti( reg, 'naxes', status ) .ne. 2 ) call stopit( status,
- : 'Int: perm check 15' )
- if( ast_getl( reg, 'negated', status ) ) call stopit( status,
- : 'Int: perm check 16' )
-
-
- call ast_negate( int1, status )
- reg = ast_mapregion( int1, pm, frm2, status )
-
- if( .not. ast_isanullregion( reg, status ) ) call stopit( status,
- : 'Int: perm check 17' )
- if( hasFrameSet( reg, status ) ) call stopit( status,
- : 'Int: perm check 18' )
- if( ast_geti( reg, 'naxes', status ) .ne. 2 ) call stopit( status,
- : 'Int: perm check 19' )
- if( .NOT.ast_getl( reg, 'negated', status ) ) call stopit( status,
- : 'Int: perm check 20' )
-
-
-
-
- call ast_end( status )
- if( status .ne. sai__ok ) write(*,*) 'Interval tests failed'
-
- end
-
-
- subroutine checkPolygon( status )
- implicit none
- include 'AST_PAR'
- include 'SAE_PAR'
-
- integer status, frm, unc, pol1, pol2, f2, r2, r3, r4
- double precision pi, p(5,2), q(5,2), p1(2), p2(2)
- double precision xin(2), yin(2), xout(2), yout(2), lbnd(5),
- : ubnd(5)
- logical hasframeset
-
-
- if( status .ne.sai__ok ) return
-
- call ast_begin( status )
-
- pi = acos( -1.0d0 )
-
- frm = ast_SkyFrame( ' ', status )
-
- p1(1) = 0.0
- p1(2) = 0.5*pi
- p2(1) = 0.01
- unc = ast_circle( frm, 1, p1, p2, AST__NULL, ' ', status )
-
- p(1,1) = 0.0
- p(1,2) = 0.0
- p(2,1) = 1.0
- p(2,2) = 0.5*pi
- p(3,1) = 0.5*pi
- p(3,2) = 0.25*pi
- p(4,1) = 0.25*pi
- p(4,2) = 0.0
- p(5,1) = 0.25*pi
- p(5,2) = 0.25*pi
-
- pol1 = ast_polygon( frm, 5, 5, p, unc, 'closed=0', status )
-
- call checkdump( pol1, 'checkdump pol1', status )
-
-
- p(1,1) = 0.0 ! On boundary
- p(1,2) = 0.0
- p(2,1) = 1.0 ! Outside
- p(2,2) = 0.5*pi + 0.1
- p(3,1) = 0.5*pi - 0.1 ! Inside
- p(3,2) = 0.25*pi
- p(4,1) = 0.0 ! On boundary
- p(4,2) = 0.1
- p(5,1) = 0.25*pi ! Inside
- p(5,2) = 0.25*pi + 0.1
-
- call ast_trann( pol1, 5, 2, 5, p, .true., 2, 5, q, status )
-
- if( q(1,1) .ne. AST__BAD ) call stopit( status, 'Poly 1' )
- if( q(1,2) .ne. AST__BAD ) call stopit( status, 'Poly 1b' )
- if( q(2,1) .ne. AST__BAD ) call stopit( status, 'Poly 2' )
- if( q(2,2) .ne. AST__BAD ) call stopit( status, 'Poly 2b' )
- if( q(3,1) .ne. p(3,1) ) call stopit( status, 'Poly 3' )
- if( q(3,2) .ne. p(3,2) ) call stopit( status, 'Poly 3b' )
- if( q(4,1) .ne. AST__BAD ) call stopit( status, 'Poly 4' )
- if( q(4,2) .ne. AST__BAD ) call stopit( status, 'Poly 4b' )
- if( q(5,1) .ne. p(5,1) ) call stopit( status, 'Poly 5' )
- if( q(5,2) .ne. p(5,2) ) call stopit( status, 'Poly 5b' )
-
-
- call ast_setl( pol1, 'closed', .true., status )
- call ast_trann( pol1, 5, 2, 5, p, .true., 2, 5, q, status )
- if( q(1,1) .ne. p(1,1) ) call stopit( status, 'Poly 6' )
- if( q(1,2) .ne. p(1,2) ) call stopit( status, 'Poly 6b' )
- if( q(2,1) .ne. AST__BAD ) call stopit( status, 'Poly 7' )
- if( q(2,2) .ne. AST__BAD ) call stopit( status, 'Poly 7b' )
- if( q(3,1) .ne. p(3,1) ) call stopit( status, 'Poly 8' )
- if( q(3,2) .ne. p(3,2) ) call stopit( status, 'Poly 8b' )
- if( q(4,1) .ne. p(4,1) ) call stopit( status, 'Poly 9' )
- if( q(4,2) .ne. p(4,2) ) call stopit( status, 'Poly 9b' )
- if( q(5,1) .ne. p(5,1) ) call stopit( status, 'Poly 10' )
- if( q(5,2) .ne. p(5,2) ) call stopit( status, 'Poly 10b' )
-
- call ast_setl( pol1, 'negated', .true., status )
- call ast_trann( pol1, 5, 2, 5, p, .true., 2, 5, q, status )
- if( q(1,1) .ne. p(1,1) ) call stopit( status, 'Poly 11' )
- if( q(1,2) .ne. p(1,2) ) call stopit( status, 'Poly 11b' )
- if( q(2,1) .ne. p(2,1) ) call stopit( status, 'Poly 12' )
- if( q(2,2) .ne. p(2,2) ) call stopit( status, 'Poly 12b' )
- if( q(3,1) .ne. AST__BAD ) call stopit( status, 'Poly 13' )
- if( q(3,2) .ne. AST__BAD ) call stopit( status, 'Poly 13b' )
- if( q(4,1) .ne. p(4,1) ) call stopit( status, 'Poly 14' )
- if( q(4,2) .ne. p(4,2) ) call stopit( status, 'Poly 14b' )
- if( q(5,1) .ne. AST__BAD ) call stopit( status, 'Poly 15' )
- if( q(5,2) .ne. AST__BAD ) call stopit( status, 'Poly 15b' )
-
- call ast_setl( pol1, 'closed', .false., status )
- call ast_trann( pol1, 5, 2, 5, p, .true., 2, 5, q, status )
- if( q(1,1) .ne. AST__BAD ) call stopit( status, 'Poly 16' )
- if( q(1,2) .ne. AST__BAD ) call stopit( status, 'Poly 16b' )
- if( q(2,1) .ne. p(2,1) ) call stopit( status, 'Poly 17' )
- if( q(2,2) .ne. p(2,2) ) call stopit( status, 'Poly 17b' )
- if( q(3,1) .ne. AST__BAD ) call stopit( status, 'Poly 18' )
- if( q(3,2) .ne. AST__BAD ) call stopit( status, 'Poly 18b' )
- if( q(4,1) .ne. AST__BAD ) call stopit( status, 'Poly 19' )
- if( q(4,2) .ne. AST__BAD ) call stopit( status, 'Poly 19b' )
- if( q(5,1) .ne. AST__BAD ) call stopit( status, 'Poly 20' )
- if( q(5,2) .ne. AST__BAD ) call stopit( status, 'Poly 20b' )
-
-
- if( hasframeset( pol1, status ) ) then
- call stopit( status, 'pol1 has FrameSet' )
- end if
-
- call ast_setc( pol1, 'system', 'fk5', status )
- call checkdump( pol1, 'checkdump pol2', status )
-
- if( .not. hasframeset( pol1, status ) ) then
- call stopit( status, 'pol1 does not have FrameSet' )
- end if
-
- call ast_seti( pol1, 'meshsize', 30, status )
-
- pol2 = ast_simplify( pol1, status )
-
- if( hasframeset( pol2, status ) ) then
- call stopit( status, 'pol2 has FrameSet' )
- end if
-
-
-
- frm = ast_SkyFrame( ' ', status )
-
- p1(1) = 0.0
- p1(2) = 0.5*pi
- p2(1) = 0.01
- unc = ast_circle( frm, 1, p1, p2, AST__NULL, ' ', status )
-
- p(1,1) = 1.5*pi
- p(1,2) = 0.4*pi
- p(2,1) = pi
- p(2,2) = 0.4*pi
- p(3,1) = 0.5*pi
- p(3,2) = 0.4*pi
- p(4,1) = 0.0
- p(4,2) = 0.4*pi
-
- pol1 = ast_polygon( frm, 4, 5, p, unc, ' ', status )
-
- xin(1) = 0.0
- yin(1) = 0.5*pi
- call ast_tran2( pol1, 1, xin, yin, .true., xout, yout, status )
-
- if( xout(1) .ne. xin(1) ) call stopit( status, 'Poly 21' )
- if( yout(1) .ne. yin(1) ) call stopit( status, 'Poly 22' )
-
- call ast_getregionbounds( pol1, lbnd, ubnd, status )
- if( abs( lbnd(1) ) .gt. 1.0E-10 ) call stopit( status, 'Poly 23' )
- if( abs( lbnd(2) - 1.25663708 ) .gt. 1.0E-6 )
- : call stopit( status, 'Poly 24' )
- if( abs( ubnd(1) - 6.28318531 ) .gt. 1.0E-6 )
- : call stopit( status, 'Poly 25' )
- if( abs( ubnd(2) - 1.57079633 ) .gt. 1.0E-6 )
- : call stopit( status, 'Poly 26' )
-
-
- f2 = ast_specframe( 'Unit=Angstrom', status )
- lbnd( 1 ) = 5000.0
- ubnd( 1 ) = 6000.0
- r2 = ast_interval( f2, lbnd, ubnd, AST__NULL, ' ', status )
- r3 = ast_prism( pol1, r2, ' ', status )
- r4 = ast_Simplify( r3, status )
-
- call ast_getregionbounds( r4, lbnd, ubnd, status )
- if( abs( lbnd(1) ) .gt. 1.0E-10 ) call stopit( status, 'Poly 27' )
- if( abs( lbnd(2) - 1.25663708 ) .gt. 1.0E-6 )
- : call stopit( status, 'Poly 28' )
- if( abs( ubnd(1) - 6.28318531 ) .gt. 1.0E-6 )
- : call stopit( status, 'Poly 29' )
- if( abs( ubnd(2) - 1.57079633 ) .gt. 1.0E-6 )
- : call stopit( status, 'Poly 30' )
- if( abs( lbnd(3) - 5000.0 ) .gt. 1.0E-10 )
- : call stopit( status, 'Poly 31' )
- if( abs( ubnd(3) - 6000.0 ) .gt. 1.0E-6 )
- : call stopit( status, 'Poly 32' )
-
-
-
-
-
-
-
- call ast_end( status )
- if( status .ne. sai__ok ) write(*,*) 'Polygon tests failed'
-
- end
-
-
-
-
-
- subroutine checkBox( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'PRM_PAR'
-
- integer status, box1, frm1, i, fc, fs, map1, perm(3), frm2, box3,
- : box2, frm3, map2, res, j, bfrm, cfrm, reg1, map,
- : npoint
- double precision p1(3), p2(3), v2, xin(9), yin(9), xout(9),
- : yout(9),in(4,3),out(4,3),matrix(9),grid(250,2)
- character*(AST__SZCHR) t1, t2, cards(9)*80
- logical hasframeset
-
- integer lbnd_in(2), ubnd_in(2)
- real rin(5,5),image(50,50)
- integer outperm(3), inperm(3),pm, reg, unc
-
-
- data cards /'CTYPE1 = ''RA---TAN''',
- : 'CTYPE2 = ''DEC--TAN''',
- : 'CRPIX1 = 100',
- : 'CRPIX2 = 100',
- : 'CRVAL1 = 71.619724',
- : 'CRVAL2 = 42.971835',
- : ' ',
- : 'CDELT1 = 0.6',
- : 'CDELT2 = 0.6' /
-
- if( status .ne. sai__ok ) return
-
- call ast_begin( status )
-
- fc = ast_fitschan( ast_null, ast_null, ' ', status )
- do i = 1, 9
- call ast_putfits( fc, cards(i), .false., status )
- end do
- call ast_clear( fc, 'card', status )
- fs = ast_read( fc, status )
-
- frm1 = ast_getframe( fs, ast__current, status )
- call ast_seti( frm1, 'digits(1)', 12, status )
-
- p1( 1 ) = 1.25
- p1( 2 ) = 0.75
- p2( 1 ) = 1.5
- p2( 2 ) = 0.5
-
- box1 = ast_box( frm1, 0, p1, p2, AST__NULL, ' ', status )
- call checkdump( box1, 'checkdump box1', status )
-
- if( ast_getc( box1, 'system', status ) .ne. 'ICRS' )
- : call stopit( status, 'box1 system is not ICRS' )
-
- call ast_setc( box1, 'system', 'galactic', status )
-
- perm(1)=2
- perm(2)=1
- call ast_permaxes( box1, perm, status )
-
- box3 = ast_copy( box1, status )
-
- yin(1) = 2.82175432250852
- xin(1) = -0.0269096590283195
- yin(2) = 2.70798275154741
- xin(2) = 0.2467384819891
-
- call ast_tran2( box1, 2, xin, yin, .true., xout, yout, status )
-
- if( abs( yout(1)-2.82175422 ) .gt. 1.0E-6 )
- : call stopit( status, 'error 1' )
- if( abs( xout(1)+0.0269096587 ) .gt. 1.0E-7 )
- : call stopit( status, 'error 2' )
- if( yout(2) .ne. AST__BAD ) call stopit( status, 'error 3' )
- if( xout(2) .ne. AST__BAD ) call stopit( status, 'error 4' )
-
-
- if( .not. ast_getl( box3, 'Adaptive', status ) )
- : call stopit( status, 'error 4a' )
-
- call ast_setl( box3, 'Adaptive', .false., status )
- call ast_setc( box3, 'system', 'icrs', status )
-
- yin(1) = 2.82175432250852
- xin(1) = -0.0269096590283195
- yin(2) = 2.70798275154741
- xin(2) = 0.2467384819891
-
- call ast_tran2( box3, 2, xin, yin, .true., xout, yout, status )
-
- if( abs( yout(1)-2.82175422 ) .gt. 1.0E-8 )
- : call stopit( status, 'error 1' )
- if( abs( xout(1)+0.0269096587 ) .gt. 1.0E-8 )
- : call stopit( status, 'error 2' )
- if( yout(2) .ne. AST__BAD ) call stopit( status, 'error 4b' )
- if( xout(2) .ne. AST__BAD ) call stopit( status, 'error 4c' )
-
- call ast_clear( box3, 'system', status )
-
- yin(1) = 2.82175432250852
- xin(1) = -0.0269096590283195
- yin(2) = 2.70798275154741
- xin(2) = 0.2467384819891
-
- call ast_tran2( box3, 2, xin, yin, .true., xout, yout, status )
-
- if( abs( yout(1)-2.82175422 ) .gt. 1.0E-8 )
- : call stopit( status, 'error 1' )
- if( abs( xout(1)+0.0269096587 ) .gt. 1.0E-8 )
- : call stopit( status, 'error 2' )
- if( yout(2) .ne. AST__BAD ) call stopit( status, 'error 4d' )
- if( xout(2) .ne. AST__BAD ) call stopit( status, 'error 4e' )
-
- box2 = ast_simplify( box1, status )
-
- call ast_setc( box1, 'system', 'icrs', status )
- call ast_permaxes( box1, perm, status )
-
- t1 = ast_format( frm1, 1, 0.25D0, status )
- call ast_annul( frm1, status )
- t2 = ast_format( box1, 1, 0.25D0, status )
- if( t1 .ne. t2 ) call stopit( status,
- : 'ast_format is different for frm1 and box1' )
-
- i = ast_unformat( box1, 1, t2, v2, status )
- if( abs( v2 - 0.25 ) .GT. 1.0E-10 ) then
- call stopit( status, 'ast_unformat failed for box1' )
- end if
-
- if( ast_getc( box1, 'System', status ) .ne. 'ICRS' ) then
- call stopit( status, 'Box1(b) system is not ICRS' )
- end if
-
- if( ast_getc( box1, 'Equinox', status ) .ne. '2000.0' ) then
- call stopit( status, 'Box1 equinox is not 2000.0' )
- end if
-
- if( .not. ast_getl( box1, 'Closed', status ) ) then
- call stopit( status, 'Box1 closed is not .true.' )
- end if
-
- xin( 1 ) = 1.25
- yin( 1 ) = 0.75
- xin( 2 ) = 1.0
- yin( 2 ) = 1.0
- xin( 3 ) = 1.0
- yin( 3 ) = 0.5
- xin( 4 ) = 1.5
- yin( 4 ) = 0.5
- xin( 5 ) = 1.5
- yin( 5 ) = 1.0
- xin( 6 ) = 1.0
- yin( 6 ) = 1.2
- xin( 7 ) = 0.8
- yin( 7 ) = 0.5
- xin( 8 ) = 1.5
- yin( 8 ) = 0.45
- xin( 9 ) = 1.501
- yin( 9 ) = 1.0
-
- call ast_tran2( BOX1, 9, xin, yin, .true., xout, yout, status )
-
- if( xout( 1 ) .ne. 1.25 ) call stopit( status, 'error A1' )
- if( yout( 1 ) .ne. 0.75 ) call stopit( status, 'error A2' )
- if( xout( 2 ) .ne. 1.0 ) call stopit( status, 'error A3' )
- if( yout( 2 ) .ne. 1.0 ) call stopit( status, 'error A4' )
- if( xout( 3 ) .ne. 1.0 ) call stopit( status, 'error A5' )
- if( yout( 3 ) .ne. 0.5 ) call stopit( status, 'error A6' )
- if( xout( 4 ) .ne. 1.5 ) call stopit( status, 'error A7' )
- if( yout( 4 ) .ne. 0.5 ) call stopit( status, 'error A8' )
- if( xout( 5 ) .ne. 1.5 ) call stopit( status, 'error A9' )
- if( yout( 5 ) .ne. 1.0 ) call stopit( status, 'error A10' )
- if( xout( 6 ) .ne. AST__BAD ) call stopit( status, 'error A11' )
- if( yout( 6 ) .ne. AST__BAD ) call stopit( status, 'error A12' )
- if( xout( 7 ) .ne. AST__BAD ) call stopit( status, 'error A13' )
- if( yout( 7 ) .ne. AST__BAD ) call stopit( status, 'error A14' )
- if( xout( 8 ) .ne. AST__BAD ) call stopit( status, 'error A15' )
- if( yout( 8 ) .ne. AST__BAD ) call stopit( status, 'error A16' )
- if( xout( 9 ) .ne. AST__BAD ) call stopit( status, 'error A17' )
- if( yout( 9 ) .ne. AST__BAD ) call stopit( status, 'error A18' )
-
- call ast_tran2( box1, 9, xin, yin, .false., xout, yout, status )
-
- if( xout( 1 ) .ne. 1.25 ) call stopit( status, 'error B1' )
- if( yout( 1 ) .ne. 0.75 ) call stopit( status, 'error B2' )
- if( xout( 2 ) .ne. 1.0 ) call stopit( status, 'error B3' )
- if( yout( 2 ) .ne. 1.0 ) call stopit( status, 'error B4' )
- if( xout( 3 ) .ne. 1.0 ) call stopit( status, 'error B5' )
- if( yout( 3 ) .ne. 0.5 ) call stopit( status, 'error B6' )
- if( xout( 4 ) .ne. 1.5 ) call stopit( status, 'error B7' )
- if( yout( 4 ) .ne. 0.5 ) call stopit( status, 'error B8' )
- if( xout( 5 ) .ne. 1.5 ) call stopit( status, 'error B9' )
- if( yout( 5 ) .ne. 1.0 ) call stopit( status, 'error B10' )
- if( xout( 6 ) .ne. AST__BAD ) call stopit( status, 'error B11' )
- if( yout( 6 ) .ne. AST__BAD ) call stopit( status, 'error B12' )
- if( xout( 7 ) .ne. AST__BAD ) call stopit( status, 'error B13' )
- if( yout( 7 ) .ne. AST__BAD ) call stopit( status, 'error B14' )
- if( xout( 8 ) .ne. AST__BAD ) call stopit( status, 'error B15' )
- if( yout( 8 ) .ne. AST__BAD ) call stopit( status, 'error B16' )
- if( xout( 9 ) .ne. AST__BAD ) call stopit( status, 'error B17' )
- if( yout( 9 ) .ne. AST__BAD ) call stopit( status, 'error B18' )
-
- call ast_negate( box1, status )
- call ast_tran2( box1, 9, xin, yin, .true., xout, yout, status )
-
- if( xout( 1 ) .ne. AST__BAD ) call stopit( status, 'error C1' )
- if( yout( 1 ) .ne. AST__BAD ) call stopit( status, 'error C2' )
- if( xout( 2 ) .ne. 1.0 ) call stopit( status, 'error C3' )
- if( yout( 2 ) .ne. 1.0 ) call stopit( status, 'error C4' )
- if( xout( 3 ) .ne. 1.0 ) call stopit( status, 'error C5' )
- if( yout( 3 ) .ne. 0.5 ) call stopit( status, 'error C6' )
- if( xout( 4 ) .ne. 1.5 ) call stopit( status, 'error C7' )
- if( yout( 4 ) .ne. 0.5 ) call stopit( status, 'error C8' )
- if( xout( 5 ) .ne. 1.5 ) call stopit( status, 'error C9' )
- if( yout( 5 ) .ne. 1.0 ) call stopit( status, 'error C10' )
- if( xout( 6 ) .ne. 1.0 ) call stopit( status, 'error C11' )
- if( yout( 6 ) .ne. 1.2 ) call stopit( status, 'error C12' )
- if( xout( 7 ) .ne. 0.8 ) call stopit( status, 'error C13' )
- if( yout( 7 ) .ne. 0.5 ) call stopit( status, 'error C14' )
- if( xout( 8 ) .ne. 1.5 ) call stopit( status, 'error C15' )
- if( yout( 8 ) .ne. 0.45 ) call stopit( status, 'error C16' )
- if( xout( 9 ) .ne. 1.501 ) call stopit( status, 'error C17' )
- if( yout( 9 ) .ne. 1.0 ) call stopit( status, 'error C18' )
-
- call ast_setl( box1, 'closed', .false., status )
- call ast_negate( box1, status )
- call ast_tran2( box1, 9, xin, yin, .true., xout, yout, status )
-
- if( xout( 1 ) .ne. 1.25 ) call stopit( status, 'error D1' )
- if( yout( 1 ) .ne. 0.75 ) call stopit( status, 'error D2' )
- if( xout( 2 ) .ne. AST__BAD ) call stopit( status, 'error D3' )
- if( yout( 2 ) .ne. AST__BAD ) call stopit( status, 'error D4' )
- if( xout( 3 ) .ne. AST__BAD ) call stopit( status, 'error D5' )
- if( yout( 3 ) .ne. AST__BAD ) call stopit( status, 'error D6' )
- if( xout( 4 ) .ne. AST__BAD ) call stopit( status, 'error D7' )
- if( yout( 4 ) .ne. AST__BAD ) call stopit( status, 'error D8' )
- if( xout( 5 ) .ne. AST__BAD ) call stopit( status, 'error D9' )
- if( yout( 5 ) .ne. AST__BAD ) call stopit( status, 'error D10' )
- if( xout( 6 ) .ne. AST__BAD ) call stopit( status, 'error D11' )
- if( yout( 6 ) .ne. AST__BAD ) call stopit( status, 'error D12' )
- if( xout( 7 ) .ne. AST__BAD ) call stopit( status, 'error D13' )
- if( yout( 7 ) .ne. AST__BAD ) call stopit( status, 'error D14' )
- if( xout( 8 ) .ne. AST__BAD ) call stopit( status, 'error D15' )
- if( yout( 8 ) .ne. AST__BAD ) call stopit( status, 'error D16' )
- if( xout( 9 ) .ne. AST__BAD ) call stopit( status, 'error D17' )
- if( yout( 9 ) .ne. AST__BAD ) call stopit( status, 'error D18' )
-
- call ast_setl( box1, 'Negated', .true., status )
- call ast_tran2( box1, 9, xin, yin, .true., xout, yout, status )
-
- if( xout( 1 ) .ne. AST__BAD ) call stopit( status, 'error E1' )
- if( yout( 1 ) .ne. AST__BAD ) call stopit( status, 'error E2' )
- if( xout( 2 ) .ne. AST__BAD ) call stopit( status, 'error E3' )
- if( yout( 2 ) .ne. AST__BAD ) call stopit( status, 'error E4' )
- if( xout( 3 ) .ne. AST__BAD ) call stopit( status, 'error E5' )
- if( yout( 3 ) .ne. AST__BAD ) call stopit( status, 'error E6' )
- if( xout( 4 ) .ne. AST__BAD ) call stopit( status, 'error E7' )
- if( yout( 4 ) .ne. AST__BAD ) call stopit( status, 'error E8' )
- if( xout( 5 ) .ne. AST__BAD ) call stopit( status, 'error E9' )
- if( yout( 5 ) .ne. AST__BAD ) call stopit( status, 'error E10' )
- if( xout( 6 ) .ne. 1.0 ) call stopit( status, 'error E11' )
- if( yout( 6 ) .ne. 1.2 ) call stopit( status, 'error E12' )
- if( xout( 7 ) .ne. 0.8 ) call stopit( status, 'error E13' )
- if( yout( 7 ) .ne. 0.5 ) call stopit( status, 'error E14' )
- if( xout( 8 ) .ne. 1.5 ) call stopit( status, 'error E15' )
- if( yout( 8 ) .ne. 0.45 ) call stopit( status, 'error E16' )
- if( xout( 9 ) .ne. 1.501 ) call stopit( status, 'error E17' )
- if( yout( 9 ) .ne. 1.0 ) call stopit( status, 'error E18' )
-
- call ast_clear( box1, 'Negated', status )
- call ast_clear( box1, 'Closed', status )
-
- call ast_addframe( fs, ast__current, ast_unitmap(2,' ',status),
- : box1, status )
-
-
-
- map1 = ast_getmapping( fs, ast__current, ast__current, status )
-
- if( .not.ast_isaregion( map1, status ) )
- : call stopit( status, 'map1 is not a Region' )
-
- call ast_setl( fs, 'Negated', .true., status )
- if( ast_getl( box1, 'Negated', status ) )
- : call stopit( status,
- : 'FrameSet Negated attribute reflected in box1' )
- call ast_clear( fs, 'Negated', status )
-
- map1 = ast_getmapping( fs, ast__base, ast__current, status )
-
- call ast_tran2( map1, 9, xin, yin, .false., xout, yout, status )
-
- if( xout( 1 ) .eq. AST__BAD ) call stopit( status, 'error F1' )
- if( yout( 1 ) .eq. AST__BAD ) call stopit( status, 'error F2' )
- if( xout( 2 ) .eq. AST__BAD ) call stopit( status, 'error F3' )
- if( yout( 2 ) .eq. AST__BAD ) call stopit( status, 'error F4' )
- if( xout( 3 ) .eq. AST__BAD ) call stopit( status, 'error F5' )
- if( yout( 3 ) .eq. AST__BAD ) call stopit( status, 'error F6' )
- if( xout( 4 ) .eq. AST__BAD ) call stopit( status, 'error F7' )
- if( yout( 4 ) .eq. AST__BAD ) call stopit( status, 'error F8' )
- if( xout( 5 ) .eq. AST__BAD ) call stopit( status, 'error F9' )
- if( yout( 5 ) .eq. AST__BAD ) call stopit( status, 'error F10' )
- if( xout( 6 ) .ne. AST__BAD ) call stopit( status, 'error F11' )
- if( yout( 6 ) .ne. AST__BAD ) call stopit( status, 'error F12' )
- if( xout( 7 ) .ne. AST__BAD ) call stopit( status, 'error F13' )
- if( yout( 7 ) .ne. AST__BAD ) call stopit( status, 'error F14' )
- if( xout( 8 ) .ne. AST__BAD ) call stopit( status, 'error F15' )
- if( yout( 8 ) .ne. AST__BAD ) call stopit( status, 'error F16' )
- if( xout( 9 ) .ne. AST__BAD ) call stopit( status, 'error F17' )
- if( yout( 9 ) .ne. AST__BAD ) call stopit( status, 'error F18' )
-
- call ast_tran2( map1, 9, xout, yout, .true., xout, yout, status )
-
- if( abs( xout( 1 ) - 1.25 ) .gt. 1.0D-7 ) call stopit( status,
- : 'error G1' )
- if( abs( yout( 1 ) - 0.75 ) .gt. 1.0D-7 ) call stopit( status,
- : 'error G2' )
- if( xout( 6 ) .ne. AST__BAD ) call stopit( status, 'error G11' )
- if( yout( 6 ) .ne. AST__BAD ) call stopit( status, 'error G12' )
- if( xout( 7 ) .ne. AST__BAD ) call stopit( status, 'error G13' )
- if( yout( 7 ) .ne. AST__BAD ) call stopit( status, 'error G14' )
- if( xout( 8 ) .ne. AST__BAD ) call stopit( status, 'error G15' )
- if( yout( 8 ) .ne. AST__BAD ) call stopit( status, 'error G16' )
- if( xout( 9 ) .ne. AST__BAD ) call stopit( status, 'error G17' )
- if( yout( 9 ) .ne. AST__BAD ) call stopit( status, 'error G18' )
-
-
-
-
- frm2 = ast_specframe( 'Unit=Angstrom', status )
- p1( 1 ) = 1000.0
- p2( 1 ) = 1100.0
- box2 = ast_box( frm2, 0, p1, p2, AST__NULL, ' ', status )
- frm3 = ast_cmpframe( box1, box2, ' ', status )
-
- perm(1)=2
- perm(2)=3
- perm(3)=1
- call ast_permaxes( frm3, perm, status )
- call ast_setc( frm3, 'system(1)', 'galactic', status )
- call ast_setc( frm3, 'system(2)', 'Freq', status )
-
- in( 1, 1 ) = -0.0269096590283195 ! In both boxes
- in( 1, 2 ) = 2997924.58
- in( 1, 3 ) = 2.82175432250852
- in( 2, 1 ) = 0.2467384819891 ! In spec box, out sky box
- in( 2, 2 ) = 2997924.58
- in( 2, 3 ) = 2.70798275154741
- in( 3, 1 ) = -0.0269096590283195 ! Out spec box in sky box
- in( 3, 2 ) = 4000000.0
- in( 3, 3 ) = 2.82175432250852
- in( 4, 1 ) = 0.2467384819891 ! Out spec box, out sky box
- in( 4, 2 ) = 4000000.0
- in( 4, 3 ) = 2.70798275154741
- call ast_trann( frm3, 4, 3, 4, in, .true., 3, 4, out, status )
-
- if( abs( out(1,1)+0.0269096587 ) .gt. 1.0E-8 )
- : call stopit( status, 'error H1' )
- if( abs( out(1,2)-2997924.5 ) .gt. 1.0E-1 )
- : call stopit( status, 'error H2' )
- if( abs( out(1,3)-2.82175422 ) .gt. 1.0E-6 )
- : call stopit( status, 'error H3' )
-
- if( out(2,1) .ne. ast__bad ) call stopit( status, 'error H4' )
- if( abs( out(2,2)-2997924.5 ) .gt. 1.0E-1 )
- : call stopit( status, 'error H5' )
- if( out(2,3) .ne. ast__bad ) call stopit( status, 'error H6' )
-
- if( abs( out(3,1)+0.0269096587 ) .gt. 1.0E-8 )
- : call stopit( status, 'error H7' )
- if( out(3,2) .ne. ast__bad ) call stopit( status, 'error H8' )
- if( abs( out(3,3)-2.82175422 ) .gt. 1.0E-6 )
- : call stopit( status, 'error H9' )
-
- if( out(4,1) .ne. ast__bad ) call stopit( status, 'error H10' )
- if( out(4,2) .ne. ast__bad ) call stopit( status, 'error H11' )
- if( out(4,3) .ne. ast__bad ) call stopit( status, 'error H12' )
-
- if( .not. ast_getl( frm3, 'closed(1)', status ) )
- : call stopit( status, 'compound frame region is not closed' )
-
-
-
-
-C
-C Testing astMapRegion
-C
-
- frm1 = ast_frame( 3, 'Domain=A', status )
- p1(1) = 100
- p1(2) = 200
- p1(3) = 300
- p2(1) = 0
- p2(2) = 400
- p2(3) = 250
- box1 = ast_box( frm1, 0, p1, p2, AST__NULL, ' ', status )
-
- frm2 = ast_frame( 3, 'Domain=B', status )
-
- matrix(1) = 2.0
- matrix(2) = 0.0
- matrix(3) = 0.0
- matrix(4) = 0.0
- matrix(5) = 4.0
- matrix(6) = 0.0
- matrix(7) = 0.0
- matrix(8) = 0.0
- matrix(9) = 6.0
-
- map2 = ast_matrixmap( 3, 3, 0, matrix, ' ', status )
- box2 = ast_mapregion( box1, map2, frm2, status )
-
- if( ast_getc( box2, 'Domain', status ) .ne. 'B' ) then
- call stopit( status, 'ast_mapregion1: Box2 domain is not B' )
- end if
-
- if( hasframeset( box2, status ) ) then
- call stopit( status, 'ast_mapregion2: Box2 has FrameSet' )
- end if
-
- matrix(1) = 2.0
- matrix(2) = .1
- matrix(3) = 0.0
- matrix(4) = 0.0
- matrix(5) = 4.0
- matrix(6) = 0.0
- matrix(7) = 0.0
- matrix(8) = 0.0
- matrix(9) = 6.0
-
- map2 = ast_matrixmap( 3, 3, 0, matrix, ' ', status )
-
- box2 = ast_mapregion( box1, map2, frm2, status )
-
- if( ast_getc( box2, 'Domain', status ) .ne. 'B' ) then
- call stopit( status, 'ast_mapregion3: Box2 domain is not B' )
- end if
-
- if( hasframeset( box2, status ) ) then
- call stopit( status, 'ast_mapregion4: Box2 has FrameSet' )
- end if
-
- call checkdump( box2, 'checkdump box2', status )
-
- frm1 = ast_frame( 1, 'Domain=A', status )
- p1(1) = 100
- p2(1) = 0
- box1 = ast_box( frm1, 0, p1, p2, AST__NULL, ' ', status )
-
- frm2 = ast_frame( 1, 'Domain=B', status )
-
- map2 = ast_zoommap( 1, 2.0D0, ' ', status )
- box2 = ast_mapregion( box1, map2, frm2, status )
-
- if( ast_getc( box2, 'Domain', status ) .ne. 'B' ) then
- call stopit( status, 'ast_mapregion5: Box2 domain is not B' )
- end if
-
- if( hasframeset( box2, status ) ) then
- call stopit( status, 'ast_mapregion6: Box2 has FrameSet (B)' )
- end if
-
- frm1 = ast_skyframe( ' ', status )
- p1(1) = 0
- p1(2) = 0
- p2(1) = 0.001
- p2(2) = 0.001
- box1 = ast_box( frm1, 0, p1, p2, AST__NULL, ' ', status )
-
- frm2 = ast_copy( frm1, status )
- call ast_setd( frm2, 'skyref(1)', 0.0005D0, status )
- call ast_setc( frm2, 'skyrefis', 'origin', status )
-
- fs = ast_convert( frm1, frm2, ' ', status )
-
- box2 = ast_mapregion( box1, fs, frm2, status )
-
- if( hasframeset( box2, status ) ) then
- call stopit( status, 'ast_mapregion7: Box2 has FrameSet (C)' )
- end if
-
- xin( 1 ) = 0.00049
- yin( 1 ) = 0.0009
- xin( 2 ) = 0.00051
- yin( 2 ) = 0.0009
- xin( 3 ) = -0.0016
- yin( 3 ) = 0.0
- xin( 4 ) = -0.0014
- yin( 4 ) = 0.0
- xin( 5 ) = 6.2815853
- yin( 5 ) = 0.0
- xin( 6 ) = 6.2817853
- yin( 6 ) = 0.0
-
- call ast_tran2( box2, 6, xin, yin, .true., xout, yout, status )
-
- if( abs( xout( 1 ) - xin( 1 ) ) .gt. 1D-10 ) call stopit( status,
- : 'error I1' )
- if( abs( yout( 1 ) - yin( 1 ) ) .gt. 1D-10 ) call stopit( status,
- : 'error I2' )
-
- if( xout(2) .ne. AST__BAD ) call stopit( status, 'error I3' )
- if( yout(2) .ne. AST__BAD ) call stopit( status, 'error I4' )
- if( xout(5) .ne. AST__BAD ) call stopit( status, 'error I5' )
- if( yout(5) .ne. AST__BAD ) call stopit( status, 'error I6' )
- if( xout(3) .ne. AST__BAD ) call stopit( status, 'error I7' )
- if( yout(3) .ne. AST__BAD ) call stopit( status, 'error I8' )
-
- if( abs( xout( 4 ) - xin( 4 ) ) .gt. 1D-10 ) call stopit( status,
- : 'error I9' )
- if( abs( yout( 4 ) - yin( 4 ) ) .gt. 1D-10 ) call stopit( status,
- : 'error I10' )
- if( abs( xout( 6 ) - xin( 6 ) ) .gt. 1D-10 ) call stopit( status,
- : 'error I11' )
- if( abs( yout( 6 ) - yin( 6 ) ) .gt. 1D-10 ) call stopit( status,
- : 'error I12' )
-
-
- call ast_setc( box2, 'skyrefis', 'pole', status )
- box2 = ast_Simplify( box2, status )
-
- if( hasframeset( box2, status ) ) then
- call stopit( status, 'ast_mapregion8: Box2 has '//
- : 'FrameSet (B)' )
- end if
-
-C
-C Testing astOverlap
-C
-
- frm1 = ast_frame( 3, 'Domain=A', status )
- p1(1) = 100
- p1(2) = 200
- p1(3) = 300
- p2(1) = 0
- p2(2) = 400
- p2(3) = 250
- box1 = ast_box( frm1, 0, p1, p2, AST__NULL, 'closed=1', status )
-
- frm2 = ast_frame( 3, 'Domain=B', status )
- box2 = ast_box( frm2, 0, p1, p2, AST__NULL, 'closed=0', status )
-
- if( ast_overlap( box1, box2, status ) .ne. 0 ) then
- call stopit( status, 'ast_overlap A: result should be zero' )
- end if
-
- if( ast_overlap( box1, box1, status ) .ne. 5 ) then
- call stopit( status, 'ast_overlap B: result should be 5' )
- end if
-
- if( ast_overlap( box2, box2, status ) .ne. 5 ) then
- call stopit( status, 'ast_overlap C: result should be 5' )
- end if
-
- call ast_setc( frm2, 'Domain', 'A', status )
- p1(1) = 100
- p1(2) = 200
- p1(3) = 300
- p2(1) = -100
- p2(2) = 600
- p2(3) = 400
- box2 = ast_box( frm2, 0, p1, p2, AST__NULL, ' ', status )
-
- if( ast_overlap( box1, box2, status ) .ne. 2 ) then
- write(*,*) 'Result is ',ast_overlap( box1, box2, status )
- call stopit( status, 'ast_overlap D: result should be 2' )
- end if
-
- if( ast_overlap( box2, box1, status ) .ne. 3 ) then
- write(*,*) 'Result is ',ast_overlap( box2, box1, status )
- call stopit( status, 'ast_overlap E: result should be 3' )
- end if
-
- p1(1) = 300
- p1(2) = 200
- p1(3) = 300
- p2(1) = 201
- p2(2) = 400
- p2(3) = 250
- box2 = ast_box( frm2, 0, p1, p2, AST__NULL, ' ', status )
-
- if( ast_overlap( box1, box2, status ) .ne. 1 ) then
- call stopit( status, 'ast_overlap F: result should be 1' )
- end if
-
- if( ast_overlap( box2, box1, status ) .ne. 1 ) then
- call stopit( status, 'ast_overlap G: result should be 1' )
- end if
-
- p1(1) = 150
- p1(2) = 200
- p1(3) = 300
- p2(1) = 50
- p2(2) = 400
- p2(3) = 250
- box2 = ast_box( frm2, 0, p1, p2, AST__NULL, ' ', status )
-
- if( ast_overlap( box1, box2, status ) .ne. 4 ) then
- call stopit( status, 'ast_overlap H: result should be 4' )
- end if
-
- if( ast_overlap( box2, box1, status ) .ne. 4 ) then
- call stopit( status, 'ast_overlap I: result should be 4' )
- end if
-
-
-* Pixel masks
- frm1 = ast_frame( 2, 'Domain=A', status )
- p1(1) = 1.0
- p1(2) = 1.0
- p2(1) = 3.1
- p2(2) = 4.1
- box1 = ast_box( frm1, 0, p1, p2, AST__NULL, ' ', status )
-
- lbnd_in(1) = 1
- lbnd_in(2) = 1
- ubnd_in(1) = 5
- ubnd_in(2) = 5
-
- do i =1, 5
- do j = 1, 5
- rin( j,i)=1.0
- end do
- end do
-
- res = ast_maskr( box1, AST__NULL, .false., 2, lbnd_in, ubnd_in,
- : rin, VAL__BADR, status )
-
- if( res .ne. 13 ) then
- write(*,*) 'Res is ',res
- call stopit( status, 'res should be 13' )
- end if
-
- do i =1, 5
- do j = 1, 5
- if( j .le. 3 .and. i .le. 4 ) then
- if( rin(j,i) .NE. 1.0 ) then
- write(*,*) 'rin(',j,',',i,') = ',rin(j,i)
- call stopit( status, 'Above value should be 1.0' )
- end if
- else
- if( rin(j,i) .NE. VAL__BADR ) then
- write(*,*) 'rin(',j,',',i,') = ',rin(j,i)
- call stopit( status, 'Above value should be '//
- : 'VAL__BADR' )
- end if
- endif
- end do
- end do
-
- cards(3) = 'CRPIX1 = 20'
- cards(4) = 'CRPIX2 = 20'
- cards(5) = 'CRVAL1 = 0.0'
- cards(6) = 'CRVAL2 = 0.0'
- cards(7) = ' '
- cards(8) = 'CDELT1 = 1.6'
- cards(9) = 'CDELT2 = 1.6'
-
- fc = ast_fitschan( ast_null, ast_null, ' ', status )
- do i = 1, 9
- call ast_putfits( fc, cards(i), .false., status )
- end do
- call ast_clear( fc, 'card', status )
- fs = ast_read( fc, status )
-
- p1( 1 ) = 0.13089969 ! RA at centre = 0h30m
- p1( 2 ) = 0.17453293 ! Dec at centre = 10d
- p2( 1 ) = -0.13089971 ! RA at corner = 23h30m
- p2( 2 ) = -0.17453293 ! Dec at corner = -10d
-
- box1 = ast_box( fs, 0, p1, p2, AST__NULL, ' ', status )
-
- do i =1, 50
- do j = 1, 50
- image( j,i)=1.0
- end do
- end do
-
- lbnd_in(1) = 1
- lbnd_in(2) = 1
- ubnd_in(1) = 50
- ubnd_in(2) = 50
-
- call ast_negate( box1, status )
- call ast_invert( fs, status )
- res = ast_maskr( box1, fs, .false., 2, lbnd_in, ubnd_in,
- : image, VAL__BADR, status )
-
- if( res .ne. 522 ) then
- write(*,*) 'Res is ',res
- call stopit( status, 'res should be 522' )
- end if
-
- if( image(34,42) .ne. VAL__BADR ) then
- write(*,*) 'image(34,42) = ',image(34,42)
- call stopit( status, 'Above value should be VAL__BADR' )
- end if
-
- if( image(33,42) .ne. 1.0 ) then
- write(*,*) 'image(33,42) = ',image(33,42)
- call stopit( status, 'Above value should be 1.0' )
- end if
-
- if( image(16,14) .ne. VAL__BADR ) then
- write(*,*) 'image(16,14) = ',image(16,14)
- call stopit( status, 'Above value should be VAL__BADR' )
- end if
-
- if( image(15,13) .ne. 1.0 ) then
- write(*,*) 'image(15,13) = ',image(15,13)
- call stopit( status, 'Above value should be 1.0' )
- end if
-
-
-* Changing the number of axes in the Region
-
- frm1 = ast_frame( 2, 'Domain=A', status )
-
- p1(1) = 0.0
- p1(2) = 0.0
- p2(1) = 0.01
- unc = ast_circle( frm1, 1, p1, p2, AST__NULL, ' ', status )
-
- p1(1) = -1.0
- p1(2) = 1.0
- p2(1) = -2.0
- p2(2) = 1.5
- box1 = ast_box( frm1, 0, p1, p2, unc, ' ', status )
-
-
- outperm(1) = 2
- outperm(2) = -1
- outperm(3) = 1
-
- inperm(1) = 3
- inperm(2) = 1
-
- pm = ast_permmap( 2, inperm, 3, outperm, 0.0D0, ' ', status )
-
- frm2 = ast_frame( 3, 'Domain=B', status )
- reg = ast_mapregion( box1, pm, frm2, status )
-
- if( .not. ast_isabox( reg, status ) ) call stopit( status,
- : 'Box: perm check 1' )
- if( hasFrameSet( reg, status ) ) call stopit( status,
- : 'Box: perm check 2' )
- if( ast_geti( reg, 'naxes', status ) .ne. 3 ) call stopit( status,
- : 'Box: perm check 3' )
-
- in( 1, 1 ) = 0.0 ! Outside
- in( 1, 2 ) = 0.0
- in( 1, 3 ) = 0.0
- in( 2, 1 ) = 0.7 ! Inside
- in( 2, 2 ) = 0.0
- in( 2, 3 ) = -0.5
- in( 3, 1 ) = 2.0 ! Outside
- in( 3, 2 ) = 0.0
- in( 3, 3 ) = -1.0
- in( 4, 1 ) = 1.5 ! Boundary
- in( 4, 2 ) = 0.0
- in( 4, 3 ) = 0.0
-
- call ast_trann( reg, 4, 3, 4, in, .true., 3, 4, out, status )
-
- if( out( 1, 1 ) .ne. AST__BAD ) call stopit( status, 'box: pc 1' )
- if( out( 1, 2 ) .ne. AST__BAD ) call stopit( status, 'box: pc 2' )
- if( out( 1, 3 ) .ne. AST__BAD ) call stopit( status, 'box: pc 3' )
-
- if( out( 2, 1 ) .ne. in( 2,1 )) call stopit( status, 'box: pc 4' )
- if( out( 2, 2 ) .ne. in( 2,2 )) call stopit( status, 'box: pc 5' )
- if( out( 2, 3 ) .ne. in( 2,3 )) call stopit( status, 'box: pc 6' )
-
- if( out( 3, 1 ) .ne. AST__BAD ) call stopit( status, 'box: pc 7' )
- if( out( 3, 2 ) .ne. AST__BAD ) call stopit( status, 'box: pc 8' )
- if( out( 3, 3 ) .ne. AST__BAD ) call stopit( status, 'box: pc 9' )
-
- if( out( 4, 1 ) .ne. in( 4,1 )) call stopit( status, 'box: pc 10')
- if( out( 4, 2 ) .ne. in( 4,2 )) call stopit( status, 'box: pc 11')
- if( out( 4, 3 ) .ne. in( 4,3 )) call stopit( status, 'box: pc 12')
-
-
- outperm(1) = 2
- outperm(2) = -1
- outperm(3) = 1
-
- inperm(1) = 3
- inperm(2) = 1
-
- pm = ast_permmap( 2, inperm, 3, outperm, 1.0D0, ' ', status )
-
- frm2 = ast_frame( 3, 'Domain=B', status )
- reg = ast_mapregion( box1, pm, frm2, status )
-
- if( .not. ast_isabox( reg, status ) ) call stopit( status,
- : 'Box: perm check 4' )
- if( hasFrameSet( reg, status ) ) call stopit( status,
- : 'Box: perm check 5' )
- if( ast_geti( reg, 'naxes', status ) .ne. 3 ) call stopit( status,
- : 'Box: perm check 6' )
-
- in( 1, 1 ) = 0.0 ! Outside
- in( 1, 2 ) = 0.0
- in( 1, 3 ) = 0.0
- in( 2, 1 ) = 0.7 ! boundary
- in( 2, 2 ) = 1.0
- in( 2, 3 ) = -0.5
- in( 3, 1 ) = 0.7 ! outside
- in( 3, 2 ) = 1.1
- in( 3, 3 ) = -0.5
- in( 4, 1 ) = 0.7 ! outside
- in( 4, 2 ) = 0.9
- in( 4, 3 ) = -0.5
-
- call ast_trann( reg, 4, 3, 4, in, .true., 3, 4, out, status )
-
- if( out( 1, 1 ) .ne. AST__BAD ) call stopit( status, 'box: pc 11')
- if( out( 1, 2 ) .ne. AST__BAD ) call stopit( status, 'box: pc 12')
- if( out( 1, 3 ) .ne. AST__BAD ) call stopit( status, 'box: pc 13')
-
- if( out( 2, 1 ) .ne. in( 2,1 )) call stopit( status, 'box: pc 14')
- if( out( 2, 2 ) .ne. in( 2,2 )) call stopit( status, 'box: pc 15')
- if( out( 2, 3 ) .ne. in( 2,3 )) call stopit( status, 'box: pc 16')
-
- if( out( 3, 1 ) .ne. AST__BAD ) call stopit( status, 'box: pc 17')
- if( out( 3, 2 ) .ne. AST__BAD ) call stopit( status, 'box: pc 18')
- if( out( 3, 3 ) .ne. AST__BAD ) call stopit( status, 'box: pc 19')
-
- if( out( 4, 1 ) .ne. AST__BAD ) call stopit( status, 'box: pc 17')
- if( out( 4, 2 ) .ne. AST__BAD ) call stopit( status, 'box: pc 18')
- if( out( 4, 3 ) .ne. AST__BAD ) call stopit( status, 'box: pc 19')
-
-
-
- outperm(1) = 1
-
- inperm(1) = 1
- inperm(2) = -1
-
- pm = ast_permmap( 2, inperm, 1, outperm, 1.4D0, ' ', status )
-
- frm2 = ast_frame( 1, 'Domain=B', status )
- reg = ast_mapregion( box1, pm, frm2, status )
-
- if( .not. ast_isabox( reg, status ) ) call stopit( status,
- : 'Box: perm check 7' )
- if( hasFrameSet( reg, status ) ) call stopit( status,
- : 'Box: perm check 8' )
- if( ast_geti( reg, 'naxes', status ) .ne. 1 ) call stopit( status,
- : 'Box: perm check 9' )
-
- xin( 1 ) = -2.5 ! Outside
- xin( 2 ) = -1.9 ! Inside
- xin( 3 ) = 0.0 ! boundary
- xin( 4 ) = 0.5 ! outside
-
- call ast_tran1( reg, 4, xin, .true., xout, status )
-
- if( xout( 1 ) .ne. AST__BAD ) call stopit( status, 'box: pc 20')
- if( xout( 2 ) .ne. xin(2) ) call stopit( status, 'box: pc 21')
- if( xout( 3 ) .ne. xin(3) ) call stopit( status, 'box: pc 22')
- if( xout( 4 ) .ne. AST__BAD ) call stopit( status, 'box: pc 23')
-
-
-
- outperm(1) = 1
-
- inperm(1) = 1
- inperm(2) = -1
-
- pm = ast_permmap( 2, inperm, 1, outperm, 1.6D0, ' ', status )
- frm2 = ast_frame( 1, 'Domain=B', status )
- reg = ast_mapregion( box1, pm, frm2, status )
- if( .not. ast_isanullregion( reg, status ) ) call stopit( status,
- : 'Box: perm check 10' )
-
-
- if( hasFrameSet( reg, status ) ) call stopit( status,
- : 'Box: perm check 11' )
- if( ast_geti( reg, 'naxes', status ) .ne. 1 ) call stopit( status,
- : 'Box: perm check 12' )
-
- xin( 1 ) = -2.5
- xin( 2 ) = -1.9
- xin( 3 ) = 0.0
- xin( 4 ) = 0.5
-
- call ast_tran1( reg, 4, xin, .true., xout, status )
-
- if( xout( 1 ) .ne. AST__BAD ) call stopit( status, 'box: pc 24')
- if( xout( 2 ) .ne. AST__BAD ) call stopit( status, 'box: pc 25')
- if( xout( 3 ) .ne. AST__BAD ) call stopit( status, 'box: pc 26')
- if( xout( 4 ) .ne. AST__BAD ) call stopit( status, 'box: pc 27')
-
-
- frm1 = ast_frame( 3, 'Domain=A', status )
-
- p1(1) = 0.5
- p1(2) = -1.0
- p1(3) = -2.0
- p2(1) = 30.0
- p2(2) = 5.0
- p2(3) = 0.0
-
- box1 = ast_box( frm1, 1, p1, p2, AST__NULL, ' ', status )
-
- outperm(1) = 1
- outperm(2) = 3
-
- inperm(1) = 1
- inperm(2) = -1
- inperm(3) = 2
-
- pm = ast_permmap( 3, inperm, 2, outperm, 1.0D0, ' ', status )
-
- frm2 = ast_frame( 2, 'Domain=B', status )
- reg = ast_mapregion( box1, pm, frm2, status )
-
- if( .not. ast_isabox( reg, status ) ) call stopit( status,
- : 'Box: perm check 13' )
-
- if( hasFrameSet( reg, status ) ) call stopit( status,
- : 'Box: perm check 14' )
- if( ast_geti( reg, 'naxes', status ) .ne. 2 ) call stopit( status,
- : 'Box: perm check 15' )
-
- xin( 1 ) = 0.4 ! Out
- yin( 1 ) = -1.0
- xin( 2 ) = 1.0 ! Out
- yin( 2 ) = 0.1
- xin( 3 ) = 1.0 ! Out
- yin( 3 ) = -2.1
- xin( 4 ) = 0.5 ! Boundary
- yin( 4 ) = -1.0
- xin( 5 ) = 10.0 ! In
- yin( 5 ) = -0.1
- xin( 6 ) = 0.55 ! Boundary
- yin( 6 ) = -2.0
-
-
- call ast_tran2( reg, 6, xin, yin, .true., xout, yout, status )
-
- if( xout( 1 ) .ne. AST__BAD ) call stopit( status, 'Box: pc 37')
- if( yout( 1 ) .ne. AST__BAD ) call stopit( status, 'Box: pc 38')
- if( xout( 2 ) .ne. AST__BAD ) call stopit( status, 'Box: pc 39')
- if( yout( 2 ) .ne. AST__BAD ) call stopit( status, 'Box: pc 40')
- if( xout( 3 ) .ne. AST__BAD ) call stopit( status, 'Box: pc 41')
- if( yout( 3 ) .ne. AST__BAD ) call stopit( status, 'Box: pc 42')
- if( xout( 4 ) .ne. xin( 4 ) ) call stopit( status, 'Box: pc 43')
- if( yout( 4 ) .ne. yin( 4 ) ) call stopit( status, 'Box: pc 44')
- if( xout( 5 ) .ne. xin( 5 ) ) call stopit( status, 'Box: pc 45')
- if( yout( 5 ) .ne. yin( 5 ) ) call stopit( status, 'Box: pc 46')
- if( xout( 6 ) .ne. xin( 6 ) ) call stopit( status, 'Box: pc 47')
- if( yout( 6 ) .ne. yin( 6 ) ) call stopit( status, 'Box: pc 48')
-
- cards(1) = 'CTYPE1 = ''RA---TAN'''
- cards(2) = 'CTYPE2 = ''DEC--TAN'''
- cards(3) = 'CRPIX1 = 20'
- cards(4) = 'CRPIX2 = 20'
- cards(5) = 'CRVAL1 = 0.0'
- cards(6) = 'CRVAL2 = 0.0'
- cards(7) = 'CROTA1 = 30.0'
- cards(8) = 'CDELT1 = -0.00001'
- cards(9) = 'CDELT2 = 0.00001'
-
- fc = ast_fitschan( ast_null, ast_null, ' ', status )
- do i = 1, 9
- call ast_putfits( fc, cards(i), .false., status )
- end do
- call ast_clear( fc, 'card', status )
- fs = ast_read( fc, status )
-
- bfrm = ast_getFrame( fs, AST__BASE, status )
-
- p1(1) = 0.0
- p1(2) = 0.0
- p2(1) = 0.1
- unc = ast_circle( bfrm, 1, p1, p2, AST__NULL, ' ', status )
-
- p1( 1 ) = 100.0 ! Pix_X at centre
- p1( 2 ) = 150.0 ! Pix_Y at centre
- p2( 1 ) = 150.0 ! Pix_X at corner
- p2( 2 ) = 170.0 ! Pix_Y at corner
-
- box1 = ast_box( bfrm, 0, p1, p2, AST__NULL, ' ', status )
-
-
- call ast_getregionmesh( box1, .false., 250, 2, npoint, grid,
- : status )
-
- if( npoint .ne. 176 ) then
- write(*,*) npoint
- call stopit( status, 'Box: Error mesh 3' )
- endif
-
- if( status .ne. SAI__OK ) go to 991
-
- do i = 1, npoint
- if( abs( grid(i,1) - 100 ) .gt. 50.0D0 ) then
- call stopit( status, 'Box: Error mesh 1' )
- else if( abs( grid(i,2) - 150 ) .gt. 20.0D0 ) then
- call stopit( status, 'Box: Error mesh 2' )
- endif
- enddo
-
- call ast_getregionmesh( box1, .true., 250, 2, npoint, grid,
- : status )
- if( npoint .ne. 198 )
- : call stopit( status, 'Box: Error mesh 4' )
-
- if( status .ne. SAI__OK ) go to 991
-
- do i = 1, npoint
- if( grid(i,1) .ne. 50.0D0 .and. grid(i,1) .ne. 150.0D0 .and.
- : grid(i,2) .ne. 130.0D0 .and. grid(i,2) .ne. 170.0D0 ) then
- call stopit( status, 'Box: Error mesh 5' )
- endif
- enddo
-
- cfrm = ast_getFrame( fs, AST__CURRENT, status )
- map = ast_getmapping( fs, AST__BASE, AST__CURRENT, status )
- reg1 = ast_mapregion( box1, map, cfrm, status )
-
- if( hasFrameSet( reg1, status ) ) call stopit( status,
- : 'Box: poly simp 1' )
- if( .not. ast_isapolygon( reg1, status) ) call stopit( status,
- : 'Box: poly simp 2' )
-
- 991 continue
-
- call ast_end( status )
- if( status .ne. sai__ok ) write(*,*) 'Box tests failed'
-
- end
-
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
-
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
-
- end
-
-
-
- logical function hasframeset( reg, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer reg, status, ch,nw
-
- logical fsfound, done
- common /sink1com/ fsfound, done
- external sink1
-
- hasframeset = .false.
- if( status .ne. sai__ok ) return
-
-
- fsfound = .false.
- done = .false.
- ch = ast_channel( AST_NULL, sink1, ' ', STATUS )
- nw = ast_write( ch, reg, status )
- call ast_annul( ch, status )
-
- hasframeset = fsfound
-
- end
-
- subroutine sink1( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- logical fsfound, done
- common /sink1com/ fsfound, done
-
- integer status, l
- character line*200
-
- if( status .ne. sai__ok ) return
- call ast_getline( line, l, status )
-
- if( index( line( : l ),'Unc =' ) .GT. 0 ) then
- done = .true.
-
- else if( .not. done .and.
- : index( line( : l ),'FrameSet' ) .GT. 0 ) then
- fsfound= .true.
- end if
-
- end
-
-
-
- subroutine checkPointList( status )
- implicit none
- include 'AST_PAR'
- include 'SAE_PAR'
-
- character fwd(1)*30,inv(1)*30
- integer status, frm, reg, reg2, reg3, reg4, mm, map
- integer mdata(-1:15),lbnd,ubnd,nbad,unc
- double precision pnts( 3 ), xin(3),xout(3), acc, ina, inb, outa,
- : outb
- data mdata /17*0/
-
- if( status .ne.sai__ok ) return
-
- call ast_begin( status )
- frm = ast_specframe( ' ', status )
-
- pnts(1)=0.0
- pnts(2)=1.0E-5
- unc = ast_box( frm, 0, pnts(1), pnts(2), AST__NULL, ' ', status )
-
- pnts(1)=1.0
- pnts(2)=1.1
- reg = ast_pointlist( frm, 2, 1, 3, pnts, unc, ' ', status )
- call checkdump( reg, 'checkdump reg', status )
-
- if( ast_overlap( reg, reg, status ) .ne. 5 ) then
- call stopit( status,
- : 'PointList: self is not identical with self' )
- end if
-
- reg2 = ast_copy( reg, status )
- call ast_negate( reg2, status )
- call checkdump( reg2, 'checkdump reg2', status )
-
- if( ast_overlap( reg, reg2, status ) .ne. 6 ) then
- call stopit( status,
- : 'PointList: overlap with self-exclusion' )
- end if
-
-
- xin( 1 ) = 1.0
- xin( 2 ) = 1.05
- xin( 3 ) = 1.1
- call ast_tran1( reg, 3, xin, .true., xout, status )
-
- if( xout( 1 ) .ne. 1.0 ) then
- call stopit( status, 'PointList: Error 1' )
- else if( xout( 2 ) .ne. AST__BAD ) then
- call stopit( status, 'PointList: Error 2' )
- else if( xout( 3 ) .ne. 1.1 ) then
- call stopit( status, 'PointList: Error 3' )
- end if
-
-
- call ast_tran1( reg2, 3, xin, .true., xout, status )
- if( xout( 1 ) .ne. AST__BAD ) then
- call stopit( status, 'PointList: Error 4' )
- else if( xout( 2 ) .ne. 1.05 ) then
- call stopit( status, 'PointList: Error 5' )
- else if( xout( 3 ) .ne. AST__BAD ) then
- call stopit( status, 'PointList: Error 6' )
- end if
-
- fwd(1) = 'y=x**2'
- inv(1) = 'x=y**0.5'
- mm = ast_mathmap( 1, 1, 1, fwd, 1, inv, ' ', status )
- reg3 = ast_mapregion( reg, mm, ast_frame(1,' ', status ), status )
- reg4 = ast_simplify( reg3, status )
- call checkdump( reg4, 'checkdump reg4', status )
-
- xin( 1 ) = 1.21
- xin( 2 ) = 1.5
- call ast_tran1( reg4, 2, xin, .true., xout, status )
- if( xout( 1 ) .ne. 1.21 ) then
- write(*,*) xout(1), ' (should be 1.21)'
- call stopit( status, 'PointList: Error 7' )
- else if( xout( 2 ) .ne. AST__BAD ) then
- write(*,*) xout(2), ' (should be bad)'
- call stopit( status, 'PointList: Error 8' )
- end if
-
-
- lbnd = -1
- ubnd = 15
-
- ina = 1.01
- inb = 1.11
- outa = 2.0
- outb = 7.0
- map = ast_winmap( 1, ina, inb, outa, outb, ' ', status )
-
- nbad = ast_maski( reg, map, .true., 1, lbnd, ubnd, mdata, 2,
- : status )
-
- if( nbad .ne. 2 ) then
- write(*,*) 'nbad = ',nbad
- call stopit( status, 'Above value should be 2' )
- end if
-
- if( mdata(1) .ne. 0 ) then
- write(*,*) 'mdata(1) = ',mdata(1)
- call stopit( status, 'Above value should be 0' )
- end if
-
- if( mdata(2) .ne. 2 ) then
- write(*,*) 'mdata(2) = ',mdata(2)
- call stopit( status, 'Above value should be 2' )
- end if
-
- if( mdata(3) .ne. 0 ) then
- write(*,*) 'mdata(3) = ',mdata(3)
- call stopit( status, 'Above value should be 0' )
- end if
-
- if( mdata(6) .ne. 0 ) then
- write(*,*) 'mdata(6) = ',mdata(6)
- call stopit( status, 'Above value should be 0' )
- end if
-
- if( mdata(7) .ne. 2 ) then
- write(*,*) 'mdata(7) = ',mdata(7)
- call stopit( status, 'Above value should be 2' )
- end if
-
- if( mdata(8) .ne. 0 ) then
- write(*,*) 'mdata(8) = ',mdata(8)
- call stopit( status, 'Above value should be 0' )
- end if
-
-
-
-
- call ast_end( status )
- if( status .ne. sai__ok ) write(*,*) 'PointList tests failed'
-
- end
-
-
-
-
-
-
-
-
- subroutine checkCircle( status )
- implicit none
- include 'AST_PAR'
- include 'SAE_PAR'
-
- integer status, cir1, cir2, fc, i, fs, frm1,unc,f1,f2,f3,
- : npoint, j
- double precision p1(4),p2(4),xin(2),yin(2),xout(2),yout(2),
- : p3(3),rad,zin(2),zout(2),pp1(3),pp2(3),
- : lbnd(2),ubnd(2), mesh(250,3)
- character cards(8)*80, sys*40
- logical hasframeset
-
- double precision in( 2, 3 ), out( 2, 3 )
-
-
- data cards /'CTYPE1 = ''RA---TAN''',
- : 'CTYPE2 = ''DEC--TAN''',
- : 'CRPIX1 = 100',
- : 'CRPIX2 = 100',
- : 'CRVAL1 = 70.0',
- : 'CRVAL2 = 80.0',
- : 'CDELT1 = 0.6',
- : 'CDELT2 = 0.6' /
-
-
- if( status .ne.sai__ok ) return
- call ast_begin( status )
-
-* Test 2D circles.
-
- fc = ast_fitschan( ast_null, ast_null, ' ', status )
- do i = 1, 8
- call ast_putfits( fc, cards(i), .false., status )
- end do
- call ast_clear( fc, 'card', status )
- fs = ast_read( fc, status )
-
- frm1 = ast_getframe( fs, ast__current, status )
-
- p1( 1 ) = 0.0
- p1( 2 ) = 1.0
- p2( 1 ) = 0.01
-
- cir1 = ast_circle( frm1, 1, p1, p2, AST__NULL, ' ', status )
- call ast_getregionbounds( cir1, lbnd, ubnd, status )
-
- if( abs(lbnd(1)-(-0.01850666061475259)) .gt. 1.0E-6 )
- : call stopit( status, 'Circle: Error AA1' )
- if( abs(lbnd(2)-(0.9900000002235173)) .gt. 1.0E-6 )
- : call stopit( status, 'Circle: Error AA2' )
- if( abs(ubnd(1)-(0.01850666061475276)) .gt. 1.0E-6 )
- : call stopit( status, 'Circle: Error AA3' )
- if( abs(ubnd(2)-(1.009994987166073)) .gt. 1.0E-6 )
- : call stopit( status, 'Circle: Error AA4' )
-
- p1( 1 ) = 0.0
- p1( 2 ) = 1.57
- p2( 1 ) = 0.01
-
- cir1 = ast_circle( frm1, 1, p1, p2, AST__NULL, ' ', status )
- call ast_getregionbounds( cir1, lbnd, ubnd, status )
-
- if( abs(lbnd(1)-(0.0)) .gt. 1.0E-6 )
- : call stopit( status, 'Circle: Error AA5' )
- if( abs(lbnd(2)-(1.560000052675599)) .gt. 1.0E-6 )
- : call stopit( status, 'Circle: Error AA6' )
- if( abs(ubnd(1)-(6.283185307179586)) .gt. 1.0E-6 )
- : call stopit( status, 'Circle: Error AA7' )
- if( abs(ubnd(2)-(1.5707963267948966)) .gt. 1.0E-6 )
- : call stopit( status, 'Circle: Error AA8' )
-
- call ast_getregionmesh( cir1, .true., 0, 0, npoint, 0, status )
- if( npoint .ne. 200 )
- : call stopit( status, 'Circle: Error mesh 1' )
-
- call ast_getregionmesh( cir1, .true., 250, 3, npoint, mesh,
- : status )
-
- do i = 1, npoint
- p2(1) = mesh(i,1)
- p2(2) = mesh(i,2)
- if( abs( ast_distance( frm1, p1, p2, status ) - 0.01 ) .gt.
- : 1.0E-6 ) call stopit( status, 'Circle: Error mesh 2' )
- enddo
-
- call ast_getregionmesh( cir1, .false., 250, 3, npoint, mesh,
- : status )
-
- if( npoint .ne. 201 ) then
- write(*,*) npoint
- call stopit( status, 'Circle: Error mesh 3' )
- endif
-
- do i = 1, npoint
- p2(1) = mesh(i,1)
- p2(2) = mesh(i,2)
- if( ast_distance( frm1, p1, p2, status ) .gt. 0.01 )
- : call stopit( status, 'Circle: Error mesh 4' )
- enddo
-
- p1( 1 ) = 1.2217305
- p1( 2 ) = 1.3962634
- p2( 1 ) = 0.8
- p2( 2 ) = 0.8
-
- cir1 = ast_circle( frm1, 0, p1, p2, AST__NULL, ' ', status )
- call checkdump( cir1, 'checkdump cir1', status )
-
- rad = ast_distance( cir1, p1, p2, status )
-
- call ast_offset( frm1, p1, p2, rad*0.999, p3, status )
- xin(1) = p3(1)
- yin(1) = p3(2)
- call ast_offset( frm1, p1, p2, rad*1.001, p3, status )
- xin(2) = p3(1)
- yin(2) = p3(2)
-
- call ast_tran2( cir1, 2, xin, yin, .true., xout, yout, status )
- if( xout(1) .ne. xin(1) ) call stopit( status, 'Circle: Error 1' )
- if( yout(1) .ne. yin(1) ) call stopit( status, 'Circle: Error 2' )
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'Circle: Error 3' )
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'Circle: Error 4' )
-
-
- xin(1) = 0.0
- yin(1) = 1.5707963
- call ast_tran2( cir1, 1, xin, yin, .true., xout, yout, status )
- if( xout(1) .ne. xin(1) ) call stopit( status, 'Circle: Error 1b')
- if( yout(1) .ne. yin(1) ) call stopit( status, 'Circle: Error 2b')
-
- p2(1)=0.0
- p2(2)=0.0
- call ast_offset( frm1, p1, p2, rad*0.999, p3, status )
- xin(1) = p3(1)
- yin(1) = p3(2)
- call ast_offset( frm1, p1, p2, rad*1.001, p3, status )
- xin(2) = p3(1)
- yin(2) = p3(2)
-
- call ast_tran2( cir1, 2, xin, yin, .true., xout, yout, status )
- if( xout(1) .ne. xin(1) ) call stopit( status, 'Circle: Error 5' )
- if( yout(1) .ne. yin(1) ) call stopit( status, 'Circle: Error 6' )
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'Circle: Error 7' )
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'Circle: Error 8' )
-
-
- call ast_setc( cir1, 'system', 'galactic', status )
- cir1 = ast_simplify( cir1, status )
- if( .not. hasframeset( cir1,status ) ) call stopit( status,
- : 'Circle: error 9' )
-
-
- pp1( 1 ) = 0.0
- pp1( 2 ) = 0.0
- pp2( 1 ) = 1.0D-6
- pp2( 2 ) = 1.0D-6
- unc = ast_box( frm1, 0, pp1, pp2, AST__NULL, ' ', status )
-
- p1( 1 ) = 1.2217305
- p1( 2 ) = 1.3962634
- p2( 1 ) = 1.2218
- p2( 2 ) = 1.3963
- cir1 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
-
- rad = ast_distance( cir1, p1, p2, status )
-
- call ast_offset( frm1, p1, p2, rad*0.999, p3, status )
- xin(1) = p3(1)
- yin(1) = p3(2)
- call ast_offset( frm1, p1, p2, rad*1.001, p3, status )
- xin(2) = p3(1)
- yin(2) = p3(2)
-
- call ast_tran2( cir1, 2, xin, yin, .true., xout, yout, status )
- if( xout(1) .ne. xin(1) ) call stopit( status, 'Circle: Error 1b')
- if( yout(1) .ne. yin(1) ) call stopit( status, 'Circle: Error 2b')
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'Circle: Error 3b' )
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'Circle: Error 4b' )
-
- p2(1)=0.0
- p2(2)=0.0
- call ast_offset( frm1, p1, p2, rad*0.999, p3, status )
- xin(1) = p3(1)
- yin(1) = p3(2)
- call ast_offset( frm1, p1, p2, rad*1.001, p3, status )
- xin(2) = p3(1)
- yin(2) = p3(2)
-
- call ast_tran2( cir1, 2, xin, yin, .true., xout, yout, status )
- if( xout(1) .ne. xin(1) ) call stopit( status, 'Circle: Error 5b')
- if( yout(1) .ne. yin(1) ) call stopit( status, 'Circle: Error 6b')
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'Circle: Error 7b' )
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'Circle: Error 8b' )
-
- cir2 = ast_copy( cir1, status )
- call ast_setc( cir2, 'system', 'galactic', status )
- call checkdump( cir2, 'checkdump cir2', status )
-
- cir2 = ast_simplify( cir2, status )
-
- if( hasframeset( cir2,status ) ) call stopit( status,
- : 'Circle: error 9b' )
-
- if( ast_overlap( cir1, cir2, status ) .ne. 5 ) call stopit(status,
- : 'Circle: Error 10' )
- if( ast_overlap( cir2, cir1, status ) .ne. 5 ) call stopit(status,
- : 'Circle: Error 11' )
-
- p1( 1 ) = 1.2217305
- p1( 2 ) = 1.3964
- p2( 1 ) = 1.2218
- p2( 2 ) = 1.3963
- cir2 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
- if( ast_overlap( cir1, cir2, status ) .ne. 4 ) call stopit(status,
- : 'Circle: Error 12' )
- if( ast_overlap( cir2, cir1, status ) .ne. 4 ) call stopit(status,
- : 'Circle: Error 13' )
-
- p1( 1 ) = 1.2217305
- p1( 2 ) = 1.3962634
- p2( 1 ) = 1.221731
- p2( 2 ) = 1.396268
- cir2 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
- if( ast_overlap( cir1, cir2, status ) .ne. 3 ) call stopit(status,
- : 'Circle: Error 14' )
- if( ast_overlap( cir2, cir1, status ) .ne. 2 ) call stopit(status,
- : 'Circle: Error 15' )
-
- p1( 1 ) = 0.8
- p1( 2 ) = 1.0
- p2( 1 ) = 0.88
- p2( 2 ) = 1.05
- cir2 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
- if( ast_overlap( cir1, cir2, status ) .ne. 1 ) call stopit(status,
- : 'Circle: Error 16' )
-
-
- p1( 1 ) = 0.8
- p1( 2 ) = 1.5707963
- p2( 1 ) = 0.1
- cir2 = ast_circle( frm1, 1, p1, p2, unc, ' ', status )
- call ast_getregionbounds( cir2, lbnd, ubnd, status )
- if( lbnd(1) .ne. 0.0D0 ) call stopit( status,
- : 'Circle: Error 16a' )
- if( abs( lbnd(2) - 1.47079625 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Circle: Error 16b' )
- if( abs( ubnd(1) - 6.28318531 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Circle: Error 16c' )
- if( abs( ubnd(2) - 1.57079633 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Circle: Error 16d' )
-
-
- frm1 = ast_frame(2,"domain=aa",status)
-
- pp1( 1 ) = 0.0
- pp1( 2 ) = 0.0
- pp2( 1 ) = 1.0D-6
- pp2( 2 ) = 1.0D-6
- unc = ast_box( frm1, 0, pp1, pp2, AST__NULL, ' ', status )
-
- p1( 1 ) = 1.2217305
- p1( 2 ) = 1.3962634
- p2( 1 ) = 1.2218
- p2( 2 ) = 1.3963
- cir2 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
-
- if( ast_overlap( cir1, cir2, status ) .ne. 0 ) call stopit(status,
- : 'Circle: Error 17' )
- if( ast_overlap( cir2, cir1, status ) .ne. 0 ) call stopit(status,
- : 'Circle: Error 18' )
-
-
- f1 = ast_skyframe( ' ', status )
- f2 = ast_frame( 2, ' ', status )
- f3 = ast_cmpframe( f1, f2, ' ', status )
-
- p1( 1 ) = 1.0
- p1( 2 ) = 1.0
- p1( 3 ) = 3.0
- p1( 4 ) = 3.0
- p2( 1 ) = 1.01
- p2( 2 ) = 1.02
- p2( 3 ) = 3.01
- p2( 4 ) = 3.01
- cir2 = ast_circle( f3, 0, p1, p2, AST__NULL, ' ', status )
- if( ast_overlap( cir2, cir2, status ) .ne. 5 ) call stopit(status,
- : 'Circle: Error 18b' )
-
-* Test 3D spheres
-
- frm1 = ast_frame( 3, ' ', status )
-
- pp1( 1 ) = 0.0
- pp1( 2 ) = 0.0
- pp1( 3 ) = 0.0
- pp2( 1 ) = 1.0E-6
- pp2( 2 ) = 2.0E-6
- pp2( 3 ) = 2.0E-6
- unc = ast_box( frm1, 0, pp1, pp2, AST__NULL, ' ', status )
-
- p1( 1 ) = 1.0
- p1( 2 ) = 2.0
- p1( 3 ) = 3.0
- p2( 1 ) = 0.0
- p2( 2 ) = -1.0
- p2( 3 ) = -2.0
- cir1 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
- call checkdump( cir1, 'checkdump sph1', status )
-
- rad = ast_distance( cir1, p1, p2, status )
-
- call ast_offset( frm1, p1, p2, rad*0.999, p3, status )
- in(1,1) = p3(1)
- in(1,2) = p3(2)
- in(1,3) = p3(3)
- call ast_offset( frm1, p1, p2, rad*1.001, p3, status )
- in(2,1) = p3(1)
- in(2,2) = p3(2)
- in(2,3) = p3(3)
-
-
- call ast_trann( cir1, 2, 3, 2, in, .true., 3, 2, out, status )
-
- if( out(1,1) .ne. in(1,1) ) call stopit( status,
- : 'Sphere: Error 1' )
- if( out(1,2) .ne. in(1,2) ) call stopit( status,
- : 'Sphere: Error 2' )
- if( out(1,3) .ne. in(1,3) ) call stopit( status,
- : 'Sphere: Error 2z')
- if( out(2,1) .ne. AST__BAD ) call stopit( status,
- : 'Sphere: Error 3' )
- if( out(2,2) .ne. AST__BAD ) call stopit( status,
- : 'Sphere: Error 4' )
- if( out(2,3) .ne. AST__BAD ) call stopit( status,
- : 'Sphere: Error 4z' )
-
- p2(1)=0.0
- p2(2)=0.0
- p2(3)=0.0
- call ast_offset( frm1, p1, p2, rad*0.999, p3, status )
- in(1,1) = p3(1)
- in(1,2) = p3(2)
- in(1,3) = p3(3)
- call ast_offset( frm1, p1, p2, rad*1.001, p3, status )
- in(2,1) = p3(1)
- in(2,2) = p3(2)
- in(2,3) = p3(3)
-
- call ast_trann( cir1, 2, 3, 2, in, .true., 3, 2, out, status )
- if( out(1,1) .ne. in(1,1) ) call stopit( status,
- : 'Sphere: Error 5' )
- if( out(1,2) .ne. in(1,2) ) call stopit( status,
- : 'Sphere: Error 6' )
- if( out(1,3) .ne. in(1,3) ) call stopit( status,
- : 'Sphere: Error 6z')
- if( out(2,1) .ne. AST__BAD ) call stopit( status,
- : 'Sphere: Error 7' )
- if( out(2,2) .ne. AST__BAD ) call stopit( status,
- : 'Sphere: Error 8' )
- if( out(2,3) .ne. AST__BAD ) call stopit( status,
- : 'Sphere: Error 8z' )
-
-
- if( ast_overlap( cir1, cir1, status ) .ne. 5 ) call stopit(status,
- : 'Sphere: Error 10' )
-
-
-
-
- p1( 1 ) = 1.0
- p1( 2 ) = 2.0
- p1( 3 ) = 3.0
- p2( 1 ) = 0.5
- p2( 2 ) = 0.0
- p2( 3 ) = -1.0
- cir2 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
- call checkdump( cir2, 'checkdump sph2', status )
-
- if( ast_overlap( cir2, cir1, status ) .ne. 2 ) call stopit(status,
- : 'Sphere: Error 11' )
-
- if( ast_overlap( cir1, cir2, status ) .ne. 3 ) call stopit(status,
- : 'Sphere: Error 12' )
-
-
-
- p1( 1 ) = 1.0
- p1( 2 ) = 0.0
- p1( 3 ) = 3.0
- p2( 1 ) = 0.0
- p2( 2 ) = -1.0
- p2( 3 ) = -2.0
- cir2 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
- if( ast_overlap( cir1, cir2, status ) .ne. 4 ) call stopit(status,
- : 'Sphere: Error 13' )
-
- p1( 1 ) = 1.0
- p1( 2 ) = 102.0
- p1( 3 ) = 3.0
- p2( 1 ) = 0.0
- p2( 2 ) = 99.0
- p2( 3 ) = -2.0
- cir2 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
- if( ast_overlap( cir1, cir2, status ) .ne. 1 ) call stopit(status,
- : 'Sphere: Error 14' )
-
-
- p1( 1 ) = 0.0
- p1( 2 ) = 0.0
- p1( 3 ) = 0.0
- p2( 1 ) = 0.0
- p2( 2 ) = 0.0
- p2( 3 ) = 1.0
- cir1 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
-
- p1( 1 ) = 2.0000001
- p1( 2 ) = 0.0
- p1( 3 ) = 0.0
- p2( 1 ) = 2.000001
- p2( 2 ) = 1.0
- p2( 3 ) = 0.0
- cir2 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
-
- if( ast_overlap( cir1, cir2, status ) .ne. 4 ) then
- write(*,*) ast_overlap( cir1, cir2, status ),' should be 4 '
- call stopit(status, 'Sphere: Error 15' )
- end if
-
- p1( 1 ) = 2.000001
- p1( 2 ) = 0.0
- p1( 3 ) = 0.0
- p2( 1 ) = 2.000001
- p2( 2 ) = 1.0
- p2( 3 ) = 0.0
- cir2 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
-
- if( ast_overlap( cir1, cir2, status ) .ne. 4 ) call stopit(status,
- : 'Sphere: Error 16' )
-
- cir2 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
-
- call ast_setl( cir1, 'Closed', .false., status )
- call ast_setl( cir2, 'Closed', .false., status )
- if( ast_overlap( cir1, cir2, status ) .ne. 1 ) call stopit(status,
- : 'Sphere: Error 17' )
- call ast_clear( cir1, 'Closed', status )
- call ast_clear( cir2, 'Closed', status )
-
- p1( 1 ) = 2.000004
- p1( 2 ) = 0.0
- p1( 3 ) = 0.0
- p2( 1 ) = 2.000004
- p2( 2 ) = 1.0
- p2( 3 ) = 0.0
- cir2 = ast_circle( frm1, 0, p1, p2, unc, ' ', status )
-
- if( ast_overlap( cir1, cir2, status ) .ne. 1 ) call stopit(status,
- : 'Sphere: Error 18' )
-
- call ast_end( status )
- if( status .ne. sai__ok ) write(*,*) 'Circle tests failed'
-
- end
-
-
-
-
-
-
-
- subroutine checkEllipse( status )
- implicit none
- include 'AST_PAR'
- include 'SAE_PAR'
-
- integer status, ell1, ell2, fc, i, fs, frm1, fs2,mm,ell3,ell4,
- : reg, unc, f1, f2, f3, f4, f5, map, perm(2)
- double precision p1(2),p2(2),p3(2),p4(2),pp1(2),pp2(2)
- double precision q1(2),q2(2),q3(2),q4(2),lbnd(2),ubnd(2)
- double precision q1b(2),q2b(2),q3b(2),q4b(2)
- double precision p1b(2),p2b(2),p3b(2),p4b(2),matrix(4)
- character cards(10)*80
- double precision xin(4),yin(4),xout(4),yout(4),rad
- logical hasframeset
-
- data cards /'NAXIS1 = 300',
- : 'NAXIS2 = 300',
- : 'CTYPE1 = ''RA---TAN''',
- : 'CTYPE2 = ''DEC--TAN''',
- : 'CRPIX1 = 100',
- : 'CRPIX2 = 100',
- : 'CRVAL1 = 0.0',
- : 'CRVAL2 = 90.0',
- : 'CDELT1 = 0.6',
- : 'CDELT2 = 0.6' /
-
-
- if( status .ne.sai__ok ) return
- call ast_begin( status )
-
- f1 = ast_SkyFrame( 'system=fk4', status )
- f3 = ast_cmpframe( ast_pickaxes( f1, 1, 1, map, status ),
- : ast_specframe( 'system=wave,unit=um', status ),
- : ' ', status )
- perm(1)=2
- perm(2)=1
- call ast_permaxes( f3, perm, status )
- p1(1) = 0.0
- p1(2) = 0.0
- p2(1) = 0.001
- p2(2) = 0.001
- p3(1) = -0.001
- p3(2) = 0.001
- ell1 = ast_ellipse( f3, 0, p1, p2, p3, AST__NULL, ' ', status )
-
- xin(1) = 0.0
- yin(1) = 0.00141421
- xin(2) = 0.0
- yin(2) = 0.00141422
- xin(3) = -0.000999
- yin(3) = 0.0009999
- xin(4) = -0.001001
- yin(4) = 0.001001
- call ast_tran2( ell1, 4, xin, yin, .true., xout, yout, status )
-
- if( xout(1) .ne. xin(1) ) call stopit( status, 'Ellipse: Cmp 1')
- if( yout(1) .ne. yin(1) ) call stopit( status, 'Ellipse: Cmp 2')
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Cmp 3' )
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Cmp 4' )
- if( xout(3) .ne. xin(3) ) call stopit( status, 'Ellipse: Cmp 5')
- if( yout(3) .ne. yin(3) ) call stopit( status, 'Ellipse: Cmp 6')
- if( xout(4) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Cmp 7' )
- if( yout(4) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Cmp 8' )
-
- call checkdump( ell1, 'checkdump ell1 cmp', status )
- ell2 = ast_simplify( ell1, status )
- call checkdump( ell2, 'checkdump ell2 cmp', status )
- if( ast_overlap( ell1, ell2, status ) .ne. 5 ) call stopit(status,
- : 'ellipse: Error 5 cmp' )
-
- fc = ast_fitschan( ast_null, ast_null, ' ', status )
- do i = 1, 10
- call ast_putfits( fc, cards(i), .false., status )
- end do
- call ast_clear( fc, 'card', status )
- fs = ast_read( fc, status )
-
- frm1 = ast_getframe( fs, ast__current, status )
-
- p1( 1 ) = 1.2217305
- p1( 2 ) = 1.570796
- p2( 1 ) = 0.9
- p2( 2 ) = 1.470796
- p3( 1 ) = 2.9217305
- p3( 2 ) = 1.370796
-
- ell1 = ast_ellipse( frm1, 0, p1, p2, p3, AST__NULL, ' ', status )
- call checkdump( ell1, 'checkdump ell1', status )
-
-
- call ast_getregionbounds( ell1, lbnd, ubnd, status )
- if( abs( lbnd(1) ) .gt. 1.0E-10 ) call stopit( status,
- : 'Error b1' )
- if( abs( lbnd(2) - 1.19059777 ) .gt. 1.0E-6 )
- : call stopit( status, 'Error b2' )
- if( abs( ubnd(1) - 6.28318531 ) .gt. 1.0E-6 )
- : call stopit( status, 'Error b3' )
- if( abs( ubnd(2) - 1.57079633 ) .gt. 1.0E-6 )
- : call stopit( status, 'Error b4' )
-
- rad = ast_distance( ell1, p1, p2, status )
-
- call ast_offset( frm1, p1, p2, rad*0.999, p4, status )
- xin(1) = p4(1)
- yin(1) = p4(2)
- call ast_offset( frm1, p1, p2, rad*1.001, p4, status )
- xin(2) = p4(1)
- yin(2) = p4(2)
-
- call ast_tran2( ell1, 2, xin, yin, .true., xout, yout, status )
- if( xout(1) .ne. xin(1) ) call stopit( status, 'Ellipse: Error 1')
- if( yout(1) .ne. yin(1) ) call stopit( status, 'Ellipse: Error 2')
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Error 3' )
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Error 4' )
-
-
- call ast_offset( frm1, p1, p2, -rad*0.999, p4, status )
- xin(1) = p4(1)
- yin(1) = p4(2)
- call ast_offset( frm1, p1, p2, -rad*1.001, p4, status )
- xin(2) = p4(1)
- yin(2) = p4(2)
-
- call ast_tran2( ell1, 2, xin, yin, .true., xout, yout, status )
- if( xout(1) .ne. xin(1) ) call stopit( status,
- : 'Ellipse: Error 1b')
- if( yout(1) .ne. yin(1) ) call stopit( status,
- : 'Ellipse: Error 2b')
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Error 3b' )
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Error 4b' )
-
-
- rad = ast_distance( ell1, p1, p3, status )
-
- call ast_offset( frm1, p1, p3, rad*0.999, p4, status )
- xin(1) = p4(1)
- yin(1) = p4(2)
- call ast_offset( frm1, p1, p3, rad*1.001, p4, status )
- xin(2) = p4(1)
- yin(2) = p4(2)
-
- call ast_tran2( ell1, 2, xin, yin, .true., xout, yout, status )
- if( xout(1) .ne. xin(1) ) call stopit( status,
- : 'Ellipse: Error 1c')
- if( yout(1) .ne. yin(1) ) call stopit( status,
- : 'Ellipse: Error 2c')
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Error 3c' )
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Error 4c' )
-
- call ast_offset( frm1, p1, p3, -rad*0.999, p4, status )
- xin(1) = p4(1)
- yin(1) = p4(2)
- call ast_offset( frm1, p1, p3, -rad*1.001, p4, status )
- xin(2) = p4(1)
- yin(2) = p4(2)
-
- call ast_tran2( ell1, 2, xin, yin, .true., xout, yout, status )
- if( xout(1) .ne. xin(1) ) call stopit( status,
- : 'Ellipse: Error 1d')
- if( yout(1) .ne. yin(1) ) call stopit( status,
- : 'Ellipse: Error 2d')
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Error 3d' )
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'Ellipse: Error 4d' )
-
-
- ell2 = ast_copy( ell1, status )
-
- if( ast_overlap( ell1, ell2, status ) .ne. 5 ) call stopit(status,
- : 'ellipse: Error 5' )
- if( ast_overlap( ell2, ell1, status ) .ne. 5 ) call stopit(status,
- : 'ellipse: Error 6' )
-
- call ast_set( ell2, 'system=galactic', status )
- if( ast_overlap( ell1, ell2, status ) .ne. 5 ) call stopit(status,
- : 'ellipse: Error 7' )
- if( ast_overlap( ell2, ell1, status ) .ne. 5 ) call stopit(status,
- : 'ellipse: Error 8' )
-
-
-
-
- xin(1) = p1( 1 )
- yin(1) = p1( 2 )
- xin(2) = p2( 1 )
- yin(2) = p2( 2 )
- xin(3) = p3( 1 )
- yin(3) = p3( 2 )
- call ast_tran2( fs, 3, xin, yin, .false., xout, yout, status )
- q1(1) = xout(1)
- q1(2) = yout(1)
- q2(1) = xout(2)
- q2(2) = yout(2)
- q3(1) = xout(3)
- q3(2) = yout(3)
-
- frm1 = ast_GetFrame( fs, AST__BASE, status )
-
- rad = ast_distance( frm1, q1, q2, status )
-
- call ast_offset( frm1, q1, q2, rad*1.95, q1b, status )
-
- q2b( 1 ) = q2( 1 ) + ( q1b( 1 ) - q1( 1 ) )
- q2b( 2 ) = q2( 2 ) + ( q1b( 2 ) - q1( 2 ) )
-
- q3b( 1 ) = q3( 1 ) + ( q1b( 1 ) - q1( 1 ) )
- q3b( 2 ) = q3( 2 ) + ( q1b( 2 ) - q1( 2 ) )
-
- xout(1) = q1b(1)
- yout(1) = q1b(2)
- xout(2) = q2b(1)
- yout(2) = q2b(2)
- xout(3) = q3b(1)
- yout(3) = q3b(2)
- call ast_tran2( fs, 3, xout, yout, .true., xin, yin, status )
- p1b( 1 ) = xin(1)
- p1b( 2 ) = yin(1)
- p2b( 1 ) = xin(2)
- p2b( 2 ) = yin(2)
- p3b( 1 ) = xin(3)
- p3b( 2 ) = yin(3)
-
- frm1 = ast_GetFrame( fs, AST__CURRENT, status )
-
- pp1( 1 ) = 0.0
- pp1( 2 ) = 0.0
- pp2( 1 ) = 1.0D-7
- pp2( 2 ) = 1.0D-7
- unc = ast_box( frm1, 0, pp1, pp2, AST__NULL, ' ', status )
- ell2 = ast_ellipse( frm1, 0, p1b, p2b, p3b, unc, ' ', status )
- if( ast_overlap( ell2, ell1, status ) .ne. 4 ) call stopit(status,
- : 'ellipse: Error 9' )
- if( ast_overlap( ell1, ell2, status ) .ne. 4 ) call stopit(status,
- : 'ellipse: Error 10' )
-
-
- call ast_offset( frm1, q1, q2, rad*2.05, q1b, status )
-
- q2b( 1 ) = q2( 1 ) + ( q1b( 1 ) - q1( 1 ) )
- q2b( 2 ) = q2( 2 ) + ( q1b( 2 ) - q1( 2 ) )
-
- q3b( 1 ) = q3( 1 ) + ( q1b( 1 ) - q1( 1 ) )
- q3b( 2 ) = q3( 2 ) + ( q1b( 2 ) - q1( 2 ) )
-
- xout(1) = q1b(1)
- yout(1) = q1b(2)
- xout(2) = q2b(1)
- yout(2) = q2b(2)
- xout(3) = q3b(1)
- yout(3) = q3b(2)
- call ast_tran2( fs, 3, xout, yout, .true., xin, yin, status )
- p1b( 1 ) = xin(1)
- p1b( 2 ) = yin(1)
- p2b( 1 ) = xin(2)
- p2b( 2 ) = yin(2)
- p3b( 1 ) = xin(3)
- p3b( 2 ) = yin(3)
-
- frm1 = ast_GetFrame( fs, AST__CURRENT, status )
- pp1( 1 ) = 0.0
- pp1( 2 ) = 0.0
- pp2( 1 ) = 1.0D-7
- pp2( 2 ) = 1.0D-7
- unc = ast_box( frm1, 0, pp1, pp2, AST__NULL, ' ', status )
- ell2 = ast_ellipse( frm1, 0, p1b, p2b, p3b, unc, ' ', status )
- if( ast_overlap( ell2, ell1, status ) .ne. 1 ) call stopit(status,
- : 'ellipse: Error 11' )
- if( ast_overlap( ell1, ell2, status ) .ne. 1 ) call stopit(status,
- : 'ellipse: Error 12' )
-
- p1b( 1 ) = p1( 1 )
- p1b( 2 ) = p1( 2 )
- p2b( 1 ) = p2( 1 )
- p2b( 2 ) = 0.9*p2( 2 ) + 0.1*p1( 2 )
- p3b( 1 ) = p3( 1 )
- p3b( 2 ) = 0.9*p3( 2 ) + 0.1*p1( 2 )
-
- ell2 = ast_ellipse( frm1, 0, p1b, p2b, p3b, unc, ' ', status )
- if( ast_overlap( ell2, ell1, status ) .ne. 2 ) call stopit(status,
- : 'ellipse: Error 13' )
- if( ast_overlap( ell1, ell2, status ) .ne. 3 ) call stopit(status,
- : 'ellipse: Error 14' )
-
-
-
-
-
-
- frm1 = ast_frame( 2, ' ', status )
-
- pp1( 1 ) = 0.0
- pp1( 2 ) = 0.0
- pp2( 1 ) = 1.0D-7
- pp2( 2 ) = 1.0D-7
- unc = ast_box( frm1, 0, pp1, pp2, AST__NULL, ' ', status )
-
- p1(1)=0.0
- p1(2)=0.0
- p2(1)=1.0
- p2(2)=0.0
- p3(1)=0.0
- p3(2)=0.5
- ell1 = ast_ellipse( frm1, 0, p1, p2, p3, unc, ' ', status )
-
-
- matrix(1) = 1.73
- matrix(2) = 0.5003
- matrix(3) = -1.0006
- matrix(4) = 0.866
- mm = ast_matrixmap( 2, 2, 0, matrix, ' ', status )
-
- ell2 = ast_mapregion( ell1, mm, frm1, status )
- call checkdump( ell2, 'checkdump ell2', status )
- if( hasframeset( ell2, status ) ) call stopit( status,
- : 'Ellipse: error 15' )
- call ast_invert( mm, status )
- ell3 = ast_mapregion( ell2, mm, frm1, status )
- if( hasframeset( ell3,status ) ) call stopit( status,
- : 'Ellipse: error 16' )
- if( ast_overlap( ell1, ell3, status ) .ne. 5 ) call stopit(status,
- : 'ellipse: Error 17' )
-
-
- frm1 = ast_frame( 2, ' ', status )
- pp1( 1 ) = 0.0
- pp1( 2 ) = 0.0
- pp2( 1 ) = 1.0D-7
- pp2( 2 ) = 1.0D-7
- unc = ast_box( frm1, 0, pp1, pp2, AST__NULL, ' ', status )
-
- p1(1)=0.0
- p1(2)=0.0
- p2(1)=1.0
- p2(2)=0.0
- p3(1)=0.0
- p3(2)=1.0
- ell1 = ast_ellipse( frm1, 0, p1, p2, p3, unc, ' ', status )
- reg = ast_simplify( ell1, status )
- if( .not. ast_IsACircle( reg, status ) ) call stopit(status,
- : 'ellipse: Error 18' )
-
- ell1 = ast_circle( frm1, 0, p1, p2, AST__NULL, ' ', status )
- if( ast_overlap( reg, ell1, status ) .ne. 5 ) call stopit(status,
- : 'Ellipse: Error 19' )
-
-
-
- frm1 = ast_skyframe( ' ', status )
- p1(1)=0.0D0
- p1(2)=0.0D0
- p2(1)=0.01D0
- p2(2)=0.01D0
- p3(1)=0.0D0
- p3(2)=0.0D0
- ell1 = ast_ellipse( frm1, 1, p1, p2, p3, AST__NULL, ' ', status )
-
- p1(1)=-0.015D0
- p1(2)=0.0D0
- p2(1)=0.01D0
- p2(2)=0.01D0
- p3(1)=0.0D0
- p3(2)=0.0D0
- ell2 = ast_ellipse( frm1, 1, p1, p2, p3, AST__NULL, ' ', status )
-
- if( ast_overlap( ell1, ell2, status ) .ne. 4 ) call stopit(status,
- : 'Ellipse: Error 20' )
-
- p1(1)=6.2681853D0
- p1(2)=0.0D0
- p2(1)=0.01D0
- p2(2)=0.01D0
- p3(1)=0.0D0
- p3(2)=0.0D0
- ell2 = ast_ellipse( frm1, 1, p1, p2, p3, AST__NULL, ' ', status )
-
- if( ast_overlap( ell1, ell2, status ) .ne. 4 ) call stopit(status,
- : 'Ellipse: Error 21' )
-
- p1(1)=-0.015D0
- p1(2)=0.0D0
- p2(1)=0.01D0
- p2(2)=0.01D0
- p3(1)=0.0D0
- p3(2)=0.0D0
- ell1 = ast_ellipse( frm1, 1, p1, p2, p3, AST__NULL, ' ', status )
-
- if( ast_overlap( ell1, ell2, status ) .ne. 5 ) call stopit(status,
- : 'Ellipse: Error 22' )
-
-
-
-
- call ast_end( status )
- if( status .ne. sai__ok ) write(*,*) 'Ellipse tests failed'
-
- end
-
-
- subroutine checkNullRegion( status )
- implicit none
- include 'AST_PAR'
- include 'SAE_PAR'
- include 'PRM_PAR'
-
- integer status, f1, f2, f3, nr, cir, i, j, lbnd_in(2), ubnd_in(2),
- : nr2, res
- double precision p1(4),p2(4),rin(5,5)
- logical hasframeset
-
- if( status .ne.sai__ok ) return
-
- call ast_begin( status )
-
- f1 = ast_skyframe( ' ', status )
- f2 = ast_frame( 2, ' ', status )
- f3 = ast_cmpframe( f1, f2, ' ', status )
- nr = ast_NullRegion( f3, AST__NULL, ' ', status )
-
- call checkdump( nr, 'checkdump NullRegion:nr', status )
-
- p1( 1 ) = 1.0
- p1( 2 ) = 1.0
- p1( 3 ) = 3.0
- p1( 4 ) = 3.0
- p2( 1 ) = 1.01
- p2( 2 ) = 1.02
- p2( 3 ) = 3.01
- p2( 4 ) = 3.01
- cir = ast_circle( nr, 0, p1, p2, AST__NULL, ' ', status )
- call checkdump( cir, 'checkdump NullRegion:cir', status )
-
- if( ast_overlap( cir, nr, status ) .ne. 1 ) call stopit(status,
- : 'NullRegion: Error 1' )
-
- if( ast_overlap( nr, cir, status ) .ne. 1 ) call stopit(status,
- : 'NullRegion: Error 2' )
-
- if( ast_overlap( nr, nr, status ) .ne. 5 ) call stopit(status,
- : 'NullRegion: Error 3' )
-
- call ast_negate( nr, status )
-
- if( ast_overlap( cir, nr, status ) .ne. 2 ) call stopit(status,
- : 'NullRegion: Error 4' )
-
- if( ast_overlap( nr, cir, status ) .ne. 3 ) call stopit(status,
- : 'NullRegion: Error 5' )
-
- if( ast_overlap( nr, nr, status ) .ne. 5 ) call stopit(status,
- : 'NullRegion: Error 6' )
-
- call ast_set( nr, 'system(1)=FK4', status )
- nr2 = ast_simplify( nr, status )
- call ast_set( nr2, 'system(1)=ICRS', status )
- nr = ast_simplify( nr2, status )
- if( hasframeset( nr, status ) ) call stopit( status,
- : 'NullRegion: error 7' )
-
- lbnd_in(1) = 1
- lbnd_in(2) = 1
- ubnd_in(1) = 5
- ubnd_in(2) = 5
-
- do i =1, 5
- do j = 1, 5
- rin( j,i)=1.0
- end do
- end do
-
- nr = ast_NullRegion( f2, AST__NULL, 'negated=1', status )
- res = ast_maskd( nr, AST__NULL, .false., 2, lbnd_in, ubnd_in,
- : rin, VAL__BADD, status )
-
- if( res .ne. 0 ) then
- write(*,*) 'NullRegion:Res is ',res
- call stopit( status, 'res should be 0' )
- end if
-
- do i =1, 5
- do j = 1, 5
- if( rin(j,i) .NE. 1.0 ) then
- write(*,*) 'rin(',j,',',i,') = ',rin(j,i)
- call stopit( status, 'Above value should be 1.0' )
- end if
- end do
- end do
-
- call ast_negate( nr, status )
- res = ast_maskd( nr, AST__NULL, .false., 2, lbnd_in, ubnd_in,
- : rin, VAL__BADD, status )
-
- if( res .ne. 25 ) then
- write(*,*) 'NullRegion:Res is ',res
- call stopit( status, 'res should be 25' )
- end if
-
- do i =1, 5
- do j = 1, 5
- if( rin(j,i) .NE. VAL__BADD ) then
- write(*,*) 'rin(',j,',',i,') = ',rin(j,i)
- call stopit( status, 'Above value should be BAD' )
- end if
- end do
- end do
-
-
-
-
-
- call ast_end( status )
- if( status .ne. sai__ok ) write(*,*) 'NullRegion tests failed'
-
- end
-
-
-
-
- subroutine checkCmpRegion( status )
- implicit none
- include 'AST_PAR'
- include 'SAE_PAR'
- include 'PRM_PAR'
-
- integer status, r1, r2, r3, cr, f1, f2, cr2, cr3, frm, map, fs
- double precision p1(2),p2(2),xout(4),yout(4),xin(4),yin(4)
- logical hasframeset
-
- if( status .ne.sai__ok ) return
-
- call ast_begin( status )
-
-
- f1 = ast_skyframe( 'system=fk5', status )
- p1(1) = 0.0
- p1(2) = 0.0
- p2(1) = 1.0E-4
- p2(2) = 1.0E-4
- r1 = ast_box( f1, 0, p1, p2, AST__NULL, ' ', status )
-
- f2 = ast_skyframe( 'system=galactic', status )
-
- p1(1) = 1.68166715892457
- p1(2) = -1.050436507472
- p2(1) = 1.68140254777194
- p2(2) = -1.05048840003467
- r2 = ast_circle( f2, 0, p1, p2, AST__NULL, ' ', status )
-
- if( ast_overlap( r1, r2, status ) .ne. 4 ) call stopit(status,
- : 'CmpRegion: Error 0' )
-
- cr = ast_cmpregion( r1, r2, AST__AND, ' ', status )
- cr = ast_Copy( cr, status )
- if( ast_overlap( cr, cr, status ) .ne. 5 ) call stopit(status,
- : 'CmpRegion: Error 1' )
-
- xin( 1 ) = 0.5E-4! In both r1 and r2
- xin( 2 ) = 1.5E-4! In r2 but not r1
- xin( 3 ) = -0.5E-4! In r1 but not r2
- xin( 4 ) = 1.1E-4! In neither
-
- yin( 1 ) = 0.5E-4
- yin( 2 ) = 1.5E-4
- yin( 3 ) = -0.5E-4
- yin( 4 ) = -1.1E-4
-
- call ast_tran2( cr, 4, xin, yin, .true., xout, yout, status )
-
- if( xout(1) .ne. xin(1) ) call stopit( status,
- : 'CmpRegion: AND Error 1x')
- if( yout(1) .ne. yin(1) ) call stopit( status,
- : 'CmpRegion: AND Error 1y')
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: AND Error 2x')
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: AND Error 2y')
- if( xout(3) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: AND Error 3x')
- if( yout(3) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: AND Error 3y')
- if( xout(4) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: AND Error 4x')
- if( yout(4) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: AND Error 4y')
-
- cr = ast_cmpregion( r1, r2, AST__OR, ' ', status )
- call ast_tran2( cr, 4, xin, yin, .true., xout, yout, status )
-
- if( xout(1) .ne. xin(1) ) call stopit( status,
- : 'CmpRegion: OR Error 1x')
- if( yout(1) .ne. yin(1) ) call stopit( status,
- : 'CmpRegion: OR Error 1y')
- if( xout(2) .ne. xin(2) ) call stopit( status,
- : 'CmpRegion: OR Error 2x')
- if( yout(2) .ne. yin(2) ) call stopit( status,
- : 'CmpRegion: OR Error 2y')
- if( xout(3) .ne. xin(3) ) call stopit( status,
- : 'CmpRegion: OR Error 3x')
- if( yout(3) .ne. yin(3) ) call stopit( status,
- : 'CmpRegion: OR Error 3y')
- if( xout(4) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: OR Error 4x')
- if( yout(4) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: OR Error 4y')
-
-
- call ast_negate( r2, status )
- cr = ast_cmpregion( r1, r2, AST__AND, ' ', status )
- call ast_tran2( cr, 4, xin, yin, .true., xout, yout, status )
-
- if( xout(1) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDb Error 1x')
- if( yout(1) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDb Error 1y')
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDb Error 2x')
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDb Error 2y')
- if( xout(3) .ne. xin(3) ) call stopit( status,
- : 'CmpRegion: ANDb Error 3x')
- if( yout(3) .ne. yin(3) ) call stopit( status,
- : 'CmpRegion: ANDb Error 3y')
- if( xout(4) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDb Error 4x')
- if( yout(4) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDb Error 4y')
-
- call ast_negate( r1, status )
- cr = ast_cmpregion( r1, r2, AST__AND, ' ', status )
- call ast_tran2( cr, 4, xin, yin, .true., xout, yout, status )
-
- if( xout(1) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDc Error 1x')
- if( yout(1) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDc Error 1y')
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDc Error 2x')
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDc Error 2y')
- if( xout(3) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDc Error 3x')
- if( yout(3) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDc Error 3y')
- if( xout(4) .ne. xin(4) ) call stopit( status,
- : 'CmpRegion: ANDc Error 4x')
- if( yout(4) .ne. yin(4) ) call stopit( status,
- : 'CmpRegion: ANDc Error 4y')
-
-
- cr = ast_cmpregion( r1, r2, AST__AND, ' ', status )
- call ast_negate( cr, status )
- call ast_tran2( cr, 4, xin, yin, .true., xout, yout, status )
-
- if( xout(1) .ne. xin(1) ) call stopit( status,
- : 'CmpRegion: ANDd Error 1x')
- if( yout(1) .ne. yin(1) ) call stopit( status,
- : 'CmpRegion: ANDd Error 1y')
- if( xout(2) .ne. xin(2) ) call stopit( status,
- : 'CmpRegion: ANDd Error 2x')
- if( yout(2) .ne. yin(2) ) call stopit( status,
- : 'CmpRegion: ANDd Error 2y')
- if( xout(3) .ne. xin(3) ) call stopit( status,
- : 'CmpRegion: ANDd Error 3x')
- if( yout(3) .ne. yin(3) ) call stopit( status,
- : 'CmpRegion: ANDd Error 3y')
- if( xout(4) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDd Error 4x')
- if( yout(4) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion: ANDd Error 4y')
-
-
- cr2 = ast_cmpregion( r2, r1, AST__AND, ' ', status )
-
- fs = ast_convert( cr, cr2, ' ', status )
- if( fs .eq. AST__NULL ) call stopit( status,
- : 'CmpRegion: Error 5')
- map = ast_getmapping( fs, AST__BASE, AST__CURRENT, status )
- frm = ast_getframe( fs, AST__CURRENT, status )
- cr3 = ast_mapRegion( cr, map, frm, status )
- if( ast_overlap( cr3, cr2, status ) .ne. 6 ) call stopit(status,
- : 'CmpRegion: Error 6' )
-
- cr = ast_Copy( cr, status )
- call checkdump( cr, 'checkdump CmpRegion: cr', status )
-
-
- cr2 = ast_Copy( cr, status )
- call ast_negate( cr2, status )
-
- cr3 = ast_cmpregion( cr2, cr, AST__OR, ' ', status )
- cr3 = ast_Simplify( cr3, status )
- if( .not. ast_isanullregion( cr3, status ) ) then
- call stopit(status, 'CmpRegion: Error 7' )
- else if( .not. ast_getl( cr3, 'negated', status ) ) then
- call stopit(status, 'CmpRegion: Error 8' )
- end if
-
- cr3 = ast_cmpregion( cr2, cr, AST__AND, ' ', status )
- cr3 = ast_Simplify( cr3, status )
- if( .not. ast_isanullregion( cr3, status ) ) then
- call stopit(status, 'CmpRegion: Error 9' )
- else if( ast_getl( cr3, 'negated', status ) ) then
- call stopit(status, 'CmpRegion: Error 10' )
- end if
-
-
-
- f1 = ast_frame( 2, ' ', status )
- p1(1) = 0.0
- p1(2) = 0.0
- p2(1) = 1.0
- p2(2) = 1.0
- r1 = ast_box( f1, 0, p1, p2, AST__NULL, ' ', status )
-
- p1(1) = -1.0
- p1(2) = 0.0
- p2(1) = 0.0
- p2(2) = 0.0
- r2 = ast_circle( f1, 0, p1, p2, AST__NULL, ' ', status )
-
- p1(1) = 1.0
- p1(2) = 0.0
- p2(1) = 0.0
- p2(2) = 0.0
- r3 = ast_circle( f1, 0, p1, p2, AST__NULL, ' ', status )
-
- cr = ast_cmpregion( r2, r3, AST__OR, ' ', status )
- call checkdump( cr, 'checkdump CmpRegion: cr', status )
-
- call ast_negate( cr, status )
- cr2 = ast_cmpregion( cr, r1, AST__AND, ' ', status )
- call checkdump( cr2, 'checkdump CmpRegion: cr2', status )
-
- cr2 = ast_simplify( cr2, status )
-
- xin( 1 ) = 0.0
- xin( 2 ) = 0.2
- xin( 3 ) = 0.5
- xin( 4 ) = -0.5
-
- yin( 1 ) = 0.5
- yin( 2 ) = 1.5
- yin( 3 ) = 0.5
- yin( 4 ) = 0.5
-
- call ast_tran2( cr2, 4, xin, yin, .true., xout, yout, status )
-
- if( xout(1) .ne. xin(1) ) call stopit( status,
- : 'CmpRegion:Error 11')
- if( yout(1) .ne. yin(1) ) call stopit( status,
- : 'CmpRegion:Error 12')
- if( xout(2) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion:Error 13')
- if( yout(2) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion:Error 14')
- if( xout(3) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion:Error 15')
- if( yout(3) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion:Error 16')
- if( xout(4) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion:Error 17')
- if( yout(4) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion:Error 18')
-
-
-
- call ast_negate( cr2, status )
- cr2 = ast_simplify( cr2, status )
- call ast_tran2( cr2, 4, xin, yin, .true., xout, yout, status )
-
- if( xout(1) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion:Error 19')
- if( yout(1) .ne. AST__BAD ) call stopit( status,
- : 'CmpRegion:Error 20')
- if( xout(2) .ne. xin(2) ) call stopit( status,
- : 'CmpRegion:Error 21')
- if( yout(2) .ne. yin(2) ) call stopit( status,
- : 'CmpRegion:Error 22')
- if( xout(3) .ne. xin(3) ) call stopit( status,
- : 'CmpRegion:Error 23')
- if( yout(3) .ne. yin(3) ) call stopit( status,
- : 'CmpRegion:Error 24')
- if( xout(4) .ne. xin(4) ) call stopit( status,
- : 'CmpRegion:Error 25')
- if( yout(4) .ne. yin(4) ) call stopit( status,
- : 'CmpRegion:Error 26')
-
-
-
-
-
- call ast_end( status )
- if( status .ne. sai__ok ) write(*,*) 'CmpRegion tests failed'
-
- end
-
-
-
-
-
-
-
-*
-* Tests the dump function, the loader, and the astOverlap method.
-*
- subroutine checkdump( obj, text, status )
-
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character text*(*)
- integer obj, status, next, end, ch, result, ll, overlap
- external mysource, mysink
- character buf*45000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
-* Create a Channel which reads and writes to an internal string buffer.
- ch = ast_channel( mysource, mysink, ' ', status )
-
-* Write the supplied Region out to this Channel.
- ll = 160
- next = 1
- if( ast_write( ch, obj, status ) .ne.1 ) then
- write(*,*) text
- call stopit( status, 'Cannot write supplied object to '//
- : 'channel' )
- end if
-
-* Read an Object back from this Channel.
- next = 1
- result = ast_read( ch, status )
- if( result .eq. ast__null ) then
- write(*,*) text
- call stopit( status, 'Cannot read object from channel' )
- end if
-
-* Check that it is a Region and its boundary is identical to the supplied
-* Region.
- overlap = ast_overlap( obj, result, status )
- if( overlap .ne. 5 ) then
- write(*,*) 'obj result Overlap: ', overlap
- write(*,*) 'obj self-Overlap: ', ast_overlap( obj, obj,
- : status )
- write(*,*) 'result self-Overlap: ', ast_overlap( result,
- : result, status )
- call ast_Show( obj, status )
- call ast_Show( result, status )
- write(*,*) text
- call stopit( status, 'Object has changed' )
- end if
-
- end
-
- subroutine mysource( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, ll
- character buf*45000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- if( next .ge. end ) then
- call ast_putline( buf, -1, status )
- else
- call ast_putline( buf( next : ), ll, status )
- endif
-
- next = next + ll
-
- end
-
- subroutine mysink( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll
- character buf*45000
- character line*1000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
- buf( next : ) = line( f : l )
- l = l - f + 1
-
- if( next + ll - 1 .ge. 45000 ) then
- write(*,*)
- call stopit( status, 'Buffer overflow in mysink!!' )
- else if( l .gt. ll ) then
- write(*,*)
- write(*,*) buf( next : next + l)
- write(*,*) 'Line length ',l,' greater than ',ll
- call stopit( status, 'Line overflow in mysink!!' )
- else
- end = next + l
- buf( end : next + ll - 1 ) = ' '
- endif
-
- next = next + ll
-
- end
-
-
-
-
- subroutine checkPrism( status )
- implicit none
- include 'AST_PAR'
- include 'SAE_PAR'
-
- integer f1, f2, r1, r2, r3, r4, status
- double precision lbnd(5),ubnd(5),p1(5),p2(5)
- logical hasframeset
-
- if( status .ne.sai__ok ) return
-
- call ast_begin( status )
-
- f1 = ast_skyframe( 'system=fk5', status )
- p1(1) = 0.0
- p1(2) = 0.0
- p2(1) = 1.0E-4
- p2(2) = 1.0E-4
- r1 = ast_box( f1, 0, p1, p2, AST__NULL, ' ', status )
-
- f2 = ast_specframe( 'Unit=Angstrom', status )
- lbnd( 1 ) = 5000.0
- ubnd( 1 ) = 6000.0
- r2 = ast_interval( f2, lbnd, ubnd, AST__NULL, ' ', status )
- r3 = ast_prism( r1, r2, ' ', status )
-
- call checkdump( r3, 'checkdump Prism 1', status )
-
- if( ast_overlap( r3, r3, status ) .ne. 5 ) call stopit( status,
- : 'Prism 1' )
-
- r4 = ast_Simplify( r3, status )
- if( .not. ast_isabox( r4, status ) ) call stopit( status,
- : 'Prism 1b' )
- if( hasframeset( r4, status ) ) call stopit( status, 'Prism 1c' )
- if( ast_overlap( r3, r4, status ) .ne. 5 ) call stopit( status,
- : 'Prism 1d' )
-
-
- lbnd( 1 ) = 5500.0
- ubnd( 1 ) = 5800.0
- r2 = ast_interval( f2, lbnd, ubnd, AST__NULL, ' ', status )
- r4 = ast_prism( r1, r2, ' ', status )
-
- if( ast_overlap( r3, r4, status ) .ne. 3 ) call stopit( status,
- : 'Prism 2' )
- if( ast_overlap( r4, r3, status ) .ne. 2 ) then
- write(*,*) ast_overlap( r4, r3, status ),' should be 2'
- call stopit( status, 'Prism 3' )
- end if
-
- lbnd( 1 ) = 5500.0
- ubnd( 1 ) = 6500.0
- r2 = ast_interval( f2, lbnd, ubnd, AST__NULL, ' ', status )
- r4 = ast_prism( r1, r2, ' ', status )
- if( ast_overlap( r3, r4, status ) .ne. 4 ) call stopit( status,
- : 'Prism 4' )
- if( ast_overlap( r4, r3, status ) .ne. 4 ) call stopit( status,
- : 'Prism 5' )
-
- lbnd( 1 ) = 6500.0
- ubnd( 1 ) = 7500.0
- r2 = ast_interval( f2, lbnd, ubnd, AST__NULL, ' ', status )
- r4 = ast_prism( r1, r2, ' ', status )
- if( ast_overlap( r3, r4, status ) .ne. 1 ) call stopit( status,
- : 'Prism 6' )
- if( ast_overlap( r4, r3, status ) .ne. 1 ) call stopit( status,
- : 'Prism 7' )
-
- r4 = ast_copy( r3, status )
- call ast_Negate( r4, status )
- if( ast_overlap( r4, r3, status ) .ne. 6 ) call stopit( status,
- : 'Prism 8' )
-
-
- p1(1) = 2.0E-4
- p1(2) = 2.0E-4
- p2(1) = 1.1E-4
- p2(2) = 1.0E-4
- r1 = ast_box( f1, 0, p1, p2, AST__NULL, ' ', status )
- lbnd( 1 ) = 5000.0
- ubnd( 1 ) = 6000.0
- r2 = ast_interval( f2, lbnd, ubnd, AST__NULL, ' ', status )
- r4 = ast_prism( r1, r2, ' ', status )
- if( ast_overlap( r3, r4, status ) .ne. 1 ) call stopit( status,
- : 'Prism 9' )
-
- p1(1) = 2.0E-4
- p1(2) = 2.0E-4
- p2(1) = 1.0E-4
- p2(2) = 1.0E-4
- r1 = ast_box( f1, 0, p1, p2, AST__NULL, ' ', status )
- r4 = ast_prism( r1, r2, ' ', status )
- if( ast_overlap( r3, r4, status ) .ne. 4 ) call stopit( status,
- : 'Prism 10' )
-
- call ast_setl( r3, 'Closed', .false., status )
- call ast_setl( r4, 'Closed', .false., status )
- if( ast_overlap( r3, r4, status ) .ne. 1 ) call stopit( status,
- : 'Prism 11' )
-
-
-
- f1 = ast_skyframe( 'system=fk5', status )
- p1(1) = 0.0
- p1(2) = 0.0
- p2(1) = 1.0E-4
- p2(2) = 1.0E-4
- r1 = ast_box( f1, 0, p1, p2, AST__NULL, ' ', status )
-
- f2 = ast_specframe( 'System=Wavelen,Unit=Angstrom', status )
- lbnd( 1 ) = 5000.0
- ubnd( 1 ) = AST__BAD
- r2 = ast_interval( f2, lbnd, ubnd, AST__NULL, ' ', status )
- r3 = ast_prism( r1, r2, ' ', status )
-
- lbnd( 1 ) = 6000.0
- ubnd( 1 ) = AST__BAD
- r2 = ast_interval( f2, lbnd, ubnd, AST__NULL, ' ', status )
- r4 = ast_prism( r1, r2, ' ', status )
-
- call ast_setc( r3, 'system(1)', 'galactic', status )
-
- if( ast_overlap( r3, r4, status ) .ne. 3 ) call stopit( status,
- : 'Prism 12' )
-
- ubnd( 1 ) = 6000.0
- lbnd( 1 ) = AST__BAD
- r2 = ast_interval( f2, lbnd, ubnd, AST__NULL, ' ', status )
- r4 = ast_prism( r1, r2, ' ', status )
-
- if( ast_overlap( r3, r4, status ) .ne. 4 ) call stopit( status,
- : 'Prism 13' )
-
- ubnd( 1 ) = 5000.0
- lbnd( 1 ) = AST__BAD
- r2 = ast_interval( f2, lbnd, ubnd, AST__NULL, ' ', status )
- r4 = ast_prism( r1, r2, ' ', status )
- call ast_setc( r4, 'system(3)', 'freq', status )
- if( ast_overlap( r3, r4, status ) .ne. 4 ) call stopit( status,
- : 'Prism 14' )
-
- call ast_setl( r4, 'closed', .false., status )
- if( ast_overlap( r3, r4, status ) .ne. 1 ) call stopit( status,
- : 'Prism 15' )
-
-
- f1 = ast_skyframe( 'system=fk5', status )
- p1(1) = 0.0
- p1(2) = -1.57
- p2(1) = 0.8
- p2(2) = -1.5
- r1 = ast_box( f1, 0, p1, p2, AST__NULL, ' ', status )
-
- f2 = ast_specframe( 'Unit=Angstrom', status )
- lbnd( 1 ) = 5000.0
- ubnd( 1 ) = 6000.0
- r2 = ast_interval( f2, lbnd, ubnd, AST__NULL, ' ', status )
- r3 = ast_prism( r1, r2, ' ', status )
- r4 = ast_Simplify( r3, status )
-
- call ast_getregionbounds( r4, lbnd, ubnd, status )
- if( abs( lbnd(1) + 0.8D0 ) .gt. 1.0E-6 ) call stopit( status,
- : 'Prism 16' )
- if( abs( lbnd(2) + 1.64D0 ) .gt. 1.0E-6 )
- : call stopit( status, 'Prism 17' )
- if( abs( ubnd(1) - 0.8D0 ) .gt. 1.0E-6 )
- : call stopit( status, 'Prism 18' )
- if( abs( ubnd(2) + 1.5 ) .gt. 1.0E-6 )
- : call stopit( status, 'Prism 19' )
- if( abs( lbnd(3) - 5000.0 ) .gt. 1.0E-10 )
- : call stopit( status, 'Prism 20' )
- if( abs( ubnd(3) - 6000.0 ) .gt. 1.0E-6 )
- : call stopit( status, 'Prism 21' )
-
- call ast_end( status )
- if( status .ne. sai__ok ) write(*,*) 'Prism tests failed'
-
- end
-
-
-
- subroutine checkRemoveRegions( status )
- implicit none
-
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer status, sf1, sf2, reg, fs, map, fs2
- double precision cen(2), ixin(2), iyin(2), gxin(2), gyin(2),
- : xout(2), yout(2)
-
- if( status .ne. sai__ok ) return
-
- call ast_begin( status )
-
- sf1 = ast_skyframe( 'System=ICRS', status )
- cen(1) = 0.0
- cen(2) = 0.0
- reg = ast_circle( sf1, 1, cen, 0.001D0, AST__NULL, ' ', status )
-
- ixin(1) = 0.0
- iyin(1) = 0.0
- ixin(2) = 0.01
- iyin(2) = 0.01
-
- call ast_tran2( reg, 2, ixin, iyin, .true., xout, yout, status )
-
- if( xout(1) .eq. AST__BAD .or. yout(1) .eq. AST__BAD ) then
- call stopit( status, 'RemoveRegions test 1 failed' )
-
- else if( abs( xout(1) - ixin(1) ) .gt. 1.0E-10 .or.
- : abs( yout(1) - iyin(1) ) .gt. 1.0E-10 ) then
- call stopit( status, 'RemoveRegions test 2 failed' )
-
- else if( xout(2) .ne. AST__BAD .or. yout(2) .ne. AST__BAD ) then
- write(*,*) xout(2), ixin(2)
- write(*,*) yout(2), iyin(2)
- call stopit( status, 'RemoveRegions test 3 failed' )
- end if
-
-
-
-
- sf2 = ast_skyframe( 'System=Galactic', status )
- fs = ast_convert( sf1, sf2, ' ', status )
- call ast_tran2( fs, 2, ixin, iyin, .true., gxin, gyin, status )
-
- fs2 = ast_frameset( sf2, ' ', status )
- call ast_addframe( fs2, AST__BASE, ast_unitmap( 2, ' ', status ),
- : sf2, status )
-
-
- fs = ast_convert( fs2, reg, ' ', status )
-
-
- map = ast_getmapping( fs, AST__BASE, AST__CURRENT, status )
- call ast_tran2( map, 2, gxin, gyin, .true., xout, yout, status )
-
- if( xout(1) .eq. AST__BAD .or. yout(1) .eq. AST__BAD ) then
- call stopit( status, 'RemoveRegions test 4 failed' )
-
- else if( abs( xout(1) - ixin(1) ) .gt. 1.0E-10 .or.
- : abs( yout(1) - iyin(1) ) .gt. 1.0E-10 ) then
- call stopit( status, 'RemoveRegions test 5 failed' )
-
- else if( xout(2) .ne. AST__BAD .or. yout(2) .ne. AST__BAD ) then
- write(*,*) xout(2), ixin(2)
- write(*,*) yout(2), iyin(2)
- call stopit( status, 'RemoveRegions test 6 failed' )
- end if
-
-
-
- fs2 = ast_removeregions( fs, status )
-
- map = ast_getmapping( fs2, AST__BASE, AST__CURRENT, status )
- call ast_tran2( map, 2, gxin, gyin, .true., xout, yout, status )
-
- if( xout(1) .eq. AST__BAD .or. yout(1) .eq. AST__BAD ) then
- call stopit( status, 'RemoveRegions test 7 failed' )
-
- else if( abs( xout(1) - ixin(1) ) .gt. 1.0E-10 .or.
- : abs( yout(1) - iyin(1) ) .gt. 1.0E-10 ) then
- call stopit( status, 'RemoveRegions test 8 failed' )
-
- else if( abs( xout(2) - ixin(2) ) .gt. 1.0E-10 .or.
- : abs( yout(2) - iyin(2) ) .gt. 1.0E-10 ) then
- call stopit( status, 'RemoveRegions test 9 failed' )
- end if
-
-
-
- call ast_end( status )
-
- end
-
-
-
-
-
- subroutine checkConvex( status )
- implicit none
-
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer nx, ny, nel
- parameter( nx = 8 )
- parameter( ny = 7 )
- parameter( nel = nx*ny )
-
- integer status, poly, lbnd(2), ubnd(2), npoint
- real array( nx, ny )
- double precision points( 10, 2 )
-
- data array / nel*0.0 /
- data lbnd / -10, 3 /
-
- if( status .ne. sai__ok ) return
-
- call ast_begin( status )
-
- ubnd( 1 ) = lbnd( 1 ) + nx- 1
- ubnd( 2 ) = lbnd( 2 ) + ny- 1
-
- array( 6, 1 ) = 1.0
- array( 7, 1 ) = 1.0
- array( 8, 1 ) = 1.0
- array( 7, 2 ) = 1.0
- array( 8, 2 ) = 1.0
- array( 2, 3 ) = 1.0
- array( 8, 3 ) = 1.0
- array( 1, 4 ) = 1.0
- array( 1, 6 ) = 1.0
- array( 2, 6 ) = 1.0
- array( 6, 6 ) = 1.0
-
- poly = ast_convexr( 1.0, AST__EQ, array, lbnd, ubnd, .FALSE.,
- : status )
-
- call ast_getregionpoints( poly, 10, 2, npoint, points, status )
-
- if( npoint .ne. 7 ) call stopit( status, 'Convex 1' )
- if( points( 1, 1 ) .ne. -3) call stopit( status, 'Convex 2' )
- if( points( 1, 2 ) .ne. 3) call stopit( status, 'Convex 3' )
- if( points( 2, 1 ) .ne. -3) call stopit( status, 'Convex 4' )
- if( points( 2, 2 ) .ne. 5) call stopit( status, 'Convex 5' )
- if( points( 3, 1 ) .ne. -5) call stopit( status, 'Convex 6' )
- if( points( 3, 2 ) .ne. 8) call stopit( status, 'Convex 7' )
- if( points( 4, 1 ) .ne. -10) call stopit( status, 'Convex 8' )
- if( points( 4, 2 ) .ne. 8) call stopit( status, 'Convex 9' )
- if( points( 5, 1 ) .ne. -10) call stopit( status, 'Convex 10' )
- if( points( 5, 2 ) .ne. 6) call stopit( status, 'Convex 11' )
- if( points( 6, 1 ) .ne. -9) call stopit( status, 'Convex 12' )
- if( points( 6, 2 ) .ne. 5) call stopit( status, 'Convex 13' )
- if( points( 7, 1 ) .ne. -5) call stopit( status, 'Convex 14' )
- if( points( 7, 2 ) .ne. 3) call stopit( status, 'Convex 15' )
-
- call ast_end( status )
-
- end
-
diff --git a/ast/ast_tester/testskyframe.f b/ast/ast_tester/testskyframe.f
deleted file mode 100644
index 6359d63..0000000
--- a/ast/ast_tester/testskyframe.f
+++ /dev/null
@@ -1,89 +0,0 @@
- program testskyframe
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer status, sf1, sf2, fs
- double precision vals(5)
-
- status = sai__ok
-
- sf1 = ast_skyframe( 'system=fk5,epoch=2015.0', status )
- sf2 = ast_skyframe( 'system=fk5,epoch=2015.1', status )
- fs = ast_convert( sf1, sf2, 'SKY', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'Error 0' )
- end if
-
- if( .not. ast_isaunitmap( ast_getmapping( fs, ast__base,
- : ast__current, status ),
- : status ) ) then
- call stopit( status, 'Error 1' )
- end if
-
- if( ast_getd( sf1, 'SkyTol', status ) .ne. 0.001D0 ) then
- call stopit( status, 'Error 2' )
- end if
-
- call ast_setd( sf2, 'SkyTol', 1.0D-6, status )
- fs = ast_convert( sf1, sf2, 'SKY', status )
-
- if( ast_isaunitmap( ast_getmapping( fs, ast__base,
- : ast__current, status ),
- : status ) ) then
- call stopit( status, 'Error 3' )
- end if
-
- sf2 = ast_skyframe( 'system=fk5,epoch=2016.6', status )
- fs = ast_convert( sf1, sf2, 'SKY', status )
- if( ast_isaunitmap( ast_getmapping( fs, ast__base,
- : ast__current, status ),
- : status ) ) then
- call stopit( status, 'Error 4' )
- end if
-
-
- vals(1) = 6.1D0
- vals(2) = 6.15D0
- vals(3) = 6.2D0
- vals(4) = 6.25D0
- vals(5) = 6.3D0
- call ast_axnorm( sf1, 1, 0, 5, vals, status )
- if( vals(1) .ne. 6.1D0 .or.
- : vals(2) .ne. 6.15D0 .or.
- : vals(3) .ne. 6.2D0 .or.
- : vals(4) .ne. 6.25D0 .or.
- : vals(5) .ne. 6.3D0 - 2*AST__DPI ) then
- call stopit( status, 'Error 5' )
- end if
-
- call ast_axnorm( sf1, 1, 1, 5, vals, status )
- if( vals(1) .ne. 6.1D0 - 2*AST__DPI .or.
- : vals(2) .ne. 6.15D0 - 2*AST__DPI .or.
- : vals(3) .ne. 6.2D0 - 2*AST__DPI .or.
- : vals(4) .ne. 6.25D0 - 2*AST__DPI .or.
- : vals(5) .ne. 6.3D0 - 2*AST__DPI ) then
- call stopit( status, 'Error 6' )
- end if
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All SkyFrame tests passed'
- else
- write(*,*) 'SkyFrame tests failed'
- end if
-
- end
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
-
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
-
- end
-
-
diff --git a/ast/ast_tester/testspecflux.f b/ast/ast_tester/testspecflux.f
deleted file mode 100644
index ba19984..0000000
--- a/ast/ast_tester/testspecflux.f
+++ /dev/null
@@ -1,331 +0,0 @@
- program testspecflux
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- double precision xin, xout,yin, yout
- integer status, sff, sff2, sf, ff, ff2, mp, fs, sf2,perm(2),csff
- status = sai__ok
-
- sf = ast_specframe( 'system=freq,unit=GHz', status )
- ff = ast_Fluxframe( 123.0D0, sf, 'Unit=Jy', status )
- sff = ast_specfluxframe( sf, ff, ' ', status )
-
-
- if( ast_GetC( sff, 'class', status ) .ne. 'SpecFluxFrame' ) then
- call stopit( status, 'Error 0' )
- end if
-
- if( ast_GetD( sff, 'specval', status ) .ne. 123.0D0 ) then
- call stopit( status, 'Error 1' )
- end if
-
- if( ast_Test( sff, 'specval', status ) ) then
- call stopit( status, 'Error 2' )
- end if
-
- call ast_setd( sff, 'specval', 333.3D0, status )
- if( ast_GetD( sff, 'specval', status ) .ne. 333.3D0 ) then
- call stopit( status, 'Error 3' )
- end if
-
- if( .not. ast_Test( sff, 'specval', status ) ) then
- call stopit( status, 'Error 4' )
- end if
-
- call ast_clear( sff, 'specval', status )
-
- if( ast_GetD( sff, 'specval', status ) .ne. 123.0D0 ) then
- call stopit( status, 'Error 5' )
- end if
-
- if( ast_Test( sff, 'specval', status ) ) then
- call stopit( status, 'Error 6' )
- end if
-
-
- call checkDump( sff, 'CheckDump 1', status )
-
-
- ff2 = ast_Fluxframe( 123.1D0, sf, 'System=flxdnw', status )
-
- if( ast_getc( ff2, 'unit', status ) .ne. 'W/m^2/Angstrom' )
- : call stopit( status, 'Error 6B' )
- if( ast_getc( ff2, 'system', status ) .ne. 'FLXDNW' )
- : call stopit( status, 'error 6C' )
-
- sff2 = ast_specfluxframe( sf, ff2, ' ', status )
- if( ast_GetC( sff2, 'class', status ) .ne. 'SpecFluxFrame' ) then
- call stopit( status, 'Error 7' )
- end if
-
- csff = ast_copy( sff,status )
- fs = ast_convert( sff, sff2, ' ', status )
- if( fs .eq. ast__null ) call stopit( status, 'error 8' )
-
- yin = 1.0D0
- xin = 2.0D0
- call ast_tran2( fs, 1, xin, yin, .true., xout, yout, status )
-
- if( abs(yout - 1.33425638D-26) .gt. 1.0D-32 )
- : call stopit( status, 'error 9' )
-
- if( xout .ne. 2.0D0 ) call stopit( status, 'error 10' )
-
- perm(1)=2
- perm(2)=1
- call ast_PermAxes( sff2, perm, status )
-
- fs = ast_convert( sff, sff2, ' ', status )
- if( fs .eq. ast__null ) call stopit( status, 'error 11' )
- call ast_tran2( fs, 1, xin, yin, .true., xout, yout, status )
-
- if( abs(xout - 1.33425638D-26) .gt. 1.0D-32 )
- : call stopit( status, 'error 12' )
-
- if( yout .ne. 2.0D0 ) call stopit( status, 'error 13' )
-
- perm(1)=2
- perm(2)=1
- call ast_PermAxes( sff, perm, status )
-
- fs = ast_convert( sff, sff2, ' ', status )
- if( fs .eq. ast__null ) call stopit( status, 'error 14' )
-
- yin = 2.0D0
- xin = 1.0D0
- call ast_tran2( fs, 1, xin, yin, .true., xout, yout, status )
-
- if( abs(xout - 1.33425638D-26) .gt. 1.0D-32 )
- : call stopit( status, 'error 15' )
-
- if( yout .ne. 2.0D0 ) call stopit( status, 'error 16' )
-
-
-
- ff2 = ast_Fluxframe( AST__BAD, AST__NULL, 'Unit=log(W/m2/nm)',
- : status )
- if( ast_getc( ff2, 'system', status ) .ne. 'FLXDNW' )
- : call stopit( status, 'error 17' )
- sff2 = ast_specfluxframe( sf, ff2, ' ', status )
-
- fs = ast_convert( csff, sff2, ' ', status )
- if( fs .eq. ast__null ) call stopit( status, 'error 18' )
-
- yin = 1.0D0
- xin = 2.0D0
- call ast_tran2( fs, 1, xin, yin, .true., xout, yout, status )
-
- if( abs(yout + 24.8747607 ) .gt. 0.000001 ) then
- write(*,*) yout + 24.8747607
- call stopit( status, 'error 19' )
- endif
-
- if( xout .ne. 2.0D0 ) call stopit( status, 'error 20' )
-
-
- call ast_tran2( fs, 1, xout, yout, .false., xin, yin, status )
-
- if( abs( xin - 2.0D0 ) .gt. 1.0D-9 ) call stopit( status,
- : 'error 21' )
- if( abs( yin - 1.0D0 ) .gt. 1.0D-9 ) call stopit( status,
- : 'error 22' )
-
-
-
-
-
- ff2 = ast_Fluxframe( AST__BAD, AST__NULL, 'Unit=log(W/m2/nm/sr)',
- : status )
- if( ast_getc( ff2, 'system', status ) .ne. 'SFCBRW' )
- : call stopit( status, 'error 23' )
- sff2 = ast_specfluxframe( sf, ff2, ' ', status )
-
- sf = ast_specframe( 'system=freq,unit=GHz', status )
- ff = ast_Fluxframe( 123.0D0, sf, 'Unit=Jy/deg**2', status )
- if( ast_getc( ff, 'system', status ) .ne. 'SFCBR' )
- : call stopit( status, 'error 24' )
- sff = ast_specfluxframe( sf, ff, ' ', status )
-
- fs = ast_convert( sff, sff2, ' ', status )
- if( fs .eq. ast__null ) call stopit( status, 'error 25' )
-
- yin = 1.0D0
- xin = 2.0D0
- call ast_tran2( fs, 1, xin, yin, .true., xout, yout, status )
-
- if( abs(yout + 21.3585154D0 ) .gt. 0.000001 )
- : call stopit( status, 'error 26' )
-
- if( xout .ne. 2.0D0 ) call stopit( status, 'error 27' )
-
- call ast_tran2( fs, 1, xout, yout, .false., xin, yin, status )
- if( abs( xin - 2.0D0 ) .gt. 1.0D-9 ) call stopit( status,
- : 'error 28' )
- if( abs( yin - 1.0D0 ) .gt. 1.0D-9 ) call stopit( status,
- : 'error 29' )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All SpecFluxFrame tests passed'
- else
- write(*,*) 'SpecFluxFrame tests failed'
- end if
-
- end
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
-
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
-
- end
-
-
- subroutine checkdump( obj, text, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character text*(*)
- integer obj, status, next, end, ch, result, ll, overlap
- external mysource, mysink
- character buf*25000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- ch = ast_channel( mysource, mysink, ' ', status )
-
-
- ll = 110
- next = 1
- if( ast_write( ch, obj, status ) .ne.1 ) then
- write(*,*) text
- call stopit( status, 'Cannot write supplied object to '//
- : 'channel' )
- end if
-
- next = 1
- result = ast_read( ch, status )
- if( result .eq. ast__null ) then
- write(*,*) text
- call stopit( status, 'Cannot read object from channel' )
- end if
-
-
-
- if( ast_getd( obj, 'specval', status ) .ne.
- : ast_getd( result, 'specval', status ) ) then
- call ast_Show( obj, status )
- call ast_Show( result, status )
- write(*,*) text
- call stopit( status, 'Object has changed' )
- end if
-
- end
-
- subroutine sink1( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- logical fsfound, done
- common /sink1com/ fsfound, done
-
- integer status, l
- character line*200
-
- if( status .ne. sai__ok ) return
- call ast_getline( line, l, status )
-
- if( index( line( : l ),'Unc =' ) .GT. 0 ) then
- done = .true.
-
- else if( .not. done .and.
- : index( line( : l ),'FrameSet' ) .GT. 0 ) then
- fsfound= .true.
- end if
-
- end
-
- subroutine mysource( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, ll
- character buf*25000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- if( next .ge. end ) then
- call ast_putline( buf, -1, status )
- else
- call ast_putline( buf( next : ), ll, status )
- endif
-
- next = next + ll
-
- end
-
- subroutine mysink( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll
- character buf*25000
- character line*1000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
- buf( next : ) = line( f : l )
- l = l - f + 1
-
- if( next + ll - 1 .ge. 25000 ) then
- write(*,*)
- call stopit( status, 'Buffer overflow in mysink!!' )
- else if( l .gt. ll ) then
- write(*,*)
- write(*,*) buf( next : next + l)
- write(*,*) 'Line length ',l
- call stopit( status, 'Line overflow in mysink!!' )
- else
- end = next + l
- buf( end : next + ll - 1 ) = ' '
- endif
-
- next = next + ll
-
- end
-
-
diff --git a/ast/ast_tester/testspecframe.f b/ast/ast_tester/testspecframe.f
deleted file mode 100644
index 4af2606..0000000
--- a/ast/ast_tester/testspecframe.f
+++ /dev/null
@@ -1,251 +0,0 @@
- program testspecframe
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- double precision rf, x, y
- integer status, sf, sf1, sf2, fs
- status = sai__ok
-
- sf = ast_specframe( 'system=freq,unit=Hz', status )
- if( ast_GetD( sf, 'SpecOrigin', status ) .ne. 0.0 ) then
- call stopit( status, 'Error 0' )
- end if
-
- rf = ast_GetD( sf, 'RestFreq', status )
- call ast_SetD( sf, 'SpecOrigin', rf*1.0D9, status )
- if( abs( ast_GetD( sf, 'SpecOrigin', status ) - rf*1.0D9 )
- : .gt. 0.1 ) then
- call stopit( status, 'Error 1' )
- end if
-
- call ast_setc( sf, 'Unit(1)', 'GHz', status )
- if( ast_GetD( sf, 'SpecOrigin', status ) .ne. rf ) then
- call stopit( status, 'Error 2' )
- end if
-
- call checkdump( sf, 'Error 3', status )
-
- call ast_setc( sf, 'System', 'vrad', status )
- if( abs( ast_GetD( sf, 'SpecOrigin', status ) ) .gt. 1.0D-8 ) then
- write(*,*) ast_GetD( sf, 'SpecOrigin', status )
- call stopit( status, 'Error 4' )
- end if
-
- call ast_setc( sf, 'System', 'freq', status )
- call ast_setc( sf, 'Unit(1)', 'Hz', status )
-
- if( abs( ast_GetD( sf, 'SpecOrigin', status ) - rf*1.0D9 )
- : .gt. 0.1 ) then
- write(*,*) ast_GetD( sf, 'SpecOrigin', status )
- call stopit( status, 'Error 5' )
- end if
-
- call ast_setc( sf, 'StdOfRest', 'LSRD', status )
- if( abs( ast_GetD( sf, 'SpecOrigin', status ) -
- : rf*1.00000212890848D9 ) .gt. 10.0 ) then
- write(*,*) ast_GetD( sf, 'SpecOrigin', status )
- write(*,*) 'Should be ',rf*1.00000212890848D9
- call stopit( status, 'Error 6' )
- end if
-
-
- sf1 = ast_specframe( 'system=freq,unit=Hz', status )
- call ast_setd( sf1, 'SpecOrigin', 1.0D20, status )
- sf2 = ast_specframe( 'system=freq,unit=Hz', status )
- call ast_setd( sf2, 'SpecOrigin', 1.01D20, status )
- fs = ast_convert( sf1, sf2, "", status );
-
- x = 0.03D20
- call ast_tran1( fs, 1, x, .true., y, status )
- if( abs( y - 0.02D20 ) .gt. 0.0 ) then
- write(*,*) y, y - 0.02D20
- call stopit( status, 'Error 7' )
- end if
-
- if( ast_getl( sf1, 'AlignSpecOffset', status ) ) then
- call stopit( status, 'Error 8' )
- end if
- call ast_setl( sf1, 'AlignSpecOffset', .true., status )
- call ast_setl( sf2, 'AlignSpecOffset', .true., status )
-
- fs = ast_convert( sf1, sf2, "", status );
-
- x = 0.03D20
- call ast_tran1( fs, 1, x, .true., y, status )
- if( abs( y - x ) .gt. 0.0 ) then
- write(*,*) y, y - x
- call stopit( status, 'Error 9' )
- end if
-
- sf = ast_specframe( 'system=freq,unit=Hz', status )
- call ast_setc( sf, 'SourceVRF', 'LSRK', status )
- call ast_setd( sf, 'SourceVel', 1000.0D0, status )
-
- call ast_setc( sf, 'SourceVRF', 'BARY', status )
- call ast_setc( sf, 'SourceSys', 'ZOPT', status )
-
- if( abs( ast_getd( sf, 'SourceVel', status ) -
- : 0.00334028336870307D0 ) .gt. 1.0D-10 ) then
- write(*,*) ast_getd( sf, 'SourceVel', status )
- call stopit( status, 'Error 11' )
- end if
-
- call checkdump( sf, 'Error 10', status )
- call ast_setc( sf, 'SourceVRF', 'LSRK', status )
- call ast_setc( sf, 'SourceSys', 'VREL', status )
-
- if( abs( ast_getd( sf, 'SourceVel', status ) -
- : 1000.0D0 ) .gt. 1.0D-6 ) then
- write(*,*) ast_getd( sf, 'SourceVel', status )
- call stopit( status, 'Error 12' )
- end if
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All SpecFrame tests passed'
- else
- write(*,*) 'SpecFrame tests failed'
- end if
-
- end
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
-
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
-
- end
-
-
- subroutine checkdump( obj, text, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character text*(*)
- integer obj, status, next, end, ch, result, ll, overlap
- external mysource, mysink
- character buf*25000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- ch = ast_channel( mysource, mysink, ' ', status )
-
-
- ll = 110
- next = 1
- if( ast_write( ch, obj, status ) .ne.1 ) then
- write(*,*) text
- call stopit( status, 'Cannot write supplied object to '//
- : 'channel' )
- end if
-
- next = 1
- result = ast_read( ch, status )
- if( result .eq. ast__null ) then
- write(*,*) text
- call stopit( status, 'Cannot read object from channel' )
- end if
-
-
-
- if( ast_getd( obj, 'specorigin', status ) .ne.
- : ast_getd( result, 'specorigin', status ) ) then
- call ast_Show( obj, status )
- call ast_Show( result, status )
- write(*,*) text
- call stopit( status, 'Object has changed' )
- end if
-
- end
-
- subroutine sink1( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- logical fsfound, done
- common /sink1com/ fsfound, done
-
- integer status, l
- character line*200
-
- if( status .ne. sai__ok ) return
- call ast_getline( line, l, status )
-
- if( index( line( : l ),'Unc =' ) .GT. 0 ) then
- done = .true.
-
- else if( .not. done .and.
- : index( line( : l ),'FrameSet' ) .GT. 0 ) then
- fsfound= .true.
- end if
-
- end
-
- subroutine mysource( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, ll
- character buf*25000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- if( next .ge. end ) then
- call ast_putline( buf, -1, status )
- else
- call ast_putline( buf( next : ), ll, status )
- endif
-
- next = next + ll
-
- end
-
- subroutine mysink( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll
- character buf*25000
- character line*1000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
- buf( next : ) = line( f : l )
- l = l - f + 1
-
- if( next + ll - 1 .ge. 25000 ) then
- write(*,*)
- call stopit( status, 'Buffer overflow in mysink!!' )
- else if( l .gt. ll ) then
- write(*,*)
- write(*,*) buf( next : next + l)
- write(*,*) 'Line length ',l
- call stopit( status, 'Line overflow in mysink!!' )
- else
- end = next + l
- buf( end : next + ll - 1 ) = ' '
- endif
-
- next = next + ll
-
- end
-
-
diff --git a/ast/ast_tester/teststc.f b/ast/ast_tester/teststc.f
deleted file mode 100644
index 47c3c02..0000000
--- a/ast/ast_tester/teststc.f
+++ /dev/null
@@ -1,1858 +0,0 @@
- program teststc
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'PRM_PAR'
-
-
-
- integer status
-
- status = sai__ok
-
-
-c call ast_SetWatchId( 565300 )
-
- call ast_begin( status )
- call Example5( status )
- call Example1( status )
- call Example1b( status )
- call Example4( status )
- call misc( status )
- call Example3( status )
- call Example2( status )
- call ast_end( status )
-
-c call ast_listissued( 'teststc' )
-
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All Stc tests passed'
- else
- write(*,*) 'Stc tests failed'
- end if
-
- end
-
-
- subroutine misc( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'AST_ERR'
-
-
- integer status, obj1, obj2, overlap
- double precision x, y, xo, yo
-
- if( status .ne. sai__ok ) return
-
- call ast_begin( status )
-
- call puteg( 'teststc_eg6', 1, status )
- call xmlread( 1, obj1, ' ', status )
- obj1 = ast_simplify( obj1, status )
- call checkdump( obj1, 'checkdump 1', status )
-
- call puteg( 'teststc_eg7', 1, status )
- call xmlread( 1, obj2, ' ', status )
- obj2 = ast_simplify( obj2, status )
- call checkdump( obj2, 'checkdump 2', status )
-
- overlap = ast_overlap( obj1, obj2, status )
- if( overlap .ne. 4 .and.status .eq. sai__ok ) then
- write(*,*) 'Overlap is ',overlap,' (should be 4)'
- call stopit( status, 'Error 1' )
- endif
-
- call puteg( 'teststc_eg8', 1, status )
- call xmlread( 1, obj2, ' ', status )
- obj2 = ast_simplify( obj2, status )
- call checkdump( obj2, 'checkdump 3', status )
-
- overlap = ast_overlap( obj1, obj2, status )
- if( overlap .ne. 3 .and.status .eq. sai__ok ) then
- write(*,*) 'Overlap is ',overlap,' (should be 3)'
- call stopit( status, 'Error 2' )
- endif
-
- overlap = ast_overlap( obj2, obj1, status )
- if( overlap .ne. 2 .and.status .eq. sai__ok ) then
- write(*,*) 'Overlap is ',overlap,' (should be 2)'
- call stopit( status, 'Error 3' )
- endif
-
- call puteg( 'teststc_eg9', 1, status )
- call xmlread( 1, obj2, ' ', status )
-
- overlap = ast_overlap( obj1, obj2, status )
- if( overlap .ne. 1 .and.status .eq. sai__ok ) then
- write(*,*) 'Overlap is ',overlap,' (should be 1)'
- call stopit( status, 'Error 4' )
- endif
-
-
- call puteg( 'teststc_eg10', 1, status )
- call xmlread( 1, obj2, ' ', status )
-
- x = 2.4958208
- y = 0.73303829
- call ast_tran2( obj2, 1, x, y, .true., xo, yo, status )
- if( xo .ne. 2.4958208 .or. yo .ne. 0.73303829 ) then
- call stopit( status, 'Error 5' )
- end if
-
- x = 2.4958208
- y = -0.73303829
- call ast_tran2( obj2, 1, x, y, .true., xo, yo, status )
- if( xo .ne. AST__BAD .or. yo .ne. AST__BAD ) then
- call stopit( status, 'Error 6' )
- end if
-
-
-
-
- call ast_end( status )
-
- if( status .ne. sai__ok ) write(*,*) 'teststc: miscellaneous '//
- : 'tests failed'
-
- end
-
- subroutine Example1( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'AST_ERR'
-
- integer status, obj2, obj, i, j, unc, km, nval, fs, m, r, f,
- : axes(2), map
- double precision in(8,4), out(8,4), lbnd(5), ubnd(5)
- character cvals(10)*30
-
- if( status .ne. sai__ok ) return
-
- call ast_begin( status )
-
-* Put an example of an STCResourceProfile into file 1.
- call puteg( 'teststc_eg1', 1, status )
-
-* Use a new XmlChan to read an object from file 1,and simplify it.
- call xmlread( 1, obj, ' ', status )
- obj = ast_simplify( obj, status )
-
-* Write out the object through a Channel and read it back.
- call checkdump( obj, 'checkdump 1', status )
-
-* Test simplify by negating and simplifying twice.
- call ast_negate( obj, status )
- obj = ast_simplify( obj, status )
- call ast_negate( obj, status )
- obj = ast_simplify( obj, status )
-
-* Check it is a STCResourceProfile
- if( .not. ast_isastcresourceprofile( obj, status ) )
- : call stopit( status, 'Error 1' )
-
-* Check it contains an Interval.
- if( .not. ast_isainterval( ast_getstcregion( obj, status ),
- : status ) )
- : call stopit( status, 'Error 1a' )
-
-* Timescale should be tt. Try changing it to TAI.
- if( ast_getc( obj, 'timescale', status ) .ne. 'TT' )
- : call stopit( status, 'Error 0a' )
-
- if( abs( ast_getd(obj,'TimeOrigin',status)-51382.6666666D0 )
- : .gt. 1.0D-7 ) call stopit( status, 'Error 0b' )
-
- call ast_getregionbounds( obj, lbnd, ubnd, status )
- if( lbnd(3) .ne. 0.0 ) call stopit( status, 'Error 0c' )
-
- call ast_set( obj, 'timescale=tai', status )
- if( ast_getc( obj, 'timescale', status ) .ne. 'TAI' )
- : call stopit( status, 'Error 0d' )
-
- if( abs( ast_getd(obj,'TimeOrigin',status)-51382.6662941667D0 )
- : .gt. 1.0D-7 ) call stopit( status, 'Error 0e' )
-
- call ast_getregionbounds( obj, lbnd, ubnd, status )
- if( abs( lbnd(3) ) .gt. 1.0D-6 ) THEN
- write(*,*) lbnd(3)
- call stopit( status, 'Error 0f' )
- END IF
-
-
- call ast_set( obj, 'timescale=tt', status )
- obj = ast_Simplify( obj, status )
- if( ast_getc( obj, 'timescale', status ) .ne. 'TT' )
- : call stopit( status, 'Error 0g' )
-
- if( abs( ast_getd(obj,'TimeOrigin',status)-51382.6666666D0 )
- : .gt. 1.0D-7 ) call stopit( status, 'Error 0h' )
-
- call ast_getregionbounds( obj, lbnd, ubnd, status )
- if( abs( lbnd(3) ) .gt. 1.0D-6 )
- : call stopit( status, 'Error 0i' )
-
-
-
-* Other tests
- if( ast_getd( obj, 'fillfactor', status ) .ne. 0.02D0 )
- : call stopit( status, 'Error 1b' )
-
- if( ast_getc( obj, 'ident', status ) .ne. 'AllSky-CXO' )
- : call stopit( status, 'Error 1c' )
-
- if( ast_getc( obj, 'domain(3)', status ) .ne. 'TIME' )
- : call stopit( status, 'Error 2' )
-
- if( ast_getc( obj, 'title(3)', status ) .ne. 'Time' )
- : call stopit( status, 'Error 2a' )
-
- if( ast_getc( obj, 'label(3)', status ) .ne.
- : 'Modified Julian Date offset from 1999-07-23 16:00:00' ) THEN
- call stopit( status, 'Error 2b' )
- end if
-
- if( ast_getc( obj, 'domain(1)', status ) .ne. 'SKY' )
- : call stopit( status, 'Error 3' )
-
- if( ast_getc( obj, 'system(1)', status ) .ne. 'ICRS' )
- : call stopit( status, 'Error 3a' )
-
- if( ast_getc( obj, 'label(1)', status ) .ne. 'Right ascension' )
- : call stopit( status, 'Error 3b' )
-
- if( ast_getc( obj, 'label(2)', status ) .ne. 'Declination' )
- : call stopit( status, 'Error 3c' )
-
- if( ast_getc( obj, 'title(2)', status ) .ne. 'Space' )
- : call stopit( status, 'Error 3d' )
-
- if( ast_getc( obj, 'domain(2)', status ) .ne. 'SKY' )
- : call stopit( status, 'Error 4' )
-
- if( ast_getc( obj, 'domain(4)', status ) .ne. 'SPECTRUM' )
- : call stopit( status, 'Error 5' )
-
- if( ast_getc( obj, 'system(4)', status ) .ne. 'ENER' )
- : call stopit( status, 'Error 5a' )
-
- if( ast_getc( obj, 'stdofrest', status ) .ne. 'Topocentric' )
- : call stopit( status, 'Error 5b' )
-
- if( ast_getc( obj, 'title(4)', status ) .ne.
- : 'Energy (Topocentric)' ) call stopit( status, 'Error 5c' )
-
- if( ast_getc( obj, 'unit(4)', status ) .ne. 'keV' )
- : call stopit( status, 'Error 5d' )
-
- if( ast_geti( obj, 'naxes', status ) .ne. 4 )
- : call stopit( status, 'Error 6' )
-
- in(1,1) = 10.0
- in(1,2) = 10.0
- in(1,3) = -0.1
- in(1,4) = 0.11
-
- in(2,1) = -10.0
- in(2,2) = 10.0
- in(2,3) = 0.1
- in(2,4) = 0.11
-
- in(3,1) = 0.0 ! inside
- in(3,2) = 0.0
- in(3,3) = 100.0
- in(3,4) = 0.13
-
- in(4,1) = -1.0
- in(4,2) = 1.0
- in(4,3) = -100.0
- in(4,4) = 0.13
-
- in(5,1) = 10.0
- in(5,2) = 10.0
- in(5,3) = -1000.0
- in(5,4) = 9.9
-
- in(6,1) = -10.0 ! inside
- in(6,2) = 10.0
- in(6,3) = 1000.0
- in(6,4) = 9.9
-
- in(7,1) = 0.0
- in(7,2) = 0.0
- in(7,3) = 10.0
- in(7,4) = 10.1
-
- in(8,1) = -1.0
- in(8,2) = 1.0
- in(8,3) = -10.0
- in(8,4) = 10.1
-
- call ast_trann( obj, 8, 4, 8, in, .true., 4, 8, out, status )
-
- do i = 1, 8
- if( i .eq. 3 .or. i .eq. 6 ) then
- do j = 1, 4
- if( out(i,j) .ne. in(i,j) ) then
- if( status .eq. sai__ok ) then
- write(*,*) i,j,out(i,j),in(i,j)
- call stopit( status, 'Error 7' )
- end if
- end if
- end do
- else
- do j = 1, 4
- if( out(i,j) .ne. AST__BAD ) then
- if( status .eq. sai__ok ) then
- write(*,*) i,j,out(i,j),in(i,j)
- call stopit( status, 'Error 8' )
- end if
- end if
- end do
- end if
- end do
-
-* AstroCoords
- if( ast_getstcncoord( obj, status ) .ne. 1 ) then
- call stopit( status, 'Error 25' )
- end if
- km = ast_getstccoord( obj, 1, status )
-
- if( ast_mapsize( km, status ) .ne. 4 ) then
- call stopit( status, 'Error 25b' )
- endif
-
- if( .not. ast_mapget0A( km, AST__STCERROR, r, status ) ) then
- call stopit( status, 'Error 26' )
- else if( .not.ast_isabox( r, status ) ) then
- call stopit( status, 'Error 27' )
- else if( ast_geti( r, 'naxes', status ) .ne. 4 ) then
- call stopit( status, 'Error 28' )
- else
- fs = ast_convert( obj, r, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'Error 29' )
- else
- m = ast_getMapping( fs, AST__BASE, AST__CURRENT, status )
- m = ast_simplify( m, status )
- if( .not. ast_isaunitmap( m, status ) ) then
- call stopit( status, 'Error 30' )
- endif
- end if
-
-
- call ast_getregionbounds( r, lbnd, ubnd, status )
-
- if( abs( lbnd(1)+2.42406841E-06 ) .gt. 0.0001E-6 )
- : call stopit( status, 'Error 31a' )
- if( abs( ubnd(1)-2.42406841E-06 ) .gt. 0.0001E-6 )
- : call stopit( status, 'Error 31b' )
- if( abs( lbnd(2)+2.42406841E-06 ) .gt. 0.0001E-6 )
- : call stopit( status, 'Error 31c' )
- if( abs( ubnd(2)-2.42406841E-06 ) .gt. 0.0001E-6 )
- : call stopit( status, 'Error 31d' )
- if( abs( 0.5*(ubnd(3)+lbnd(3)) ) .gt. 1.0E-10)
- : call stopit( status, 'Error 31e' )
- if( abs( 0.5*(ubnd(3)-lbnd(3))-0.578703703718D-09 ) .gt.
- : 1.0E-15 ) call stopit( status, 'Error 31e2' )
- if( abs( lbnd(4)-5.01 ) .gt. 0.00001 )
- : call stopit( status, 'Error 31g' )
- if( abs( ubnd(4)-5.11 ) .gt. 0.00001 )
- : call stopit( status, 'Error 31h' )
-
- end if
-
-
- if( .not. ast_mapget1C( km, AST__STCNAME, 6, nval, cvals,
- : status ) ) then
- call stopit( status, 'Error 32' )
-
- else if( nval .ne. 4 ) then
- call stopit( status, 'Error 33' )
- else
- if( cvals(1) .ne. 'Position' )
- : call stopit( status, 'Error 34a' )
- if( cvals(2) .ne. 'Position' )
- : call stopit( status, 'Error 34b' )
- if( cvals(3) .ne. 'Time' )
- : call stopit( status, 'Error 34c' )
- if( cvals(4) .ne. 'Energy' )
- : call stopit( status, 'Error 34d' )
- end if
-
- if( .not. ast_mapget0A( km, AST__STCRES, r, status ) ) then
- call stopit( status, 'Error 35' )
- else if( .not.ast_isabox( r, status ) ) then
- call stopit( status, 'Error 36' )
- else if( ast_geti( r, 'naxes', status ) .ne. 4 ) then
- call stopit( status, 'Error 37' )
- else
- fs = ast_convert( obj, r, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'Error 38' )
- else
- m = ast_getMapping( fs, AST__BASE, AST__CURRENT, status )
- m = ast_simplify( m, status )
- if( .not. ast_isaunitmap( m, status ) ) then
- call stopit( status, 'Error 39' )
- endif
- end if
-
- call ast_getregionbounds( r, lbnd, ubnd, status )
-
- if( abs( lbnd(1)+1.2120342E-06 ) .gt. 0.0001E-6 )
- : call stopit( status, 'Error 40a' )
- if( abs( ubnd(1)-1.2120342E-06 ) .gt. 0.0001E-6 )
- : call stopit( status, 'Error 40b' )
- if( abs( lbnd(2)+1.2120342E-06 ) .gt. 0.0001E-6 )
- : call stopit( status, 'Error 40c' )
- if( abs( ubnd(2)-1.2120342E-06 ) .gt. 0.0001E-6 )
- : call stopit( status, 'Error 40d' )
-
- if( abs( 86400.0D0*(ubnd(3)-lbnd(3))-1.6D-5 ) .gt. 1.0E-10 )
- : call stopit( status, 'Error 40e' )
- if( abs( 0.5*(ubnd(3)+lbnd(3)) ) .gt. 1.0E-10 )
- : call stopit( status, 'Error 40f' )
- if( abs( lbnd(4)-5.05 ) .gt. 0.00001 )
- : call stopit( status, 'Error 40g' )
- if( abs( ubnd(4)-5.07 ) .gt. 0.00001 )
- : call stopit( status, 'Error 40h' )
-
- end if
-
- if( .not. ast_mapget0A( km, AST__STCSIZE, r, status ) ) then
- call stopit( status, 'Error 41' )
- else if( .not.ast_isabox( r, status ) ) then
- call stopit( status, 'Error 42' )
- else if( ast_geti( r, 'naxes', status ) .ne. 4 ) then
- call stopit( status, 'Error 43' )
- else
- fs = ast_convert( obj, r, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'Error 44' )
- else
- m = ast_getMapping( fs, AST__BASE, AST__CURRENT, status )
- m = ast_simplify( m, status )
- if( .not. ast_isaunitmap( m, status ) ) then
- call stopit( status, 'Error 45' )
- endif
- end if
-
- call ast_getregionbounds( r, lbnd, ubnd, status )
-
- if( abs( lbnd(1)+0.00242406841 ) .gt. 0.01E-6 )
- : call stopit( status, 'Error 46a' )
- if( abs( ubnd(1)-0.00242406841 ) .gt. 0.01E-6 )
- : call stopit( status, 'Error 46b' )
- if( abs( lbnd(2)+0.00242406841 ) .gt. 0.01E-6 )
- : call stopit( status, 'Error 46c' )
- if( abs( ubnd(2)-0.00242406841 ) .gt. 0.01E-6 )
- : call stopit( status, 'Error 46d' )
- if( abs( 86400.0D0*(ubnd(3)-lbnd(3))- 1000.0 ) .gt. 1.0E-10 )
- : call stopit( status, 'Error 46e' )
- if( abs( 0.5*(ubnd(3)+lbnd(3)) ) .gt. 1.0E-10 )
- : call stopit( status, 'Error 46f' )
- if( abs( lbnd(4)-4.06 ) .gt. 0.001 )
- : call stopit( status, 'Error 46g' )
- if( abs( ubnd(4)-6.06 ) .gt. 0.001 )
- : call stopit( status, 'Error 46h' )
-
- end if
-
-
-
-
-
-
- obj2 = ast_Copy( obj, status )
-
- call ast_setl( obj2, 'Adaptive', .false., status )
- call ast_setc( obj2, 'epoch', '2005', status )
- call ast_clear( obj2, 'Adaptive', status )
-
- call ast_setc( obj2, 'system(1)', 'galactic', status )
-
- if( ast_getstcncoord( obj2, status ) .ne. 1 ) then
- call stopit( status, 'Error 25b' )
- end if
- km = ast_getstccoord( obj2, 1, status )
-
- if( ast_mapsize( km, status ) .ne. 3 ) then
- call stopit( status, 'Error 25bb' )
- end if
-
- if( .not. ast_mapget0A( km, AST__STCERROR, r, status ) ) then
- call stopit( status, 'Error 26b' )
- else if( .not.ast_isaprism( r, status ) ) then
- call stopit( status, 'Error 27b' )
- else if( ast_geti( r, 'naxes', status ) .ne. 4 ) then
- call stopit( status, 'Error 28b' )
- else
- fs = ast_convert( obj2, r, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'Error 29b' )
- else
- m = ast_getMapping( fs, AST__BASE, AST__CURRENT, status )
- m = ast_simplify( m, status )
- if( .not. ast_isaunitmap( m, status ) ) then
- call stopit( status, 'Error 30b' )
- endif
- end if
-
- call ast_getregionbounds( r, lbnd, ubnd, status )
-
- if( abs( lbnd(1)-1.68139639 ) .gt. 1.0E-7 )
- : call stopit( status, 'Error 31ab' )
- if( abs( ubnd(1)-1.68140922 ) .gt. 1.0E-7 )
- : call stopit( status, 'Error 31bb' )
- if( abs( lbnd(2)+1.05049161 ) .gt. 1.0E-7 )
- : call stopit( status, 'Error 31cb' )
- if( abs( ubnd(2)+1.05048523 ) .gt. 1.0E-7 )
- : call stopit( status, 'Error 31db' )
- if( abs( 0.5*86400.0D0*(ubnd(3)-lbnd(3))- 5.0D-5) .gt. 1.0E-10)
- : call stopit( status, 'Error 31eb' )
- if( abs( 0.5*86400.0D0*(ubnd(3)+lbnd(3))) .gt. 1.0E-10 )
- : call stopit( status, 'Error 31fb' )
- if( abs( lbnd(4)-5.01 ) .gt. 0.000001 )
- : call stopit( status, 'Error 31gb' )
- if( abs( ubnd(4)-5.11 ) .gt. 0.000001 )
- : call stopit( status, 'Error 31hb' )
-
- end if
-
-
- if( ast_mapget1C( km, AST__STCNAME, 6, nval, cvals, status ))
- : call stopit( status, 'Error 32b' )
-
-
-* Uncertainty tests
-
- unc = ast_getunc( obj, .true., status )
-
- if( unc .eq. AST__NULL ) call stopit( status, 'Error 9' )
- if( ast_getunc( unc, .false., status ) .ne. AST__NULL )
- : call stopit( status, 'Error 9a' )
-
- call ast_getregionbounds( unc, lbnd, ubnd, status )
-
-
- if( abs( lbnd(1) + 2.42406841E-06 ) .gt. 0.0000001E-06 )
- : call stopit( status, 'Error 10' )
-
- if( abs( lbnd(2) + 2.42406841E-06 ) .gt. 0.0000001E-06 )
- : call stopit( status, 'Error 11' )
-
-c if( abs( 86400.0D0*lbnd(3) + 4.9662776D-5 ) .gt. 0.1E-10 )
-c : call stopit( status, 'Error 12' )
- if( abs( lbnd(4) - 0.07 ) .gt. 0.0001 )
- : call stopit( status, 'Error 13' )
- if( abs( ubnd(1) - 2.42406841E-06 ) .gt. 0.0000001E-06 )
- : call stopit( status, 'Error 14' )
- if( abs( ubnd(2) - 2.42406841E-06 ) .gt. 0.0000001E-06 )
- : call stopit( status, 'Error 15' )
-c if( abs( 86400.0D0*ubnd(3) - 4.9662776D-5 ) .gt. 0.1E-10 )
-c : call stopit( status, 'Error 16' )
- if( abs( ubnd(4) - 0.17 ) .gt. 0.0001 )
- : call stopit( status, 'Error 17' )
-
-
-* UseDefs tests.
-c if( status .eq. SAI__OK ) then
-c obj2 = ast_copy( obj, status )
-c call err_begin( status )
-c call ast_set( obj2, 'System=FK4', status )
-c if( status .ne. AST__NOVAL ) then
-c write(*,*) 'status is ',status,': should be ',AST__NOVAL
-c if( status .ne. sai__ok ) call err_annul( status )
-c call stopit( status, 'Error 18' )
-c else
-c call err_annul( status )
-c end if
-c call err_end( status )
-c call ast_annul( obj2, status )
-c end if
-c
-c if( status .eq. SAI__OK ) then
-c obj2 = ast_copy( obj, status )
-c call err_begin( status )
-c call ast_set( obj2, 'System=velo', status )
-c if( status .ne. AST__NOVAL ) then
-c write(*,*) 'status is ',status,': should be ',AST__NOVAL
-c if( status .ne. sai__ok ) call err_annul( status )
-c call stopit( status, 'Error 19' )
-c else
-c call err_annul( status )
-c end if
-c call err_end( status )
-c call ast_annul( obj2, status )
-c end if
-
- call ast_set( obj, 'Unit(4)=J', status )
-
- if( status .ne. SAI__OK ) call stopit( status, 'Error 20' )
-
-* Tests on reference values
- if( ast_test( obj, 'RefRA(4)', status ) ) then
- call stopit( status, 'Error 21' )
- end if
-
- if( ast_test( obj, 'RefDec(4)', status ) ) then
- call stopit( status, 'Error 22' )
- end if
-
-c if( ast_test( obj, 'Epoch(4)', status ) ) then
-c call stopit( status, 'Error 22' )
-c end if
-
-c if( ast_test( obj, 'Epoch(1)', status ) ) then
-c call stopit( status, 'Error 23' )
-c end if
-
-c if( ast_test( obj, 'Epoch(2)', status ) ) then
-c call stopit( status, 'Error 24' )
-c end if
-
-
-
-
- call ast_end( status )
-
- if( status .ne. sai__ok ) write(*,*) 'teststc: example 1 '//
- : 'tests failed'
-
- end
-
-
- subroutine Example1b( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'AST_ERR'
-
- include 'teststc_com'
-
- integer status, obj, i, l
- character value*200
-
- if( status .ne. sai__ok ) return
-
- call ast_begin( status )
-
-* Test the Strict attribute.
- call puteg( 'teststc_eg1', 1, status )
-
- call err_mark
- call xmlread( 1, obj, 'Strict=1', status )
-
- if( status .ne. ast__badin ) then
- if( status .ne. sai__ok ) call err_flush( status )
- call stopit( status, 'Error 1' )
- else
- call err_annul( status )
- end if
- call err_rlse
-
-* Test the ast_warnings function.
- call xmlread( 1, obj, 'Strict=0', status )
- if( warns .EQ. AST__NULL ) then
- call stopit( status, 'Error 2' )
-
- else if( ast_mapsize( warns, status ) .ne. 5 ) then
- call stopit( status, 'Error 3' )
-
- else if( .not. ast_mapget0c( warns, 'Warning_1', value, l,
- : status ) ) then
- call stopit( status, 'Error 4' )
-
- else if( value(:l) .ne. 'astRead(XmlChan): Warning whilst '//
- : 'reading a Position2D element: contains more than '//
- : 'one <Size> element. AST can only use the first' ) then
- call stopit( status, 'Error 5' )
- end if
-
-
- call ast_end( status )
-
- if( status .ne. sai__ok ) write(*,*) 'teststc: example 1b '//
- : 'tests failed'
-
- end
-
-
- subroutine Example2( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer status, obj, i, j
- double precision in(12,5), out(12,5)
-
- if( status .ne. sai__ok ) return
-
- call ast_begin( status )
-
-* Put an example of a CatalogEntryLocation into file 1.
- call puteg( 'teststc_eg2', 1, status )
-
-* Use a new XmlChan to read an object from file 1,and simplify it.
- call xmlread( 1, obj, ' ', status )
- obj = ast_simplify( obj, status )
-
-* Test simplify by negating and simplifying twice.
- call ast_negate( obj, status )
- obj = ast_simplify( obj, status )
- call ast_negate( obj, status )
- obj = ast_simplify( obj, status )
- call checkdump( obj, 'checkdump 1', status )
-
-* Check it is a StcCatalogEntryLocation
- if( .not. ast_isastcCatalogEntryLocation( obj, status ) )
- : call stopit( status, 'Error 1' )
-
-* Check it is an Interval.
- if( .not. ast_isainterval( ast_getstcregion( obj, status ),
- : status ) )
- : call stopit( status, 'Error 1a' )
-
-* Check it has no uncertainty
- if( ast_getunc( obj, .false., status ) .NE. AST__NULL )
- : call stopit( status, 'Error 1b' )
-
-* Other tests
- if( ast_geti( obj, 'naxes', status ) .ne. 5 )
- : call stopit( status, 'Error 1ab' )
-
- if( ast_getd( obj, 'fillfactor', status ) .ne. 1.0D0 )
- : call stopit( status, 'Error 1b' )
-
- if( ast_getc( obj, 'ident', status ) .ne. 'RA6-18hDec20-70deg' )
- : call stopit( status, 'Error 1c' )
-
- if( ast_getc( obj, 'domain(3)', status ) .ne. 'TIME' )
- : call stopit( status, 'Error 2' )
-
- if( ast_getc( obj, 'title(3)', status ) .ne.
- : 'Julian Date [TT] offset from 1968-05-23 12:00:00' )
- : call stopit( status, 'Error 2a' )
-
- if( ast_getc( obj, 'label(3)', status ) .ne.
- : 'Julian Date offset from 1968-05-23 12:00:00' ) THEN
- call stopit( status, 'Error 2b' )
- endif
-
- if( ast_getc( obj, 'domain(1)', status ) .ne. 'SKY' )
- : call stopit( status, 'Error 3' )
-
- if( ast_getc( obj, 'system(1)', status ) .ne. 'FK4' )
- : call stopit( status, 'Error 3a' )
-
- if( ast_getc( obj, 'label(1)', status ) .ne. 'Right ascension' )
- : call stopit( status, 'Error 3b' )
-
- if( ast_getc( obj, 'label(2)', status ) .ne. 'Declination' )
- : call stopit( status, 'Error 3c' )
-
- if( ast_getc( obj, 'title(2)', status ) .ne. 'PosEq' )
- : call stopit( status, 'Error 3d' )
-
- if( ast_getd( obj, 'Equinox', status ) .ne. 1950D0 )
- : call stopit( status, 'Error 3d' )
-
- if( ast_getc( obj, 'domain(2)', status ) .ne. 'SKY' )
- : call stopit( status, 'Error 4' )
-
- if( ast_getc( obj, 'domain(4)', status ) .ne. 'SPECTRUM' )
- : call stopit( status, 'Error 5' )
-
- if( ast_getc( obj, 'system(4)', status ) .ne. 'WAVE' )
- : call stopit( status, 'Error 5a' )
-
- if( ast_getc( obj, 'stdofrest', status ) .ne. 'Topocentric' )
- : call stopit( status, 'Error 5b' )
-
- if( ast_test( obj, 'title(4)', status ) )
- : call stopit( status, 'Error 5c' )
-
- if( ast_geti( obj, 'naxes', status ) .ne. 5 )
- : call stopit( status, 'Error 6' )
-
- if( ast_getc( obj, 'domain(5)', status ) .ne. 'REDSHIFT' )
- : call stopit( status, 'Error 6a' )
-
- if( ast_getc( obj, 'system(5)', status ) .ne. 'VOPT' )
- : call stopit( status, 'Error 6b' )
-
- if( ast_getc( obj, 'label(5)', status ) .ne. 'Optical velocity' )
- : call stopit( status, 'Error 6c' )
-
- if( ast_getc( obj, 'unit(5)', status ) .ne. 'km/s' )
- : call stopit( status, 'Error 6d' )
-
- if( ast_getc( obj, 'unit(4)', status ) .ne. 'Angstrom' )
- : call stopit( status, 'Error 6e' )
-
-
- in(1,1) = 4.71238 ! inside
- in(1,2) = 1.2216
- in(1,3) = 1
- in(1,4) = 6499.9
- in(1,5) = 9999.9
-
- in(2,1) = 4.71240 ! outside
- in(2,2) = 1.2216
- in(2,3) = 1
- in(2,4) = 6499.9
- in(2,5) = 9999.9
-
- in(3,1) = 4.71238 ! outside
- in(3,2) = 1.2218
- in(3,3) = 1
- in(3,4) = 6499.9
- in(3,5) = 9999.9
-
- in(4,1) = 4.71238 ! outside
- in(4,2) = 1.2216
- in(4,3) = -0.6
- in(4,4) = 6499.9
- in(4,5) = 9999.9
-
- in(5,1) = 4.71238 ! outside
- in(5,2) = 1.2216
- in(5,3) = 1
- in(5,4) = 6500.1
- in(5,5) = 9999.9
-
- in(6,1) = 4.71238 ! outside
- in(6,2) = 1.2216
- in(6,3) = 1
- in(6,4) = 6499.9
- in(6,5) = 10000.1
-
- in(7,1) = 1.5709 ! inside
- in(7,2) = 0.3492
- in(7,3) = 999.6
- in(7,4) = 5000.1
- in(7,5) = 5000
-
- in(8,1) = 1.5707 ! outside
- in(8,2) = 0.3492
- in(8,3) = 999.6
- in(8,4) = 5000.1
- in(8,5) = 5000
-
- in(9,1) = 1.5709 ! outside
- in(9,2) = 0.3490
- in(9,3) = 999.6
- in(9,4) = 5000.1
- in(9,5) = 5000
-
- in(10,1) = 1.5709 ! outside
- in(10,2) = 0.3492
- in(10,3) = 1000.4
- in(10,4) = 5000.1
- in(10,5) = 5000
-
- in(11,1) = 1.5709 ! outside
- in(11,2) = 0.3492
- in(11,3) = 999.6
- in(11,4) = 4999.9
- in(11,5) = 5000
-
- in(12,1) = 1.5709 ! inside
- in(12,2) = 0.3492
- in(12,3) = 999.6
- in(12,4) = 5000.1
- in(12,5) = 1000
-
- call ast_trann( obj, 12, 5, 12, in, .true., 5, 12, out, status )
-
- do i = 1, 12
- if( i .eq. 1 .or. i .eq. 7 .or. i .eq. 12 ) then ! inside points
- do j = 1, 5
- if( out(i,j) .ne. in(i,j) ) then
- if( status .eq. sai__ok ) then
- write(*,*) i,j,out(i,j),in(i,j)
- call stopit( status, 'Error 7' )
- end if
- end if
- end do
- else ! outside points
- do j = 1, 5
- if( out(i,j) .ne. AST__BAD ) then
- if( status .eq. sai__ok ) then
- write(*,*) i,j,out(i,j),in(i,j)
- call stopit( status, 'Error 8' )
- end if
- end if
- end do
- end if
- end do
-
-* Tests on reference values
- if( ast_test( obj, 'RefRA(4)', status ) ) then
- call stopit( status, 'Error 9' )
- end if
-
- if( ast_test( obj, 'RefDec(4)', status ) ) then
- call stopit( status, 'Error 10' )
- end if
-
-c if( ast_test( obj, 'Epoch(4)', status ) ) then
-c call stopit( status, 'Error 11' )
-c end if
-
-c if( ast_test( obj, 'Epoch(1)', status ) ) then
-c call stopit( status, 'Error 12' )
-c end if
-
-c if( ast_test( obj, 'Epoch(2)', status ) ) then
-c call stopit( status, 'Error 13' )
-c end if
-
- if( ast_test( obj, 'RestFreq(5)', status ) ) then
- call stopit( status, 'Error 14' )
- end if
-
-
-
-
-
-
- call ast_end( status )
-
- if( status .ne. sai__ok ) write(*,*) 'teststc: example 2 '//
- : 'tests failed'
-
- end
-
-
-
-
-
-
-
- subroutine Example3( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer status, obj, i, j
- double precision in(12,5), out(12,5)
-
- if( status .ne. sai__ok ) return
-
- call ast_begin( status )
-
-* Put an example of a CatalogEntryLocation into file 1.
- call puteg( 'teststc_eg3', 1, status )
-
-* Use a new XmlChan to read an object from file 1,and simplify it.
- call xmlread( 1, obj, ' ', status )
- obj = ast_simplify( obj, status )
-
-* Test simplify by negating and simplifying twice.
- call ast_negate( obj, status )
- obj = ast_simplify( obj, status )
- call ast_negate( obj, status )
- obj = ast_simplify( obj, status )
- call checkdump( obj, 'checkdump 1', status )
-
-* Check it is a StcCatalogEntryLocation
- if( .not. ast_isastcCatalogEntryLocation( obj, status ) )
- : call stopit( status, 'Error 1' )
-
-* Check it is an Interval.
- if( .not. ast_isainterval( ast_getstcregion( obj, status ),
- : status ) ) then
- write(*,*) ast_GetC( ast_getstcregion( obj, status ), 'Class',
- : status )
- call stopit( status, 'Error 1a' )
- end if
-
-* Check it has no uncertainty
- if( ast_getunc( obj, .false., status ) .NE. AST__NULL )
- : call stopit( status, 'Error 1b' )
-
-* Check it has 5 axes.
- if( ast_geti( obj, 'naxes', status ) .ne. 5 )
- : call stopit( status, 'Error 1ab' )
-
-* Check the rest frequency for axis 5 (redshift) is 5000 Angstrom
- if( abs( ast_getd( obj, 'restfreq(5)', status ) - 599584.916D0 )
- : .gt. 0.001D0 ) call stopit( status, 'Error A1' )
-
-* Check the epoch for allaxes is JD 2440000
- if( abs( ast_getd( obj, 'epoch(1)', status ) - 1968.39212D0 ) .gt.
- : 0.00001D0 ) call stopit( status, 'Error B1' )
- if( abs( ast_getd( obj, 'epoch(2)', status ) - 1968.39212D0 ) .gt.
- : 0.00001D0 ) call stopit( status, 'Error B2' )
- if( abs( ast_getd( obj, 'epoch(3)', status ) - 1968.39212D0 ) .gt.
- : 0.00001D0 ) call stopit( status, 'Error B3' )
- if( abs( ast_getd( obj, 'epoch(4)', status ) - 1968.39212D0 ) .gt.
- : 0.00001D0 ) call stopit( status, 'Error B4' )
- if( abs( ast_getd( obj, 'epoch(5)', status ) - 1968.39212D0 ) .gt.
- : 0.00001D0 ) call stopit( status, 'Error B5' )
-
-* Other tests
- if( ast_getd( obj, 'fillfactor', status ) .ne. 1.0D0 )
- : call stopit( status, 'Error 1b' )
-
- if( ast_getc( obj, 'ident', status ) .ne. 'RA6-18hDec20-70deg' )
- : call stopit( status, 'Error 1c' )
-
- if( ast_getc( obj, 'domain(3)', status ) .ne. 'TIME' )
- : call stopit( status, 'Error 2' )
-
- if( ast_getc( obj, 'label(3)', status ) .ne.
- : 'Julian Date offset from 1968-05-23 12:00:00' ) THEN
- call stopit( status, 'Error 2b' )
- end if
-
- if( ast_getc( obj, 'domain(1)', status ) .ne. 'SKY' )
- : call stopit( status, 'Error 3' )
-
- if( ast_getc( obj, 'system(1)', status ) .ne. 'FK4' )
- : call stopit( status, 'Error 3a' )
-
- if( ast_getc( obj, 'label(1)', status ) .ne. 'Right ascension' )
- : call stopit( status, 'Error 3b' )
-
- if( ast_getc( obj, 'label(2)', status ) .ne. 'Declination' )
- : call stopit( status, 'Error 3c' )
-
- if( ast_getc( obj, 'title(2)', status ) .ne. 'PosEq' )
- : call stopit( status, 'Error 3d' )
-
- if( ast_getd( obj, 'Equinox', status ) .ne. 1950D0 )
- : call stopit( status, 'Error 3d' )
-
- if( ast_getc( obj, 'domain(2)', status ) .ne. 'SKY' )
- : call stopit( status, 'Error 4' )
-
- if( ast_getc( obj, 'domain(4)', status ) .ne. 'SPECTRUM' )
- : call stopit( status, 'Error 5' )
-
- if( ast_getc( obj, 'system(4)', status ) .ne. 'WAVE' )
- : call stopit( status, 'Error 5a' )
-
- if( ast_getc( obj, 'stdofrest', status ) .ne. 'Topocentric' )
- : call stopit( status, 'Error 5b' )
-
- if( ast_test( obj, 'title(4)', status ) )
- : call stopit( status, 'Error 5c' )
-
- if( ast_geti( obj, 'naxes', status ) .ne. 5 )
- : call stopit( status, 'Error 6' )
-
- if( ast_getc( obj, 'domain(5)', status ) .ne. 'REDSHIFT' )
- : call stopit( status, 'Error 6a' )
-
- if( ast_getc( obj, 'system(5)', status ) .ne. 'VOPT' )
- : call stopit( status, 'Error 6b' )
-
- if( ast_getc( obj, 'label(5)', status ) .ne. 'Optical velocity' )
- : call stopit( status, 'Error 6c' )
-
- if( ast_getc( obj, 'unit(5)', status ) .ne. 'km/s' )
- : call stopit( status, 'Error 6d' )
-
- if( ast_getc( obj, 'unit(4)', status ) .ne. 'Angstrom' )
- : call stopit( status, 'Error 6e' )
-
-
- in(1,1) = 4.71238 ! inside
- in(1,2) = 1.2216
- in(1,3) = 0.0D0
- in(1,4) = 5000
- in(1,5) = 9999.9
-
- in(2,1) = 4.71240 ! outside
- in(2,2) = 1.2216
- in(2,3) = 0.0D0
- in(2,4) = 5000
- in(2,5) = 9999.9
-
- in(3,1) = 4.71238 ! outside
- in(3,2) = 1.2218
- in(3,3) = 0.0D0
- in(3,4) = 5000
- in(3,5) = 9999.9
-
- in(4,1) = 4.71238 ! outside
- in(4,2) = 1.2216
- in(4,3) = 0.5D0
- in(4,4) = 5000
- in(4,5) = 9999.9
-
- in(5,1) = 4.71238 ! outside
- in(5,2) = 1.2216
- in(5,3) = 0.0D0
- in(5,4) = 6500.1
- in(5,5) = 9999.9
-
- in(6,1) = 4.71238 ! outside
- in(6,2) = 1.2216
- in(6,3) = 0.0D0
- in(6,4) = 5000
- in(6,5) = 10000.1
-
- in(7,1) = 1.5709 ! inside
- in(7,2) = 0.3492
- in(7,3) = 0.0D0
- in(7,4) = 5000
- in(7,5) = 5000
-
- in(8,1) = 1.5707 ! outside
- in(8,2) = 0.3492
- in(8,3) = 0.0D0
- in(8,4) = 5000
- in(8,5) = 5000
-
- in(9,1) = 1.5709 ! outside
- in(9,2) = 0.3490
- in(9,3) = 0.0D0
- in(9,4) = 5000
- in(9,5) = 5000
-
- in(10,1) = 1.5709 ! outside
- in(10,2) = 0.3492
- in(10,3) = 39999.4D0
- in(10,4) = 5000
- in(10,5) = 5000
-
- in(11,1) = 1.5709 ! outside
- in(11,2) = 0.3492
- in(11,3) = 0.0D0
- in(11,4) = 4999.9
- in(11,5) = 5000
-
- in(12,1) = 1.5709 ! inside
- in(12,2) = 0.3492
- in(12,3) = 0.0D0
- in(12,4) = 5000
- in(12,5) = 1000
-
- call ast_trann( obj, 12, 5, 12, in, .true., 5, 12, out, status )
-
- do i = 1, 12
- if( i .eq. 1 .or. i .eq. 7 .or. i .eq. 12 ) then ! inside points
- do j = 1, 5
- if( out(i,j) .ne. in(i,j) ) then
- if( status .eq. sai__ok ) then
- write(*,*) i,j,out(i,j),in(i,j)
- call stopit( status, 'Error 7' )
- end if
- end if
- end do
- else ! outside points
- do j = 1, 5
- if( out(i,j) .ne. AST__BAD ) then
- if( status .eq. sai__ok ) then
- write(*,*) i,j,out(i,j),in(i,j)
- call stopit( status, 'Error 8' )
- end if
- end if
- end do
- end if
- end do
-
-* Tests on reference values
- if( ast_test( obj, 'RefRA(4)', status ) ) then
- call stopit( status, 'Error 9' )
- end if
-
- if( ast_test( obj, 'RefDec(4)', status ) ) then
- call stopit( status, 'Error 10' )
- end if
-
- if( .not. ast_test( obj, 'Epoch(4)', status ) ) then
- call stopit( status, 'Error 11' )
- end if
-
- if( .not. ast_test( obj, 'Epoch(1)', status ) ) then
- call stopit( status, 'Error 12' )
- end if
-
- if( .not. ast_test( obj, 'Epoch(2)', status ) ) then
- call stopit( status, 'Error 13' )
- end if
-
- if( .not. ast_test( obj, 'RestFreq(5)', status ) ) then
- call stopit( status, 'Error 14' )
- end if
-
-
-
-
-
-
- call ast_end( status )
-
- if( status .ne. sai__ok ) write(*,*) 'teststc: example 3 '//
- : 'tests failed'
-
- end
-
-
-
-
-
-
- subroutine Example4( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'AST_ERR'
-
- integer status, obj2, obj, i, j, unc, frm
- double precision in(12,4), out(12,4), lbnd(4), ubnd(4)
-
- if( status .ne. sai__ok ) return
-
- call ast_begin( status )
-
-* Put an example of an STCSearchLocation into file 1.
- call puteg( 'teststc_eg4', 1, status )
-
-* Use a new XmlChan to read an object from file 1,and simplify it.
- call xmlread( 1, obj, ' ', status )
- obj = ast_simplify( obj, status )
-
-* Test simplify by negating and simplifying twice.
- call ast_negate( obj, status )
- obj = ast_simplify( obj, status )
- call ast_negate( obj, status )
- obj = ast_simplify( obj, status )
- call checkdump( obj, 'checkdump 1', status )
-
-
-* Check it is a STCSearchLocation
- if( .not. ast_isastcsearchlocation( obj, status ) )
- : call stopit( status, 'Error 1' )
-
-* Check it is a Prism.
- if( .not. ast_isaprism( ast_getstcregion( obj, status ),
- : status ) )
- : call stopit( status, 'Error 1a' )
-
-* Check it has no uncertainty
- if( ast_getunc( obj, .false., status ) .NE. AST__NULL )
- : call stopit( status, 'Error 1b' )
-
-* Other tests
- if( ast_geti( obj, 'naxes', status ) .ne. 4 )
- : call stopit( status, 'Error 1ab' )
-
- if( ast_getd( obj, 'fillfactor', status ) .ne. 1.0D0 )
- : call stopit( status, 'Error 1b' )
-
- if( ast_getc( obj, 'ident', status ) .ne. 'M81' )
- : call stopit( status, 'Error 1c' )
-
- if( ast_getc( obj, 'domain(3)', status ) .ne. 'TIME' )
- : call stopit( status, 'Error 2' )
-
- if( ast_getc( obj, 'label(3)', status ) .ne.
- : 'Modified Julian Date offset from 1900-01-01' ) THEN
- call stopit( status, 'Error 2b' )
- end if
-
- if( ast_getc( obj, 'domain(1)', status ) .ne. 'SKY' )
- : call stopit( status, 'Error 3' )
-
- if( ast_getc( obj, 'system(1)', status ) .ne. 'ICRS' )
- : call stopit( status, 'Error 3a' )
-
- if( ast_getc( obj, 'label(1)', status ) .ne. 'Right ascension' )
- : call stopit( status, 'Error 3b' )
-
- if( ast_getc( obj, 'label(2)', status ) .ne. 'Declination' )
- : call stopit( status, 'Error 3c' )
-
- if( ast_getc( obj, 'title(2)', status ) .ne. 'Equatorial' )
- : call stopit( status, 'Error 3d' )
-
- if( ast_test( obj, 'Equinox', status ) )
- : call stopit( status, 'Error 3d2' )
-
- if( ast_getc( obj, 'domain(2)', status ) .ne. 'SKY' )
- : call stopit( status, 'Error 4' )
-
- if( ast_getc( obj, 'domain(4)', status ) .ne. 'SPECTRUM' )
- : call stopit( status, 'Error 5' )
-
- if( ast_getc( obj, 'system(4)', status ) .ne. 'WAVE' )
- : call stopit( status, 'Error 5a' )
-
- if( ast_getc( obj, 'stdofrest', status ) .ne. 'Barycentric' )
- : call stopit( status, 'Error 5b' )
-
- if( ast_getc( obj, 'title(4)', status ) .ne. 'Wavelength' )
- : call stopit( status, 'Error 5c' )
-
- if( ast_geti( obj, 'naxes', status ) .ne. 4 )
- : call stopit( status, 'Error 6' )
-
- if( ast_getc( obj, 'unit(4)', status ) .ne. 'Angstrom' )
- : call stopit( status, 'Error 6e' )
-
- frm = ast_getregionframe( obj, status )
- if( ast_getc( frm, 'Ident', status ) .ne. 'ICRS-TT-BARY' )
- : call stopit( status, 'Error 7' )
-
-
-
-* Tests on reference values
- if( ast_test( obj, 'RefRA(4)', status ) ) then
- call stopit( status, 'Error 9' )
- end if
-
- if( ast_test( obj, 'RefDec(4)', status ) ) then
- call stopit( status, 'Error 10' )
- end if
-
-c if( ast_test( obj, 'Epoch(4)', status ) ) then
-c call stopit( status, 'Error 11' )
-c end if
-
-c if( ast_test( obj, 'Epoch(1)', status ) ) then
-c call stopit( status, 'Error 12' )
-c end if
-
-c if( ast_test( obj, 'Epoch(2)', status ) ) then
-c call stopit( status, 'Error 13' )
-c end if
-
- if( ast_test( obj, 'RestFreq(4)', status ) ) then
- call stopit( status, 'Error 14' )
- end if
-
- if( abs( ast_getd( obj, 'Epoch(3)', status ) - 1900.00051056532 )
- : .gt. 0.0001 ) then
- call stopit( status, 'Error 12b' )
- end if
-
- if( abs( ast_getd( obj, 'TimeOrigin', status ) - 15020.0D0 )
- : .gt. 0.0001 ) then
- call stopit( status, 'Error 12c' )
- end if
-
-
-
-
- in(1,1) = 2.51126532207628 ! inside
- in(1,2) = 1.22218015796595
- in(1,3) = 0.01
- in(1,4) = 4001
-
- in(2,1) = 2.5094191311777 ! outside
- in(2,2) = 1.22248014367694
- in(2,3) = 0.01
- in(2,4) = 4001
-
- in(3,1) = 2.51126532207628 ! outside
- in(3,2) = 1.22218015796595
- in(3,3) = 0.01
- in(3,4) = 3999
-
- in(4,1) = 2.51126532207628 ! outside
- in(4,2) = 1.22218015796595
- in(4,3) = -0.2
- in(4,4) = 4001
-
- in(5,1) = 2.5094191311777 ! outside
- in(5,2) = 1.22248014367694
- in(5,3) = -0.2
- in(5,4) = 4001
-
- in(6,1) = 2.51126532207628 ! outside
- in(6,2) = 1.22218015796595
- in(6,3) = -0.2
- in(6,4) = 3999
-
- in(7,1) = 2.51682141503858 ! inside
- in(7,2) = 1.18868060989363
- in(7,3) = 0.01
- in(7,4) = 6999
-
- in(8,1) = 2.51524001365674 ! outside
- in(8,2) = 1.18830732379242
- in(8,3) = 0.01
- in(8,4) = 6999
-
- in(9,1) = 2.51682141503858 ! outside
- in(9,2) = 1.18868060989363
- in(9,3) = 0.01
- in(9,4) = 7001
-
- in(10,1) = 2.51682141503858 ! outside
- in(10,2) = 1.18868060989363
- in(10,3) = -0.2
- in(10,4) = 6999
-
- in(11,1) = 2.51524001365674 ! outside
- in(11,2) = 1.18830732379242
- in(11,3) = -0.2
- in(11,4) = 6999
-
- in(12,1) = 2.51682141503858 ! outside
- in(12,2) = 1.18868060989363
- in(12,3) = -0.2
- in(12,4) = 7001
-
- call ast_trann( obj, 12, 4, 12, in, .true., 4, 12, out, status )
-
- do i = 1, 12
- if( i .eq. 1 .or. i .eq. 7 ) then ! inside points
- do j = 1, 4
- if( out(i,j) .ne. in(i,j) ) then
- if( status .eq. sai__ok ) then
- write(*,*) i,j,out(i,j),in(i,j)
- call stopit( status, 'Error 13c' )
- end if
- end if
- end do
- else ! outside points
- do j = 1, 4
- if( out(i,j) .ne. AST__BAD ) then
- if( status .eq. sai__ok ) then
- write(*,*) i,j,out(i,j),in(i,j)
- call stopit( status, 'Error 14c' )
- end if
- end if
- end do
- end if
- end do
-
-
- call ast_end( status )
-
- if( status .ne. sai__ok ) write(*,*) 'teststc: example 4 '//
- : 'tests failed'
-
- end
-
-
-
-
- subroutine Example5( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'AST_ERR'
-
- integer status, obj2, obj, i, j, unc, frm
- double precision in(12,4), out(12,4), lbnd(4), ubnd(4)
-
- if( status .ne. sai__ok ) return
-
- call ast_begin( status )
-
-* Put an example of an STCSearchLocation into file 1.
- call puteg( 'teststc_eg5', 1, status )
-
-* Use a new XmlChan to read an object from file 1,and simplify it.
- call xmlread( 1, obj, ' ', status )
- call checkdump( obj, 'checkdump 2', status )
- obj = ast_simplify( obj, status )
-
-* Test simplify by negating and simplifying twice.
- call ast_negate( obj, status )
- obj = ast_simplify( obj, status )
- call ast_negate( obj, status )
- obj = ast_simplify( obj, status )
- call checkdump( obj, 'checkdump 1', status )
-
-* Check it is a STCObsDataLocation
- if( .not. ast_isastcobsdatalocation( obj, status ) )
- : call stopit( status, 'Error 1' )
-
-* Check it contains a Prism.
- if( .not. ast_isaprism( ast_getstcregion( obj, status ),
- : status ) )
- : call stopit( status, 'Error 1a' )
-
-* Other tests
- if( ast_getd( obj, 'fillfactor', status ) .ne. 1.0D0 )
- : call stopit( status, 'Error 1b' )
-
- if( ast_getc( obj, 'ident', status ) .ne. 'M81' )
- : call stopit( status, 'Error 1c' )
-
- if( ast_getc( obj, 'domain(3)', status ) .ne. 'TIME' )
- : call stopit( status, 'Error 2' )
-
- if( ast_getc( obj, 'label(3)', status ) .ne.
- : 'Modified Julian Date offset from 2004-07-15 08:23:56' ) then
- call stopit( status, 'Error 2b' )
- end if
-
- if( ast_getc( obj, 'domain(1)', status ) .ne. 'SKY' )
- : call stopit( status, 'Error 3' )
-
- if( ast_getc( obj, 'system(1)', status ) .ne. 'ICRS' )
- : call stopit( status, 'Error 3a' )
-
- if( ast_getc( obj, 'label(1)', status ) .ne. 'Right ascension' )
- : call stopit( status, 'Error 3b' )
-
- if( ast_getc( obj, 'label(2)', status ) .ne. 'Declination' )
- : call stopit( status, 'Error 3c' )
-
- if( ast_getc( obj, 'title(2)', status ) .ne. 'Equatorial' )
- : call stopit( status, 'Error 3d' )
-
- if( ast_getc( obj, 'domain(2)', status ) .ne. 'SKY' )
- : call stopit( status, 'Error 4' )
-
- if( ast_getc( obj, 'domain(4)', status ) .ne. 'SPECTRUM' )
- : call stopit( status, 'Error 5' )
-
- if( ast_getc( obj, 'system(4)', status ) .ne. 'WAVE' )
- : call stopit( status, 'Error 5a' )
-
- if( ast_getc( obj, 'stdofrest', status ) .ne. 'Topocentric' )
- : call stopit( status, 'Error 5b' )
-
- if( ast_getc( obj, 'title(4)', status ) .ne.
- : 'Wavelength' ) call stopit( status, 'Error 5c' )
-
- if( ast_getc( obj, 'unit(4)', status ) .ne. 'Angstrom' )
- : call stopit( status, 'Error 5d' )
-
- if( ast_geti( obj, 'naxes', status ) .ne. 4 )
- : call stopit( status, 'Error 6' )
-
- call ast_getregionbounds( obj, lbnd, ubnd, status )
-
-
-
- lbnd(1) = 0.5*(lbnd(1) + ubnd(1))
- lbnd(2) = 0.5*(lbnd(2) + ubnd(2))
- lbnd(3) = 0.5*(lbnd(3) + ubnd(3))
- lbnd(4) = 0.5*(lbnd(4) + ubnd(4))
-
- if( abs( lbnd(1) - 2.59858948190075 ) .gt. 1E-06 )
- : call stopit( status, 'Error 10' )
- if( abs( lbnd(2) - 1.20541670934471 ) .gt. 1E-06 )
- : call stopit( status, 'Error 11' )
- if( abs( lbnd(3) ) .gt. 1E-5 )
- : call stopit( status, 'Error 12' )
- if( abs( lbnd(4) - 4600 ) .gt. 0.0001 )
- : call stopit( status, 'Error 13' )
- if( abs( ubnd(1) - 2.61080678666471 ) .gt. 1E-06 )
- : call stopit( status, 'Error 14' )
- if( abs( ubnd(2) - 1.2097800324747 ) .gt. 1E-06 )
- : call stopit( status, 'Error 15' )
- if( abs( ubnd(3) - 380.0D0 ) .gt. 1E-5 )
- : call stopit( status, 'Error 16' )
- if( abs( ubnd(4) - 4800 ) .gt. 0.0001 )
- : call stopit( status, 'Error 17' )
- if( ast_getc( obj, 'ObsLon', status ) .ne. 'W111:35:39.84' )
- : call stopit( status, 'Error 18' )
- if( ast_getc( obj, 'ObsLat', status ) .ne. 'N31:57:30.96' )
- : call stopit( status, 'Error 19' )
-
- unc = ast_getunc( obj, .true., status )
- if( unc .eq. AST__NULL ) call stopit( status, 'Error 20' )
-
- call ast_getregionbounds( unc, lbnd, ubnd, status )
-
- lbnd(1) = 0.5*(lbnd(1) + ubnd(1))
- lbnd(2) = 0.5*(lbnd(2) + ubnd(2))
- lbnd(3) = 0.5*(lbnd(3) + ubnd(3))
- lbnd(4) = 0.5*(lbnd(4) + ubnd(4))
-
- if( abs( lbnd(1) - 2.59858948190075D0) .gt. 1E-05 )
- : call stopit( status, 'Error 21' )
- if( abs( lbnd(2) - 1.20541670934471D0) .gt. 1E-05 )
- : call stopit( status, 'Error 22' )
- if( abs( lbnd(3) ) .gt. 1.0D-05 )
- : call stopit( status, 'Error 23' )
- if( abs( lbnd(4) - 4600.0D0) .gt. 0.0001 )
- : call stopit( status, 'Error 24' )
- if( abs( ubnd(1) - 2.59859209989462D0) .gt. 1E-05 )
- : call stopit( status, 'Error 25' )
-
- if( abs( ubnd(2) - 1.20541932733859D0) .gt. 1E-05 )
- : call stopit( status, 'Error 26' )
- if( abs( ubnd(3) - 0.3803143212621760D-03 ) .gt. 1E-05 )
- : call stopit( status, 'Error 27' )
- if( abs( ubnd(4) - 4600.0002D0) .gt. 0.000001 )
- : call stopit( status, 'Error 28' )
-
- if( status .ne. sai__ok ) write(*,*) 'teststc: example 5 '//
- : 'tests failed'
-
- end
-
-
-
-
-
-
-
-
-
-
-
-
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
-
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
-
- end
-
-
-
-
-
-*
-* Read an object out of the specified internal file using an XmlChan.
-*
- subroutine xmlread( ifil, obj, opts, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- include 'teststc_com'
-
- external xmlSource
- integer obj, ifil, status, ch
- character opts*(*)
-
- if( status .ne. sai__ok ) return
-
- ifile = ifil
- iline = 1
-
- ch = ast_xmlchan( xmlSource, ast_null, opts, status )
- obj = ast_read( ch, status )
- if( obj .eq. ast__null ) then
- call stopit( status, 'checkXmlChan: Failed to read STC '//
- : 'object from XmlChan.' )
- end if
-
- warns = ast_warnings( ch, status )
- call ast_annul( ch, status )
-
- end
-
-
-
-
-*
-* Reads line "iline" from internal file "ifile" and returns it to AST using
-* the AST_PUTLINE routine. Then increments "iline" ready for next time.
-*
- subroutine xmlSource( status )
- implicit none
-
- include 'teststc_com'
-
- integer status, l, chr_len
-
- if( iline .le. filelen( ifile ) ) then
- l = chr_len( files(ifile,iline) )
- call ast_putline( files(ifile,iline), l, status )
- iline = iline + 1
- else
- call ast_putline( ' ', -1, status )
- end if
-
- end
-
-*
-* Append a line obtained using ast_getline function to the end of the
-* internal file indicated by "ifile", and increment the file length.
-*
- subroutine xmlSink( status )
- implicit none
-
- include 'teststc_com'
-
- integer status, l
- character line*(linelen)
-
- call ast_getline( line, l, status )
- if( l .gt. 0 ) then
-
- if( filelen( ifile ) .ge. mxline ) then
- call stopit( status, 'checkXmlChan: Too many lines sent '//
- : 'to sink function' )
-
- else if( l .gt. linelen ) then
- call stopit( status, 'checkXmlChan: Text truncated in '//
- : 'sink function' )
-
- else
- filelen( ifile ) = filelen( ifile ) + 1
- files( ifile, filelen( ifile ) ) = line(:l)
- end if
-
- end if
-
- end
-
-
- subroutine puteg( flnam, ifl, status )
- implicit none
-
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'teststc_com'
-
- integer status, ifl
- character flnam*(*)
-
- if( status .ne. sai__ok ) return
-
- open( file=flnam, status='old', unit=10 )
-
- iline = 1
- 10 continue
- if( iline .gt. mxline ) call stopit( status,
- : 'mxline exceeded in puteg' )
- read( 10, '(A)', end=20 ) files( ifl, iline )
-
- if( files( ifl, iline )( linelen : linelen ) .ne. ' ' ) then
- call stopit( status, 'linelen exceeded in puteg' )
- end if
-
- iline = iline + 1
- go to 10
-
- 20 continue
- close( 10 )
- filelen( ifl ) = iline - 1
-
- end
-
-
-*
-* Tests the dump function, the loader, and the astOverlap method.
-*
- subroutine checkdump( obj, text, status )
-
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character text*(*)
- integer obj, status, next, end, ch, result, ll, overlap
- external mysource, mysink
- character buf*190000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
-* Create a Channel which reads and writes to an internal string buffer.
- ch = ast_channel( mysource, mysink, ' ', status )
-
-* Write the supplied Region out to this Channel.
- ll = 160
- next = 1
- if( ast_write( ch, obj, status ) .ne.1 ) then
- write(*,*) text
- call stopit( status, 'Cannot write supplied object to '//
- : 'channel' )
- end if
-
-* Read an Object back from this Channel.
- next = 1
- result = ast_read( ch, status )
- if( result .eq. ast__null ) then
- write(*,*) text
- call stopit( status, 'Cannot read object from channel' )
- end if
-
-* Check that it is a Region and its boundary is identical to the supplied
-* Region.
- overlap = ast_overlap( obj, result, status )
- if( overlap .ne. 5 ) then
- write(*,*) 'obj result Overlap: ', overlap
- write(*,*) 'obj self-Overlap: ', ast_overlap( obj, obj,
- : status )
- write(*,*) 'result self-Overlap: ', ast_overlap( result,
- : result, status )
- call ast_Show( obj, status )
- call ast_Show( result, status )
- write(*,*) text
- call stopit( status, 'Object has changed' )
- end if
-
-* Return the new Region pointer in place of the old.
- obj = result
-
- end
-
- subroutine mysource( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, ll
- character buf*190000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- if( next .ge. end ) then
- call ast_putline( buf, -1, status )
- else
- call ast_putline( buf( next : ), ll, status )
- endif
-
- next = next + ll
-
- end
-
- subroutine mysink( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll
- character buf*190000
- character line*1000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
- buf( next : ) = line( f : l )
- l = l - f + 1
-
- if( next + ll - 1 .ge. 190000 ) then
- write(*,*) buf
- call stopit( status, 'Buffer overflow in mysink!!' )
- else if( l .gt. ll ) then
- write(*,*)
- write(*,*) buf( next : next + l)
- write(*,*) 'Line length ',l,' greater than ',ll
- call stopit( status, 'Line overflow in mysink!!' )
- else
- end = next + l
- buf( end : next + ll - 1 ) = ' '
- endif
-
- next = next + ll
-
- end
-
-
diff --git a/ast/ast_tester/teststc_com b/ast/ast_tester/teststc_com
deleted file mode 100644
index f9a7fb1..0000000
--- a/ast/ast_tester/teststc_com
+++ /dev/null
@@ -1,13 +0,0 @@
-*
-* Common block declaration used by teststc.f for storing internal
-* files and associated info.
-*
- integer mxline
- parameter ( mxline = 500 )
-
- integer linelen
- parameter ( linelen = 3000 )
-
- character files( 3, mxline )*(linelen)
- integer ifile,iline,filelen( 3 ),warns
- common /files/ files, ifile, iline, filelen, warns
diff --git a/ast/ast_tester/teststc_eg1 b/ast/ast_tester/teststc_eg1
deleted file mode 100644
index b1044c6..0000000
--- a/ast/ast_tester/teststc_eg1
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XMLSpy v2005 sp2 U (http://www.altova.com) by Arnold Rots (Smithsonian Observatory) -->
-<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Arnold Rots (Smithsonian Observatory) -->
-<!--Sample XML file generated by XMLSPY v2004 rel. 3 U (http://www.xmlspy.com)-->
-<STCResourceProfile xmlns="http://www.ivoa.net/xml/STC/stc-v1.20.xsd" xmlns:crd="http://www.ivoa.net/xml/STC/STCcoords/v1.20" xmlns:reg="http://www.ivoa.net/xml/STC/STCregion/v1.20" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ivoa.net/xml/STC/stc-v1.20.xsd stc-v1.20.xsd">
- <AstroCoordSystem ID="ICRS-TT-CXO">
- <TimeFrame>
- <Name>Time</Name>
- <TimeScale>TT</TimeScale>
- <TOPOCENTER/>
- </TimeFrame>
- <SpaceFrame>
- <Name>Space</Name>
- <ICRS/>
- <TOPOCENTER/>
- <SPHERICAL coord_naxes="2"/>
- </SpaceFrame>
- <SpectralFrame>
- <Name>Energy</Name>
- <TOPOCENTER/>
- </SpectralFrame>
- </AstroCoordSystem>
- <crd:AstroCoords coord_system_id="ICRS-TT-CXO">
- <crd:Time unit="s">
- <crd:Name>Time</crd:Name>
- <crd:Error>0.0001</crd:Error>
- <crd:Resolution>0.000016</crd:Resolution>
- <crd:Resolution>3.0</crd:Resolution>
- <crd:Size>1000</crd:Size>
- <crd:Size>170000</crd:Size>
- </crd:Time>
- <crd:Position2D unit="arcsec">
- <crd:Name>Position</crd:Name>
- <crd:Error2>
- 1.0 1.0
- </crd:Error2>
- <crd:Resolution2>
- 0.5 0.5
- </crd:Resolution2>
- <crd:Size2>
- 1000 1000
- </crd:Size2>
- <crd:Size2>
- 4000 4000
- </crd:Size2>
- </crd:Position2D>
- <crd:Spectral unit="keV">
- <crd:Name>Energy</crd:Name>
- <crd:Error>0.1</crd:Error>
- <crd:Resolution>0.02</crd:Resolution>
- <crd:Resolution>2.0</crd:Resolution>
- <crd:Size>2</crd:Size>
- <crd:Size>10</crd:Size>
- </crd:Spectral>
- </crd:AstroCoords>
- <AstroCoordArea ID="AllSky-CXO" coord_system_id="ICRS-TT-CXO">
- <TimeInterval>
- <StartTime>
- <crd:TimeScale>TT</crd:TimeScale>
- <crd:ISOTime>1999-07-23T16:00:00</crd:ISOTime>
- </StartTime>
- </TimeInterval>
- <Region>
- <reg:AllSky fill_factor="0.02"/>
- </Region>
- <SpectralInterval unit="keV">
- <LoLimit>0.12</LoLimit>
- <HiLimit>10.0</HiLimit>
- </SpectralInterval>
- </AstroCoordArea>
-</STCResourceProfile>
diff --git a/ast/ast_tester/teststc_eg10 b/ast/ast_tester/teststc_eg10
deleted file mode 100644
index 977fa57..0000000
--- a/ast/ast_tester/teststc_eg10
+++ /dev/null
@@ -1,18 +0,0 @@
-<STCResourceProfile xmlns="http://www.ivoa.net/xml/STC/stc-v1.20.xsd">
- <AstroCoordSystem ID="ICRS-TT-CXO">
- <SpaceFrame>
- <Name>Space</Name>
- <GALACTIC_II/>
- <TOPOCENTER/>
- <SPHERICAL coord_naxes="2"/>
- </SpaceFrame>
- </AstroCoordSystem>
- <AstroCoordArea ID="AllSky-CXO" coord_system_id="ICRS-TT-CXO">
- <Region>
- <reg:Box unit="deg">
- <reg:Center>143.0 42.0</reg:Center>
- <reg:Size>1.0 1.0</reg:Size>
- </reg:Box>
- </Region>
- </AstroCoordArea>
-</STCResourceProfile>
diff --git a/ast/ast_tester/teststc_eg2 b/ast/ast_tester/teststc_eg2
deleted file mode 100644
index 6665676..0000000
--- a/ast/ast_tester/teststc_eg2
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Arnold Rots (Smithsonian Observatory) -->
-<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Arnold Rots (Smithsonian Observatory) -->
-<!--Sample XML file generated by XMLSPY v2004 rel. 3 U (http://www.xmlspy.com)-->
-<CatalogEntryLocation xmlns="http://www.ivoa.net/xml/STC/stc-v1.20.xsd" xmlns:crd="http://www.ivoa.net/xml/STC/STCcoords/v1.20" xmlns:reg="http://www.ivoa.net/xml/STC/STCregion/v1.20" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ivoa.net/xml/STC/stc-v1.20.xsd stc-v1.20.xsd">
- <AstroCoordSystem ID="B1950-OPTICAL-ET">
- <TimeFrame>
- <TimeScale>ET</TimeScale>
- <TOPOCENTER/>
- </TimeFrame>
- <SpaceFrame>
- <Name>PosEq</Name>
- <FK4>
- <Equinox>B1950.0</Equinox>
- </FK4>
- <TOPOCENTER/>
- <SPHERICAL coord_naxes="2"/>
- </SpaceFrame>
- <SpectralFrame>
- <TOPOCENTER/>
- </SpectralFrame>
- <RedshiftFrame>
- <Name>DopplerVelocity</Name>
- <DopplerDefinition>OPTICAL</DopplerDefinition>
- <BARYCENTER/>
- </RedshiftFrame>
-
- </AstroCoordSystem>
- <AstroCoordSystem ID="SGC-OPTICAL-ET">
- <TimeFrame>
- <Name>Time</Name>
- <TimeScale>ET</TimeScale>
- <TOPOCENTER/>
- </TimeFrame>
- <SpaceFrame>
- <Name>SGC</Name>
- <SUPER_GALACTIC/>
- <BARYCENTER/>
- <SPHERICAL coord_naxes="2" />
- </SpaceFrame>
- <SpectralFrame>
- <Name>Optical</Name>
- <TOPOCENTER/>
- </SpectralFrame>
- <RedshiftFrame>
- <Name>DopplerVelocity</Name>
- <DopplerDefinition>OPTICAL</DopplerDefinition>
- <GALACTIC_CENTER/>
- </RedshiftFrame>
- </AstroCoordSystem>
- <crd:AstroCoords coord_system_id="B1950-OPTICAL-ET">
- <crd:Position2D unit="deg">
- <crd:Name>RA,Dec</crd:Name>
- <crd:Value2Ref>Column3</crd:Value2Ref>
- <crd:Error2Ref>Column4</crd:Error2Ref>
- <crd:Size2Ref>Column5</crd:Size2Ref>
- </crd:Position2D>
- <crd:Redshift unit="km" vel_time_unit="s">
- <crd:Name>Vrad(barycenter)</crd:Name>
- <crd:ValueRef>Column6</crd:ValueRef>
- <crd:ErrorRef>Column7</crd:ErrorRef>
- </crd:Redshift>
- </crd:AstroCoords>
- <crd:AstroCoords coord_system_id="SGC-OPTICAL-ET">
- <crd:Position2D unit="deg">
- <crd:Name>SGLong,SGLat</crd:Name>
- <crd:Value2Ref>Column8</crd:Value2Ref>
- <crd:Error2Ref>Column9</crd:Error2Ref>
- <crd:Size2Ref>Column10</crd:Size2Ref>
- </crd:Position2D>
- <crd:Redshift unit="km" vel_time_unit="s">
- <crd:Name>Vrad(Galcenter)</crd:Name>
- <crd:ValueRef>Column11</crd:ValueRef>
- <crd:ErrorRef>Column12</crd:ErrorRef>
- </crd:Redshift>
- </crd:AstroCoords>
- <AstroCoordArea coord_system_id="B1950-OPTICAL-ET" ID="RA6-18hDec20-70deg">
- <TimeInterval>
- <StartTime>
- <crd:TimeScale>ET</crd:TimeScale>
- <crd:JDTime>2440000</crd:JDTime>
- </StartTime>
- <StopTime>
- <crd:TimeScale>ET</crd:TimeScale>
- <crd:JDTime>2441000</crd:JDTime>
- </StopTime>
- </TimeInterval>
- <Region>
- <reg:Polygon unit="deg">
- <reg:Vertex>
- <reg:Position>270 20</reg:Position>
- </reg:Vertex>
- <reg:Vertex>
- <reg:Position>90 20</reg:Position>
- <reg:SmallCircle/>
- </reg:Vertex>
- <reg:Vertex>
- <reg:Position>90 70</reg:Position>
- </reg:Vertex>
- <reg:Vertex>
- <reg:Position>270 70</reg:Position>
- <reg:SmallCircle/>
- </reg:Vertex>
- </reg:Polygon>
- </Region>
- <SpectralInterval unit="Angstrom">
- <LoLimit>5000</LoLimit>
- <HiLimit>6500</HiLimit>
- </SpectralInterval>
- <RedshiftInterval unit="km" vel_time_unit="s">
- <HiLimit>10000</HiLimit>
- </RedshiftInterval>
- </AstroCoordArea>
-</CatalogEntryLocation>
diff --git a/ast/ast_tester/teststc_eg3 b/ast/ast_tester/teststc_eg3
deleted file mode 100644
index 028d484..0000000
--- a/ast/ast_tester/teststc_eg3
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Arnold Rots (Smithsonian Observatory) -->
-<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Arnold Rots (Smithsonian Observatory) -->
-<!--Sample XML file generated by XMLSPY v2004 rel. 3 U (http://www.xmlspy.com)-->
-<CatalogEntryLocation xmlns="http://www.ivoa.net/xml/STC/stc-v1.20.xsd" xmlns:crd="http://www.ivoa.net/xml/STC/STCcoords/v1.20" xmlns:reg="http://www.ivoa.net/xml/STC/STCregion/v1.20" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ivoa.net/xml/STC/stc-v1.20.xsd stc-v1.20.xsd">
- <AstroCoordSystem ID="B1950-OPTICAL-ET">
- <TimeFrame>
- <TimeScale>ET</TimeScale>
- <TOPOCENTER/>
- </TimeFrame>
- <SpaceFrame>
- <Name>PosEq</Name>
- <FK4>
- <Equinox>B1950.0</Equinox>
- </FK4>
- <TOPOCENTER/>
- <SPHERICAL coord_naxes="2"/>
- </SpaceFrame>
- <SpectralFrame>
- <TOPOCENTER/>
- </SpectralFrame>
- <RedshiftFrame>
- <Name>DopplerVelocity</Name>
- <DopplerDefinition>OPTICAL</DopplerDefinition>
- <BARYCENTER/>
- </RedshiftFrame>
- </AstroCoordSystem>
- <AstroCoordSystem ID="SGC-OPTICAL-ET">
- <TimeFrame>
- <Name>Time</Name>
- <TimeScale>ET</TimeScale>
- <TOPOCENTER/>
- </TimeFrame>
- <SpaceFrame>
- <Name>SGC</Name>
- <SUPER_GALACTIC/>
- <BARYCENTER/>
- <SPHERICAL coord_naxes="2" />
- </SpaceFrame>
- <SpectralFrame>
- <Name>Optical</Name>
- <TOPOCENTER/>
- </SpectralFrame>
- <RedshiftFrame>
- <Name>DopplerVelocity</Name>
- <DopplerDefinition>OPTICAL</DopplerDefinition>
- <GALACTIC_CENTER/>
- </RedshiftFrame>
- </AstroCoordSystem>
- <crd:AstroCoords coord_system_id="B1950-OPTICAL-ET">
- <crd:Position2D unit="deg">
- <crd:Name>RA,Dec</crd:Name>
- <crd:Value2Ref>Column3</crd:Value2Ref>
- <crd:Error2Ref>Column4</crd:Error2Ref>
- <crd:Size2Ref>Column5</crd:Size2Ref>
- </crd:Position2D>
- <crd:Redshift unit="km" vel_time_unit="s">
- <crd:Name>Vrad(barycenter)</crd:Name>
- <crd:ValueRef>Column6</crd:ValueRef>
- <crd:ErrorRef>Column7</crd:ErrorRef>
- </crd:Redshift>
- </crd:AstroCoords>
- <crd:AstroCoords coord_system_id="SGC-OPTICAL-ET">
- <crd:Position2D unit="deg">
- <crd:Name>SGLong,SGLat</crd:Name>
- <crd:Value2Ref>Column8</crd:Value2Ref>
- <crd:Error2Ref>Column9</crd:Error2Ref>
- <crd:Size2Ref>Column10</crd:Size2Ref>
- </crd:Position2D>
- <crd:Redshift unit="km" vel_time_unit="s">
- <crd:Name>Vrad(Galcenter)</crd:Name>
- <crd:ValueRef>Column11</crd:ValueRef>
- <crd:ErrorRef>Column12</crd:ErrorRef>
- </crd:Redshift>
- </crd:AstroCoords>
- <AstroCoordArea coord_system_id="B1950-OPTICAL-ET" ID="RA6-18hDec20-70deg">
- <TimeInterval>
- <StartTime>
- <crd:TimeScale>ET</crd:TimeScale>
- <crd:JDTime>2440000</crd:JDTime>
- </StartTime>
- <StopTime>
- <crd:TimeScale>ET</crd:TimeScale>
- <crd:JDTime>2440000</crd:JDTime>
- </StopTime>
- </TimeInterval>
- <Region>
- <reg:Polygon unit="deg">
- <reg:Vertex>
- <reg:Position>270 20</reg:Position>
- </reg:Vertex>
- <reg:Vertex>
- <reg:Position>90 20</reg:Position>
- <reg:SmallCircle/>
- </reg:Vertex>
- <reg:Vertex>
- <reg:Position>90 70</reg:Position>
- </reg:Vertex>
- <reg:Vertex>
- <reg:Position>270 70</reg:Position>
- <reg:SmallCircle/>
- </reg:Vertex>
- </reg:Polygon>
- </Region>
- <SpectralInterval unit="Angstrom">
- <LoLimit>5000</LoLimit>
- <HiLimit>5000</HiLimit>
- </SpectralInterval>
- <RedshiftInterval unit="km" vel_time_unit="s">
- <HiLimit>10000</HiLimit>
- </RedshiftInterval>
- </AstroCoordArea>
-</CatalogEntryLocation>
diff --git a/ast/ast_tester/teststc_eg4 b/ast/ast_tester/teststc_eg4
deleted file mode 100644
index 5b9d8ab..0000000
--- a/ast/ast_tester/teststc_eg4
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SearchLocation xmlns="http://www.ivoa.net/xml/STC/stc-v1.20.xsd" xmlns:crd="http://www.ivoa.net/xml/STC/STCcoords/v1.20" xmlns:reg="http://www.ivoa.net/xml/STC/STCregion/v1.20" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ivoa.net/xml/STC/stc-v1.20.xsd stc-v1.20.xsd">
- <AstroCoordSystem ID="ICRS-TT-BARY">
- <TimeFrame>
- <Name>Time</Name>
- <TimeScale>TT</TimeScale>
- <BARYCENTER/>
- </TimeFrame>
- <SpaceFrame>
- <Name>Equatorial</Name>
- <ICRS/>
- <TOPOCENTER/>
- <SPHERICAL coord_naxes="2"/>
- </SpaceFrame>
- <SpectralFrame>
- <Name>Wavelength</Name>
- <BARYCENTER/>
- </SpectralFrame>
- </AstroCoordSystem>
- <crd:AstroCoords coord_system_id="ICRS-TT-BARY">
- <crd:Position2D unit="deg">
- <crd:Name>RA,Dec</crd:Name>
- <crd:Resolution2>0.0001 0.0001</crd:Resolution2>
- <crd:Resolution2>0.0003 0.0003</crd:Resolution2>
- <crd:Size2>0.5 0.5</crd:Size2>
- <crd:Size2>0.67 0.67</crd:Size2>
- <crd:PixSize2>0.00005 0.00005</crd:PixSize2>
- <crd:PixSize2>0.00015 0.00015</crd:PixSize2>
- </crd:Position2D>
- <crd:Spectral unit="Angstrom">
- <crd:Name>Lambda</crd:Name>
- <crd:Resolution>300</crd:Resolution>
- <crd:Resolution>600</crd:Resolution>
- </crd:Spectral>
- </crd:AstroCoords>
- <AstroCoordArea ID="M81" coord_system_id="ICRS-TT-BARY">
- <TimeInterval>
- <StartTime>
- <crd:TimeScale>TT</crd:TimeScale>
- <crd:ISOTime>1900-01-01T00:00:00</crd:ISOTime>
- </StartTime>
- </TimeInterval>
- <Region>
- <reg:Circle unit="deg">
- <reg:Center>148.9 69.1</reg:Center>
- <reg:Radius>2</reg:Radius>
- </reg:Circle>
- </Region>
- <SpectralInterval unit="Angstrom">
- <LoLimit>4000</LoLimit>
- <HiLimit>7000</HiLimit>
- </SpectralInterval>
- </AstroCoordArea>
-</SearchLocation>
-
diff --git a/ast/ast_tester/teststc_eg5 b/ast/ast_tester/teststc_eg5
deleted file mode 100644
index 97aad97..0000000
--- a/ast/ast_tester/teststc_eg5
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ObsDataLocation xmlns="http://www.ivoa.net/xml/STC/stc-v1.20.xsd" xmlns:crd="http://www.ivoa.net/xml/STC/STCcoords/v1.20" xmlns:reg="http://www.ivoa.net/xml/STC/STCregion/v1.20" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ivoa.net/xml/STC/stc-v1.20.xsd stc-v1.20.xsd">
- <ObservatoryLocation ID="KPNO">
- <AstroCoordSystem ID="ICRS-TT-TOPO">
- <TimeFrame>
- <Name>Time</Name>
- <TimeScale>TT</TimeScale>
- <TOPOCENTER/>
- </TimeFrame>
- <SpaceFrame>
- <Name>GeoLongLatElev</Name>
- <GEO_D/>
- <TOPOCENTER/>
- <SPHERICAL coord_naxes="3"/>
- </SpaceFrame>
- </AstroCoordSystem>
- <crd:AstroCoords coord_system_id="ICRS-TT-TOPO">
- <crd:Position3D unit="deg deg m">
- <crd:Name>LongLatElev</crd:Name>
- <crd:Value3>248.4056 31.9586 2158</crd:Value3>
- </crd:Position3D>
- </crd:AstroCoords>
- </ObservatoryLocation>
- <ObservationLocation ID="M81">
- <AstroCoordSystem ID="ICRS-TT-WAVELENGTH-TOPO">
- <TimeFrame>
- <Name>Time</Name>
- <TimeScale>TT</TimeScale>
- <TOPOCENTER/>
- </TimeFrame>
- <SpaceFrame>
- <Name>Equatorial</Name>
- <ICRS/>
- <TOPOCENTER/>
- <SPHERICAL coord_naxes="2"/>
- </SpaceFrame>
- <SpectralFrame>
- <Name>Wavelength</Name>
- <TOPOCENTER/>
- </SpectralFrame>
- </AstroCoordSystem>
- <crd:AstroCoords coord_system_id="ICRS-TT-WAVELENGTH-TOPO">
- <crd:Time unit="s">
- <crd:Name>Time</crd:Name>
- <crd:TimeInstant>
- <crd:TimeScale>TT</crd:TimeScale>
- <crd:ISOTime>2004-07-15T08:23:56 </crd:ISOTime>
- </crd:TimeInstant>
- <crd:PixSize>1000</crd:PixSize>
- </crd:Time>
- <crd:Position2D unit="deg">
- <crd:Name>RA,Dec</crd:Name>
- <crd:Value2>148.88821 69.06529</crd:Value2>
- <crd:Error2>0.0003 0.0003</crd:Error2>
- <crd:Resolution2>0.00025 0.00025 </crd:Resolution2>
- <crd:PixSize2>0.0001 0.0001</crd:PixSize2>
- </crd:Position2D>
- <crd:Spectral unit="Angstrom">
- <crd:Name>Lambda</crd:Name>
- <crd:Value>4600</crd:Value>
- <crd:Resolution>400</crd:Resolution>
- <crd:PixSize>400</crd:PixSize>
- </crd:Spectral>
- </crd:AstroCoords>
- <AstroCoordArea ID="M81Image" coord_system_id="ICRS-TT-WAVELENGTH-TOPO">
- <TimeInterval>
- <StartTime>
- <crd:TimeScale>TT</crd:TimeScale>
- <crd:ISOTime>2004-07-15T08:17:36 </crd:ISOTime>
- </StartTime>
- <StopTime>
- <crd:TimeScale>TT</crd:TimeScale>
- <crd:ISOTime>2004-07-15T08:30:16 </crd:ISOTime>
- </StopTime>
- </TimeInterval>
- <PositionInterval unit="deg">
- <Coord2VecInterval>
- <LoLimit2Vec>148.18821 68.81529 </LoLimit2Vec>
- <HiLimit2Vec>149.58821 69.31529 </HiLimit2Vec>
- </Coord2VecInterval>
- </PositionInterval>
- <SpectralInterval unit="Angstrom">
- <LoLimit>4400</LoLimit>
- <HiLimit>4800</HiLimit>
- </SpectralInterval>
- </AstroCoordArea>
- </ObservationLocation>
- <PixelSpace>
- <PixelCoordSystem ID="M81Pix">
- <PixelCoordFrame>
- <Name>X</Name>
- </PixelCoordFrame>
- <PixelCoordFrame>
- <Name>Y</Name>
- </PixelCoordFrame>
- </PixelCoordSystem>
- <PixelCoordArea coord_system_id="M81Pix" ID="M81PixImage">
- <CoordScalarInterval>
- <LoLimit>1</LoLimit>
- <HiLimit>1024</HiLimit>
- </CoordScalarInterval>
- <CoordScalarInterval>
- <LoLimit>1</LoLimit>
- <HiLimit>1024</HiLimit>
- </CoordScalarInterval>
- </PixelCoordArea>
- </PixelSpace>
-</ObsDataLocation>
-
diff --git a/ast/ast_tester/teststc_eg6 b/ast/ast_tester/teststc_eg6
deleted file mode 100644
index 7a291f6..0000000
--- a/ast/ast_tester/teststc_eg6
+++ /dev/null
@@ -1,49 +0,0 @@
-<STCResourceProfile xmlns="http://www.ivoa.net/xml/STC/stc-v1.20.xsd">
- <AstroCoordSystem ID="ICRS-TT-CXO">
- <TimeFrame>
- <Name>Time</Name>
- <TimeScale>TAI</TimeScale>
- <TOPOCENTER/>
- </TimeFrame>
- <SpaceFrame>
- <Name>Space</Name>
- <ICRS/>
- <TOPOCENTER/>
- <SPHERICAL coord_naxes="2"/>
- </SpaceFrame>
- <SpectralFrame>
- <Name>Energy</Name>
- <TOPOCENTER/>
- </SpectralFrame>
- </AstroCoordSystem>
- <AstroCoords coord_system_id="ICRS-TT-CXO">
- <Time unit="s">
- <Name>Time</Name>
- <Error>0.0001</Error>
- </Time>
- <Position2D unit="arcsec">
- <Name>Position</Name>
- <Error2>
- 1.0 1.0
- </Error2>
- </Position2D>
- <Spectral unit="keV">
- <Name>Energy</Name>
- <Error>0.1</Error>
- </Spectral>
- </AstroCoords>
- <AstroCoordArea ID="AllSky-CXO" coord_system_id="ICRS-TT-CXO">
- <TimeInterval>
- <StartTime>
- <ISOTime>1999-07-23T16:00:00</ISOTime>
- </StartTime>
- </TimeInterval>
- <Region>
- <reg:AllSky fill_factor="0.02"/>
- </Region>
- <SpectralInterval unit="keV">
- <LoLimit>0.12</LoLimit>
- <HiLimit>10.0</HiLimit>
- </SpectralInterval>
- </AstroCoordArea>
-</STCResourceProfile>
diff --git a/ast/ast_tester/teststc_eg7 b/ast/ast_tester/teststc_eg7
deleted file mode 100644
index 0106c85..0000000
--- a/ast/ast_tester/teststc_eg7
+++ /dev/null
@@ -1,52 +0,0 @@
-<STCResourceProfile xmlns="http://www.ivoa.net/xml/STC/stc-v1.20.xsd">
- <AstroCoordSystem ID="ICRS-TT-CXO">
- <TimeFrame>
- <Name>Time</Name>
- <TOPOCENTER/>
- <TimeScale>TAI</TimeScale>
- </TimeFrame>
- <SpaceFrame>
- <Name>Space</Name>
- <ICRS/>
- <TOPOCENTER/>
- <SPHERICAL coord_naxes="2"/>
- </SpaceFrame>
- <SpectralFrame>
- <Name>Energy</Name>
- <TOPOCENTER/>
- </SpectralFrame>
- </AstroCoordSystem>
- <AstroCoords coord_system_id="ICRS-TT-CXO">
- <Time unit="s">
- <Name>Time</Name>
- <Error>0.0001</Error>
- </Time>
- <Position2D unit="arcsec">
- <Name>Position</Name>
- <Error2>
- 1.0 1.0
- </Error2>
- </Position2D>
- <Spectral unit="keV">
- <Name>Energy</Name>
- <Error>0.1</Error>
- </Spectral>
- </AstroCoords>
- <AstroCoordArea ID="AllSky-CXO" coord_system_id="ICRS-TT-CXO">
- <TimeInterval>
- <StartTime>
- <ISOTime>1998-07-23T16:00:00</ISOTime>
- </StartTime>
- </TimeInterval>
- <Region>
- <reg:Circle unit="deg deg">
- <Center>0.0 90.0</Center>
- <Radius>2.0</Radius>
- </reg:Circle>
- </Region>
- <SpectralInterval unit="keV">
- <LoLimit>8.0</LoLimit>
- <HiLimit>11.0</HiLimit>
- </SpectralInterval>
- </AstroCoordArea>
-</STCResourceProfile>
diff --git a/ast/ast_tester/teststc_eg8 b/ast/ast_tester/teststc_eg8
deleted file mode 100644
index 17c6574..0000000
--- a/ast/ast_tester/teststc_eg8
+++ /dev/null
@@ -1,52 +0,0 @@
-<STCResourceProfile xmlns="http://www.ivoa.net/xml/STC/stc-v1.20.xsd">
- <AstroCoordSystem ID="ICRS-TT-CXO">
- <TimeFrame>
- <Name>Time</Name>
- <TimeScale>UTC</TimeScale>
- <TOPOCENTER/>
- </TimeFrame>
- <SpaceFrame>
- <Name>Space</Name>
- <ICRS/>
- <TOPOCENTER/>
- <SPHERICAL coord_naxes="2"/>
- </SpaceFrame>
- <SpectralFrame>
- <Name>Energy</Name>
- <TOPOCENTER/>
- </SpectralFrame>
- </AstroCoordSystem>
- <AstroCoords coord_system_id="ICRS-TT-CXO">
- <Time unit="s">
- <Name>Time</Name>
- <Error>0.0001</Error>
- </Time>
- <Position2D unit="arcsec">
- <Name>Position</Name>
- <Error2>
- 1.0 1.0
- </Error2>
- </Position2D>
- <Spectral unit="keV">
- <Name>Energy</Name>
- <Error>0.1</Error>
- </Spectral>
- </AstroCoords>
- <AstroCoordArea ID="AllSky-CXO" coord_system_id="ICRS-TT-CXO">
- <TimeInterval>
- <StartTime>
- <ISOTime>1999-09-23T16:00:00</ISOTime>
- </StartTime>
- </TimeInterval>
- <Region>
- <reg:Circle unit="deg deg">
- <Center>0.0 90.0</Center>
- <Radius>2.0</Radius>
- </reg:Circle>
- </Region>
- <SpectralInterval unit="keV">
- <LoLimit>8.0</LoLimit>
- <HiLimit>9.0</HiLimit>
- </SpectralInterval>
- </AstroCoordArea>
-</STCResourceProfile>
diff --git a/ast/ast_tester/teststc_eg9 b/ast/ast_tester/teststc_eg9
deleted file mode 100644
index 195adb7..0000000
--- a/ast/ast_tester/teststc_eg9
+++ /dev/null
@@ -1,49 +0,0 @@
-<STCResourceProfile xmlns="http://www.ivoa.net/xml/STC/stc-v1.20.xsd">
- <AstroCoordSystem ID="ICRS-TT-CXO">
- <TimeFrame>
- <Name>Time</Name>
- <TimeScale>TCB</TimeScale>
- <TOPOCENTER/>
- </TimeFrame>
- <SpaceFrame>
- <Name>Space</Name>
- <ICRS/>
- <TOPOCENTER/>
- <SPHERICAL coord_naxes="2"/>
- </SpaceFrame>
- <SpectralFrame>
- <Name>Energy</Name>
- <TOPOCENTER/>
- </SpectralFrame>
- </AstroCoordSystem>
- <AstroCoords coord_system_id="ICRS-TT-CXO">
- <Time unit="s">
- <Name>Time</Name>
- <Error>0.0001</Error>
- </Time>
- <Position2D unit="arcsec">
- <Name>Position</Name>
- <Error2>
- 1.0 1.0
- </Error2>
- </Position2D>
- <Spectral unit="keV">
- <Name>Energy</Name>
- <Error>0.1</Error>
- </Spectral>
- </AstroCoords>
- <AstroCoordArea ID="AllSky-CXO" coord_system_id="ICRS-TT-CXO">
- <TimeInterval>
- <StopTime>
- <ISOTime>1999-06-23T16:00:00</ISOTime>
- </StopTime>
- </TimeInterval>
- <Region>
- <reg:AllSky fill_factor="0.02"/>
- </Region>
- <SpectralInterval unit="keV">
- <LoLimit>0.12</LoLimit>
- <HiLimit>10.0</HiLimit>
- </SpectralInterval>
- </AstroCoordArea>
-</STCResourceProfile>
diff --git a/ast/ast_tester/teststcschan.f b/ast/ast_tester/teststcschan.f
deleted file mode 100755
index 928b301..0000000
--- a/ast/ast_tester/teststcschan.f
+++ /dev/null
@@ -1,654 +0,0 @@
- program teststcschan
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer status
-
- status = sai__ok
-
- call ast_begin( status )
-
-c call ast_watchmemory( 209814 );
-
- call test2( status )
- call test1( status )
-
-
-
-
- call ast_end( status )
-c call ast_activememory( ' ' )
-c call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- call msg_out( ' ', ' All StcsChan tests passed', status )
- else
- call err_rep( ' ', 'StcsChan tests failed', status )
- end if
-
- end
-
-
-
-
-
- subroutine test1( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'AST_ERR'
- include 'PRM_PAR'
-
- integer iwrite
- character buff(30)*300
- common /bbb/ iwrite, buff
-
- integer iread, idoc
- common /aaa/ iread, idoc
-
- integer status, ch, obj, km, i, sb, iobj, nobj
- external source, sink
-
- double precision lbnd(4), ubnd(4)
- if( status .ne. sai__ok ) return
-
- call ast_begin( status )
-
- ch = ast_stcschan( source, sink, 'ReportLevel=3', status )
-
-
- idoc = 4
- iread = 0
- obj = ast_read( ch, status )
-
- idoc = 1
- iread = 0
-
- call err_mark
- obj = ast_read( ch, status )
- if( status .eq. AST__BADIN ) then
- call err_annul( status )
- call err_rlse
- else
- call err_rlse
- call error( 'Failed to report error about "fred"', status )
- end if
-
-
- idoc = 2
- iread = 0
- obj = ast_read( ch, status )
-
- km = ast_warnings( ch, status )
- if( km .eq. AST__NULL ) call error( 'No Warnings keymap', status )
- call asserti( 'Warnings mapsize', ast_mapsize( km, status ), 4,
- : status )
-
- call asserta( obj, 'Class', 'Prism', status )
- call asserta( obj, 'Naxes', '4', status )
- call asserta( obj, 'Label(1)', 'Modified Julian Date offset '//
- : 'from 1900-01-01', status )
- call asserta( obj, 'Label(2)', 'Right ascension', status )
- call asserta( obj, 'Label(3)', 'Declination', status )
- call asserta( obj, 'Label(4)', 'Wavelength', status )
- call asserta( obj, 'Unit(1)', 'd', status )
- call asserta( obj, 'Unit(4)', 'Angstrom', status )
-
- call ast_GetRegionBounds( obj, lbnd, ubnd, status )
- call ast_setc( obj, 'Format(1)', 'iso.2', status )
- call assertd( 'Time upper bounds', ubnd(1), VAL__MAXD, status )
- call assertc( 'Time lower bound',
- : ast_format( obj, 1, lbnd(1), status ),
- : '1900-01-01 00:00:00.00', status )
- call assertd( 'RA lower bound', lbnd(2), 2.50080939227851D0,
- : status )
- call assertd( 'RA upper bound', ubnd(2), 2.6967811201606D0,
- : status )
- call assertd( 'Dec lower bound', lbnd(3), 1.171115928088195D0,
- : status )
- call assertd( 'Dec upper bound', ubnd(3), 1.24091013301998D0,
- : status )
- call assertd( 'Wavelength lower bound', lbnd(4), 4000.0D0,
- : status )
- call assertd( 'Wavelength upper bound', ubnd(4), 7000.0D0,
- : status )
-
-
-
- idoc = 3
- iread = 0
- obj = ast_read( ch, status )
-
- call readast( 'stcschan-test1-doc3.ast', sb, status )
- if( .not. ast_equal( obj, sb, status ) ) then
- call error( 'Object read from doc3 is not equal to the '//
- : 'object read from file stcschan-test1-doc3.ast.',
- : status )
- end if
-
-
- call ast_setl( ch, 'StcsCoords', .true., status )
- call ast_setl( ch, 'StcsProps', .true., status )
-
- idoc = 3
- iread = 0
- obj = ast_read( ch, status )
-
- call asserta( obj, 'Class', 'KeyMap', status )
- call assert( 'Has PROPS entry', AST_MAPHASKEY( obj, 'PROPS',
- : status ), status )
- call assert( 'Has COORDS entry', AST_MAPHASKEY( obj, 'COORDS',
- : status ), status )
-
- if( ast_mapget0a( obj, 'AREA', iobj, status ) ) then
- call readast( 'stcschan-test1-doc3.ast', sb, status )
- if( .not. ast_equal( iobj, sb, status ) ) then
- call error( 'AREA read from doc3 is not equal to the '//
- : 'object read from file stcschan-test1-doc3.ast',
- : status )
- end if
- else
- call error( 'No AREA entry found', status )
- end if
-
- if( ast_mapget0a( obj, 'PROPS', iobj, status ) ) then
- call readast( 'stcschan-test1-doc3-props.ast', sb, status )
- if( .not. ast_equal( iobj, sb, status ) ) then
- call error( 'PROPS read from doc3 is not equal to the '//
- : 'object read from file stcschan-test1-doc3-props.ast',
- : status )
- end if
- else
- call error( 'No PROPS entry found', status )
- end if
-
-
-
- idoc = 5
- iread = 0
-
- call ast_setl( ch, 'Indent', .true., status )
-
- obj = ast_read( ch, status )
-
- iwrite = 0
- nobj = ast_write( ch, obj, status )
- call asserti( 'N obj', nobj, 1, status )
-
- call assertc( 'line 1 3', buff(1),
- : 'TimeInterval TT geocenter 1996-01-01T00:00:00 '//
- : '1996-01-01T00:30:00', status )
- call assertc( 'line 2 3', buff(2),
- : ' Time MJD 50814.0 Error 1.2 Resolution 0.8 '//
- : 'PixSize 1024.0', status )
- call assertc( 'line 3 3', buff(3),
- : 'Union ICRS GEOCENTER ( ', status )
- call assertc( 'line 4 3', buff(4),
- : ' Circle 180 10 20 ', status )
- call assertc( 'line 5 3', buff(5),
- : ' Circle 190 10 20 ', status )
- call assertc( 'line 6 3', buff(6),
- : ' Intersection ( ', status )
- call assertc( 'line 7 3', buff(7),
- : ' Circle 120 -10 20 ', status )
- call assertc( 'line 8 3', buff(8),
- : ' Difference ( ', status )
- call assertc( 'line 9 3', buff(9),
- : ' Circle 130 -10 20 ', status )
- call assertc( 'line 10 3', buff(10),
- : ' Circle 115 -10 10 ', status )
- call assertc( 'line 11 3', buff(11),
- : ' ) ', status )
- call assertc( 'line 12 3', buff(12),
- : ' ) ', status )
- call assertc( 'line 13 3', buff(13),
- : ' ) ', status )
- call assertc( 'line 14 3', buff(14),
- : ' Position 179.0 -11.5 Error 0.000889 0.000889 '//
- : 'Resolution 0.001778', status )
- call assertc( 'line 15 3', buff(15),
- : ' Size 0.000333 0.000278 PixSize 0.000083 '//
- : '0.000083', status )
- call assertc( 'line 16 3', buff(16),
- : 'Spectral BARYCENTER 1420.4 unit MHz Resolution '//
- : '10.0 ', status )
- call assertc( 'line 17 3', buff(17),
- : 'RedshiftInterval BARYCENTER VELOCITY OPTICAL '//
- : '200 2300 Redshift 300', status )
-
- call ast_end( status )
-
- if( status .ne. sai__ok ) call err_rep( ' ', 'test1 failed.',
- : status )
-
- end
-
-
- subroutine test2( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'AST_ERR'
- include 'PRM_PAR'
-
- integer iwrite
- character buff(30)*300
- common /bbb/ iwrite, buff
-
- integer iread, idoc
- common /aaa/ iread, idoc
-
-
-
- external source, sink
-
- integer status, ch, sf, unc, reg, nobj, obj, chr_len
- double precision p1(2), p2(2), p3(3), lbnd(2), ubnd(2)
-
- if( status .ne. sai__ok ) return
-
-
- call ast_begin( status )
- ch = ast_stcschan( source, sink, 'ReportLevel=3',status )
- call ast_setl( ch, 'Indent', .true., status )
- call ast_seti( ch, 'StcsLength', 60, status )
-
- sf = ast_skyframe( ' ', status );
- p1( 1 ) = 0.0
- p1( 2 ) = 1.3
- p2( 1 ) = 0.01
-
- unc = ast_circle( sf, 1, p1, p2, AST__NULL, ' ', status )
-
- p1( 1 ) = 1.3
- p1( 2 ) = 0.5
- p2( 1 ) = 0.3
- p2( 2 ) = 0.1
- p3( 1 ) = 1.0
- reg = ast_ellipse( sf, 1, p1, p2, p3, unc, ' ', status )
-
- iwrite = 0
- nobj = ast_write( ch, reg, status )
- call asserti( 'N obj', nobj, 1, status )
- call asserti( 'iwrite', iwrite, 2, status )
- call assertc( 'line 1', buff(1), 'Ellipse ICRS TOPOCENTER '//
- : '74.48451 28.64789 17.18873 5.729578', status )
- call assertc( 'line 2', buff(2), ' 57.29578 Error 0.5729514 '//
- : '0.5726735', status )
-
- call ast_set( ch, 'StcsCoords=1,StcsProps=1', status )
-
- idoc = 3
- iread = 0
- obj = ast_read( ch, status )
-
- if( obj .ne. AST__NULL ) then
- iwrite = 0
- nobj = ast_write( ch, obj, status )
- call asserti( 'N obj 2', nobj, 1, status )
-
- call assertc( 'line 1 2', buff(1), 'TimeInterval TT '//
- : 'GEoCENTER 1996-01-01T00:00:00', status )
-
- call assertc( 'line 2 2', buff(2), ' 1996-01-01T00:30:00 '//
- : 'Time MJD 50814.0 Error 1.2', status );
-
- call assertc( 'line 3 2', buff(3), ' Resolution 0.8 '//
- : 'PixSize 1024.0', status )
-
- call assertc( 'line 4 2', buff(4), 'Circle ICRS GEOCENTER '//
- : '179.0 -11.5 0.5 Position 179.0 -11.5', status )
-
- call assertc( 'line 5 2', buff(5), ' Error 0.000889 '//
- : '0.000889 Resolution 0.001778 Size 0.000333',
- : status )
-
- call assertc( 'line 6 2', buff(6), ' 0.000278 PixSize '//
- : '0.000083 0.000083', status )
-
- call assertc( 'line 7 2', buff(7), 'Spectral BARYCENTER '//
- : '1420.4 unit MHz Resolution 10.0', status )
-
- call assertc( 'line 8 2', buff(8), 'RedshiftInterval '//
- : 'BARYCENTER VELOCITY OPTICAL 200 2300 ',
- : status )
-
- call assertc( 'line 9 2', buff(9), ' Redshift 300 '//
- : 'Resolution 0.7 PixSize 0.3', status )
-
- else
- write(*,*) 'No object read from doc 3'
- end if
-
-
- call ast_end( status )
-
- if( status .ne. sai__ok ) call err_rep( ' ', 'test2 failed.',
- : status )
-
- end
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- subroutine source( status )
- implicit none
-
- integer iread, idoc
- common /aaa/ iread, idoc
-
- logical done
- integer status, l, chr_len
- character c*80
-
- c = ' '
- done = .false.
-
- if( idoc .eq. 1 ) then
- if( iread .eq. 0 ) then
- c = 'StartTime 1900-01-01 Circle ICRS 148.9 69.1 2.0 fred'
- else if( iread .eq. 1 ) then
- c = 'SpectralInterval 4000 7000 unit Angstrom'
- else
- done = .true.
- end if
-
- else if( idoc .eq. 2 ) then
- if( iread .eq. 0 ) then
- c = 'StartTime 1900-01-01 Circle ICRS 148.9 69.1 2.0 '
- else if( iread .eq. 1 ) then
- c = 'SpeCtralInterval 4000 7000 unit Angstrom'
- else
- done = .true.
- end if
-
- else if( idoc .eq. 3 ) then
- if( iread .eq. 0 ) then
- c = 'TimeInterVal TT GEoCENTER'
- else if( iread .eq. 1 ) then
- c = '1996-01-01T00:00:00 1996-01-01T00:30:00'
- else if( iread .eq. 2 ) then
- c = 'Time MJD 50814.0 Error 1.2'
- else if( iread .eq. 3 ) then
- c = 'Resolution 0.8 PixSize 1024.0'
- else if( iread .eq. 4 ) then
- c = 'Circle ICRS GEOCENTER 179.0 -11.5 0.5'
- else if( iread .eq. 5 ) then
- c = 'Position 179.0 -11.5 Error 0.000889'
- else if( iread .eq. 6 ) then
- c = 'Resolution 0.001778 Size 0.000333 0.000278'
- else if( iread .eq. 7 ) then
- c = 'PixSIZE 0.000083 0.000083'
- else if( iread .eq. 8 ) then
- c = 'Spectral BARYCENTER 1420.4 unit MHz'
- else if( iread .eq. 9 ) then
- c = 'Resolution 10.0'
- else if( iread .eq. 10 ) then
- c = 'RedshiftInterval BARYCENTER VELOCITY OPTICAL'
- else if( iread .eq. 11 ) then
- c = '200.0 2300.0 Redshift 300.0'
- else if( iread .eq. 12 ) then
- c = 'Resolution 0.7 PixSize 0.3'
- else
- done = .true.
- end if
-
- else if( idoc .eq. 4 ) then
- if( iread .eq. 0 ) then
- c = 'TimeInterval TT GEOCENTER'
- else if( iread .eq. 1 ) then
- c = '1996-01-01T00:00:00 1996-01-01T00:30:00'
- else if( iread .eq. 2 ) then
- c = 'Time mjd 50814.0 ERROR 1.2'
- else if( iread .eq. 3 ) then
- c = 'Resolution 0.8 PixSize 1024.0'
- else if( iread .eq. 4 ) then
- c = 'Spectral barycenter 1420.4 UNIT MHz'
- else if( iread .eq. 5 ) then
- c = 'Resolution 10.0'
- else
- done = .true.
- end if
-
-* Like doc 3 but with a compound spatial region
- else if( idoc .eq. 5 ) then
- if( iread .eq. 0 ) then
- c = 'tIMEiNTERVAL tt geocenter'
- else if( iread .eq. 1 ) then
- c = '1996-01-01T00:00:00 1996-01-01T00:30:00'
- else if( iread .eq. 2 ) then
- c = 'Time MJD 50814.0 Error 1.2'
- else if( iread .eq. 3 ) then
- c = 'Resolution 0.8 PixSize 1024.0'
- else if( iread .eq. 4 ) then
- c = ' '
- else if( iread .eq. 5 ) then
- c = 'Union ICRS GEOCENTER'
- else if( iread .eq. 6 ) then
- c = ' (Circle 180 10 20'
- else if( iread .eq. 7 ) then
- c = ' Circle 190 10 20'
- else if( iread .eq. 8 ) then
- c = ' Intersection ('
- else if( iread .eq. 9 ) then
- c = ' cIRCLE 120 -10 20 dIFFERENCE '
- else if( iread .eq. 10 ) then
- c = ' ( Circle 130 -10 20 '
- else if( iread .eq. 11 ) then
- c = ' Circle 115 -10 10 '
- else if( iread .eq. 12 ) then
- c = ' )'
- else if( iread .eq. 13 ) then
- c = ' Not (Circle 118 -8 3)'
- else if( iread .eq. 14 ) then
- c = ' )'
- else if( iread .eq. 15 ) then
- c = ' )'
- else if( iread .eq. 16 ) then
- c = 'Position 179.0 -11.5 Error 0.000889'
- else if( iread .eq. 17 ) then
- c = 'Resolution 0.001778 Size 0.000333 0.000278'
- else if( iread .eq. 18 ) then
- c = 'PixSize 0.000083 0.000083'
- else if( iread .eq. 19 ) then
- c = 'Spectral BARYCENTER 1420.4 unit MHz'
- else if( iread .eq. 20 ) then
- c = 'rESOLUTION 10.0'
- else if( iread .eq. 21 ) then
- c = 'rEDSHIFTiNTERVAL barycenter velocity optical'
- else if( iread .eq. 22 ) then
- c = '200.0 2300.0 rEDSHIFT 300.0'
- else if( iread .eq. 23 ) then
- c = 'Resolution 0.7 PixSize 0.3'
- else
- done = .true.
- end if
-
- end if
-
- l = max( chr_len( c ), 1 )
- if( .not. done ) then
- call ast_putline( c, l, status )
- iread = iread + 1
- else
- call ast_putline( ' ', -1, status )
- end if
-
- end
-
-
-
-
-
-
-
- subroutine sink( status )
- implicit none
-
- integer iwrite
- character buff(30)*300
- common /bbb/ iwrite, buff
-
- integer status, l
- character line*300
-
- call ast_getline( line, l, status )
- if( l .gt. 0 ) then
- if( iwrite .lt. 0 ) then
- write(*,*) line( : l )
- else
- iwrite = iwrite + 1
- buff( iwrite ) = ' '
- buff( iwrite ) = line( : l )
- end if
- end if
-
- end
-
-
- subroutine asserta( obj, anam, asb, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer obj, status
- character anam*(*), asb*(*), aval*80
-
- aval = ast_GetC( obj, anam, status )
-
- if( aval .ne. asb ) then
- call msg_setc( 'A', anam )
- call msg_setc( 'B', aval )
- call msg_setc( 'C', asb )
- call error( '^A (^B) should be "^C".', status )
- end if
-
- end
-
- subroutine assertc( name, val, sb, status )
- implicit none
- include 'SAE_PAR'
- integer status, i
- character name*(*), val*(*), sb*(*)
- character blank*500
-
- if( val .ne. sb .and. status .eq. sai__ok ) then
- call msg_setc( 'A', name )
- call msg_setc( 'B', val )
- call error( '^A (^B) should be:', status )
-
- i = 1
- blank = ' '
- do while( val( i : i ) .eq. sb( i : i ) )
- i = i + 1
- end do
- blank( i : i ) = '^'
-
- write(*,*) sb
- write(*,*) blank( : i + 2 )
-
- end if
-
- end
-
- subroutine asserti( name, val, sb, status )
- implicit none
- include 'SAE_PAR'
- integer status
- character name*(*)
- integer val, sb
-
- if( val .ne. sb ) then
- call msg_setc( 'A', name )
- call msg_seti( 'B', val )
- call msg_seti( 'C', sb )
- call error( '^A (^B) should be ^C.', status )
- end if
-
- end
-
- subroutine assert( name, val, status )
- implicit none
- include 'SAE_PAR'
- integer status
- character name*(*)
- logical val
-
- if( .not. val ) then
- call msg_setc( 'A', name )
- call error( '^A is not true.', status )
- end if
-
- end
-
- subroutine assertd( name, val, sb, status )
- implicit none
- include 'SAE_PAR'
- integer status
- character name*(*)
- double precision val, sb
-
- if( abs( val - sb ) .gt. 0.5E-8*( val + sb ) ) then
- call msg_setc( 'A', name )
- call msg_setd( 'B', val )
- call msg_setd( 'C', sb )
- call error( '^A (^B) should be ^C.', status )
- end if
-
- end
-
- subroutine error( text, status )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
-
- if( status .eq. sai__ok ) then
- status = sai__error
- call err_rep( ' ', text, status )
- end if
-
- end
-
-
- subroutine readast( file, obj, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer obj, status, channel
- character file*(*)
- external rsource
-
- if( status .ne. sai__ok ) return
-
- open( 10, file=file, status='old' )
- channel = ast_channel( rsource, ast_null, ' ', status )
- obj = ast_read( channel, status )
- call ast_annul( channel, status )
- close( 10 )
-
- end
-
-
- subroutine rsource( status )
- integer status
- character buffer*200
-
- read( 10, '(a)', end = 99 ) buffer
- call ast_putline( buffer, len( buffer ), status )
- return
-
- 99 call ast_putline( buffer, -1, status )
- end
-
-
diff --git a/ast/ast_tester/testswitchmap.f b/ast/ast_tester/testswitchmap.f
deleted file mode 100644
index 401447b..0000000
--- a/ast/ast_tester/testswitchmap.f
+++ /dev/null
@@ -1,794 +0,0 @@
- program testswitchmap
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer status, outperm(2), inperm(2), wm1, wm2, pm1, pm2, rm(2),
- : fs, is, swm, i, swm2, cm, cm2, sm, oc, mc, fc,
- : box(2), gridframe
- double precision x1, x2, l1, l2, in(4,2), out(4,2), at(2), r,
- : p1(2),p2(2), rmout(4,2), r1, r2
- character text*10, fwd(1)*40, inv(2)*40, card(10)*80
-
- status = sai__ok
-
- call ast_begin( status )
-
-c call ast_watchmemory(22617)
-
- oc = ast_tune( 'ObjectCaching', 1, status )
- mc = ast_tune( 'MemoryCaching', 1, status )
-
-
-
-* A 2D input grid has 2 rows and 101 columns. Each row contains a spectrum.
-* The two spectra cover overlaping regions of wavelength. The spectrum in
-* row 1 has "wavelength = (gridx - 1)*10+1000", whilst the spectrum in
-* row 2 has "wavelength = (gridx - 1)*11+1600". We use a (Nin=2,Nout=1)
-* SwitchMap to describe the Mapping from grid (x,y) to wavelength. This
-* SwitchMap contains 2 route Mappings, one for each row of the grid.
-* --------------------------------------------------------------------
-
-* Produce a 1D Mapping from gridx to wavelength for row 1.
- x1 = 1.0
- x2 = 101.0
- l1 = 1000.0
- l2 = 2000.0
- wm1 = ast_winmap( 1, x1, x2, l1, l2, ' ', status )
-
-* Since the SwicthMap has 2 inputs, each of the route Mappings must also
-* have 2 inputs. Produce a PermMap which passes on its 1st input to its
-* (one and only) output. The inverse transformation supplied a value of
-* 1.0 for the missing 2nd input (1.0 is the grid Y value for the first
-* row).
- outperm( 1 ) = 1
- inperm( 1 ) = 1
- inperm( 2 ) = -1
- pm1 = ast_permmap( 2, inperm, 1, outperm, 1.0D0, ' ', status )
-
-* Combine the PermMap and WinMap in series to get the total route
-* Mapping for the first row.
- rm(1) = ast_cmpmap( pm1, wm1, .true., ' ', status )
-
-* Likewise, produce the route Mapping for the second row. The grid y
-* value for the second row is 2.0, so use this as the constant in the
-* PermMap (i.e. the value which the inverse transformation supplies for
-* the missing second input).
- l1 = 1600.0
- l2 = 2700.0
- wm2 = ast_winmap( 1, x1, x2, l1, l2, ' ', status )
- pm2 = ast_permmap( 2, inperm, 1, outperm, 2.0D0, ' ', status )
- rm(2) = ast_cmpmap( pm2, wm2, .true., ' ', status )
-
-* The forward selector Mapping just uses the second input (the grid Y
-* value) as the selector value (i.e. gridy=1 selects the first route
-* Mapping and gridy=2 selects the second route Mapping). The inverse
-* transformation of this Mapping is never used and so does not matter.
- outperm( 1 ) = 2
- inperm( 2 ) = 1
- inperm( 1 ) = 0
- fs = ast_permmap( 2, inperm, 1, outperm, 0.0D0, ' ', status )
-
-* The inverse selector function needs to decide which route Mapping to
-* use for any supplied ("output") wavelength value. We arbitrarily
-* decide to to use the first row for wavelengths less than or equal to
-* 1800, and the second row for wavelengths larger than 1800 (1800 is the
-* mid-point of the overlap between the two spectra). We use a MathMap to
-* implement this transformation, which must be the *inverse*
-* transformation of the MathMap. The forward transformation of the
-* inverse slector Mapping is never used and so is left unspecified in
-* the MathMap constructor.
- is = ast_mathmap( 1, 1, 1, 'y', 1, 'x=qif(y>1800,2,1)', ' ',
- : status )
-
-* Now create the SwitchMap.
- swm = ast_switchmap( fs, is, 2, rm, ' ', status )
-
-* Test the forward transformation of the SwitchMap. To add complication,
-* we first invert the SwitchMap and then use ast_trann in the inverse
-* direction (the two inversions cancel resulting in the forward
-* transformation being used).
- call ast_invert( swm, status )
-
- in(1,1) = 1.0
- in(1,2) = 1.0
- in(2,1) = 101.0
- in(2,2) = 2.0
- in(3,1) = 1.0
- in(3,2) = 2.0
- in(4,1) = 101.0
- in(4,2) = 1.0
- call ast_trann( swm, 4, 2, 4, in, .false., 1, 4, out, status )
-
- do i = 1, 4
- if( out(i,1) .eq. ast__bad ) then
- call stopit( i, out(i,1), status )
- end if
- end do
-
- if( abs( out(1,1) - 1000.0 ) .gt. 1.0E-5 ) then
- call stopit( 5, out(1,1), status )
- else if( abs( out(2,1) - 2700.0 ) .gt. 1.0E-5 ) then
- call stopit( 6, out(2,1), status )
- else if( abs( out(3,1) - 1600.0 ) .gt. 1.0E-5 ) then
- call stopit( 7, out(3,1), status )
- else if( abs( out(4,1) - 2000.0 ) .gt. 1.0E-5 ) then
- call stopit( 8, out(4,1), status )
- end if
-
-* Test the inverse transformation of the SwitchMap.
- call ast_trann( swm, 4, 1, 4, out, .true., 2, 4, in, status )
-
- do i = 1, 4
- if( in(i,1) .eq. ast__bad ) then
- call stopit( 7 + 2*i, in(i,1), status )
- else if( in(i,2) .eq. ast__bad ) then
- call stopit( 8 + 2*i, in(i,2), status )
- end if
- end do
-
- if( abs( in(1,1) - 1.0 ) .gt. 1.0E-5 ) then
- call stopit( 17, in(1,1), status )
- else if( abs( in(1,2) - 1.0 ) .gt. 1.0E-5 ) then
- call stopit( 18, in(1,2), status )
- else if( abs( in(2,1) - 101.0 ) .gt. 1.0E-5 ) then
- call stopit( 19, in(2,1), status )
- else if( abs( in(2,2) - 2.0 ) .gt. 1.0E-5 ) then
- call stopit( 20, in(2,2), status )
- else if( abs( in(3,1) - 61.0 ) .gt. 1.0E-5 ) then
- call stopit( 21, in(3,1), status )
- else if( abs( in(3,2) - 1.0 ) .gt. 1.0E-5 ) then
- call stopit( 22, in(3,2), status )
- else if( abs( in(4,1) - 37.3636364 ) .gt. 1.0E-5 ) then
- call stopit( 23, in(4,1), status )
- else if( abs( in(4,2) - 2.0 ) .gt. 1.0E-5 ) then
- call stopit( 24, in(4,2), status )
- end if
-
-* Check no simplification is done on a single non-inverted SwicthMap.
- call ast_setl( swm, 'Invert', .false., status )
- swm2 = ast_simplify( swm, status )
- call compare( swm, swm2, 'ast_equal 1', status )
-
-* Check an inverted SwitchMap simplies to an non-inverted switchmap.
- call ast_setl( swm, 'Invert', .true., status )
- swm2 = ast_simplify( swm, status )
- if( ast_getl( swm2, 'Invert', status ) ) then
- call stopit( 25, 1.0D0, status )
- end if
-
-* Check two adjacent opposite SwitchMaps cancel.
- swm2 = ast_copy( swm, status )
- call ast_invert( swm2, status )
- cm = ast_cmpmap( swm, swm2, .true., ' ', status )
- cm2 = ast_simplify( cm, status )
- if( .not. ast_isaunitmap( cm2, status ) ) then
- call stopit( 26, 1.0D0, status )
- end if
-
- cm = ast_cmpmap( swm2, swm, .true., ' ', status )
- cm2 = ast_simplify( cm, status )
- if( .not. ast_isaunitmap( cm2, status ) ) then
- call stopit( 27, 1.0D0, status )
- end if
-
-* Check that the SwitchMap can be written out to a AstChannel and read
-* back again succesfully.
- call checkdump( swm, 'Channel test 1', status )
-
-* Check the ast_rate function works OK.
- call ast_setl( swm, 'Invert', .false., status )
-
- at(1) = 20.0
- at(2) = 1.0
- r = ast_rate( swm, at, 1, 1, status )
- if( abs( r - 10.0 ) .gt. 1.0E-6 ) call stopit( 28, r, status )
-
- at(1) = 20.0
- at(2) = 2.0
- r = ast_rate( swm, at, 1, 1, status )
- if( abs( r - 11.0 ) .gt. 1.0E-6 ) call stopit( 29, r, status )
-
- call ast_setl( swm, 'Invert', .true., status )
-
- at(1) = 1700.0
- r = ast_rate( swm, at, 1, 1, status )
- if( abs( r - 1.0/10.0 ) .gt. 1.0E-6 ) call stopit( 30, r, status )
-
- at(1) = 1900.0
- r = ast_rate( swm, at, 1, 1, status )
- if( abs( r - 1.0/11.0 ) .gt. 1.0E-6 ) call stopit( 31, r, status )
-
- call ast_setl( swm, 'Invert', .false., status )
-
-
-* A 1D input grid has 1 rows and 202 columns. Each half of the row
-* (1:101 and 102:202) contains a spectrum. The two spectra cover
-* overlaping regions of wavelength. The spectrum in thw lower half has
-* "wavelength = (gridx - 1)*10+1000", whilst the spectrum in the upper
-* half has "wavelength = (gridx - 1)*11+1600". We use a (Nin=1,Nout=1)
-* SwitchMap to describe the Mapping from grid (x) to wavelength. This
-* SwitchMap contains 2 route Mappings, one for each half of the row.
-* --------------------------------------------------------------------
-
-* Produce a 1D Mapping from gridx to wavelength for the lower half.
- x1 = 1.0
- x2 = 101.0
- l1 = 1000.0
- l2 = 2000.0
- rm(1) = ast_winmap( 1, x1, x2, l1, l2, ' ', status )
-
-* Likewise, produce a 1D Mapping from gridx to wavelength for the upper half.
- x1 = 102.0
- x2 = 202.0
- l1 = 1600.0
- l2 = 2700.0
- rm(2) = ast_winmap( 1, x1, x2, l1, l2, ' ', status )
-
-* We can use a single MathMap for both selector Mappings - the forward
-* transformation (used as the forward selector) gives 1 for all gridx less
-* than 101.5 and 2 for all gridx greater than 101.5. The inverse
-* transformation (used as the inverse selector) gives 1 for all
-* wavelengths les than 1800 and 2 for all wavelength greater than 1800
-* (1800 is the mid point of the overlap region).
- sm = ast_mathmap( 1, 1, 1, 'y=qif(x>101.5,2,1)',
- : 1, 'x=qif(y>1800,2,1)',
- : ' ', status )
-
-* Now create the SwitchMap.
- swm = ast_switchmap( sm, sm, 2, rm, ' ', status )
-
-* Test the forward transformation of the SwitchMap. To add complication,
-* we first invert the SwitchMap and then use ast_trann in the inverse
-* direction (the two inversions cancel resulting in the forward
-* transformation being used). We alo invert the selector mapping (this
-* should have no effect on the SwitchMap).
- call ast_invert( swm, status )
- call ast_invert( sm, status )
-
- in(1,1) = 1.0
- in(2,1) = 202.0
- in(3,1) = 102.0
- in(4,1) = 101.0
- call ast_trann( swm, 4, 1, 4, in, .false., 1, 4, out, status )
-
- do i = 1, 4
- if( out(i,1) .eq. ast__bad ) then
- call stopit( 100+i, out(i,1), status )
- end if
- end do
-
- if( abs( out(1,1) - 1000.0 ) .gt. 1.0E-5 ) then
- call stopit( 105, out(1,1), status )
- else if( abs( out(2,1) - 2700.0 ) .gt. 1.0E-5 ) then
- call stopit( 106, out(2,1), status )
- else if( abs( out(3,1) - 1600.0 ) .gt. 1.0E-5 ) then
- call stopit( 107, out(3,1), status )
- else if( abs( out(4,1) - 2000.0 ) .gt. 1.0E-5 ) then
- call stopit( 108, out(4,1), status )
- end if
-
-* Test the inverse transformation of the SwitchMap.
- call ast_trann( swm, 4, 1, 4, out, .true., 1, 4, in, status )
-
- do i = 1, 4
- if( in(i,1) .eq. ast__bad ) then
- call stopit( 107 + 2*i, in(i,1), status )
- end if
- end do
-
- if( abs( in(1,1) - 1.0 ) .gt. 1.0E-5 ) then
- call stopit( 117, in(1,1), status )
- else if( abs( in(2,1) - 202.0 ) .gt. 1.0E-5 ) then
- call stopit( 119, in(2,1), status )
- else if( abs( in(3,1) - 61.0 ) .gt. 1.0E-5 ) then
- call stopit( 121, in(3,1), status )
- else if( abs( in(4,1) - 138.3636364 ) .gt. 1.0E-5 ) then
- call stopit( 123, in(4,1), status )
- end if
-
-* Check no simplification is done on a single non-inverted SwicthMap.
- call ast_setl( swm, 'Invert', .false., status )
- swm2 = ast_simplify( swm, status )
- call compare( swm, swm2, 'ast_equal 2', status )
-
-* Check an inverted SwitchMap simplies to an non-inverted switchmap.
- call ast_setl( swm, 'Invert', .true., status )
- swm2 = ast_simplify( swm, status )
- if( ast_getl( swm2, 'Invert', status ) ) then
- call stopit( 125, 1.0D0, status )
- end if
-
-* Check two adjacent opposite SwitchMaps cancel.
- swm2 = ast_copy( swm, status )
- call ast_invert( swm2, status )
- cm = ast_cmpmap( swm, swm2, .true., ' ', status )
- cm2 = ast_simplify( cm, status )
- if( .not. ast_isaunitmap( cm2, status ) ) then
- call stopit( 126, 1.0D0, status )
- end if
-
- cm = ast_cmpmap( swm2, swm, .true., ' ', status )
- cm2 = ast_simplify( cm, status )
- if( .not. ast_isaunitmap( cm2, status ) ) then
- call stopit( 127, 1.0D0, status )
- end if
-
-* Check that the SwitchMap can be written out to a AstChannel and read
-* back again succesfully.
- call checkdump( swm, 'Channel test 2', status )
-
-* Check the ast_rate function works OK.
- call ast_setl( swm, 'Invert', .false., status )
-
- at(1) = 20.0
- r = ast_rate( swm, at, 1, 1, status )
- if( abs( r - 10.0 ) .gt. 1.0E-6 ) call stopit( 128, r, status )
-
- at(1) = 120.0
- r = ast_rate( swm, at, 1, 1, status )
- if( abs( r - 11.0 ) .gt. 1.0E-6 ) call stopit( 129, r, status )
-
- call ast_setl( swm, 'Invert', .true., status )
-
- at(1) = 1700.0
- r = ast_rate( swm, at, 1, 1, status )
- if( abs( r - 1.0/10.0 ) .gt. 1.0E-6 ) call stopit( 130, r,
- : status )
-
- at(1) = 1900.0
- r = ast_rate( swm, at, 1, 1, status )
- if( abs( r - 1.0/11.0 ) .gt. 1.0E-6 ) call stopit( 131, r,
- : status )
-
- call ast_setl( swm, 'Invert', .false., status )
-
-
-* A 2D input grid has bounds (1:180,1:100). The area (10:80,10:80)
-* and the area (100:170,10:80) both contain images of a fixed part of
-* the sky (e.g. in different polarisations). The WCS for each sub-region
-* is derived from a single FITS-WCS header,with suitably shifted origin.
-* --------------------------------------------------------------------
- card(1) = 'CRPIX1 = 45'
- card(2) = 'CRPIX2 = 45'
- card(3) = 'CRVAL1 = 45'
- card(4) = 'CRVAL2 = 89.9'
- card(5) = 'CDELT1 = -0.01'
- card(6) = 'CDELT2 = 0.01'
- card(7) = 'CTYPE1 = ''RA---TAN'''
- card(8) = 'CTYPE2 = ''DEC--TAN'''
-
- fc = ast_fitschan( AST_NULL, AST_NULL, ' ', status )
- do i = 1, 8
- call ast_putfits( fc, card(i), .false., status )
- end do
- call ast_clear( fc, 'Card', status )
- fs = ast_read( fc, status )
- rm(1) = ast_getMapping( fs, ast__base, ast__current, status )
-
- card(1) = 'CRPIX1 = 135'
- call ast_clear( fc, 'Card', status )
- do i = 1, 8
- call ast_putfits( fc, card(i), .true., status )
- end do
- call ast_clear( fc, 'Card', status )
- fs = ast_read( fc, status )
- rm(2) = ast_getMapping( fs, ast__base, ast__current, status )
-
-* Forward Selector Mapping: A SelectorMap which encapsulates the two Box
-* Regions in GRID coords.
- gridframe = ast_getframe( fs, AST__BASE, status )
-
- p1(1) = 10
- p1(2) = 10
- p2(1) = 80
- p2(2) = 80
- box(1) = ast_box( gridframe, 1, p1, p2, AST__NULL, ' ', status )
-
- p1(1) = 100
- p1(2) = 10
- p2(1) = 170
- p2(2) = 80
- box(2) = ast_box( gridframe, 1, p1, p2, AST__NULL, ' ', status )
-
- fs = ast_selectormap( 2, box, AST__BAD, ' ', status )
-
-* Inverse Selector Mapping: A PermMap which has an inverse transformation
-* which gives an input value of 1 for all output values. This means that the
-* inverse transformation of the SwitchMap always returns a GRID position in
-* the lower (left-hand) of the two images.
- inperm(1) = -1
- outperm(1) = 0
- outperm(2) = 0
- is = ast_permmap( 1, inperm, 2, outperm, 1.0D0, ' ', status )
-
-* Now create the SwitchMap.
- swm = ast_switchmap( fs, is, 2, rm, ' ', status )
-
-* Test the forward transformation of the SwitchMap. To add complication,
-* we first invert the SwitchMap and then use ast_trann in the inverse
-* direction (the two inversions cancel resulting in the forward
-* transformation being used). We alo invert the selector mapping (this
-* should have no effect on the SwitchMap).
- call ast_invert( swm, status )
- call ast_invert( fs, status )
-
- in(1,1) = 5.0
- in(1,2) = 5.0
-
- in(2,1) = 50.0
- in(2,2) = 50.0
-
- in(3,1) = 90.0
- in(3,2) = 50.0
-
- in(4,1) = 140.0
- in(4,2) = 50.0
-
- call ast_trann( swm, 4, 2, 4, in, .false., 2, 4, out, status )
-
-* Transform these same positions using the Mapping for the left hand
-* image obtained from the FITS header
- call ast_trann( rm(1), 4, 2, 4, in, .true., 2, 4, rmout, status )
-
-* Check the SwitchMap results. Points 1 and 3 should be bad because they
-* fall outside either image. points 2 and 4 should both be equal to the
-* result of transforming point 2 using the FITS-WCS mapping.
-
- if( out(1,1) .ne. AST__BAD ) then
- call stopit( 132, out(1,1), status )
-
- else if( out(1,2) .ne. AST__BAD ) then
- call stopit( 133, out(1,1), status )
-
- else if( out(2,1) .ne. rmout(2,1) ) then
- call stopit( 134, out(2,1), status )
-
- else if( out(2,2) .ne. rmout(2,2) ) then
- call stopit( 135, out(2,2), status )
-
- else if( out(3,1) .ne. AST__BAD ) then
- call stopit( 136, out(1,1), status )
-
- else if( out(3,2) .ne. AST__BAD ) then
- call stopit( 137, out(1,1), status )
-
- else if( abs( out(4,1) - rmout(2,1) ) .gt.
- : 1.0D-6*abs( rmout(2,1) ) ) then
- call stopit( 138, out(2,1), status )
-
- else if( abs( out(4,2) - rmout(2,2) ) .gt.
- : 1.0D-6*abs( rmout(2,2) ) ) then
- call stopit( 139, out(2,2), status )
-
- end if
-
-
-* Test the inverse transformation of the SwitchMap.
- call ast_trann( swm, 4, 2, 4, out, .true., 2, 4, in, status )
-
- if( in(1,1) .ne. AST__BAD ) then
- call stopit( 140, in(1,1), status )
-
- else if( in(1,2) .ne. AST__BAD ) then
- call stopit( 141, in(1,1), status )
-
- else if( abs( in(2,1) - 50.0 ) .gt. 1.0E-6 ) then
- call stopit( 142, in(2,1), status )
-
- else if( abs( in(2,2) - 50.0 ) .gt. 1.0E-6 ) then
- call stopit( 143, in(2,2), status )
-
- else if( in(3,1) .ne. AST__BAD ) then
- call stopit( 144, in(1,1), status )
-
- else if( in(3,2) .ne. AST__BAD ) then
- call stopit( 145, in(1,1), status )
-
- else if( abs( in(4,1) - 50.0 ) .gt. 1.0E-6 ) then
- call stopit( 146, in(2,1), status )
-
- else if( abs( in(4,2) - 50.0 ) .gt. 1.0E-6 ) then
- call stopit( 147, in(2,2), status )
-
- end if
-
-* Check no simplification is done on a single non-inverted SwicthMap.
- call ast_setl( swm, 'Invert', .false., status )
- swm2 = ast_simplify( swm, status )
- call compare( swm, swm2, 'ast_equal 3', status )
-
-* Check an inverted SwitchMap simplies to an non-inverted switchmap.
- call ast_setl( swm, 'Invert', .true., status )
- swm2 = ast_simplify( swm, status )
- if( ast_getl( swm2, 'Invert', status ) ) then
- call stopit( 148, 1.0D0, status )
- end if
-
-* Check two adjacent opposite SwitchMaps cancel.
- swm2 = ast_copy( swm, status )
- call ast_invert( swm2, status )
- cm = ast_cmpmap( swm, swm2, .true., ' ', status )
- cm2 = ast_simplify( cm, status )
- if( .not. ast_isaunitmap( cm2, status ) ) then
- call stopit( 149, 1.0D0, status )
- end if
-
- cm = ast_cmpmap( swm2, swm, .true., ' ', status )
- cm2 = ast_simplify( cm, status )
- if( .not. ast_isaunitmap( cm2, status ) ) then
- call stopit( 150, 1.0D0, status )
- end if
-
-* Check that the SwitchMap can be written out to a AstChannel and read
-* back again succesfully.
- call checkdump( swm, 'Channel test 3', status )
-
-* Check the ast_rate function works OK.
- call ast_setl( swm, 'Invert', .false., status )
-
- at(1) = 140.0
- at(2) = 50.0
- r1 = ast_rate( swm, at, 1, 1, status )
-
- at(1) = 50.0
- r2 = ast_rate( rm(1), at, 1, 1, status )
-
- if( abs( r1 - r2 ) .gt. abs( 1.0E-6*r2 ) ) call stopit( 151, r1,
- : status )
-
- at(1) = 140.0
- r1 = ast_rate( swm, at, 2, 2, status )
-
- at(1) = 50.0
- r2 = ast_rate( rm(1), at, 2, 2, status )
-
- if( abs( r1 - r2 ) .gt. abs( 1.0E-6*r2 ) ) call stopit( 152, r1,
- : status )
-
- at(1) = 140.0
- r1 = ast_rate( swm, at, 1, 2, status )
-
- at(1) = 50.0
- r2 = ast_rate( rm(1), at, 1, 2, status )
-
- if( abs( r1 - r2 ) .gt. abs( 1.0E-6*r2 ) ) call stopit( 153, r1,
- : status )
-
- at(1) = 140.0
- r1 = ast_rate( swm, at, 2, 1, status )
-
- at(1) = 50.0
- r2 = ast_rate( rm(1), at, 2, 1, status )
-
- if( abs( r1 - r2 ) .gt. abs( 1.0E-6*r2 ) ) call stopit( 154, r1,
- : status )
-
-
-
-
- mc = ast_tune( 'MemoryCaching', mc, status )
- oc = ast_tune( 'ObjectCaching', oc, status )
- call ast_end( status )
-
- call ast_activememory( 'testswitchmap' )
- call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All SwitchMap tests passed'
- else
- write(*,*) 'SwitchMap tests failed'
- end if
-
- end
-
-
- subroutine stopit( i, r, status )
- implicit none
- include 'SAE_PAR'
- integer i, status
- double precision r
- if( status .eq. sai__ok ) then
- write( *,* ) 'Error ',i,': ',r
- status = sai__error
- end if
- end
-
-
-
- subroutine checkdump( obj, text, status )
-
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character text*(*)
- integer obj, status, next, end, ch, result, ll, overlap, ibuf,
- : len1, len2
- external mysource, mysink
- character buf1*45000
- character buf2*45000
-
- common /ss1/ buf1
- common /ss3/ buf2
- common /ss2/ next, end, ll, ibuf
-
- if( status .ne. sai__ok ) return
-
-* Create a Channel which reads and writes to an internal string buffer.
- ch = ast_channel( mysource, mysink, ' ', status )
-
-* Write the supplied Object out to this Channel.
- ll = 160
- next = 1
- ibuf = 1
- if( ast_write( ch, obj, status ) .ne.1 ) then
- write(*,*) text
- call stopit( 1000, 1.0D0, status )
- end if
- len1 = next
-
-* Read an Object back from this Channel.
- next = 1
- result = ast_read( ch, status )
- if( result .eq. ast__null ) then
- write(*,*) text
- call stopit( 1001, 1.0D0, status )
- end if
-
-* Check that it is of the same class as the supplied object.
- if( ast_getc( result, 'Class', status ) .ne.
- : ast_getc( obj, 'Class', status ) ) then
- write(*,*) text
- call stopit( 1002, 1.0D0, status )
- end if
-
-* Compare it to the suuplied object.
- call compare( obj, result, text, status )
-
- end
-
-
-
-
- subroutine compare( obj1, obj2, text, status )
-
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character text*(*)
- integer obj1, status, next, end, ch, result, ll, overlap, ibuf,
- : len1, len2, obj2
- external mysource, mysink
- character buf1*45000
- character buf2*45000
-
- common /ss1/ buf1
- common /ss3/ buf2
- common /ss2/ next, end, ll, ibuf
-
- if( status .ne. sai__ok ) return
-
-* Create a Channel which reads and writes to an internal string buffer.
- ch = ast_channel( mysource, mysink, ' ', status )
-
-* Write the first supplied Object out to this Channel, using buf1
- ll = 160
- next = 1
- ibuf = 1
- if( ast_write( ch, obj1, status ) .ne.1 ) then
- write(*,*) text
- call stopit( 2000, 1.0D0, status )
- end if
- len1 = next
-
-* Write the second object out to the second buffer.
- ll = 160
- next = 1
- ibuf = 2
- if( ast_write( ch, obj2, status ) .ne.1 ) then
- write(*,*) text
- call stopit( 2001, 1.0D0, status )
- end if
- len2 = next
-
-* Compare the contents of the two buffers.
- if( buf1( : len1 ) .ne. buf2( : len2 ) ) then
- write(*,*) text
- write(*,*) len1, len2
- call ast_show( obj1, status )
- call ast_show( obj2, status )
- call stopit( 2002, 1.0D0, status )
-
- end if
-
- end
-
- subroutine mysource( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, ll, ibuf
- character buf1*45000
- character buf2*45000
-
- common /ss1/ buf1
- common /ss3/ buf2
- common /ss2/ next, end, ll, ibuf
-
- if( status .ne. sai__ok ) return
-
- if( next .ge. end ) then
- if( ibuf .eq. 1 ) then
- call ast_putline( buf1, -1, status )
- else
- call ast_putline( buf2, -1, status )
- endif
- else
- if( ibuf .eq. 1 ) then
- call ast_putline( buf1( next : ), ll, status )
- else
- call ast_putline( buf2( next : ), ll, status )
- endif
- endif
-
- next = next + ll
-
- end
-
- subroutine mysink( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll, ibuf
- character line*1000
- character buf1*45000
- character buf2*45000
-
- common /ss1/ buf1
- common /ss3/ buf2
- common /ss2/ next, end, ll, ibuf
-
- if( status .ne. sai__ok ) return
-
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
-
- if( ibuf .eq. 1 ) then
- buf1( next : ) = line( f : l )
- else
- buf2( next : ) = line( f : l )
- end if
-
- l = l - f + 1
-
- if( next + ll - 1 .ge. 45000 ) then
- write(*,*) 'Buffer overflow in mysink!!'
- status = SAI__ERROR
-
- else if( l .gt. ll ) then
- write(*,*)
- if( ibuf .eq. 1 ) then
- write(*,*) buf1( next : next + l)
- else
- write(*,*) buf2( next : next + l)
- end if
- write(*,*) 'Line length ',l,' greater than ',ll
- write(*,*) 'Line overflow in mysink!!'
- status = SAI__ERROR
- else
- end = next + l
- if( ibuf .eq. 1 ) then
- buf1( end : next + ll - 1 ) = ' '
- else
- buf2( end : next + ll - 1 ) = ' '
- end if
- endif
-
- next = next + ll
-
- end
-
-
-
-
diff --git a/ast/ast_tester/testtable.f b/ast/ast_tester/testtable.f
deleted file mode 100644
index 907dd66..0000000
--- a/ast/ast_tester/testtable.f
+++ /dev/null
@@ -1,537 +0,0 @@
- program testtable
- implicit none
-
- include 'AST_PAR'
- include 'AST_ERR'
- include 'SAE_PAR'
-
- integer status, table, table2, dims( 7 ), ival, l, nval
- byte bytes(1,2),bval
- real rval
- character cval*30, text(2,2)*10
-
-
-c call ast_watchmemory(483)
-
-
- status = sai__ok
- call err_mark( status )
- call ast_begin( status )
-
- table = ast_table( ' ', status )
-
- call ast_mapput0i( table, 'Fred', 123, 'com 1', status )
- if( status .eq. AST__BADKEY ) then
- call err_annul( status )
- else
- if( status .ne. sai__ok ) call err_annul( status )
- call stopit( status, 'Table error 1' )
- endif
-
- call ast_mapput0i( table, 'Fred(2)', 123, 'com 1', status )
- if( status .eq. AST__BADKEY ) then
- call err_annul( status )
- else
- if( status .ne. sai__ok ) call err_annul( status )
- call stopit( status, 'Table error 2' )
- endif
-
- dims( 1 ) = 5
- dims( 2 ) = 2
- call ast_addcolumn( table, 'Fred', AST__FLOATTYPE, 2, dims,
- : ' ', status )
-
- if( ast_geti( table, 'NColumn', status ) .ne. 1 ) then
- call stopit( status, 'Table error 2b' )
- endif
-
- if( ast_columnname( table, 1, status ) .ne. 'FRED' ) then
- call stopit( status, 'Table error 2c' )
- endif
-
- if( ast_geti( table, 'ColumnType(Fred)', status ) .ne.
- : AST__FLOATTYPE ) then
- call stopit( status, 'Table error 2d' )
- endif
-
- call ast_columnshape( table, 'Fred', 2, nval, dims, status )
- if( nval .ne. 2 ) then
- call stopit( status, 'Table error 2e' )
- else if( dims( 1 ) .ne. 5 ) then
- call stopit( status, 'Table error 2f' )
- else if( dims( 2 ) .ne. 2 ) then
- call stopit( status, 'Table error 2g' )
- endif
-
- if( ast_getc( table, 'ColumnUnit(Fred)', status ) .ne. ' ' ) then
- call stopit( status, 'Table error 2h' )
- endif
-
- call ast_mapput0i( table, 'Fred(2)', 123, 'com 1', status )
- if( status .eq. AST__BADTYP ) then
- call err_annul( status )
- else if( status .eq. sai__ok ) then
- call stopit( status, 'Table error 3' )
- endif
-
- call ast_mapput0r( table, 'Fred(2)', 123, 'com 1', status )
- if( status .eq. AST__BADTYP ) then
- call err_annul( status )
- else if( status .eq. sai__ok ) then
- call stopit( status, 'Table error 4' )
- endif
-
- call ast_addcolumn( table, 'Fred', AST__FLOATTYPE, 0, 0,
- : 'pW', status )
- if( status .eq. AST__OLDCOL ) then
- call err_annul( status )
- else if( status .eq. sai__ok ) then
- call stopit( status, 'Table error 5' )
- endif
-
- call ast_removecolumn( table, 'Fred', status )
-
- if( ast_geti( table, 'NColumn', status ) .ne. 0 ) then
- call stopit( status, 'Table error 5b' )
- endif
-
- call ast_addcolumn( table, 'Fred', AST__FLOATTYPE, 0, 0,
- : 'pW', status )
-
- call ast_mapput0r( table, 'Fred(1)', -123.0, 'com 1', status )
- call ast_mapput0r( table, 'Fred(2)', 123.0, 'com 2', status )
-
- if( ast_mapget0r( table, 'Fred(2)', rval, status ) ) then
- if( rval .ne. 123.0 ) call stopit( status, 'Table error 6' )
- else
- call stopit( status, 'Table error 7' )
- endif
-
- if( ast_getc( table, 'ColumnUnit(Fred)', status ) .ne. 'pW' ) then
- call stopit( status, 'Table error 7b' )
- endif
-
- call ast_addcolumn( table, 'Dick', AST__OBJECTTYPE, 0, 0,
- : 'W/m**2', status )
- call ast_mapput0a( table, 'Dick(1)', table, 'com 1', status )
- if( status .eq. AST__KYCIR ) then
- call err_annul( status )
- else if( status .eq. sai__ok ) then
- call stopit( status, 'Table error 8' )
- endif
-
- if( ast_geti( table, 'NColumn', status ) .ne. 2 ) then
- call stopit( status, 'Table error 8b' )
- endif
-
- if( ast_columnname( table, 1, status ) .ne. 'FRED' ) then
- call stopit( status, 'Table error 8c' )
- endif
-
- if( ast_columnname( table, 2, status ) .ne. 'DICK' ) then
- call stopit( status, 'Table error 8d' )
- endif
-
- call ast_removecolumn( table, 'Dick', status )
-
- if( ast_geti( table, 'NRow', status ) .ne. 2 ) then
- call stopit( status, 'Table error 9' )
- endif
-
- if( ast_mapget0r( table, 'Fred(3)', rval, status ) ) then
- call stopit( status, 'Table error 10' )
- endif
-
- if( ast_mapget0i( table, 'Fred(2)', ival, status ) ) then
- if( ival .ne. 123 ) call stopit( status, 'Table error 11' )
- else
- call stopit( status, 'Table error 12' )
- endif
-
- if( ast_mapget0c( table, 'Fred(2)', cval, l, status ) ) then
- if( cval .ne. '123' ) call stopit( status, 'Table error 13' )
- if( l .ne. 3 ) call stopit( status, 'Table error 14' )
- else
- call stopit( status, 'Table error 15' )
- endif
-
- call ast_removerow( table, 3, status )
- if( ast_geti( table, 'NRow', status ) .ne. 2 ) then
- call stopit( status, 'Table error 16' )
- endif
-
- call ast_removerow( table, 2, status )
- if( ast_geti( table, 'NRow', status ) .ne. 1 ) then
- call stopit( status, 'Table error 17' )
- endif
-
- if( ast_mapget0r( table, 'Fred(2)', rval, status ) ) then
- call stopit( status, 'Table error 18' )
- endif
-
- call ast_addparameter( table, 'COLOUR', status )
- if( .not. ast_hasparameter( table, 'COLOUR', status ) ) then
- call stopit( status, 'Table error 18_1' )
- endif
-
- call ast_mapput0C( table, 'COLOUR', 'Red', ' ', status )
- if( ast_mapget0c( table, 'COLOUR', cval, l, status ) ) then
- if( cval .ne. 'Red' ) call stopit( status, 'Table error 18_3' )
- if( l .ne. 3 ) call stopit( status, 'Table error 18_4' )
- else
- call stopit( status, 'Table error 18_5' )
- endif
-
- call ast_removeparameter( table, 'COLOUR', status )
- if( ast_hasparameter( table, 'COLOUR', status ) ) then
- call stopit( status, 'Table error 18_2' )
- endif
-
- call checkDump( table, 'checkDump 1 ', status )
-
- table2 = ast_copy( table, status )
-
- if( ast_mapget0c( table2, 'Fred(1)', cval, l, status ) ) then
- if( cval .ne. '-123' ) call stopit( status, 'Table error 19' )
- if( l .ne. 4 ) call stopit( status, 'Table error 20' )
- else
- call stopit( status, 'Table error 21' )
- endif
-
- dims( 1 ) = 2
- dims( 2 ) = 2
- call ast_addcolumn( table, 'Dick', AST__STRINGTYPE, 2, dims,
- : ' ', status )
-
- text(1,1) = 'One'
- text(2,1) = 'two'
- text(1,2) = 'three'
- text(2,2) = 'FouR'
-
- call ast_mapput1c( table, 'Dick(4)', 4, text, 'jjjj', status )
- if( ast_mapget1c( table, 'Dick(4)', 4, nval, text, status ) ) then
-
- if( text(1,1) .ne. 'One' )
- : call stopit( status, 'Table error 22' )
- if( text(2,1) .ne. 'two' )
- : call stopit( status, 'Table error 23' )
- if( text(1,2) .ne. 'three' )
- : call stopit( status, 'Table error 24' )
- if( text(2,2) .ne. 'FouR' )
- : call stopit( status, 'Table error 25' )
-
- if( nval .ne. 4 ) call stopit( status, 'Table error 26' )
- else
- call stopit( status, 'Table error 27' )
- endif
-
- call ast_mapputelemc( table, 'Dick(4)', 3, 'OHOHOHOH', status )
- if( ast_mapgetelemc( table, 'Dick(4)', 3, cval, status ) ) then
- if( cval .ne. 'OHOHOHOH' )
- : call stopit( status, 'Table error 28' )
- else
- call stopit( status, 'Table error 29' )
- endif
-
- if( ast_geti( table, 'columnlenc(Dick)', status ) .ne. 10 ) then
- call stopit( status, 'Table error 29b' )
- endif
-
- dims( 1 ) = 1
- dims( 2 ) = 2
- call ast_addcolumn( table, 'HeHe', AST__BYTETYPE, 2, dims,
- : ' ', status )
- bytes(1,1) = 127
- bytes(1,2) = 255
- call ast_mapput1b( table, 'HeHe(2)', 2, bytes, 'jjjj', status )
- if( ast_mapget1b( table, 'HeHe(2)', 2, nval, bytes,
- : status ) ) then
- if( nval .ne. 2 ) call stopit( status, 'Table error 30' )
- if( bytes(1,1) .ne. 127 ) call stopit( status,
- : 'Table error 31' )
- if( bytes(1,2) .ne. -1 ) call stopit( status,
- : 'Table error 32' )
- else
- call stopit( status, 'Table error 33' )
- endif
-
- call ast_addcolumn( table, 'GoGo', AST__BYTETYPE, 0, 0,
- : ' ', status )
- call ast_mapput0b( table, 'GoGo(2)', -10, ' ', status )
- if( ast_mapget0b( table, 'GoGo(2)', bval, status ) ) then
- if( bval .ne. -10 ) call stopit( status, 'Table error 33' )
- else
- call stopit( status, 'Table error 34' )
- endif
-
- call checkpurge( status )
-
- if( .not. ast_hascolumn( table, 'GoGo', status ) ) then
- call stopit( status, 'Table error 35' )
- else if( ast_hascolumn( table, 'dodo', status ) ) then
- call stopit( status, 'Table error 36' )
- endif
-
- call ast_removecolumn( table, 'GoGo', status )
- if( ast_hascolumn( table, 'GoGo', status ) ) then
- call stopit( status, 'Table error 37' )
- endif
-
-
-
- call ast_end( status )
- call err_rlse( status )
-
-c call ast_activememory( 'testtable' )
- call ast_flushmemory( 1 );
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All Table tests passed'
- else
- write(*,*) 'Table tests failed'
- end if
-
- end
-
-
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
-
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
-
- end
-
- subroutine checkdump( obj, text, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character text*(*),key*30,txt1*50,txt2*50
- integer obj, status, next, end, ch, result, ll, overlap, size,
- : i, type,obj1,obj2,l1,l2,nl,nrow,nrowold
- external mysource, mysink
- character buf*400000
-
- common /ss1/ buf
- common /ss2/ next, end, ll, nl
-
- if( status .ne. sai__ok ) return
-
- ch = ast_channel( mysource, mysink, ' ', status )
-
-
-
- nl = 0
- ll = 110
- next = 1
- if( ast_write( ch, obj, status ) .ne.1 ) then
- write(*,*) text
- call stopit( status, 'Cannot write supplied object to '//
- : 'channel' )
- end if
-
- next = 1
- nl = 0
- result = ast_read( ch, status )
-
-
-
-
- if( result .eq. ast__null ) then
- write(*,*) text
- call stopit( status, 'Cannot read object from channel' )
- end if
-
- if( .not. ast_isatable( result, status ) ) then
- call stopit( status, 'Object read from channel is not a table')
- end if
-
- nrowold = ast_geti( obj, 'NRow', status )
- nrow = ast_geti( result, 'NRow', status )
- if( nrow .ne. nrowold ) then
- write(*,*) nrow, nrowold
- call stopit( status, 'checkDump 0' )
- endif
-
- size = ast_mapsize( result, status )
- if( ast_mapsize( obj, status ) .ne. size ) then
- write(*,*) size, ast_mapsize( obj, status )
- call stopit( status, 'checkDump 1' )
- else
- do i = 1, size
- key = ast_mapkey( result, i, status )
- type = ast_maptype( result, key, status )
- if( ast_maptype( obj, key, status ) .ne. type ) then
- write(*,*) type, ast_maptype( obj, key, status )
- call stopit( status, 'checkDump 4' )
- else
-
- if( type .eq. AST__OBJECTTYPE ) then
-
- if( .not. ast_mapGet0A( result, key, obj1,
- : status ) ) call stopit( status, 'checkDump 5' )
- if( .not. ast_mapGet0A( obj, key, obj2,
- : status ) ) call stopit( status, 'checkDump 6' )
- if( ast_GetC( obj1, 'class', status ) .ne.
- : ast_GetC( obj2, 'class', status ) ) then
- call stopit( status, 'checkDump 7' )
- end if
-
- else
-
- if( .not. ast_mapGet0C( result, key, txt1, l1,
- : status ) ) call stopit( status, 'checkDump 8' )
- if( .not. ast_mapGet0C( obj, key, txt2, l2,
- : status ) ) call stopit( status, 'checkDump 9' )
- if( txt1( : l1 ) .ne. txt2( : l2 ) .or.
- : l1 .ne. l2 ) then
- call stopit( status, 'checkDump 10' )
- end if
-
- end if
- end if
- end do
- end if
-
- end
-
- subroutine mysource( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, ll, nl
- character buf*400000
-
- common /ss1/ buf
- common /ss2/ next, end, ll,nl
-
- if( status .ne. sai__ok ) return
-
- if( next .ge. end ) then
- call ast_putline( buf, -1, status )
- else
-
-c write(*,*) buf( next : next + ll - 1 )
- call ast_putline( buf( next : ), ll, status )
- nl = nl + 1
- endif
-
- next = next + ll
-
- end
-
- subroutine mysink( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll, nl
- character buf*400000
- character line*1000
-
- common /ss1/ buf
- common /ss2/ next, end, ll, nl
-
- if( status .ne. sai__ok ) return
-
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
- buf( next : ) = line( f : l )
- l = l - f + 1
-
- if( next + ll - 1 .ge. 400000 ) then
- write(*,*)
- call stopit( status, 'Buffer overflow in mysink!!' )
- else if( l .gt. ll ) then
- write(*,*)
- write(*,*) buf( next : next + l)
- write(*,*) 'Line length ',l
- call stopit( status, 'Line overflow in mysink!!' )
- else
- end = next + l
- buf( end : next + ll - 1 ) = ' '
- nl = nl + 1
- endif
-
- next = next + ll
-
- end
-
-
- subroutine checkpurge( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, table, ival
-
- if( status .ne. sai__ok ) return
-
- table = ast_table( ' ', status )
-
- call ast_addcolumn( table, 'Fred', AST__INTTYPE, 0, 0, ' ',
- : status )
- call ast_addcolumn( table, 'Tom', AST__INTTYPE, 0, 0, ' ',
- : status )
-
- call ast_mapput0i( table, 'Fred(2)', 123, ' ', status )
- call ast_mapput0i( table, 'Fred(4)', 456, ' ', status )
- call ast_mapput0i( table, 'Tom(1)', -123, ' ', status )
- call ast_mapput0i( table, 'Tom(2)', -456, ' ', status )
- call ast_mapput0i( table, 'Tom(6)', 0, ' ', status )
-
- if( ast_geti( table, 'NRow', status ) .ne. 6 ) then
- call stopit( status, 'Table error purge-1' )
- endif
-
- call ast_mapremove( table, 'Tom(6)', status )
- if( ast_geti( table, 'NRow', status ) .ne. 6 ) then
- call stopit( status, 'Table error purge-2' )
- endif
-
- call ast_purgerows( table, status )
- if( ast_geti( table, 'NRow', status ) .ne. 3 ) then
- write(*,*) 'ZZ: ',ast_geti( table, 'NRow', status )
- call stopit( status, 'Table error purge-3' )
- endif
-
- if( ast_mapget0i( table, 'Tom(1)', ival, status ) ) then
- if( ival .ne. -123 ) call stopit( status,
- : 'Table error purge-4' )
- else
- call stopit( status, 'Table error purge-5' )
- endif
-
- if( ast_mapget0i( table, 'Tom(2)', ival, status ) ) then
- if( ival .ne. -456 ) call stopit( status,
- : 'Table error purge-6' )
- else
- call stopit( status, 'Table error purge-7' )
- endif
-
- if( ast_mapget0i( table, 'Fred(1)', ival, status ) ) then
- call stopit( status, 'Table error purge-8' )
- endif
-
- if( ast_mapget0i( table, 'Fred(2)', ival, status ) ) then
- if( ival .ne. 123 ) call stopit( status,
- : 'Table error purge-9' )
- else
- call stopit( status, 'Table error purge-10' )
- endif
-
- if( ast_mapget0i( table, 'Fred(3)', ival, status ) ) then
- if( ival .ne. 456 ) call stopit( status,
- : 'Table error purge-11' )
- else
- call stopit( status, 'Table error purge-12' )
- endif
-
- call ast_annul( table, status )
-
- end
-
diff --git a/ast/ast_tester/testtime.f b/ast/ast_tester/testtime.f
deleted file mode 100644
index 39c4b9a..0000000
--- a/ast/ast_tester/testtime.f
+++ /dev/null
@@ -1,979 +0,0 @@
- program testtime
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'AST_ERR'
-
- character txt*40
- double precision xin, xout, xout2, ct, ctl, origin
- integer status, tf, tf1, tf2, fs, n, chr_len, nc
- status = sai__ok
-
- call ast_begin( status )
-
-c call ast_SetWatchId( 740050 )
-
-c
-c Test default attribute values
-c
- tf = ast_timeframe( ' ', status )
-
- if( ast_getc( tf, 'System', status ) .ne. 'MJD' ) then
- write(*,*) ast_getc( tf, 'System', status )
- call stopit( status, 'error 1' )
- endif
-
- if( ast_getd( tf, 'TimeOrigin', status ) .ne. 0.0 ) then
- write(*,*) ast_getd( tf, 'TimeOrigin', status )
- call stopit( status, 'error 2' )
- endif
-
- if( ast_getc( tf, 'ObsLon', status ) .ne. 'E0:00:00.00' ) then
- write(*,*) ast_getc( tf, 'ObsLon', status )
- call stopit( status, 'error 3' )
- endif
-
- if( ast_getc( tf, 'ObsLat', status ) .ne. 'N0:00:00.00' ) then
- write(*,*) ast_getc( tf, 'ObsLat', status )
- call stopit( status, 'error 4' )
- endif
-
- if( ast_getc( tf, 'TimeScale', status ) .ne. 'TAI' ) then
- write(*,*) ast_getc( tf, 'TimeScale', status )
- call stopit( status, 'error 5' )
- endif
-
- if( ast_getc( tf, 'AlignTimeScale', status ) .ne. 'TAI' ) then
- write(*,*) ast_getc( tf, 'AlignTimeScale', status )
- call stopit( status, 'error 6' )
- endif
-
- if( ast_geti( tf, 'naxes', status ) .ne. 1 ) then
- write(*,*) ast_getc( tf, 'Naxes', status )
- call stopit( status, 'error 7' )
- endif
-
- if( ast_getd( tf, 'Epoch', status ) .ne. 2000.0 ) then
- write(*,*) ast_getd( tf, 'Epoch', status )
- call stopit( status, 'error 8' )
- endif
-
- if( ast_getc( tf, 'Label', status ) .ne.
- : 'Modified Julian Date' ) then
- write(*,*) ast_getc( tf, 'Label', status )
- call stopit( status, 'error 9' )
- endif
-
- if( ast_getc( tf, 'Symbol', status ) .ne. 'MJD' ) then
- write(*,*) ast_getc( tf, 'Symbol', status )
- call stopit( status, 'error 10' )
- endif
-
- if( ast_getc( tf, 'Title', status ) .ne.
- : 'Modified Julian Date' ) then
- write(*,*) ast_getc( tf, 'Title', status )
- call stopit( status, 'error 11' )
- endif
-
- if( ast_getc( tf, 'unit', status ) .ne. 'd' ) then
- write(*,*) ast_getc( tf, 'unit', status )
- call stopit( status, 'error 12' )
- endif
-
- if( ast_getc( tf, ' domain ', status ) .ne. 'TIME' ) then
- write(*,*) ast_getc( tf, ' domain ', status )
- call stopit( status, 'error 13' )
- endif
-
- if( ast_getc( tf, 'alignSystem', status ) .ne. 'MJD' ) then
- write(*,*) ast_getc( tf, 'alignSystem', status )
- call stopit( status, 'error 14' )
- endif
-
-c
-c Test dependency of default attribute values on System
-c
- call ast_setc( tf, 'system', 'jd', status )
-
- if( ast_getc( tf, 'System', status ) .ne. 'JD' ) then
- write(*,*) ast_getc( tf, 'System', status )
- call stopit( status, 'error 1b' )
- endif
-
- if( ast_getd( tf, 'TimeOrigin', status ) .ne. 0.0 ) then
- write(*,*) ast_getd( tf, 'TimeOrigin', status )
- call stopit( status, 'error 2b' )
- endif
-
- if( ast_getc( tf, 'ObsLon', status ) .ne. 'E0:00:00.00' ) then
- write(*,*) ast_getc( tf, 'ObsLon', status )
- call stopit( status, 'error 3b' )
- endif
-
- if( ast_getc( tf, 'ObsLat', status ) .ne. 'N0:00:00.00' ) then
- write(*,*) ast_getc( tf, 'ObsLat', status )
- call stopit( status, 'error 4b' )
- endif
-
- if( ast_getc( tf, 'TimeScale', status ) .ne. 'TAI' ) then
- write(*,*) ast_getc( tf, 'TimeScale', status )
- call stopit( status, 'error 5b' )
- endif
-
- if( ast_getc( tf, 'AlignTimeScale', status ) .ne. 'TAI' ) then
- write(*,*) ast_getc( tf, 'AlignTimeScale', status )
- call stopit( status, 'error 6b' )
- endif
-
- if( ast_geti( tf, 'naxes', status ) .ne. 1 ) then
- write(*,*) ast_getc( tf, 'Naxes', status )
- call stopit( status, 'error 7b' )
- endif
-
- if( ast_getd( tf, 'Epoch', status ) .ne. 2000.0 ) then
- write(*,*) ast_getd( tf, 'Epoch', status )
- call stopit( status, 'error 8b' )
- endif
-
- if( ast_getc( tf, 'Label', status ) .ne.
- : 'Julian Date' ) then
- write(*,*) ast_getc( tf, 'Label', status )
- call stopit( status, 'error 9b' )
- endif
-
- if( ast_getc( tf, 'Symbol', status ) .ne. 'JD' ) then
- write(*,*) ast_getc( tf, 'Symbol', status )
- call stopit( status, 'error 10b' )
- endif
-
- if( ast_getc( tf, 'Title', status ) .ne.
- : 'Julian Date' ) then
- write(*,*) ast_getc( tf, 'Title', status )
- call stopit( status, 'error 11b' )
- endif
-
- if( ast_getc( tf, 'unit', status ) .ne. 'd' ) then
- write(*,*) ast_getc( tf, 'unit', status )
- call stopit( status, 'error 12b' )
- endif
-
- if( ast_getc( tf, ' domain ', status ) .ne. 'TIME' ) then
- write(*,*) ast_getc( tf, ' domain ', status )
- call stopit( status, 'error 13b' )
- endif
-
- if( ast_getc( tf, 'alignSystem', status ) .ne. 'MJD' ) then
- write(*,*) ast_getc( tf, 'alignSystem', status )
- call stopit( status, 'error 14b' )
- endif
-
-
-
- call ast_setc( tf, 'system', 'jepoch', status )
-
- if( ast_getc( tf, 'System', status ) .ne. 'JEPOCH' ) then
- write(*,*) ast_getc( tf, 'System', status )
- call stopit( status, 'error 1c' )
- endif
-
- if( ast_getd( tf, 'TimeOrigin', status ) .ne. 0.0 ) then
- write(*,*) ast_getd( tf, 'TimeOrigin', status )
- call stopit( status, 'error 2c' )
- endif
-
- if( ast_getc( tf, 'ObsLon', status ) .ne. 'E0:00:00.00' ) then
- write(*,*) ast_getc( tf, 'ObsLon', status )
- call stopit( status, 'error 3c' )
- endif
-
- if( ast_getc( tf, 'ObsLat', status ) .ne. 'N0:00:00.00' ) then
- write(*,*) ast_getc( tf, 'ObsLat', status )
- call stopit( status, 'error 4c' )
- endif
-
- if( ast_getc( tf, 'TimeScale', status ) .ne. 'TAI' ) then
- write(*,*) ast_getc( tf, 'TimeScale', status )
- call stopit( status, 'error 5c' )
- endif
-
- if( ast_getc( tf, 'AlignTimeScale', status ) .ne. 'TAI' ) then
- write(*,*) ast_getc( tf, 'AlignTimeScale', status )
- call stopit( status, 'error 6c' )
- endif
-
- if( ast_geti( tf, 'naxes', status ) .ne. 1 ) then
- write(*,*) ast_getc( tf, 'Naxes', status )
- call stopit( status, 'error 7c' )
- endif
-
- if( ast_getd( tf, 'Epoch', status ) .ne. 2000.0 ) then
- write(*,*) ast_getd( tf, 'Epoch', status )
- call stopit( status, 'error 8c' )
- endif
-
- if( ast_getc( tf, 'Label', status ) .ne.
- : 'Julian Epoch' ) then
- write(*,*) ast_getc( tf, 'Label', status )
- call stopit( status, 'error 9c' )
- endif
-
- if( ast_getc( tf, 'Symbol', status ) .ne. 'JEP' ) then
- write(*,*) ast_getc( tf, 'Symbol', status )
- call stopit( status, 'error 10c' )
- endif
-
- if( ast_getc( tf, 'Title', status ) .ne.
- : 'Julian Epoch' ) then
- write(*,*) ast_getc( tf, 'Title', status )
- call stopit( status, 'error 11c' )
- endif
-
- if( ast_getc( tf, 'unit', status ) .ne. 'yr' ) then
- write(*,*) ast_getc( tf, 'unit', status )
- call stopit( status, 'error 12c' )
- endif
-
- if( ast_getc( tf, ' domain ', status ) .ne. 'TIME' ) then
- write(*,*) ast_getc( tf, ' domain ', status )
- call stopit( status, 'error 13c' )
- endif
-
- if( ast_getc( tf, 'alignSystem', status ) .ne. 'MJD' ) then
- write(*,*) ast_getc( tf, 'alignSystem', status )
- call stopit( status, 'error 14c' )
- endif
-
-
- call ast_setc( tf, 'system', 'bepoch', status )
-
- if( ast_getc( tf, 'System', status ) .ne. 'BEPOCH' ) then
- write(*,*) ast_getc( tf, 'System', status )
- call stopit( status, 'error 1d' )
- endif
-
- if( ast_getd( tf, 'TimeOrigin', status ) .ne. 0.0 ) then
- write(*,*) ast_getd( tf, 'TimeOrigin', status )
- call stopit( status, 'error 2d' )
- endif
-
- if( ast_getc( tf, 'ObsLon', status ) .ne. 'E0:00:00.00' ) then
- write(*,*) ast_getc( tf, 'ObsLon', status )
- call stopit( status, 'error 3d' )
- endif
-
- if( ast_getc( tf, 'ObsLat', status ) .ne. 'N0:00:00.00' ) then
- write(*,*) ast_getc( tf, 'ObsLat', status )
- call stopit( status, 'error 4d' )
- endif
-
- if( ast_getc( tf, 'TimeScale', status ) .ne. 'TT' ) then
- write(*,*) ast_getc( tf, 'TimeScale', status )
- call stopit( status, 'error 5d' )
- endif
-
- if( ast_getc( tf, 'AlignTimeScale', status ) .ne. 'TAI' ) then
- write(*,*) ast_getc( tf, 'AlignTimeScale', status )
- call stopit( status, 'error 6d' )
- endif
-
- if( ast_geti( tf, 'naxes', status ) .ne. 1 ) then
- write(*,*) ast_getc( tf, 'Naxes', status )
- call stopit( status, 'error 7d' )
- endif
-
- if( ast_getd( tf, 'Epoch', status ) .ne. 2000.0 ) then
- write(*,*) ast_getd( tf, 'Epoch', status )
- call stopit( status, 'error 8d' )
- endif
-
- if( ast_getc( tf, 'Label', status ) .ne.
- : 'Besselian Epoch' ) then
- write(*,*) ast_getc( tf, 'Label', status )
- call stopit( status, 'error 9d' )
- endif
-
- if( ast_getc( tf, 'Symbol', status ) .ne. 'BEP' ) then
- write(*,*) ast_getc( tf, 'Symbol', status )
- call stopit( status, 'error 10d' )
- endif
-
- if( ast_getc( tf, 'Title', status ) .ne.
- : 'Besselian Epoch' ) then
- write(*,*) ast_getc( tf, 'Title', status )
- call stopit( status, 'error 11d' )
- endif
-
- if( ast_getc( tf, 'unit', status ) .ne. 'yr' ) then
- write(*,*) ast_getc( tf, 'unit', status )
- call stopit( status, 'error 12d' )
- endif
-
- if( ast_getc( tf, ' domain ', status ) .ne. 'TIME' ) then
- write(*,*) ast_getc( tf, ' domain ', status )
- call stopit( status, 'error 13d' )
- endif
-
- if( ast_getc( tf, 'alignSystem', status ) .ne. 'MJD' ) then
- write(*,*) ast_getc( tf, 'alignSystem', status )
- call stopit( status, 'error 14d' )
- endif
-
-c
-c Test dump and load
-c
- call checkDump( tf, 'CheckDump 1', status )
-
-c
-c Test CurrentTime method.
-c
- call ast_set( tf, 'system=jepoch,unit=yr,timescale=utc,'//
- : 'timeorigin=0', status )
- n = 0
-
- write(*,*) ' Testing astCurrentTime: approx 1 second pause '//
- : 'following...'
- ctl = ast_currenttime( tf, status ) + 1.0D0/(86400.0D0*365.25D0)
- do while( ast_currenttime( tf, status ) .lt. ctl )
- n = n + 1
- if( n .gt. 2000000 ) then
- call stopit( status, 'error 15' )
- return
- end if
- end do
- write(*,*) ' 1 second pause finished.'
-
-
-c
-c Test behaviour of TimeOrigin attribute
-c
- tf = ast_timeframe( 'timescale=utc', status )
- origin = ast_currenttime( tf, status )
- call ast_setd( tf, 'TimeOrigin', origin, status )
- write(*,*) ' Testing TimeOrigin: approx 1 second pause '//
- : 'following...'
- n = 0
- do while( ast_currenttime( tf, status ) .lt.
- : 1.0D0/(86400.0D0*364.25D0) )
- n = n + 1
- if( n .gt. 2000000 ) then
- call stopit( status, 'error 16' )
- return
- end if
- end do
- write(*,*) ' 1 second pause finished.'
-
- call ast_set( tf, 'unit=s', status )
- if( abs( ast_getd( tf, 'TimeOrigin', status ) -
- : origin*86400.0D0 ) .gt. 0.01 ) then
- write(*,*) abs( ast_getd( tf, 'TimeOrigin', status ) -
- : origin*86400.0D0 )
- call stopit( status, 'error 17' )
- end if
-
-
-c
-c Test conversions between basic systems with arbitrary offsets
-c
- tf1 = ast_timeframe( 'system=mjd,timeorigin=53000', status )
- tf2 = ast_timeframe( 'system=jd,timeorigin=2453000.5', status )
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 18' )
- else if( .not. ast_isaunitmap( ast_getMapping( fs, AST__BASE,
- : AST__CURRENT,
- : status ), status ) ) then
- call stopit( status, 'error 19' )
- end if
-
-
-
- tf1 = ast_timeframe( 'system=mjd,timescale=UTC,timeorigin=53000',
- : status )
- tf2 = ast_timeframe( 'system=bepoch,timeorigin=2004', status )
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 20' )
- else
- xin = 100.0D0
- call ast_tran1( fs, 1, xin, .true., xout, status )
- if( abs( xout - 0.2600974092354136D0 ) .gt. 1.0D-10 ) then
- call stopit( status, 'error 21' )
- end if
- call ast_tran1( fs, 1, xout, .false., xin, status )
- if( abs( xin - 100.0D0 ) .gt. 1.0D-6 ) then
- call stopit( status, 'error 21b' )
- end if
- end if
-
-
- tf1 = ast_timeframe( 'system=bepoch,timeorigin=0', status )
- if( status .eq.sai__OK ) then
- call err_mark
- call ast_set( tf1, 'TimeScale=TAI', status )
- if( status .eq. AST__ATTIN ) then
- call err_annul( status )
- else
- call stopit( status, 'error 21b' );
- endif
-
- call ast_set( tf1, 'Unit=s', status )
- if( status .eq. AST__ATTIN ) then
- call err_annul( status )
- else
- call stopit( status, 'error 21c' );
- endif
- call err_rlse
- endif
-
- tf2 = ast_timeframe( 'system=jepoch,timescale=tai,'//
- : 'timeorigin=100.0', status )
- call ast_set( tf2, 'unit=d', status )
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 22' )
- else
- xin = 100.0D0
- call ast_tran1( fs, 1, xin, .true., xout, status )
- if( abs( xout - 14.35534169996282 ) .gt. 1.0D-6 ) then
- call stopit( status, 'error 23' )
- end if
- call ast_tran1( fs, 1, xout, .false., xin, status )
- if( abs( xin - 100.0D0 ) .gt. 1.0D-6 ) then
- call stopit( status, 'error 23b' )
- end if
- end if
-
-c Besselian epoch offset from B2000 [TT, yr]
- call ast_set( tf1, 'timeorigin=2000', status )
-
-c Julian date offset from 2450000.5 days [TDB, h]
- call ast_set( tf2, 'system=JD,timescale=TDB,unit=h,'//
- : 'timeorigin=2450000.5 d', status )
-
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 24' )
- else
- xin = 0.1
- call ast_tran1( fs, 1, xin, .true., xout, status )
- if( abs( xout - 37933.38284478387D0) .gt. 1.0D-5 ) then
- call stopit( status, 'error 25' )
- end if
- call ast_tran1( fs, 1, xout, .false., xin, status )
- if( abs( xin - 0.1 ) .gt. 1.0D-10 ) then
- call stopit( status, 'error 25b' )
- end if
- end if
-
-
-c
-c Test Formatting and unformatting
-c
- tf1 = ast_timeframe( 'system=jepoch,timeorigin=2005.0', status )
-
- txt = ast_format( tf1, 1, 100.0D0, status )
- if( txt .ne. '100' ) then
- write(*,*) ast_format( tf1, 1, 100.0D0, status )
- call stopit( status, 'error 26' )
- end if
- nc = ast_unformat( tf1, 1, txt, xout, status )
- if( nc .ne. len( txt ) .or. xout .ne. 100.0D0 ) then
- write(*,*) nc, xout
- call stopit( status, 'error 26b' )
- end if
-
-
-
- call ast_set( tf1, 'format=iso', status )
- txt = ast_format( tf1, 1, 1.0D0, status )
- if( txt .ne. '2006-01-01' ) then
- write(*,*) ast_format( tf1, 1, 1.0D0, status )
- call stopit( status, 'error 27' )
- end if
-
- nc = ast_unformat( tf1, 1, txt, xout, status )
- if( nc .ne. len( txt ) .or. xout .ne. 1.0D0 ) then
- write(*,*) nc, xout
- call stopit( status, 'error 27b' )
- end if
-
-
-
- call ast_set( tf1, 'format=iso.0', status )
- txt = ast_format( tf1, 1, 1.0D0, status )
- if( txt .ne. '2006-01-01 00:00:00' ) then
- write(*,*) ast_format( tf1, 1, 1.0D0, status )
- call stopit( status, 'error 28' )
- end if
-
- nc = ast_unformat( tf1, 1, txt, xout, status )
- if( nc .ne. len( txt ) .or. xout .ne. 1.0D0 ) then
- write(*,*) nc, xout
- call stopit( status, 'error 28b' )
- end if
-
-
-
- call ast_set( tf1, 'unit=s,format=iso.2', status )
- txt = ast_format( tf1, 1, 10.0D0, status )
- if( txt .ne. '2004-12-31 18:00:10.00' ) then
- write(*,*) ast_format( tf1, 1, 10.0D0, status )
- call stopit( status, 'error 29' )
- end if
-
- nc = ast_unformat( tf1, 1, txt, xout, status )
- if( nc .ne. len( txt ) .or.
- : abs( xout - 10.0D0 ) .gt. 1.0E-3 ) then
- write(*,*) nc, xout
- call stopit( status, 'error 29b' )
- end if
-
-
-
- txt = ast_format( tf1, 1, 10.12D0, status )
- if( txt .ne. '2004-12-31 18:00:10.12' ) then
- write(*,*) ast_format( tf1, 1, 10.12D0, status )
- call stopit( status, 'error 30' )
- end if
-
- nc = ast_unformat( tf1, 1, txt, xout, status )
- if( nc .ne. len( txt ) .or.
- : abs( xout - 10.12D0 ) .gt. 1.0E-3 ) then
- write(*,*) nc, xout
- call stopit( status, 'error 30b' )
- end if
-
-
- call ast_set( tf1, 'timescale=utc', status )
- xin = ast_currenttime( tf1, status )
- txt = ast_format( tf1, 1, xin, status )
- write(*,*) ' Current system time (UTC): ',
- : txt( : chr_len( txt ) )
- nc = ast_unformat( tf1, 1, txt(:20), xout, status )
- if( nc .ne. 20 .or. abs( xout - xin ) .gt. 1.0E-3 ) then
- write(*,*) nc, xout
- call stopit( status, 'error 30c' )
- end if
-
- tf1 = ast_timeframe( 'system=jepoch,timeorigin=2005.0', status )
- nc = ast_unformat( tf1, 1, 'J2005.0', xout, status )
- if( nc .ne. 7 .or. xout .ne. 0.0D0 ) then
- write(*,*) nc, xout
- call stopit( status, 'error 31' )
- end if
-
- nc = ast_unformat( tf1, 1, 'J2010.0', xout, status )
- if( nc .ne. 7 .or. xout .ne. 5.0D0 ) then
- write(*,*) nc, xout
- call stopit( status, 'error 32' )
- end if
-
- nc = ast_unformat( tf1, 1, '2005-jun-1 12:30 lunch time', xout,
- : status )
- if( nc .ne. 17 .or. abs( xout - 0.415525896D0 ) .gt. 1.0E-7 ) then
- write(*,*) nc, xout
- call stopit( status, 'error 33' )
- end if
-
- call ast_set( tf1, 'timescale=utc', status )
- nc = ast_unformat( tf1, 1, 'B2001.5 lunch time', xout,
- : status )
- if( nc .ne. 8 .or.
- : abs( xout + 3.50131054408916D0 ) .gt. 1.0E-10 ) then
- write(*,*) nc, xout, abs( xout + 3.50131054408916D0 )
- call stopit( status, 'error 34' )
- end if
-
-
-
-
-
-
- tf1 = ast_timeframe( 'system=mjd,timescale=tai', status )
- nc = ast_unformat( tf1, 1, "1977-01-01 00:00:00", xin, status )
-
-
- tf2 = ast_timeframe( 'system=mjd,timescale=tai,format=iso.6',
- : status )
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 35' )
- else
- call ast_tran1( fs, 1, xin, .true., xout, status )
- txt = ast_format( tf2, 1, xout, status )
- if( txt .ne. '1977-01-01 00:00:00.000000' ) then
- write(*,*) txt( :chr_len(txt) )
- call stopit( status, 'error 36' )
- end if
- end if
-
- tf2 = ast_timeframe( 'system=mjd,timescale=utc,format=iso.6',
- : status )
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 37' )
- else
- call ast_tran1( fs, 1, xin, .true., xout, status )
- txt = ast_format( tf2, 1, xout, status )
- if( txt .ne. '1976-12-31 23:59:45.000000' ) then
- write(*,*) txt( :chr_len(txt) )
- call stopit( status, 'error 38' )
- end if
- end if
-
- tf2 = ast_timeframe( 'system=mjd,timescale=tt,format=iso.6',
- : status )
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 39' )
- else
- call ast_tran1( fs, 1, xin, .true., xout, status )
- txt = ast_format( tf2, 1, xout, status )
- if( txt .ne. '1977-01-01 00:00:32.184000' ) then
- write(*,*) txt( :chr_len(txt) )
- call stopit( status, 'error 40' )
- end if
- end if
-
- tf2 = ast_timeframe( 'system=mjd,timescale=tdb,format=iso.6',
- : status )
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 41' )
- else
- call ast_tran1( fs, 1, xin, .true., xout, status )
- txt = ast_format( tf2, 1, xout, status )
- if( txt .ne. '1977-01-01 00:00:32.183935' ) then
- write(*,*) txt( :chr_len(txt) )
- call stopit( status, 'error 42' )
- end if
- end if
-
- tf2 = ast_timeframe( 'system=mjd,timescale=tcb,format=iso.6',
- : status )
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 43' )
- else
- call ast_tran1( fs, 1, xin, .true., xout, status )
- txt = ast_format( tf2, 1, xout, status )
- if( txt .ne. '1977-01-01 00:00:32.184000' ) then
- write(*,*) txt( :chr_len(txt) )
- call stopit( status, 'error 44' )
- end if
- end if
-
- tf2 = ast_timeframe( 'system=mjd,timescale=tcg,format=iso.6',
- : status )
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 45' )
- else
- call ast_tran1( fs, 1, xin, .true., xout, status )
- txt = ast_format( tf2, 1, xout, status )
- if( txt .ne. '1977-01-01 00:00:32.184000' ) then
- write(*,*) txt( :chr_len(txt) )
- call stopit( status, 'error 46' )
- end if
- end if
-
-
-
-
- tf1 = ast_timeframe( 'system=mjd,timescale=gmst,ObsLon=90,'//
- : 'ObsLat=0,timeorigin=53000.0', status )
- tf2 = ast_timeframe( 'system=mjd,timescale=lmst,ObsLon=90,'//
- : 'ObsLat=0,timeorigin=53000.0', status )
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 47' )
- else
- xin = 1.0D0
- call ast_tran1( fs, 1, xin, .true., xout, status )
- if( xout .ne. 1.25D0 ) then
- write(*,*) xout
- call stopit( status, 'error 48' )
- end if
- call ast_tran1( fs, 1, xout, .false., xin, status )
- if( xin .ne. 1.0D0 ) then
- write(*,*) xin
- call stopit( status, 'error 48b' )
- end if
- end if
-
-
-* Test use of DUT1
- tf1 = ast_timeframe( 'system=mjd,timescale=tdb,dut1=0.1', status )
- tf2 = ast_timeframe( 'system=mjd,timescale=last,dut1=0.1',
- : status )
- fs = ast_convert( tf1, tf2, ' ', status )
- if( fs .eq. AST__NULL ) then
- call stopit( status, 'error 49' )
- else
- xin = 53991.675D0
- call ast_tran1( fs, 1, xin, .true., xout, status )
- if( abs(xout - 53998.65344633732D0) .gt. 1.0D-8 ) then
- write(*,*) xout
- call stopit( status, 'error 50' )
- end if
- call ast_tran1( fs, 1, xout, .false., xin, status )
- if( abs( xin - 53991.675D0 ) .gt. 1.0D-8 ) then
- write(*,*) xin
- call stopit( status, 'error 51' )
- end if
- end if
-
-
-* Test use of DTAI
- tf1 = ast_timeframe( 'system=mjd,timescale=tai', status )
- tf2 = ast_timeframe( 'system=mjd,timescale=utc', status )
-
- fs = ast_convert( tf1, tf2, ' ', status )
-
- xin = 57844.0D0
-
- if (fs .eq. AST__NULL ) then
- call stopit( status, 'error 52' )
- else
- call ast_tran1( fs, 1, xin, .true., xout, status)
- if (abs(((xin - xout) * 86400.0D0) - 37.0D0) .gt. 1.0D-3) then
- write(*,*) xout
- call stopit( status, 'error 53' )
- endif
- call checkdump( fs, 'CheckDump 2', status )
- end if
-
- call ast_setd( tf2, 'dtai', 40.0D0, status )
-
- fs = ast_convert( tf1, tf2, ' ', status )
-
- if (fs .eq. AST__NULL ) then
- call stopit( status, 'error 54' )
- else
- call ast_tran1( fs, 1, xin, .true., xout, status)
- if (abs(((xin - xout) * 86400.0D0) - 40.0D0) .gt. 1.0D-3) then
- write(*,*) xout
- call stopit( status, 'error 55' )
- endif
- call checkdump( fs, 'CheckDump 3', status )
- end if
-
-
-
- tf1 = ast_timeframe( 'system=mjd,timescale=tt', status )
- tf2 = ast_timeframe( 'system=mjd,timescale=tdb,dtai=37.0',
- : status )
-
- fs = ast_convert( tf1, tf2, ' ', status )
-
- if (fs .eq. AST__NULL ) then
- call stopit( status, 'error 56' )
- else
- call ast_tran1( fs, 1, xin, .true., xout, status)
- call checkdump( fs, 'CheckDump 4', status )
- end if
-
- call ast_clear( tf2, 'dtai', status )
-
- fs = ast_convert( tf1, tf2, ' ', status )
-
- if (fs .eq. AST__NULL ) then
- call stopit( status, 'error 57' )
- else
- call ast_tran1( fs, 1, xin, .true., xout2, status)
- if( xout .ne. xout2 ) then
- call stopit( status, 'error 58' )
- end if
- end if
-
-
-
-
-
-
- call ast_end( status )
-c call ast_listissued( 'testtime' )
-
-
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All timeFrame tests passed'
- else
- write(*,*) 'timeFrame tests failed'
- end if
-
- end
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
-
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
-
- end
-
-
- subroutine checkdump( obj, text, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- character text*(*)
- integer obj, status, next, end, ch, result, ll, overlap, map,
- : map1, map2
- external mysource, mysink
- character buf*25000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- ch = ast_channel( mysource, mysink, ' ', status )
-
-
- ll = 110
- next = 1
- if( ast_write( ch, obj, status ) .ne.1 ) then
- write(*,*) text
- call stopit( status, 'Cannot write supplied object to '//
- : 'channel' )
- end if
-
- next = 1
- result = ast_read( ch, status )
- if( result .eq. ast__null ) then
- write(*,*) text
- call stopit( status, 'Cannot read object from channel' )
- end if
-
-
- if( ast_isatimeframe( obj, status ) ) then
- if( ast_getd( obj, 'timeorigin', status ) .ne.
- : ast_getd( result, 'timeorigin', status ) .or.
- : ast_getc( obj, 'timescale', status ) .ne.
- : ast_getc( result, 'timescale', status ) .or.
- : ast_getc( obj, 'ObsLon', status ) .ne.
- : ast_getc( result, 'ObsLon', status ) .or.
- : ast_getc( obj, 'ObsLat', status ) .ne.
- : ast_getc( result, 'ObsLat', status ) .or.
- : ast_getc( obj, 'Dtai', status ) .ne.
- : ast_getc( result, 'Dtai', status ) ) then
- call ast_Show( obj, status )
- call ast_Show( result, status )
- write(*,*) text
- call stopit( status, 'Object has changed' )
- end if
- else if( ast_isamapping( obj, status ) ) then
- if( ast_isaframeset( obj, status ) ) then
- map1 = ast_getmapping( obj, ast__base, ast__current,
- : status )
- map2 = ast_getmapping( result, ast__base, ast__current,
- : status )
- else
- map1 = ast_clone( obj, status )
- map2 = ast_clone( result, status )
- end if
-
- call ast_invert( map2, status )
- map = ast_simplify( ast_cmpmap( map1, map2, .true., ' ',
- : status ),
- : status )
- if( .not. ast_isaunitmap( map, status ) ) then
- write(*,*) text
- call ast_show( map1, status )
- call ast_invert( map2, status )
- call ast_show( map2, status )
-
- call stopit( status, 'Mapping has changed' )
- endif
- end if
-
- end
-
- subroutine sink1( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- logical fsfound, done
- common /sink1com/ fsfound, done
-
- integer status, l
- character line*200
-
- if( status .ne. sai__ok ) return
- call ast_getline( line, l, status )
-
- if( index( line( : l ),'Unc =' ) .GT. 0 ) then
- done = .true.
-
- else if( .not. done .and.
- : index( line( : l ),'FrameSet' ) .GT. 0 ) then
- fsfound= .true.
- end if
-
- end
-
- subroutine mysource( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, ll
- character buf*25000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- if( next .ge. end ) then
- call ast_putline( buf, -1, status )
- else
- call ast_putline( buf( next : ), ll, status )
- endif
-
- next = next + ll
-
- end
-
- subroutine mysink( status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer status, next, end, f, l, ll
- character buf*25000
- character line*1000
-
- common /ss1/ buf
- common /ss2/ next, end, ll
-
- if( status .ne. sai__ok ) return
-
- line = ' '
- call ast_getline( line, l, status )
- call chr_fandl( line( : l ), f, l )
- buf( next : ) = line( f : l )
- l = l - f + 1
-
- if( next + ll - 1 .ge. 25000 ) then
- write(*,*)
- call stopit( status, 'Buffer overflow in mysink!!' )
- else if( l .gt. ll ) then
- write(*,*)
- write(*,*) buf( next : next + l)
- write(*,*) 'Line length ',l
- call stopit( status, 'Line overflow in mysink!!' )
- else
- end = next + l
- buf( end : next + ll - 1 ) = ' '
- endif
-
- next = next + ll
-
- end
-
-
diff --git a/ast/ast_tester/testtrangrid.f b/ast/ast_tester/testtrangrid.f
deleted file mode 100644
index b867291..0000000
--- a/ast/ast_tester/testtrangrid.f
+++ /dev/null
@@ -1,276 +0,0 @@
- program testtrangrid
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'PRM_PAR'
-
- integer status, i, m, outp(4), inp(4), c1, c2, c3, c4, fc, fs
- double precision at(4), r, mat(4), b1(2), b2(2), a1(2),
- : a2(4)
- character cards(9)*80
-
- status = sai__ok
-
- at(1) = 10.0D0
- at(2) = 1.2D6
-
-* UnitMap
- m = ast_unitmap( 2, ' ', status )
- call testmap( m, 1, 0.5D0, status )
-
-* ZoomMap
- m = ast_zoommap( 2, 2.0D0, ' ', status )
- call testmap( m, 2, 0.5D0, status )
-
-* MatrixMap
- m = ast_matrixmap( 2, 2, 2, mat, ' ', status )
- call testmap( m, 3, 0.5D0, status )
-
-* PermMap
- outp(1)=2
- outp(2)=1
- inp(1)=2
- inp(2)=1
- m = ast_permmap( 2, inp, 2, outp, 0.0D0, ' ', status )
- call testmap( m, 4, 0.5D0, status )
-
-* TranMap
- a1( 1 ) = 0.0D0
- a1( 2 ) = 0.0D0
- a2( 1 ) = 1.0D0
- a2( 2 ) = 1.0D0
- b1( 1 ) = 0.5D0
- b1( 2 ) = 0.5D0
- b2( 1 ) = 2.5D0
- b2( 2 ) = 2.5D0
- c1 = ast_winmap( 2, a1, a2, b1, b2, ' ', status )
- c2 = ast_copy( c1, status )
-
- m = ast_tranmap( c1, c2, ' ', status )
- call testmap( m, 5, 0.5D0, status )
-
-* 3D CmpMap
- mat(1) = -1.0D0
- c1 = ast_shiftmap( 1, mat, ' ', status )
- mat(1)= 1.0D0
- mat(2)= 2.0D0
- mat(3)= -2.0D0
- mat(4)= 3.0D0
- c2 = ast_matrixmap( 2, 2, 0, mat, ' ', status )
- c3 = ast_cmpmap( c1, c2, 0, ' ', status )
-
- outp(1) = 3
- outp(2) = 2
- outp(3) = 1
- inp(1) = 3
- inp(2) = 2
- inp(3) = 1
- c1 = ast_permmap( 3, inp, 3, outp, 0.0D0, ' ', status )
- c2 = ast_ZoomMap( 3, 0.25D0, ' ', status )
- call ast_invert( c2, status )
-
- c4 = ast_cmpmap( c1, c2, 1, ' ', status )
- call ast_invert( c4, status )
-
- m = ast_cmpmap( c3, c4, 1, ' ', status )
- call testmap( m, 6, 0.5D0, status )
-
-
-
-* 1D non-linear Mapping
- m = ast_mathmap( 1, 1, 1, 'y=x**3', 1,
- : 'x=sign((abs(y)**(1/3)),y)', ' ', status )
- call testmap( m, 7, 0.0001D0, status )
-
-
-
-* A FITS-WCS pixel->sky mapping
- cards(1) = 'CTYPE1 = ''RA---TAN'''
- cards(2) = 'CTYPE2 = ''DEC--TAN'''
- cards(3) = 'CRPIX1 = 20'
- cards(4) = 'CRPIX2 = 20'
- cards(5) = 'CRVAL1 = 0.0'
- cards(6) = 'CRVAL2 = 0.0'
- cards(7) = 'CROTA1 = 30.0'
- cards(8) = 'CDELT1 = -0.001'
- cards(9) = 'CDELT2 = 0.001'
-
- fc = ast_fitschan( ast_null, ast_null, ' ', status )
- do i = 1, 9
- call ast_putfits( fc, cards(i), .false., status )
- end do
- call ast_clear( fc, 'card', status )
- fs = ast_read( fc, status )
-
- call testmap( fs, 8, 0.0001D0, status )
-
-
-
-
-
-
-
-
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All AST_TRANGRID tests passed'
- else
- write(*,*) 'AST_TRANGRID tests failed'
- end if
-
- end
-
-
-
-
-
- subroutine testmap( map, itest, tol, status )
- implicit none
- include 'SAE_PAR'
-
- integer status, maxpix, itest, map
- double precision tol
-
- if( status .ne. sai__ok ) return
-
- maxpix = 100
- call testgridpair( map, tol, maxpix, itest*10, status )
- call testgridpair( map, 0.0D0, maxpix, itest*10+2, status )
-
- maxpix = 4
- call testgridpair( map, tol, maxpix, itest*10+4, status )
- call testgridpair( map, 0.0D0, maxpix, itest*10+6, status )
-
- end
-
-
-
-
- subroutine testgridpair( map, tol, maxpix, itest, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer status, lbnd( 3 ), ubnd( 3 ), nin, nout, i, outdim,
- : maxpix, itest, size, pos(3), j, map, lbndi(3), ubndi(3)
- logical fwd
- double precision tol, xl(3), xu(3), dlbndi(3), dubndi(3),
- : dlbnd(3), dubnd(3)
-
- data lbnd / -6, 0, 10 /
- data ubnd / 15, 30, 40/
-
- if( status .ne. sai__ok ) return
-
-
- nin = ast_geti( map, 'nin', status )
- nout = ast_geti( map, 'nout', status )
-
- outdim = 1
- do i = 1, nin
- outdim = outdim*( ubnd( i ) - lbnd( i ) + 1 )
- dlbnd( i ) = lbnd( i )
- dubnd( i ) = ubnd( i )
- end do
-
- call testgrid( map, nin, lbnd, ubnd, tol, maxpix, .true., nout,
- : outdim, itest, status )
-
- outdim = 1
- do i = 1, nout
- call ast_mapbox( map, dlbnd, dubnd, .true., i, dlbndi(i),
- : dubndi(i), xl, xu, status )
- lbndi( i ) = dlbndi( i )
- ubndi( i ) = dubndi( i )
- outdim = outdim*( ubndi( i ) - lbndi( i ) + 1 )
- end do
-
- call testgrid( map, nout, lbndi, ubndi, tol, maxpix, .false., nin,
- : outdim, itest + 1, status )
-
-
- end
-
-
-
-
-
- subroutine testgrid( map, nin, lbnd, ubnd, tol, maxpix, fwd, nout,
- : outdim, itest, status )
- implicit none
- include 'SAE_PAR'
-
- integer MAXPNT
- parameter( MAXPNT = 50000 )
-
- integer status, lbnd( 3 ), ubnd( 3 ), nin, nout, i, outdim,
- : maxpix, itest, pos(3), j, map
- logical fwd
- double precision tol, out( MAXPNT, 3 ), in( MAXPNT, 3 )
-
- if( status .ne. sai__ok ) return
-
-* Check arrays are not over full
- if( outdim .gt. MAXPNT ) then
- status = sai__error
- write(*,*) 'Array length exceeded in TESTTRANGRID:TESTGRID'
- return
- end if
-
-* Create a regular grid of positions within the input space of the
-* Mapping, and transform it to the output space of the Mapping.
- call ast_trangrid( map, nin, lbnd, ubnd, tol, maxpix, fwd,
- : nout, MAXPNT, out, status )
-
-* Convert the transformed output positions back into the input space.
- call ast_trann( map, outdim, nout, MAXPNT, out, .not. fwd, nin,
- : MAXPNT, in, status )
-
-* Check the input space positions are close to a regular grid.
- if( status .eq. sai__ok ) then
-
- do i = 1, nin
- pos( i ) = lbnd( i )
- end do
-
- do j = 1, outdim
-
- do i = 1, nin
-
- if( pos( i ) .ne. 0 ) then
- if( abs( in( j, i ) - pos( i ) ) .gt.
- : 1.0E-6*abs( 0.5*( in( j, i ) + pos( i ) ) ) ) then
- status = sai__error
- write(*,*) 'Test ',itest,' failed at point ',j,
- : ' axis ',i,': ',in( j, i ),
- : ' should be ',pos(1)
- return
- end if
- else
- if( abs( in( j, i ) ) .gt. 1.0E-5 ) then
- status = sai__error
- write(*,*) 'Test ',itest,' failed at point ',j,
- : ' axis ',i,': ',in( j, i ),
- : ' should be ', pos(i)
- return
- end if
- end if
- end do
-
- pos( 1 ) = pos( 1 ) + 1
- if( pos( 1 ) .gt. ubnd( 1 ) ) then
- pos( 1 ) = lbnd( 1 )
- if( nin .gt. 1 ) then
- pos( 2 ) = pos( 2 ) + 1
- if( pos( 2 ) .gt. ubnd( 2 ) ) then
- pos( 2 ) = lbnd( 2 )
- if( nin .gt. 2 ) then
- pos( 3 ) = pos( 3 ) + 1
- end if
- end if
- end if
- end if
- end do
- end if
-
- end
diff --git a/ast/ast_tester/testunitnormmap.f b/ast/ast_tester/testunitnormmap.f
deleted file mode 100644
index 4437f2c..0000000
--- a/ast/ast_tester/testunitnormmap.f
+++ /dev/null
@@ -1,324 +0,0 @@
- program testunitnormmap
- implicit none
-
- include 'AST_PAR'
- include 'SAE_PAR'
-
- integer status, map, cmpmap, smap, invmap, nin, i
- logical good, differ
- double precision norm, frompos(3), centre(3), topos(4)
-
- data centre /-1.0D0, 1.0D0, 2.0D0 /,
- : frompos /-22.0D0, 3.0D0, 0.5D0/
-
-
- status = sai__ok
- call err_mark( status )
- call ast_begin( status )
-
- do nin = 1, 3
- map = ast_unitnormmap( nin, centre, ' ', status )
-
- if( .not. ast_isaunitnormmap( map, status ) )
- : call stopit( status, 'Error 1' )
- if( .not. ast_isamapping( map, status ) )
- : call stopit( status, 'Error 2' )
- if( ast_geti( map, 'Nin', status ) .ne. nin )
- : call stopit( status, 'Error 3' )
- if( ast_geti( map, 'Nout', status ) .ne. nin+1 )
- : call stopit( status, 'Error 4' )
- if( ast_getl( map, 'IsLinear', status ) )
- : call stopit( status, 'Error 5' )
-
- call checkdump( map, status )
-
- call checkroundtrip( map, frompos, good, status )
- if( .not. good ) call stopit( status, 'Error 6' )
-
- call checkroundtrip( map, centre, good, status )
- if( .not. good ) call stopit( status, 'Error 6' )
-
- invmap = ast_copy( map, status )
- call ast_invert( invmap, status )
- cmpmap = ast_cmpmap( map, invmap, .true., ' ', status )
- smap = ast_simplify( cmpmap, status )
- if( .not. ast_isaunitmap( smap, status ) )
- : call stopit( status, 'Error 7' )
- if( ast_geti( smap, 'Nin', status ) .ne. nin )
- : call stopit( status, 'Error 8' )
-
- cmpmap = ast_cmpmap( invmap, map, .true., ' ', status )
- smap = ast_simplify( cmpmap, status )
- if( .not. ast_isaunitmap( smap, status ) )
- : call stopit( status, 'Error 9' )
- if( ast_geti( smap, 'Nin', status ) .ne. nin+1 )
- : call stopit( status, 'Error 10' )
-
-
- call ast_trann( map, 1, nin, 1, frompos, .true., nin+1,
- : 1, topos, status );
-
- norm = 0.0D0
- do i = 1, nin
- norm = norm + (frompos(i)-centre(i))**2
- end do
- norm = sqrt( norm )
-
- if( differ( norm, topos(nin+1) ) )
- : call stopit( status, 'Error 11' )
-
- do i = 1, nin
- if( differ( norm*topos(i), frompos(i)-centre(i) ) )
- : call stopit( status, 'Error 12' )
- end do
-
- end do
-
- call testsimplify( status )
-
- call ast_end( status )
- call err_rlse( status )
-
-c call ast_activememory( 'testunitnormmap' )
- call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All UnitNormMap tests passed'
- else
- write(*,*) 'UnitNormMap tests failed'
- end if
-
- end
-
-
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
- end
-
-
-
-
-
- subroutine checkdump( obj, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer obj, status, stat, ch, result, nin, i
- logical differ
- double precision in(3), out1(3), out2(3)
-
- data in /10.0D0, 5.0D0, -12.0D0 /
-
- if( status .ne. sai__ok ) return
-
- ch = ast_channel( AST_NULL, AST_NULL, 'SinkFile=testdmp', status )
-
- if( ast_write( ch, obj, status ) .ne.1 ) then
- call stopit( status, 'Cannot write supplied object to '//
- : 'channel' )
- end if
-
- call ast_clear( ch, 'SinkFile', status )
- call ast_setc( ch, 'SourceFile', 'testdmp', status )
- result = ast_read( ch, status )
-
- if( result .eq. ast__null ) then
- call stopit( status, 'Cannot read object from channel' )
- end if
-
- if( .not. ast_isaunitnormmap( result, status ) ) then
- call stopit( status, 'Object read from channel is not a '//
- : 'UnitNormMap')
- else if( ast_geti( result, 'Nin', status ) .ne.
- : ast_geti( obj, 'Nin', status ) ) then
- call stopit( status, 'UnitNormMap have different Nin values' )
-
- else
- nin = ast_geti( result, 'Nin', status )
- call ast_trann( result, 1, nin, 1, in, .TRUE., nin+1, 1, out1,
- : status );
- call ast_trann( obj, 1, nin, 1, in, .TRUE., nin+1, 1, out2,
- : status );
-
- do i = 1, nin
- if( differ( out2(i), out1(i) ) )
- : call stopit( status, 'Error - Recovered UnitNormMap '//
- : 'differs from suppled UnitNormMap' )
- end do
-
- end if
-
- call ast_annul( result, status )
-
- open( unit=1234, iostat=stat, file='testdmp', status='old')
- if (stat == 0) close(1234, status='delete')
-
- end
-
-
-
- subroutine checkroundtrip( map, pos, good, status )
-
- implicit none
-
- include 'SAE_PAR'
- include 'AST_PAR'
-
- logical good, differ
- integer status, map, mapinv, cmp, i, nin, nout
- double precision pos(*), rtol, atol, out(7), in(7)
-
- good = .true.
-
- if( status .ne. sai__ok ) return
-
- nin = ast_geti( map, 'Nin', status )
- nout = ast_geti( map, 'Nout', status )
- call ast_trann( map, 1, nin, 1, pos, .TRUE., nout, 1, out,
- : status );
- call ast_trann( map, 1, nout, 1, out, .FALSE., nin, 1, in,
- : status );
- do i = 1, nin
- if( differ( in(i), pos(i) ) ) good = .false.
- end do
-
- mapinv = ast_copy( map, status )
- call ast_invert( mapinv, status )
- cmp = ast_cmpmap( map, mapinv, .TRUE., ' ', status )
-
- call ast_trann( cmp, 1, nin, 1, pos, .true., nin, 1, in,
- : status );
- do i = 1, nin
- if( differ( in(i), pos(i) ) ) good = .false.
- end do
-
- end
-
-
-
- subroutine testsimplify( status )
- implicit none
-
- include 'SAE_PAR'
- include 'AST_PAR'
-
- integer status, unm1, unm1inv, unm2, unm2inv, shiftmap,
- : winmap1, winmap2, i, j, k, nin, nout, cmpmap,
- : cmpmap_simp
- double precision centre1(3)
- double precision centre2(3)
- double precision shift(3)
- double precision zeros(3)
- double precision ones(3)
- double precision a(3)
- double precision testpoints(3,4)
- double precision outpoints(3,4)
- double precision outpoints_simp(3,4)
-
- integer map1(7), map2(7)
- character class(7)*30
- logical differ
-
- data centre1 /2.0D0, -1.0D0, 0.0D0/,
- : centre2 /-1.0D0, 6.0D0, 4.0D0/,
- : shift /3.0D0, 7.0D0, -9.0D0/,
- : zeros /0.0D0, 0.0D0, 0.0D0/,
- : ones /1.0D0, 1.0D0, 1.0D0/,
- : testpoints / 1.0D0, 3.0D0, -5.0D0, 2.0D0, 3.0D0, 99.0D0,
- : -6.0D0, -5.0D0, -7.0D0, 30.0D0, 21.0D0, 37.0D0 /
-
- if( status .ne. sai__ok ) return
-
- unm1 = ast_unitnormmap( 3, centre1, ' ', status )
- unm1inv = ast_copy( unm1, status )
- call ast_setl( unm1inv, 'Invert', .TRUE., status )
-
- unm2 = ast_unitnormmap( 3, centre2, ' ', status )
- unm2inv = ast_copy( unm2, status )
- call ast_setl( unm2inv, 'Invert', .TRUE., status )
-
- shiftmap = ast_shiftmap(3, shift, ' ', status )
-
- do i = 1, 3
- a(i) = ones(i) + shift(i)
- end do
- winmap1 = ast_winmap( 3, zeros, shift, ones, a, ' ', status )
-
- do i = 1, 3
- a(i) = 2*ones(i) + shift(i)
- end do
- winmap2 = ast_winmap( 3, zeros, shift, ones, a, ' ', status )
-
- map1(1) = unm1
- map2(1) = unm2inv
- class(1) = 'WinMap'
-
- map1(2) = shiftmap
- map2(2) = unm2
- class(2) = 'UnitNormMap'
-
- map1(3) = winmap1
- map2(3) = unm1
- class(3) = 'UnitNormMap'
-
- map1(4) = winmap2
- map2(4) = unm1
- class(4) = 'CmpMap'
-
- map1(5) = unm1inv
- map2(5) = shiftmap
- class(5) = 'UnitNormMap'
-
- map1(6) = unm1inv
- map2(6) = winmap1
- class(6) = 'UnitNormMap'
-
- map1(7) = unm1inv
- map2(7) = winmap2
- class(7) = 'CmpMap'
-
- do i = 1, 7
- cmpmap = ast_cmpmap( map1(i), map2(i), .true., ' ', status )
- cmpmap_simp = ast_simplify( cmpmap, status )
-
- if( ast_getc( cmpmap_simp, 'Class', status ) .ne. class(i) )
- : call stopit( status, 'Simplify error 1' )
-
- nin = ast_geti( cmpmap, 'Nin', status )
- if( nin .ne. ast_geti( cmpmap_simp, 'Nin', status ) )
- : call stopit( status, 'Simplify error 2' )
-
- nout = ast_geti( cmpmap, 'Nout', status )
- if( nout .ne. ast_geti( cmpmap_simp, 'Nout', status ) )
- : call stopit( status, 'Simplify error 3' )
-
- call ast_trann( cmpmap, 3, nin, 3, testpoints, .true., nout,
- : 3, outpoints, status )
- call ast_trann( cmpmap_simp, 3, nin, 3, testpoints, .true.,
- : nout, 3, outpoints_simp, status )
-
- do j = 1, nout
- do k = 1, 3
- if( differ( outpoints(k,j), outpoints_simp(k,j) ) )
- : call stopit( status, 'Simplify error 4' )
- end do
- end do
- end do
-
- end
-
-
- logical function differ( aa, bb )
- implicit none
- double precision aa, bb, diff
- differ = abs( (aa) - (bb) ) .gt.
- : abs( 0.5D0*( (aa) + (bb) ) )*1.0D-14
-
- end
diff --git a/ast/ast_tester/testxmlchan.f b/ast/ast_tester/testxmlchan.f
deleted file mode 100644
index 51e58ec..0000000
--- a/ast/ast_tester/testxmlchan.f
+++ /dev/null
@@ -1,246 +0,0 @@
- program testxmlchan
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- include 'testxmlchan_com'
-
- integer status, obj, i, ifmt, nfmt
- character fmt(2)*30
- logical ok
-
- data nfmt /2/,
- : fmt / 'native', 'quoted' /
-
- status = sai__ok
-
- call ast_begin( status )
-
-*
-* Create an AST object.
-*
- call makeobject( obj, status )
-
-*
-* Create a normal Channel and write the object out to file1
-*
- call chanwrite( obj, 1, status )
-
-*
-* Test each XML format in turn.
- do ifmt = 1, nfmt
-
-*
-* Create an XmlChan and write the object out to file2 using the current
-* format.
-*
- call xmlwrite( obj, 2, fmt( ifmt ), status )
-
-*
-* Use a new XmlChan to read an object from file2
-*
- call xmlread( 2, obj, status )
-
-*
-* Write this object out to file 3 using a simple Channel.
-*
- call chanwrite( obj, 3, status )
-
-*
-* Report an error if the contents of files 1 and 3 differ.
-*
- ok = .true.
- if( filelen( 1 ) .ne. filelen( 3 ) ) then
- write(*,*) 'TestXmlChan: files 1 and 3 have different '//
- : 'lengths (',filelen( 1 ),',',filelen( 3 ),').'
- ok =.false.
- else
- do i = 1, filelen( 1 )
- if( files( 1, i ) .ne. files( 3, i ) ) then
- write(*,*) 'TestXmlChan: Line ',i,' differs in '//
- : 'files 1 and 3:'
- write(*,*) files( 1, i )
- write(*,*) files( 3, i )
- ok = .false.
- go to 10
- end if
- end do
- end if
-
- 10 continue
-
- if( .not. ok ) then
- write(*,*) 'TestXmlChan: Test failed on XmlFormat ''',
- : fmt(ifmt),'''.'
- go to 20
- end if
-
- end do
-
- 20 continue
-
- call ast_end( status )
-
- if( ok ) then
- write(*,*) 'All XmlChan tests passed'
- else
- write(*,*) 'XmlChan tests failed'
- end if
-
- end
-
-*
-* Reads line "iline" from internal file "ifile" and returns it to AST using
-* the AST_PULINE routine. Then increments "iline" ready for next time.
-*
- subroutine source( status )
- implicit none
-
- include 'testxmlchan_com'
-
- integer status, l, chr_len
-
- if( iline .le. filelen( ifile ) ) then
- l = chr_len( files(ifile,iline) )
- call ast_putline( files(ifile,iline), l, status )
- iline = iline + 1
- else
- call ast_putline( ' ', -1, status )
- end if
-
- end
-
-*
-* Append a line obtained using ast_getline function to the end of the
-* internal file indicated by "ifile", and increment the file length.
-*
- subroutine sink( status )
- implicit none
-
- include 'testxmlchan_com'
-
- integer status, l
- character line*(linelen)
-
- call ast_getline( line, l, status )
- if( l .gt. 0 ) then
-
- if( filelen( ifile ) .ge. mxline ) then
- stop 'TestXmlChan: Too many lines sent to sink function'
-
- else if( l .gt. linelen ) then
- stop 'TestXmlChan: Text truncated in sink function'
-
- else
- filelen( ifile ) = filelen( ifile ) + 1
- files( ifile, filelen( ifile ) ) = line(:l)
- end if
-
- end if
-
- end
-
-*
-* Create an AST object to be used as the test object.
-*
- subroutine makeobject( obj, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
- integer obj, sf, f, m, status
-
- obj = ast__null
- if( status .ne. sai__ok ) return
-
- sf = Ast_SkyFrame( ' ', status )
- f = Ast_Frame( 2, ' ', status )
- call ast_setc( f, 'title', 'A new title', status )
- m = ast_UnitMap( 2, ' ', status )
- obj = ast_FrameSet( f, ' ', status )
- call ast_addFrame( obj, 1, m, sf, status )
-
- end
-
-*
-* Write the supplied object out to the specified internal file using a
-* basic Channel.
-*
- subroutine chanwrite( obj, ifil, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- include 'testxmlchan_com'
-
- external sink
- integer obj, ifil, status, ch
-
- if( status .ne. sai__ok ) return
-
- ifile = ifil
- filelen( ifil ) = 0
-
- ch = ast_channel( ast_null, sink, ' ', status )
- if( ast_write( ch, obj, status ) .ne. 1 ) then
- stop 'TestXmlChan: Failed to write object to Channel.'
- end if
- call ast_annul( ch, status )
-
- end
-
-*
-* Write the supplied object out to the specified internal file using an
-* XmlChan.
-*
- subroutine xmlwrite( obj, ifil, fmt, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- include 'testxmlchan_com'
-
- external sink
- integer obj, ifil, status, ch
- character fmt*(*)
-
- if( status .ne. sai__ok ) return
-
- ifile = ifil
- filelen( ifil ) = 0
-
- ch = ast_xmlchan( ast_null, sink, 'indent=1,comment=1',
- : status )
- call ast_seti( ch, 'xmllength', linelen, status )
- call ast_setc( ch, 'xmlformat', fmt, status )
- if( ast_write( ch, obj, status ) .ne. 1 ) then
- stop 'TestXmlChan: Failed to write object to XmlChan.'
- end if
- call ast_annul( ch, status )
-
- end
-
-*
-* Read an object out of the specified internal file using an XmlChan.
-*
- subroutine xmlread( ifil, obj, status )
- implicit none
- include 'SAE_PAR'
- include 'AST_PAR'
-
- include 'testxmlchan_com'
-
- external source
- integer obj, ifil, status, ch
-
- if( status .ne. sai__ok ) return
-
- ifile = ifil
- iline = 1
-
- ch = ast_xmlchan( source, ast_null, ' ', status )
- obj = ast_read( ch, status )
- if( obj .eq. ast__null ) then
- stop 'TestXmlChan: Failed to read object from XmlChan.'
- end if
- call ast_annul( ch, status )
-
- end
diff --git a/ast/ast_tester/testxmlchan_com b/ast/ast_tester/testxmlchan_com
deleted file mode 100644
index 3b7500e..0000000
--- a/ast/ast_tester/testxmlchan_com
+++ /dev/null
@@ -1,13 +0,0 @@
-*
-* Common block declaration used by testxmlchan.f for storing internal
-* files and associated info.
-*
- integer mxline
- parameter ( mxline = 500 )
-
- integer linelen
- parameter ( linelen = 100 )
-
- character files( 3, mxline )*(linelen)
- integer ifile,iline,filelen( 3 )
- common /files/ files, ifile, iline, filelen
diff --git a/ast/ast_tester/testzoommap.f b/ast/ast_tester/testzoommap.f
deleted file mode 100644
index 0c2afd7..0000000
--- a/ast/ast_tester/testzoommap.f
+++ /dev/null
@@ -1,91 +0,0 @@
- program testzoommap
- implicit none
-
- include 'AST_PAR'
- include 'AST_ERR'
- include 'SAE_PAR'
-
- integer zm, cm, status
-
- status = sai__ok
- call ast_begin( status )
-
- zm = ast_zoommap( 1, -1.0D0, ' ', status )
- if( .not. ast_test( zm, 'Zoom', status ) ) then
- call stopit( status, "Error 1" );
- else if( ast_getd( zm, 'Zoom', status ) .ne. -1.0D0 ) then
- call stopit( status, "Error 2" );
- end if
-
- call ast_clear( zm, 'Zoom', status )
- if( ast_test( zm, 'Zoom', status ) ) then
- call stopit( status, "Error 3" );
- else if( ast_getd( zm, 'Zoom', status ) .ne. 1.0D0 ) then
- call stopit( status, "Error 4" );
- end if
-
- call ast_setd( zm, 'Zoom', 2.5D0, status )
- if( .not. ast_test( zm, 'Zoom', status ) ) then
- call stopit( status, "Error 5" );
- else if( ast_getd( zm, 'Zoom', status ) .ne. 2.5D0 ) then
- call stopit( status, "Error 6" );
- end if
-
- cm = ast_cmpmap( zm, ast_unitmap( 1, ' ', status ), .TRUE.,
- : ' ', status )
-
- if( .not. ast_test( zm, 'Zoom', status ) ) then
- call stopit( status, "Error 7" );
- else if( ast_getd( zm, 'Zoom', status ) .ne. 2.5D0 ) then
- call stopit( status, "Error 8" );
- end if
-
- call err_mark
-
- call ast_setd( zm, 'Zoom', 1.5D0, status )
- if( status .eq. ast__immut ) then
- call err_annul( status )
- else if( status .eq. sai__ok ) then
- call stopit( status, "Error 9" );
- else
- call stopit( status, "Error 10" );
- end if
-
- call ast_clear( zm, 'Zoom', status )
- if( status .eq. ast__immut ) then
- call err_annul( status )
- else if( status .eq. sai__ok ) then
- call stopit( status, "Error 11" );
- else
- call stopit( status, "Error 12" );
- end if
-
- call err_rlse
-
- call ast_end( status )
-
-c call ast_activememory( 'testzoommap' )
- call ast_flushmemory( 1 )
-
- if( status .eq. sai__ok ) then
- write(*,*) 'All ZoomMap tests passed'
- else
- write(*,*) 'ZoomMap tests failed'
- end if
-
- end
-
-
-
- subroutine stopit( status, text )
- implicit none
- include 'SAE_PAR'
- integer status
- character text*(*)
- if( status .ne. sai__ok ) return
- status = sai__error
- write(*,*) text
- end
-
-
-
diff --git a/ast/ast_tester/timeplot.attr b/ast/ast_tester/timeplot.attr
deleted file mode 100644
index 5b43238..0000000
--- a/ast/ast_tester/timeplot.attr
+++ /dev/null
@@ -1 +0,0 @@
-minticklen=0.02,majticklen=0.05,gap(2)=0.1,NumLabGap=0.05,textlabgap=0.1,size=0.9
diff --git a/ast/ast_tester/timeplot.box b/ast/ast_tester/timeplot.box
deleted file mode 100644
index c2351b4..0000000
--- a/ast/ast_tester/timeplot.box
+++ /dev/null
@@ -1 +0,0 @@
-0.046 3.0 1.008 3.3
diff --git a/ast/ast_tester/timeplot.head b/ast/ast_tester/timeplot.head
deleted file mode 100644
index 95ea8d5..0000000
--- a/ast/ast_tester/timeplot.head
+++ /dev/null
@@ -1,34 +0,0 @@
-
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AST
-COMMENT AST Beginning of AST data for CmpFrame object AST
-COMMENT AST ................................................................ AST
-BEGAST_A= 'CmpFrame' / Compound coordinate system description
-DOMAIN_A= 'DATAPLOT' / Coordinate system domain
-ACTUNT_A= 1 / Unit strings affects alignment
-ISA_A = 'Frame ' / Coordinate system description
-FRAMEA_A= ' ' / First component Frame
-BEGAST_B= 'TimeFrame' / Description of time coordinate system
-TITLE_A = 'KAPPA - Trandat' / Title of coordinate system
-NAXES_A = 1 / Number of coordinate axes
-AX1_A = ' ' / Axis number 1
-BEGAST_C= 'Axis ' / Coordinate axis
-FORMAT_A= 'iso.0 ' / Format specifier
-ENDAST_A= 'Axis ' / End of object definition
-ISA_B = 'Frame ' / Coordinate system description
-TMORG_A = 57128.585856 / Time offset
-ENDAST_B= 'TimeFrame' / End of object definition
-FRAMEB_A= ' ' / Second component Frame
-BEGAST_D= 'Frame ' / Coordinate system description
-NAXES_B = 1 / Number of coordinate axes
-ACTUNT_B= 1 / Unit strings affects alignment
-AX1_B = ' ' / Axis number 1
-BEGAST_E= 'Axis ' / Coordinate axis
-LABEL_A = 'Data up-loaded' / Axis Label
-SYMBOL_A= 'Data ' / Axis symbol
-UNIT_A = 'GB ' / Axis units
-ENDAST_C= 'Axis ' / End of object definition
-ENDAST_D= 'Frame ' / End of object definition
-ENDAST_E= 'CmpFrame' / End of object definition
-COMMENT AST ................................................................ AST
-COMMENT AST End of AST data for CmpFrame object AST
-COMMENT AST ---------------------------------------------------------------- AST
diff --git a/ast/ast_tester/timj.ast b/ast/ast_tester/timj.ast
deleted file mode 100644
index ed011dd..0000000
--- a/ast/ast_tester/timj.ast
+++ /dev/null
@@ -1,234 +0,0 @@
- Begin FrameSet
-# Title = "FK5 equatorial coordinates; mean equinox J2000.0; gnomonic projection" # Title of coordinate system
-# Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
- IsA Frame # Coordinate system description
- Nframe = 4 # Number of Frames in FrameSet
-# Base = 1 # Index of base Frame
- Currnt = 4 # Index of current Frame
- Nnode = 5 # Number of nodes in FrameSet
- Nod1 = 3 # Frame 1 is associated with node 3
- Nod2 = 4 # Frame 2 is associated with node 4
- Nod3 = 5 # Frame 3 is associated with node 5
- Nod4 = 2 # Frame 4 is associated with node 2
- Lnk2 = 1 # Node 2 is derived from node 1
- Lnk3 = 1 # Node 3 is derived from node 1
- Lnk4 = 1 # Node 4 is derived from node 1
- Lnk5 = 1 # Node 5 is derived from node 1
- Frm1 = # Frame number 1
- Begin Frame
- Title = "Data grid indices; first pixel at (1,1)" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "GRID" # Coordinate system domain
-# Lbl1 = "Data grid index 1" # Label for axis 1
-# Lbl2 = "Data grid index 2" # Label for axis 2
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
- Ax1 = # Axis number 1
- Begin Axis
- Label = "Data grid index 1" # Axis Label
- Symbol = "g1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis
- Label = "Data grid index 2" # Axis Label
- Symbol = "g2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm2 = # Frame number 2
- Begin Frame
- Title = "Pixel coordinates; first pixel at (-128.5,-127.5)" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "PIXEL" # Coordinate system domain
-# Lbl1 = "Pixel coordinate 1" # Label for axis 1
-# Lbl2 = "Pixel coordinate 2" # Label for axis 2
-# Uni1 = "pixel" # Units for axis 1
-# Uni2 = "pixel" # Units for axis 2
- Ax1 = # Axis number 1
- Begin Axis
- Label = "Pixel coordinate 1" # Axis Label
- Symbol = "p1" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- Ax2 = # Axis number 2
- Begin Axis
- Label = "Pixel coordinate 2" # Axis Label
- Symbol = "p2" # Axis symbol
- Unit = "pixel" # Axis units
- Format = "%3.1f" # Format specifier
- End Axis
- End Frame
- Frm3 = # Frame number 3
- Begin Frame
- Title = "Axis coordinates; first pixel at (384,-381)" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
- Domain = "AXIS" # Coordinate system domain
-# Lbl1 = "R.A. offset" # Label for axis 1
-# Lbl2 = "Declination offset" # Label for axis 2
-# Uni1 = "arcsec" # Units for axis 1
-# Uni2 = "arcsec" # Units for axis 2
- Ax1 = # Axis number 1
- Begin Axis
- Label = "R.A. offset" # Axis Label
- Symbol = "a1" # Axis symbol
- Unit = "arcsec" # Axis units
- End Axis
- Ax2 = # Axis number 2
- Begin Axis
- Label = "Declination offset" # Axis Label
- Symbol = "a2" # Axis symbol
- Unit = "arcsec" # Axis units
- End Axis
- End Frame
- Frm4 = # Frame number 4
- Begin SkyFrame
-# Title = "FK5 equatorial coordinates; mean equinox J2000.0; gnomonic projection" # Title of coordinate system
- Naxes = 2 # Number of coordinate axes
-# Domain = "SKY" # Coordinate system domain
-# Lbl1 = "Right ascension" # Label for axis 1
-# Lbl2 = "Declination" # Label for axis 2
-# Uni1 = "hh:mm:ss.s" # Units for axis 1
-# Uni2 = "ddd:mm:ss" # Units for axis 2
-# Dir1 = 0 # Plot axis 1 in reverse direction
- Ax1 = # Axis number 1
- Begin SkyAxis
- End SkyAxis
- Ax2 = # Axis number 2
- Begin SkyAxis
- End SkyAxis
- IsA Frame # Coordinate system description
- System = "FK5" # Celestial coordinate system type
- Proj = "gnomonic" # Description of sky projection
- Epoch = 2002.3821786502 # Julian epoch of observation
- Eqnox = 2000 # Julian epoch of mean equinox
- End SkyFrame
- Map2 = # Mapping between nodes 1 and 2
- Begin CmpMap
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin WinMap
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -129 # Shift for axis 1
- Sft2 = -128 # Shift for axis 2
- End WinMap
- MapB = # Second component Mapping
- Begin CmpMap
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap
- Nin = 2 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = -1.45444097695548e-05 # Forward matrix value
- M1 = 1.45444097695548e-05 # Forward matrix value
- Form = "Diagonal" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin WcsMap
- Nin = 2 # Number of input coordinates
- Invert = 1 # Mapping inverted
- IsA Mapping # Mapping between coordinate systems
- Type = "TAN" # Gnomonic projection
- End WcsMap
- MapB = # Second component Mapping
- Begin CmpMap
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- InvA = 1 # First Mapping used in inverse direction
- MapA = # First component Mapping
- Begin SphMap
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- End SphMap
- MapB = # Second component Mapping
- Begin CmpMap
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin MatrixMap
- Nin = 3 # Number of input coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- M0 = 0.425569982779421 # Forward matrix value
- M1 = 0.773738866158297 # Forward matrix value
- M2 = 0.469274287334386 # Forward matrix value
- M3 = -0.519775230563316 # Forward matrix value
- M4 = 0.633504670066506 # Forward matrix value
- M5 = -0.573154030516038 # Forward matrix value
- M6 = -0.740759002274002 # Forward matrix value
- M7 = 0 # Forward matrix value
- M8 = 0.671770869084113 # Forward matrix value
- Form = "Full" # Matrix storage form
- End MatrixMap
- MapB = # Second component Mapping
- Begin CmpMap
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- IsA Mapping # Mapping between coordinate systems
- MapA = # First component Mapping
- Begin SphMap
- Nin = 3 # Number of input coordinates
- Nout = 2 # Number of output coordinates
- Invert = 0 # Mapping not inverted
- IsA Mapping # Mapping between coordinate systems
- UntRd = 1 # All input vectors have unit length
- End SphMap
- MapB = # Second component Mapping
- Begin SlaMap
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Nsla = 1 # Number of conversion steps
- Sla1 = "FK45Z" # FK4 to FK5 J2000.0 (no PM or parallax)
- Sla1a = 2002.38350704493 # Besselian epoch of FK4 coordinates
- End SlaMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- End CmpMap
- Map3 = # Mapping between nodes 1 and 3
- Begin UnitMap
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- End UnitMap
- Map4 = # Mapping between nodes 1 and 4
- Begin WinMap
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Sft1 = -129.5 # Shift for axis 1
- Sft2 = -128.5 # Shift for axis 2
- End WinMap
- Map5 = # Mapping between nodes 1 and 5
- Begin WinMap
- Nin = 2 # Number of input coordinates
- IsA Mapping # Mapping between coordinate systems
- Sft1 = 387 # Shift for axis 1
- Scl1 = -3 # Scale factor for axis 1
- Sft2 = -384 # Shift for axis 2
- Scl2 = 3 # Scale factor for axis 2
- End WinMap
- End FrameSet
diff --git a/ast/ast_tester/timj.fits-aips b/ast/ast_tester/timj.fits-aips
deleted file mode 100644
index 4fdd94b..0000000
--- a/ast/ast_tester/timj.fits-aips
+++ /dev/null
@@ -1,11 +0,0 @@
-CRPIX1 = 129.0 / Reference pixel on axis 1
-CRPIX2 = 128.0 / Reference pixel on axis 2
-CRVAL1 = 309.75469 / Value at ref. pixel on axis 1
-CRVAL2 = 42.381032 / Value at ref. pixel on axis 2
-CTYPE1 = 'RA---TAN' / Type of co-ordinate on axis 1
-CTYPE2 = 'DEC--TAN' / Type of co-ordinate on axis 2
-CDELT1 = -8.3333273E-4 / Pixel size
-CDELT2 = 0.00083333273 / Pixel size
-CROTA2 = 0.29013902 / Axis rotation
-EPOCH = 2000.0 / Epoch of reference equinox
-DATE-OBS= '2002-05-20T14:09:36.786' / Date of observation
diff --git a/ast/ast_tester/timj.fits-iraf b/ast/ast_tester/timj.fits-iraf
deleted file mode 100644
index 88c3d94..0000000
--- a/ast/ast_tester/timj.fits-iraf
+++ /dev/null
@@ -1,13 +0,0 @@
-CRPIX1 = 129.0 / Reference pixel on axis 1
-CRPIX2 = 128.0 / Reference pixel on axis 2
-CRVAL1 = 309.75469 / Value at ref. pixel on axis 1
-CRVAL2 = 42.381032 / Value at ref. pixel on axis 2
-CTYPE1 = 'RA---TAN' / Type of co-ordinate on axis 1
-CTYPE2 = 'DEC--TAN' / Type of co-ordinate on axis 2
-CD1_1 = -8.3332205E-4 / Transformation matrix element
-CD1_2 = -4.2198799E-6 / Transformation matrix element
-CD2_1 = -4.2198799E-6 / Transformation matrix element
-CD2_2 = 0.00083332205 / Transformation matrix element
-RADECSYS= 'FK5 ' / Reference frame for RA/DEC values
-EQUINOX = 2000.0 / Epoch of reference equinox
-DATE-OBS= '2002-05-20T14:09:36.786' / Date of observation
diff --git a/ast/ast_tester/timj.fits-pc b/ast/ast_tester/timj.fits-pc
deleted file mode 100644
index f3bfc6f..0000000
--- a/ast/ast_tester/timj.fits-pc
+++ /dev/null
@@ -1,16 +0,0 @@
-PC001001= 1.0
-PC001002= 0.0050638595
-PC002001= -0.0050638595
-PC002002= 1.0
-CDELT1 = -8.3333273E-4 / Pixel scale on axis 1
-CDELT2 = 0.00083333273 / Pixel scale on axis 2
-CRPIX1 = 129.0 / Reference pixel on axis 1
-CRPIX2 = 128.0 / Reference pixel on axis 2
-CRVAL1 = 309.75469 / Value at ref. pixel on axis 1
-CRVAL2 = 42.381032 / Value at ref. pixel on axis 2
-CTYPE1 = 'RA---TAN' / Type of co-ordinate on axis 1
-CTYPE2 = 'DEC--TAN' / Type of co-ordinate on axis 2
-RADECSYS= 'FK5 ' / Reference frame for RA/DEC values
-EQUINOX = 2000.0 / Epoch of reference equinox
-MJD-OBS = 52414.59 / Modified Julian Date of observation
-DATE-OBS= '2002-05-20T14:09:36.786' / Date of observation
diff --git a/ast/ast_tester/timj.fits-wcs b/ast/ast_tester/timj.fits-wcs
deleted file mode 100644
index f8b3e8a..0000000
--- a/ast/ast_tester/timj.fits-wcs
+++ /dev/null
@@ -1,39 +0,0 @@
-WCSAXES = 2 / Number of WCS axes
-CRPIX1 = 129.0 / Reference pixel on axis 1
-CRPIX2 = 128.0 / Reference pixel on axis 2
-CRVAL1 = 309.75469 / Value at ref. pixel on axis 1
-CRVAL2 = 42.381032 / Value at ref. pixel on axis 2
-CTYPE1 = 'RA---TAN' / Type of co-ordinate on axis 1
-CTYPE2 = 'DEC--TAN' / Type of co-ordinate on axis 2
-CD1_1 = -8.3332205E-4 / Transformation matrix element
-CD1_2 = -4.2198799E-6 / Transformation matrix element
-CD2_1 = -4.2198799E-6 / Transformation matrix element
-CD2_2 = 0.00083332205 / Transformation matrix element
-MJD-OBS = 52414.59 / Modified Julian Date of observation
-DATE-OBS= '2002-05-20T14:09:36.786' / Date of observation
-RADESYS = 'FK5 ' / Reference frame for RA/DEC values
-EQUINOX = 2000.0 / [yr] Epoch of reference equinox
-WCSAXESA= 2 / Number of WCS axes
-WCSNAMEA= 'PIXEL ' / Reference name for the coord. frame
-CRPIX1A = 1.0 / Reference pixel on axis 1
-CRPIX2A = 1.0 / Reference pixel on axis 2
-CRVAL1A = -128.5 / Value at ref. pixel on axis 1
-CRVAL2A = -127.5 / Value at ref. pixel on axis 2
-CTYPE1A = 'p1 ' / Pixel coordinate 1
-CTYPE2A = 'p2 ' / Pixel coordinate 2
-CD1_1A = 1.0 / Transformation matrix element
-CD2_2A = 1.0 / Transformation matrix element
-CUNIT1A = 'pixel ' / Units for axis 1
-CUNIT2A = 'pixel ' / Units for axis 2
-WCSAXESB= 2 / Number of WCS axes
-WCSNAMEB= 'AXIS ' / Reference name for the coord. frame
-CRPIX1B = 1.0 / Reference pixel on axis 1
-CRPIX2B = 1.0 / Reference pixel on axis 2
-CRVAL1B = 384.0 / Value at ref. pixel on axis 1
-CRVAL2B = -381.0 / Value at ref. pixel on axis 2
-CTYPE1B = 'a1 ' / R.A. offset
-CTYPE2B = 'a2 ' / Declination offset
-CD1_1B = -3.0 / Transformation matrix element
-CD2_2B = 3.0 / Transformation matrix element
-CUNIT1B = 'arcsec ' / Units for axis 1
-CUNIT2B = 'arcsec ' / Units for axis 2
diff --git a/ast/ast_tester/timj.native b/ast/ast_tester/timj.native
deleted file mode 100644
index fb54315..0000000
--- a/ast/ast_tester/timj.native
+++ /dev/null
@@ -1,217 +0,0 @@
-
-COMMENT AST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ AST
-COMMENT AST WCS information in AST format AST
-COMMENT AST See http://www.starlink.ac.uk/ast/ AST
-COMMENT AST Beginning of AST data for FrameSet object AST
-COMMENT AST ................................................................ AST
-BEGAST_A= 'FrameSet' / Set of inter-related coordinate systems
-NFRAME_A= 4 / Number of Frames in FrameSet
-CURRNT_A= 4 / Index of current Frame
-NNODE_A = 5 / Number of nodes in FrameSet
-NOD1_A = 3 / Frame 1 is associated with node 3
-NOD2_A = 4 / Frame 2 is associated with node 4
-NOD3_A = 5 / Frame 3 is associated with node 5
-NOD4_A = 2 / Frame 4 is associated with node 2
-LNK2_A = 1 / Node 2 is derived from node 1
-LNK3_A = 1 / Node 3 is derived from node 1
-LNK4_A = 1 / Node 4 is derived from node 1
-LNK5_A = 1 / Node 5 is derived from node 1
-FRM1_A = ' ' / Frame number 1
-BEGAST_B= 'Frame ' / Coordinate system description
-TITLE_A = 'Data grid indices; first pixel at (1&' / Title of coordinate system
-CONTINUE ',1) '
-NAXES_A = 2 / Number of coordinate axes
-DOMAIN_A= 'GRID ' / Coordinate system domain
-AX1_A = ' ' / Axis number 1
-BEGAST_C= 'Axis ' / Coordinate axis
-LABEL_A = 'Data grid index 1' / Axis Label
-SYMBOL_A= 'g1 ' / Axis symbol
-UNIT_A = 'pixel ' / Axis units
-FORMAT_A= '%3.1f ' / Format specifier
-ENDAST_A= 'Axis ' / End of object definition
-AX2_A = ' ' / Axis number 2
-BEGAST_D= 'Axis ' / Coordinate axis
-LABEL_B = 'Data grid index 2' / Axis Label
-SYMBOL_B= 'g2 ' / Axis symbol
-UNIT_B = 'pixel ' / Axis units
-FORMAT_B= '%3.1f ' / Format specifier
-ENDAST_B= 'Axis ' / End of object definition
-ENDAST_C= 'Frame ' / End of object definition
-FRM2_A = ' ' / Frame number 2
-BEGAST_E= 'Frame ' / Coordinate system description
-TITLE_B = 'Pixel coordinates; first pixel at (-&' / Title of coordinate system
-CONTINUE '128.5,-127.5)'
-NAXES_B = 2 / Number of coordinate axes
-DOMAIN_B= 'PIXEL ' / Coordinate system domain
-AX1_B = ' ' / Axis number 1
-BEGAST_F= 'Axis ' / Coordinate axis
-LABEL_C = 'Pixel coordinate 1' / Axis Label
-SYMBOL_C= 'p1 ' / Axis symbol
-UNIT_C = 'pixel ' / Axis units
-FORMAT_C= '%3.1f ' / Format specifier
-ENDAST_D= 'Axis ' / End of object definition
-AX2_B = ' ' / Axis number 2
-BEGAST_G= 'Axis ' / Coordinate axis
-LABEL_D = 'Pixel coordinate 2' / Axis Label
-SYMBOL_D= 'p2 ' / Axis symbol
-UNIT_D = 'pixel ' / Axis units
-FORMAT_D= '%3.1f ' / Format specifier
-ENDAST_E= 'Axis ' / End of object definition
-ENDAST_F= 'Frame ' / End of object definition
-FRM3_A = ' ' / Frame number 3
-BEGAST_H= 'Frame ' / Coordinate system description
-TITLE_C = 'Axis coordinates; first pixel at (38&' / Title of coordinate system
-CONTINUE '4,-381) '
-NAXES_C = 2 / Number of coordinate axes
-DOMAIN_C= 'AXIS ' / Coordinate system domain
-AX1_C = ' ' / Axis number 1
-BEGAST_I= 'Axis ' / Coordinate axis
-LABEL_E = 'R.A. offset' / Axis Label
-SYMBOL_E= 'a1 ' / Axis symbol
-UNIT_E = 'arcsec ' / Axis units (arc-second)
-ENDAST_G= 'Axis ' / End of object definition
-AX2_C = ' ' / Axis number 2
-BEGAST_J= 'Axis ' / Coordinate axis
-LABEL_F = 'Declination offset' / Axis Label
-SYMBOL_F= 'a2 ' / Axis symbol
-UNIT_F = 'arcsec ' / Axis units (arc-second)
-ENDAST_H= 'Axis ' / End of object definition
-ENDAST_I= 'Frame ' / End of object definition
-FRM4_A = ' ' / Frame number 4
-BEGAST_K= 'SkyFrame' / Description of celestial coordinate system
-NAXES_D = 2 / Number of coordinate axes
-EPOCH_A = 2002.3822 / Julian epoch of observation
-SYSTEM_A= 'FK5 ' / Coordinate system type
-AX1_D = ' ' / Axis number 1
-BEGAST_L= 'SkyAxis ' / Celestial coordinate axis
-ENDAST_J= 'SkyAxis ' / End of object definition
-AX2_D = ' ' / Axis number 2
-BEGAST_M= 'SkyAxis ' / Celestial coordinate axis
-ENDAST_K= 'SkyAxis ' / End of object definition
-ISA_A = 'Frame ' / Coordinate system description
-PROJ_A = 'gnomonic' / Description of sky projection
-EQNOX_A = 2000.0 / Julian epoch of mean equinox
-ENDAST_L= 'SkyFrame' / End of object definition
-MAP2_A = ' ' / Mapping between nodes 1 and 2
-BEGAST_N= 'CmpMap ' / Compound Mapping
-NIN_A = 2 / Number of input coordinates
-ISA_B = 'Mapping ' / Mapping between coordinate systems
-MAPA_A = ' ' / First component Mapping
-BEGAST_O= 'WinMap ' / Map one window on to another
-NIN_B = 2 / Number of input coordinates
-INVERT_A= 0 / Mapping not inverted
-ISA_C = 'Mapping ' / Mapping between coordinate systems
-SFT1_A = -129.0 / Shift for axis 1
-SFT2_A = -128.0 / Shift for axis 2
-ENDAST_M= 'WinMap ' / End of object definition
-MAPB_A = ' ' / Second component Mapping
-BEGAST_P= 'CmpMap ' / Compound Mapping
-NIN_C = 2 / Number of input coordinates
-ISA_D = 'Mapping ' / Mapping between coordinate systems
-MAPA_B = ' ' / First component Mapping
-BEGAST_Q= 'MatrixMap' / Matrix transformation
-NIN_D = 2 / Number of input coordinates
-INVERT_B= 0 / Mapping not inverted
-ISA_E = 'Mapping ' / Mapping between coordinate systems
-M0_A = -1.454441E-5 / Forward matrix value
-M1_A = 1.454441E-5 / Forward matrix value
-FORM_A = 'Diagonal' / Matrix storage form
-ENDAST_N= 'MatrixMap' / End of object definition
-MAPB_B = ' ' / Second component Mapping
-BEGAST_R= 'CmpMap ' / Compound Mapping
-NIN_E = 2 / Number of input coordinates
-ISA_F = 'Mapping ' / Mapping between coordinate systems
-INVA_A = 1 / First Mapping used in inverse direction
-MAPA_C = ' ' / First component Mapping
-BEGAST_S= 'WcsMap ' / FITS-WCS sky projection
-NIN_F = 2 / Number of input coordinates
-INVERT_C= 1 / Mapping inverted
-ISA_G = 'Mapping ' / Mapping between coordinate systems
-TYPE_A = 'TAN ' / Gnomonic projection
-ENDAST_O= 'WcsMap ' / End of object definition
-MAPB_C = ' ' / Second component Mapping
-BEGAST_T= 'CmpMap ' / Compound Mapping
-NIN_G = 2 / Number of input coordinates
-ISA_H = 'Mapping ' / Mapping between coordinate systems
-INVA_B = 1 / First Mapping used in inverse direction
-MAPA_D = ' ' / First component Mapping
-BEGAST_U= 'SphMap ' / Cartesian to Spherical mapping
-NIN_H = 3 / Number of input coordinates
-NOUT_A = 2 / Number of output coordinates
-INVERT_D= 0 / Mapping not inverted
-ISA_I = 'Mapping ' / Mapping between coordinate systems
-UNTRD_A = 1 / All input vectors have unit length
-ENDAST_P= 'SphMap ' / End of object definition
-MAPB_D = ' ' / Second component Mapping
-BEGAST_V= 'CmpMap ' / Compound Mapping
-NIN_I = 3 / Number of input coordinates
-NOUT_B = 2 / Number of output coordinates
-ISA_J = 'Mapping ' / Mapping between coordinate systems
-MAPA_E = ' ' / First component Mapping
-BEGAST_W= 'MatrixMap' / Matrix transformation
-NIN_J = 3 / Number of input coordinates
-INVERT_E= 0 / Mapping not inverted
-ISA_K = 'Mapping ' / Mapping between coordinate systems
-M0_B = 0.42556998 / Forward matrix value
-M1_B = 0.77373887 / Forward matrix value
-M2_A = 0.46927429 / Forward matrix value
-M3_A = -0.51977523 / Forward matrix value
-M4_A = 0.63350467 / Forward matrix value
-M5_A = -0.57315403 / Forward matrix value
-M6_A = -0.740759 / Forward matrix value
-M7_A = 0.0 / Forward matrix value
-M8_A = 0.67177087 / Forward matrix value
-FORM_B = 'Full ' / Matrix storage form
-ENDAST_Q= 'MatrixMap' / End of object definition
-MAPB_E = ' ' / Second component Mapping
-BEGAST_X= 'CmpMap ' / Compound Mapping
-NIN_K = 3 / Number of input coordinates
-NOUT_C = 2 / Number of output coordinates
-ISA_L = 'Mapping ' / Mapping between coordinate systems
-MAPA_F = ' ' / First component Mapping
-BEGAST_Y= 'SphMap ' / Cartesian to Spherical mapping
-NIN_L = 3 / Number of input coordinates
-NOUT_D = 2 / Number of output coordinates
-INVERT_F= 0 / Mapping not inverted
-ISA_M = 'Mapping ' / Mapping between coordinate systems
-UNTRD_B = 1 / All input vectors have unit length
-ENDAST_R= 'SphMap ' / End of object definition
-MAPB_F = ' ' / Second component Mapping
-BEGAST_Z= 'SlaMap ' / Conversion between sky coordinate systems
-NIN_M = 2 / Number of input coordinates
-ISA_N = 'Mapping ' / Mapping between coordinate systems
-NSLA_A = 1 / Number of conversion steps
-SLA1_A = 'FK45Z ' / FK4 to FK5 J2000.0 (no PM or parallax)
-SLA1A_A = 2002.3835 / Besselian epoch of FK4 coordinates
-ENDAST_S= 'SlaMap ' / End of object definition
-ENDAST_T= 'CmpMap ' / End of object definition
-ENDAST_U= 'CmpMap ' / End of object definition
-ENDAST_V= 'CmpMap ' / End of object definition
-ENDAST_W= 'CmpMap ' / End of object definition
-ENDAST_X= 'CmpMap ' / End of object definition
-ENDAST_Y= 'CmpMap ' / End of object definition
-MAP3_A = ' ' / Mapping between nodes 1 and 3
-BEGASTA_= 'UnitMap ' / Unit (null) Mapping
-NIN_N = 2 / Number of input coordinates
-ISA_O = 'Mapping ' / Mapping between coordinate systems
-ENDAST_Z= 'UnitMap ' / End of object definition
-MAP4_A = ' ' / Mapping between nodes 1 and 4
-BEGASTAA= 'WinMap ' / Map one window on to another
-NIN_O = 2 / Number of input coordinates
-ISA_P = 'Mapping ' / Mapping between coordinate systems
-SFT1_B = -129.5 / Shift for axis 1
-SFT2_B = -128.5 / Shift for axis 2
-ENDASTA_= 'WinMap ' / End of object definition
-MAP5_A = ' ' / Mapping between nodes 1 and 5
-BEGASTAB= 'WinMap ' / Map one window on to another
-NIN_P = 2 / Number of input coordinates
-ISA_Q = 'Mapping ' / Mapping between coordinate systems
-SFT1_C = 387.0 / Shift for axis 1
-SCL1_A = -3.0 / Scale factor for axis 1
-SFT2_C = -384.0 / Shift for axis 2
-SCL2_A = 3.0 / Scale factor for axis 2
-ENDASTAA= 'WinMap ' / End of object definition
-ENDASTAB= 'FrameSet' / End of object definition
-COMMENT AST ................................................................ AST
-COMMENT AST End of AST data for FrameSet object AST
-COMMENT AST ---------------------------------------------------------------- AST
diff --git a/ast/ast_tester/tnx.attr b/ast/ast_tester/tnx.attr
deleted file mode 100644
index e5498b5..0000000
--- a/ast/ast_tester/tnx.attr
+++ /dev/null
@@ -1 +0,0 @@
-Grid=1,textlabgap=0.1,border=0
diff --git a/ast/ast_tester/tnx.box b/ast/ast_tester/tnx.box
deleted file mode 100644
index f69daff..0000000
--- a/ast/ast_tester/tnx.box
+++ /dev/null
@@ -1 +0,0 @@
-0.0 0.0 2048.0 4096.0
diff --git a/ast/ast_tester/tnx.head b/ast/ast_tester/tnx.head
deleted file mode 100644
index 58c6aa0..0000000
--- a/ast/ast_tester/tnx.head
+++ /dev/null
@@ -1,180 +0,0 @@
-SIMPLE = T / Fits standard
-BITPIX = 16 / Bits per pixel
-NAXIS = 2 / Number of axes
-NAXIS1 = 2048 / Axis length
-NAXIS2 = 4096 / Axis length
-EXTEND = F / File may contain extensions
-ORIGIN = 'NOAO-IRAF FITS Image Kernel July 1999' / FITS file originator
-DATE = '2001-11-20T16:52:11' / Date FITS file was generated
-IRAF-TLM= '16:52:09 (20/11/2001)' / Time of last modification
-OBJECT = 'A576 R ' / Name of the object observed
-NEXTEND = 8 / Number of extensions
-FILENAME= 'obj214r ' / Original host filename
-OBSTYPE = 'object ' / Observation type
-EXPTIME = 350.000 / Exposure time (sec)
-DARKTIME= 351.888 / Dark time (sec)
-PREFLASH= 0.000000 / Preflash time (sec)
-RADECSYS= 'FK5 ' / Default coordinate system
-RA = '07:21:44.00 ' / RA of observation (hr)
-DEC = '55:53:16.99 ' / DEC of observation (deg)
-EQUINOX = 1.9998000490000E+03 / Equinox of coordinate system
-
-TIMESYS = 'UTC approximate' / Time system
-DATE-OBS= '1999-10-09' / Date of observation start (UTC approximate)
-TIME-OBS= '12:08:33.0' / Time of observation start
-MJD-OBS = 51460.50593750 / MJD of observation start
-MJDHDR = 51460.50591435 / MJD of header creation
-LSTHDR = '05:52:50.00 ' / LST of header creation
-
-OBSERVAT= 'KPNO ' / Observatory
-TELESCOP= 'KPNO 0.9 meter telescope' / Telescope
-ZD = 2.8469999000000E+01 / Zenith distance
-AIRMASS = 1.1400000000000E+00 / Airmass
-TELFOCUS= 4414 / Telescope focus
-CORRCTOR= 'KPNO 0.9m Corrector' / Corrector Identification
-ADC = 'none ' / ADC Identification
-
-DETECTOR= 'CCDMosaThin1' / Detector
-DETSIZE = '[1:8176,1:8192]' / Detector size for DETSEC
-NCCDS = 8 / Number of CCDs
-NAMPS = 8 / Number of Amplifiers
-PIXSIZE1= 15. / Pixel size for axis 1 (microns)
-PIXSIZE2= 15. / Pixel size for axis 2 (microns)
-PIXSCAL1= 0.423 / Pixel scale for axis 1 (arcsec/pixel)
-PIXSCAL2= 0.423 / Pixel scale for axis 2 (arcsec/pixel)
-RAPANGL = 0. / Position angle of RA axis (deg)
-DECPANGL= 270. / Position angle of DEC axis (deg)
-FILPOS = 4 / Filter position
-FILTER = 'R ' / Filter name(s)
-SHUTSTAT= 'guide ' / Shutter status
-TV1FOC = -5.9600000000000E-01 / North TV Camera focus position
-TV2FOC = -1.6230000000000E+00 / South Camera focus position
-ENVTEM = 1.7299999000000E+01 / Ambient temperature (C)
-DEWAR = 'CCDMosaThin1 Dewar' / Dewar identification
-DEWTEM1 = -1.7060000600000E+02 / Dewar temperature (C)
-DEWTEM2 = -4.7000000000000E+00 / Fill Neck temperature (C)
-CCDTEM = -9.5000000000000E+01 / CCD temperature (C)
-
-CONTROLR= 'Mosaic Arcon' / Controller identification
-CONSWV = '2.000 13Feb96 (add mode and group to hdrs)' / Controller softwar
-AMPINTEG= 3000 / (ns) Double Correlated Sample time
-READTIME= 13200 / (ns) unbinned pixel read time
-ARCONWD = 'Obs Thu Aug 19 10:45:52 1999' / Date waveforms last compiled
-ARCONWM = 'OverlapXmit EarlyReset SplitShift ' / Waveform mode switches on
-ARCONGI = 1 / Gain selection (index into Gain Table)
-
-OBSERVER= 'G.Wegner,M.Hudson' / Observer(s)
-PROPOSER= '<unknown>' / Proposer(s)
-PROPOSAL= '<unknown>' / Proposal title
-PROPID = '99B-0020' / Proposal identification
-OBSID = 'kp09m.19991009T120833' / Observation ID
-
-IMAGESWV= 'mosdca (Aug99), CCDMosaThin1V8.tcl (Aug99)' / Image creation software
-KWDICT = 'MosaicV1.dic (Sep97)' / Keyword dictionary
-
-CHECKSUM= '<unknown>' / Header checksum
-DATASUM = '<unknown>' / Data checksum
-CHECKVER= '<unknown>' / Checksum version
-RECNO = 0 / NOAO archive sequence number
-IMAGEID = 5 / Image identification
-
-TELRA = '07:21:44.00 ' / RA of observation (hr)
-TELDEC = '55:53:16.99 ' / DEC of observation (deg)
-TELEQUIN= 1.9998000490000E+03 / Equinox of coordinate system
-TELRADEC= 'FK5 ' / Default coordinate system
-
-CCDNAME = 'SITe #7061FBR03-02 (NOAO 02)' / CCD name
-AMPNAME = 'SITe #7061FBR03-02 (NOAO 02), upper left (Amp321)' / Amplifier name
-GAIN = 2.3 / gain for amp 321 (e-/ADU)
-RDNOISE = 9.5 / read noise for amp 321 (e-)
-SATURATE= 22000 / Maximum good data value (ADU)
-CONHWV = 'ACEB003_AMP21' / Controller hardware version
-ARCONG = 2.3 / gain expected for amp 321 (e-/ADU)
-ARCONRN = 5.1 / read noise expected for amp 321 (e-)
-BPM = 'mscdb$noao/CCDMosaThin1/bpm_im5' / Bad pixel mask
-CCDSIZE = '[1:2048,1:4096]' / CCD size
-CCDSUM = '1 1 ' / CCD pixel summing
-CCDSEC = '[1:2048,1:4096]' / CCD section
-AMPSEC = '[1:2048,4096:1]' / Amplifier section
-DETSEC = '[1:2048,4097:8192]' / Detector section
-
-ATM1_1 = 1. / CCD to amplifier transformation
-ATM2_2 = -1. / CCD to amplifier transformation
-ATV1 = 0. / CCD to amplifier transformation
-ATV2 = 4097. / CCD to amplifier transformation
-LTM1_1 = 1.0 / CCD to image transformation
-LTM2_2 = 1.0 / CCD to image transformation
-DTM1_1 = 1. / CCD to detector transformation
-DTM2_2 = 1. / CCD to detector transformation
-DTV1 = 0. / CCD to detector transformation
-DTV2 = 4096. / CCD to detector transformation
-
-WCSASTRM= 'kp09m.19980909T031418 (Tr 37 V Mosaic) by L. Davis 1998-09-09' / WCS
-WCSDIM = 2 / WCS dimensionality
-CTYPE1 = 'RA---TNX' / Coordinate type
-CTYPE2 = 'DEC--TNX' / Coordinate type
-CRVAL1 = 110.52095558563 / Coordinate reference value
-CRVAL2 = 55.842849490386 / Coordinate reference value
-CRPIX1 = 4189.77390083542 / Coordinate reference pixel
-CRPIX2 = -30.0894072403876 / Coordinate reference pixel
-CD1_1 = -7.5733524638274E-7 / Coordinate matrix
-CD2_1 = -1.1748235187739E-4 / Coordinate matrix
-CD1_2 = 1.17677003379415E-4 / Coordinate matrix
-CD2_2 = -1.2623022560872E-6 / Coordinate matrix
-WAT0_001= 'system=image' / Coordinate system
-WAT1_001= 'wtype=tnx axtype=ra lngcor = "3. 4. 4. 2. 0.005280549145776419 0.488'
-WAT1_002= '7181432338267 0.2464122630921897 0.4920677651238937 -0.23529018838'
-WAT1_003= '0298 0.004720134828570101 -0.001121960789613695 -0.01414958280730338'
-WAT1_004= ' 0.01246754057675834 1.048124909467771E-4 0.007168575568475281 -0.02'
-WAT1_005= '778217836490202 -0.01675668830707639 0.02500648596542957 "'
-WAT2_001= 'wtype=tnx axtype=dec latcor = "3. 4. 4. 2. 0.005280549145776419 0.48'
-WAT2_002= '87181432338267 0.2464122630921897 0.4920677651238937 0.1531926820'
-WAT2_003= '595278 -0.002539369349529043 6.454692689700324E-4 4.863689582871599E-'
-WAT2_004= '4 0.003549715563706861 -0.002061136945766966 -0.01644646641299351 0.'
-WAT2_005= '009061645978984397 0.005570842598401512 -0.02240395721775152 "'
-XTALKCOR= '03-Oct-2000 21:33:16 No crosstalk correction'
-TRIM = 'Oct 3 21:34 Trim is [1:2048,1:4096]'
-FIXPIX = 'Oct 3 21:35 Pixel mask is mscdb$noao/CCDMosaThin1/bpm_im5'
-OVERSCAN= 'Oct 3 21:34 Overscan is [2063:2112,1:4096], mean 993.5216'
-ZEROCOR = 'Oct 3 21:35 Zero is Zeromed[im5]'
-FLATCOR = 'Oct 3 21:35 Flat is FlatR.fits[im5], scale 5081.475'
-CCDMEAN = 255.7904
-CCDMEANT= 655076137
-CCDPROC = 'Oct 3 21:35 CCD processing done'
-CHIPNUM = 5
-FZEROPT = 22.040344
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-END
diff --git a/ast/ast_tester/tsc.attr b/ast/ast_tester/tsc.attr
deleted file mode 100644
index 496403c..0000000
--- a/ast/ast_tester/tsc.attr
+++ /dev/null
@@ -1 +0,0 @@
-border=1
diff --git a/ast/ast_tester/tsc.box b/ast/ast_tester/tsc.box
deleted file mode 100644
index 45cc65e..0000000
--- a/ast/ast_tester/tsc.box
+++ /dev/null
@@ -1 +0,0 @@
-1 1 1600 1600
diff --git a/ast/ast_tester/tsc.head b/ast/ast_tester/tsc.head
deleted file mode 100644
index e41aefb..0000000
--- a/ast/ast_tester/tsc.head
+++ /dev/null
@@ -1,116 +0,0 @@
-SIMPLE = T
-BITPIX = -32 / IEEE (big-endian) 32-bit floating point data
-NAXIS = 2
-NAXIS1 = 1600
-NAXIS2 = 1600
-BUNIT = 'JY/BEAM '
-CTYPE1 = 'RA---TSC'
-CRPIX1 = 1000
-CDELT1 = -3.666666666667E-01
-CRVAL1 = 0.000000000000E+00
-CTYPE2 = 'DEC--TSC'
-CRPIX2 = 800
-CDELT2 = 3.666666666667E-01
-CRVAL2 = -9.000000000000E+01
-LONPOLE = 1.800000000000E+02 / Native longitude of celestial pole
-LATPOLE = 0.000000000000E+00 / Native latitude of celestial pole
-EQUINOX = 2.000000000000E+03 / Equinox of equatorial coordinates
-BMAJ = 2.399999936422E-01 / Beam major axis in degrees
-BMIN = 2.399999936422E-01 / Beam minor axis in degrees
-BPA = 0.000000000000E+00 / Beam position angle in degrees
-RESTFREQ= 1.420405750000E+09 / Line rest frequency, Hz
-HISTORY Parkes Multibeam continuum map
-HISTORY Formed on Mon 2004/02/09 02:23:02 GMT by "pksgridzilla" which was
-HISTORY compiled on Feb 9 2004 12:08:02 (local time) within
-HISTORY AIPS++ version 19.405.00 dated .
-HISTORY Polarization mode: A and B aggregated
-HISTORY Gridding parameters:
-HISTORY Method: WGTMED
-HISTORY Clip fraction: 0.000
-HISTORY Tsys weighting: applied
-HISTORY Beam weight order: 1
-HISTORY Beam FWHM: 14.4 arcmin
-HISTORY Beam normalization: applied
-HISTORY Smoothing kernel type: TOP-HAT
-HISTORY Kernel FWHM: 12.0 arcmin
-HISTORY Cutoff radius: 6.0 arcmin
-HISTORY Beam RSS cutoff: 0.0
-HISTORY Input data sets:
-HISTORY 97-10-09_0356_193558-66_206a.sdfits
-HISTORY 97-10-12_0142_182123-66_193a.sdfits
-HISTORY 97-10-12_0151_182707-66_194a.sdfits
-HISTORY 97-10-12_0200_183252-66_195a.sdfits
-HISTORY 97-11-07_0510_183836-66_196a.sdfits
-HISTORY 97-11-07_0519_184420-66_197a.sdfits
-HISTORY 97-11-07_0528_185004-66_198a.sdfits
-HISTORY 97-11-07_0537_185548-66_199a.sdfits
-HISTORY 97-11-07_0546_190132-66_200a.sdfits
-HISTORY 97-11-07_0556_190717-66_201a.sdfits
-HISTORY 97-11-07_0645_191301-66_202a.sdfits
-HISTORY 97-11-07_0654_191845-66_203a.sdfits
-HISTORY 97-11-07_0703_192429-66_204a.sdfits
-HISTORY 97-11-07_0712_193013-66_205a.sdfits
-HISTORY 97-11-07_0724_194142-66_207a.sdfits
-HISTORY 97-11-18_0256_193815-66_206c.sdfits
-HISTORY 97-11-18_0306_194359-66_207c.sdfits
-HISTORY 97-11-19_0447_182341-66_193c.sdfits
-HISTORY 97-11-19_0456_182925-66_194c.sdfits
-HISTORY 97-11-19_0507_190350-66_200c.sdfits
-HISTORY 97-11-19_0516_190934-66_201c.sdfits
-HISTORY 97-11-19_0525_191519-66_202c.sdfits
-HISTORY 97-11-19_0534_192103-66_203c.sdfits
-HISTORY 97-11-19_0544_192647-66_204c.sdfits
-HISTORY 97-11-19_0553_193231-66_205c.sdfits
-HISTORY 97-11-19_0602_183509-66_195c.sdfits
-HISTORY 97-11-19_0612_184053-66_196c.sdfits
-HISTORY 97-11-19_0622_184638-66_197c.sdfits
-HISTORY 97-11-19_0631_185222-66_198c.sdfits
-HISTORY 97-11-19_0640_185806-66_199c.sdfits
-HISTORY 98-03-24_2107_193706-66_206b.sdfits
-HISTORY 98-03-24_2116_194251-66_207b.sdfits
-HISTORY 98-03-25_2020_190826-66_201b.sdfits
-HISTORY 98-03-25_2029_191410-66_202b.sdfits
-HISTORY 98-03-25_2038_191954-66_203b.sdfits
-HISTORY 98-03-25_2047_192538-66_204b.sdfits
-HISTORY 98-03-25_2056_193122-66_205b.sdfits
-HISTORY 98-03-26_2048_190459-66_200d.sdfits
-HISTORY 98-03-27_2034_191627-66_202d.sdfits
-HISTORY 98-03-27_2043_192212-66_203d.sdfits
-HISTORY 98-03-27_2052_192756-66_204d.sdfits
-HISTORY 98-03-27_2102_193340-66_205d.sdfits
-HISTORY 98-03-27_2111_193924-66_206d.sdfits
-HISTORY 98-03-27_2120_194508-66_207d.sdfits
-HISTORY 98-03-27_2130_191043-66_201d.sdfits
-HISTORY 98-05-10_2123_182232-66_193b.sdfits
-HISTORY 98-05-10_2133_182816-66_194b.sdfits
-HISTORY 98-05-10_2142_183400-66_195b.sdfits
-HISTORY 98-05-10_2151_183945-66_196b.sdfits
-HISTORY 98-05-10_2200_184529-66_197b.sdfits
-HISTORY 98-05-10_2209_185113-66_198b.sdfits
-HISTORY 98-05-10_2219_185657-66_199b.sdfits
-HISTORY 98-05-10_2228_190241-66_200b.sdfits
-HISTORY 98-05-13_2132_182450-66_193d.sdfits
-HISTORY 98-05-13_2151_183034-66_194d.sdfits
-HISTORY 98-05-13_2200_183618-66_195d.sdfits
-HISTORY 98-05-13_2210_184202-66_196d.sdfits
-HISTORY 98-05-13_2219_184746-66_197d.sdfits
-HISTORY 98-05-13_2228_185331-66_198d.sdfits
-HISTORY 98-05-13_2237_185915-66_199d.sdfits
-HISTORY 98-05-25_1711_182559-66_193e.sdfits
-HISTORY 98-05-25_1720_183143-66_194e.sdfits
-HISTORY 98-05-25_1729_183727-66_195e.sdfits
-HISTORY 98-05-25_1738_184311-66_196e.sdfits
-HISTORY 98-05-25_1747_184855-66_197e.sdfits
-HISTORY 98-05-25_1756_185439-66_198e.sdfits
-HISTORY 98-05-25_1806_190024-66_199e.sdfits
-HISTORY 98-05-25_1815_190608-66_200e.sdfits
-HISTORY 98-05-25_1824_191152-66_201e.sdfits
-HISTORY 98-05-25_1833_191736-66_202e.sdfits
-HISTORY 98-05-25_1842_192320-66_203e.sdfits
-HISTORY 98-05-25_1851_192905-66_204e.sdfits
-HISTORY 98-05-25_1901_193449-66_205e.sdfits
-HISTORY 98-05-25_1910_194033-66_206e.sdfits
-HISTORY 98-05-25_1919_194617-66_207e.sdfits
-HISTORY Original FITS filename "1904-66_TSC.continuum.fits".
-HISTORY Noise level of continuum map: 61 mJy (RMS)
-END
diff --git a/ast/ast_tester/wcsconverter.f b/ast/ast_tester/wcsconverter.f
deleted file mode 100644
index 9af2e30..0000000
--- a/ast/ast_tester/wcsconverter.f
+++ /dev/null
@@ -1,222 +0,0 @@
- PROGRAM WCSCONVERTER
-
-* Usage:
-* WCSCONVERTER <in file> <encoding> <out file> <attrs>
-
-* Description:
-* Reads a FrameSet from "in file" (as a FITS header if possible,
-* otherwise as an AST dump of a FrameSet), and writes out the
-* FrameSet to "out file" using the specified encoding.
-
-* Parameters:
-* in file
-* A text file containing fits headers or an AST dump of a FrameSet.
-* encoding
-* The name of a FITS encoding (e.g. "FITS-WCS", "NATIVE", etc), or
-* "AST".
-* out file
-* The output file. Contains an AST dump of the FrameSet if
-* "encoding" is "AST", or a set of FITS header cards otherwise.
-* attrs
-* A list of attribute settings to apply to the FitsChan before
-* reading the input headers.
-
-
- IMPLICIT NONE
- INCLUDE 'AST_PAR'
- EXTERNAL SOURCE, SINK
-
- INTEGER STATUS, FC, OBJECT, IARGC, CHAN, CHR_LEN, OC
- CHARACTER FILE*80, OFILE*80, LINE*255, ENCODING*50
- CHARACTER ATTRS*200
- LOGICAL CDM
-
- STATUS = 0
-*
-* Check command line arguments have been supplied.
-*
- IF( IARGC() .LT. 3 ) THEN
- WRITE(*,*) 'Usage: wcsconverter <in file> <encoding> '//
- : '<out file> <attrs>'
- RETURN
- END IF
-
-*
-* Use object caching to minimise allocation of new memory
-*
- OC = AST_TUNE( 'ObjectCaching', 1, STATUS )
- IF( OC .NE. 0 ) THEN
- WRITE(*,'(A,I6)') 'Default ObjectCaching VALUE is ',OC
- END IF
-
- IF( AST_TUNE( 'ObjectCaching', AST__TUNULL, STATUS ) .NE. 1 ) THEN
- WRITE(*,'(A,I6)') 'Set ObjectCaching VALUE is ',OC
- END IF
-
-*
-* Create a FitsChan to store the FITS headers.
-*
- FC = AST_FITSCHAN( AST_NULL, AST_NULL, ' ', STATUS )
-
-*
-* Apply any attribute settings to the FitsChan.
-*
- IF( IARGC() .EQ. 4 ) THEN
- CALL GETARG( 4, ATTRS )
- CALL AST_SET( FC, ATTRS, STATUS )
- ELSE
- ATTRS = ' '
- END IF
-
-*
-* Open the input text file.
-*
- CALL GETARG( 1, FILE )
- OPEN( UNIT=10, FILE=FILE, STATUS='OLD' )
-
-*
-* Read each line out of the text file and store it in the FitsChan.
-*
- CALL ERR_MARK
- DO WHILE( .TRUE. )
- READ( 10, '(A)', END = 10 ) LINE
- CALL AST_PUTFITS( FC, LINE, 0, STATUS )
- END DO
-
- 10 CLOSE( 10 )
-
-*
-* Set the value of CDMatrix, unless it has already been set.
-*
- IF( .NOT. AST_TEST( FC, 'CDMATRIX', STATUS ) ) THEN
- CDM = AST_GETL( FC, 'CDMATRIX', STATUS )
- CALL AST_SETL( FC, 'CDMATRIX', CDM, status )
- END IF
-
-*
-* Attempt to read an Object form the FitsChan.
-*
- CALL AST_CLEAR( FC, 'CARD', STATUS )
- OBJECT = AST_READ( FC, STATUS )
-
- IF( STATUS .NE. 0 ) CALL ERR_ANNUL( STATUS )
- CALL ERR_RLSE
-
-* If no object was read, attempt to read an object from the text file as
-* an AST dump.
- IF( OBJECT .EQ. AST__NULL ) THEN
- CALL AST_ANNUL( FC, STATUS )
- OPEN( UNIT=10, FILE=FILE, STATUS='OLD' )
- CHAN = AST_CHANNEL( SOURCE, AST_NULL, ' ', STATUS )
- OBJECT = AST_READ( CHAN, STATUS )
- CALL AST_ANNUL( CHAN, STATUS )
- CLOSE( 10 )
- END IF
-
-*
-* Abort if no object was read.
-*
- IF( OBJECT .EQ. AST__NULL ) THEN
- WRITE(*,*) 'wcsconverter: no WCS could be read from ',
- : file( : chr_len( file ) )
- RETURN
-
-
-*
-* Otherwise write out the object using the specified encoding.
-*
- ELSE
- CALL GETARG( 3, OFILE )
- CALL DELETEFILE( OFILE )
-
- CALL GETARG( 2, ENCODING )
- IF( ENCODING .EQ. 'AST' .OR. ENCODING .EQ. 'ast' ) THEN
- OPEN( UNIT=10, FILE=OFILE, STATUS='NEW' )
- CHAN = AST_CHANNEL( AST_NULL, SINK, ' ', STATUS )
- IF( AST_WRITE( CHAN, OBJECT, STATUS ) .NE. 1 ) THEN
- WRITE(*,*) 'wcsconverter: WCS read from ',
- : file( : chr_len( file ) ),' could not be '//
- : 'converted to ',
- : encoding( : chr_len(encoding ) ),' format.'
- END IF
- CALL AST_ANNUL( CHAN, STATUS )
- CLOSE( 10 )
-
- ELSE
- OPEN( UNIT=10, FILE=OFILE, STATUS='NEW' )
- IF( FC .EQ. AST__NULL ) THEN
- FC = AST_FITSCHAN( AST_NULL, AST_NULL, ATTRS, STATUS )
- END IF
- CALL AST_SETC( FC, 'ENCODING', ENCODING, STATUS )
- CALL AST_CLEAR( FC, 'CARD', STATUS )
-
- IF( AST_WRITE( FC, OBJECT, STATUS ) .NE. 1 ) THEN
- WRITE(*,*) 'wcsconverter: WCS read from ',
- : file( : chr_len( file ) ),' could not be '//
- : 'converted to ',
- : encoding( : chr_len(encoding ) ),' format.'
- ELSE
- CALL AST_CLEAR( FC, 'CARD', STATUS )
- DO WHILE( AST_FINDFITS( FC, '%f', LINE, .TRUE.,
- : STATUS ) )
- WRITE(10,'(A)') LINE( : 80 )
- END DO
- END IF
- CLOSE( 10 )
-
- CALL AST_ANNUL( FC, STATUS )
-
-
- END IF
- CALL AST_ANNUL( OBJECT, STATUS )
- END IF
-
-
- END
-
-
-*
-* Delete a file if it exists.
-*
- SUBROUTINE DELETEFILE( FILNAM )
- IMPLICIT NONE
-
- CHARACTER FILNAM*(*)
- LOGICAL EXISTS
-
- INQUIRE ( FILE = FILNAM,
- : EXIST = EXISTS )
-
- IF( EXISTS ) THEN
- OPEN ( UNIT=10, FILE=FILNAM, STATUS='OLD' )
- CLOSE ( 10, STATUS='DELETE' )
- END IF
-
- END
-
-
-*
-* SOURCE FUNCTION FOR AST_CHANNEL.
-*
- SUBROUTINE SOURCE( STATUS )
- IMPLICIT NONE
- INTEGER STATUS
- CHARACTER BUFFER*200
- READ( 10, '(A)', END=99 ) BUFFER
- CALL AST_PUTLINE( BUFFER, LEN( BUFFER ), STATUS )
- RETURN
- 99 CALL AST_PUTLINE( BUFFER, -1, STATUS )
- END
-
-*
-* SINK FUNCTION FOR AST_CHANNEL.
-*
- SUBROUTINE SINK( STATUS )
- IMPLICIT NONE
- INTEGER STATUS, L
- CHARACTER BUFFER*200
-
- CALL AST_GETLINE( BUFFER, L, STATUS )
- IF( L .GT. 0 ) WRITE( 10, '(A)' ) BUFFER( : L )
-
- END
diff --git a/ast/ast_tester/zpn.attr b/ast/ast_tester/zpn.attr
deleted file mode 100644
index d74badf..0000000
--- a/ast/ast_tester/zpn.attr
+++ /dev/null
@@ -1 +0,0 @@
-tol=0.0001
diff --git a/ast/ast_tester/zpn.box b/ast/ast_tester/zpn.box
deleted file mode 100644
index ee14a3a..0000000
--- a/ast/ast_tester/zpn.box
+++ /dev/null
@@ -1 +0,0 @@
-1 1 200.0 200.0
diff --git a/ast/ast_tester/zpn.head b/ast/ast_tester/zpn.head
deleted file mode 100644
index a5e90af..0000000
--- a/ast/ast_tester/zpn.head
+++ /dev/null
@@ -1,136 +0,0 @@
-SIMPLE = T
-BITPIX = -32 / IEEE (big-endian) 32-bit floating point data
-NAXIS = 2
-NAXIS1 = 200
-NAXIS2 = 200
-BUNIT = 'JY/BEAM '
-CTYPE1 = 'RA---ZPN'
-CRPIX1 = 100
-CDELT1 = -6.666666666667E-02
-CRVAL1 = 0.000000000000E+00
-CTYPE2 = 'DEC--ZPN'
-CRPIX2 = 100
-CDELT2 = 6.666666666667E-02
-CRVAL2 = -9.000000000000E+01
-LONPOLE = 1.800000000000E+02 / Native longitude of celestial pole
-LATPOLE = -9.000000000000E+01 / Native latitude of celestial pole
-PV2_0 = 10.000000000000E-02 / Projection parameter 0
-PV2_1 = 9.750000000000E-01 / Projection parameter 1
-COMMENT PV2_2 = -8.070000000000E-01 / Projection parameter 2
-COMMENT PV2_3 = 3.370000000000E-01 / Projection parameter 3
-COMMENT PV2_4 = -6.500000000000E-02 / Projection parameter 4
-COMMENT PV2_5 = 1.000000000000E-02 / Projection parameter 5
-COMMENT PV2_6 = 3.000000000000E-03 / Projection parameter 6
-COMMENT PV2_7 = -1.000000000000E-03 / Projection parameter 7
-COMMENT PV2_8 = 0.000000000000E+00 / Projection parameter 8
-COMMENT PV2_9 = 0.000000000000E+00 / Projection parameter 9
-COMMENT PV2_10 = 0.000000000000E+00 / Projection parameter 10
-COMMENT PV2_11 = 0.000000000000E+00 / Projection parameter 11
-COMMENT PV2_12 = 0.000000000000E+00 / Projection parameter 12
-COMMENT PV2_13 = 0.000000000000E+00 / Projection parameter 13
-COMMENT PV2_14 = 0.000000000000E+00 / Projection parameter 14
-COMMENT PV2_15 = 0.000000000000E+00 / Projection parameter 15
-COMMENT PV2_16 = 0.000000000000E+00 / Projection parameter 16
-COMMENT PV2_17 = 0.000000000000E+00 / Projection parameter 17
-COMMENT PV2_18 = 0.000000000000E+00 / Projection parameter 18
-COMMENT PV2_19 = 0.000000000000E+00 / Projection parameter 19
-EQUINOX = 2.000000000000E+03 / Equinox of equatorial coordinates
-BMAJ = 2.399999936422E-01 / Beam major axis in degrees
-BMIN = 2.399999936422E-01 / Beam minor axis in degrees
-BPA = 0.000000000000E+00 / Beam position angle in degrees
-RESTFREQ= 1.420405750000E+09 / Line rest frequency, Hz
-HISTORY Parkes Multibeam continuum map
-HISTORY Formed on Mon 2004/02/09 01:38:20 GMT by "pksgridzilla" which was
-HISTORY compiled on Feb 9 2004 12:08:02 (local time) within
-HISTORY AIPS++ version 19.405.00 dated .
-HISTORY Polarization mode: A and B aggregated
-HISTORY Gridding parameters:
-HISTORY Method: WGTMED
-HISTORY Clip fraction: 0.000
-HISTORY Tsys weighting: applied
-HISTORY Beam weight order: 1
-HISTORY Beam FWHM: 14.4 arcmin
-HISTORY Beam normalization: applied
-HISTORY Smoothing kernel type: TOP-HAT
-HISTORY Kernel FWHM: 12.0 arcmin
-HISTORY Cutoff radius: 6.0 arcmin
-HISTORY Beam RSS cutoff: 0.0
-HISTORY Input data sets:
-HISTORY 97-10-09_0356_193558-66_206a.sdfits
-HISTORY 97-10-12_0142_182123-66_193a.sdfits
-HISTORY 97-10-12_0151_182707-66_194a.sdfits
-HISTORY 97-10-12_0200_183252-66_195a.sdfits
-HISTORY 97-11-07_0510_183836-66_196a.sdfits
-HISTORY 97-11-07_0519_184420-66_197a.sdfits
-HISTORY 97-11-07_0528_185004-66_198a.sdfits
-HISTORY 97-11-07_0537_185548-66_199a.sdfits
-HISTORY 97-11-07_0546_190132-66_200a.sdfits
-HISTORY 97-11-07_0556_190717-66_201a.sdfits
-HISTORY 97-11-07_0645_191301-66_202a.sdfits
-HISTORY 97-11-07_0654_191845-66_203a.sdfits
-HISTORY 97-11-07_0703_192429-66_204a.sdfits
-HISTORY 97-11-07_0712_193013-66_205a.sdfits
-HISTORY 97-11-07_0724_194142-66_207a.sdfits
-HISTORY 97-11-18_0256_193815-66_206c.sdfits
-HISTORY 97-11-18_0306_194359-66_207c.sdfits
-HISTORY 97-11-19_0447_182341-66_193c.sdfits
-HISTORY 97-11-19_0456_182925-66_194c.sdfits
-HISTORY 97-11-19_0507_190350-66_200c.sdfits
-HISTORY 97-11-19_0516_190934-66_201c.sdfits
-HISTORY 97-11-19_0525_191519-66_202c.sdfits
-HISTORY 97-11-19_0534_192103-66_203c.sdfits
-HISTORY 97-11-19_0544_192647-66_204c.sdfits
-HISTORY 97-11-19_0553_193231-66_205c.sdfits
-HISTORY 97-11-19_0602_183509-66_195c.sdfits
-HISTORY 97-11-19_0612_184053-66_196c.sdfits
-HISTORY 97-11-19_0622_184638-66_197c.sdfits
-HISTORY 97-11-19_0631_185222-66_198c.sdfits
-HISTORY 97-11-19_0640_185806-66_199c.sdfits
-HISTORY 98-03-24_2107_193706-66_206b.sdfits
-HISTORY 98-03-24_2116_194251-66_207b.sdfits
-HISTORY 98-03-25_2020_190826-66_201b.sdfits
-HISTORY 98-03-25_2029_191410-66_202b.sdfits
-HISTORY 98-03-25_2038_191954-66_203b.sdfits
-HISTORY 98-03-25_2047_192538-66_204b.sdfits
-HISTORY 98-03-25_2056_193122-66_205b.sdfits
-HISTORY 98-03-26_2048_190459-66_200d.sdfits
-HISTORY 98-03-27_2034_191627-66_202d.sdfits
-HISTORY 98-03-27_2043_192212-66_203d.sdfits
-HISTORY 98-03-27_2052_192756-66_204d.sdfits
-HISTORY 98-03-27_2102_193340-66_205d.sdfits
-HISTORY 98-03-27_2111_193924-66_206d.sdfits
-HISTORY 98-03-27_2120_194508-66_207d.sdfits
-HISTORY 98-03-27_2130_191043-66_201d.sdfits
-HISTORY 98-05-10_2123_182232-66_193b.sdfits
-HISTORY 98-05-10_2133_182816-66_194b.sdfits
-HISTORY 98-05-10_2142_183400-66_195b.sdfits
-HISTORY 98-05-10_2151_183945-66_196b.sdfits
-HISTORY 98-05-10_2200_184529-66_197b.sdfits
-HISTORY 98-05-10_2209_185113-66_198b.sdfits
-HISTORY 98-05-10_2219_185657-66_199b.sdfits
-HISTORY 98-05-10_2228_190241-66_200b.sdfits
-HISTORY 98-05-13_2132_182450-66_193d.sdfits
-HISTORY 98-05-13_2151_183034-66_194d.sdfits
-HISTORY 98-05-13_2200_183618-66_195d.sdfits
-HISTORY 98-05-13_2210_184202-66_196d.sdfits
-HISTORY 98-05-13_2219_184746-66_197d.sdfits
-HISTORY 98-05-13_2228_185331-66_198d.sdfits
-HISTORY 98-05-13_2237_185915-66_199d.sdfits
-HISTORY 98-05-25_1711_182559-66_193e.sdfits
-HISTORY 98-05-25_1720_183143-66_194e.sdfits
-HISTORY 98-05-25_1729_183727-66_195e.sdfits
-HISTORY 98-05-25_1738_184311-66_196e.sdfits
-HISTORY 98-05-25_1747_184855-66_197e.sdfits
-HISTORY 98-05-25_1756_185439-66_198e.sdfits
-HISTORY 98-05-25_1806_190024-66_199e.sdfits
-HISTORY 98-05-25_1815_190608-66_200e.sdfits
-HISTORY 98-05-25_1824_191152-66_201e.sdfits
-HISTORY 98-05-25_1833_191736-66_202e.sdfits
-HISTORY 98-05-25_1842_192320-66_203e.sdfits
-HISTORY 98-05-25_1851_192905-66_204e.sdfits
-HISTORY 98-05-25_1901_193449-66_205e.sdfits
-HISTORY 98-05-25_1910_194033-66_206e.sdfits
-HISTORY 98-05-25_1919_194617-66_207e.sdfits
-HISTORY Original FITS filename "1904-66_ZPN.continuum.fits".
-HISTORY Noise level of continuum map: 61 mJy (RMS)
-END
diff --git a/ast/ast_tester/zpx.attr b/ast/ast_tester/zpx.attr
deleted file mode 100644
index f073d5c..0000000
--- a/ast/ast_tester/zpx.attr
+++ /dev/null
@@ -1 +0,0 @@
-Grid=1,style(grid1)=2,size(textlab2)=2
diff --git a/ast/ast_tester/zpx.head b/ast/ast_tester/zpx.head
deleted file mode 100644
index a69353a..0000000
--- a/ast/ast_tester/zpx.head
+++ /dev/null
@@ -1,153 +0,0 @@
-SIMPLE = T / Fits standard
-BITPIX = 16 / Bits per pixel
-NAXIS = 2 / Number of axes
-NAXIS1 = 2048 / Axis length
-NAXIS2 = 4100 / Axis length
-BSCALE = 1.145669E0 / REAL = TAPE*BSCALE + BZERO
-BZERO = 3.793600E4 /
-EXTEND = F / File may contain extensions
-IRAF-TLM= '14:31:18 (18/05/1999)' / Time of last modification
-OBJECT = 'VIRGO311' /
-ORIGIN = 'KPNO-IRAF' /
-DATE = '19/05/99' /
-IRAFNAME= 'iraf3432b' / NAME OF IRAF IMAGE FILE
-IRAF-MAX= 7.546810E4 / DATA MAX
-IRAF-MIN= 4.038996E2 / DATA MIN
-IRAF-BPX= 64 / DATA BITS/PIXEL
-IRAFTYPE= 'DOUBLE ' / PIXEL TYPE
-ORIGIN = 'NOAO-IRAF FITS Image Kernel Aug 1 1997' / FITS file originator
-DATE = '18/05/99' / Date FITS file was generated
-RUN = 158500 / Run number
-SYSVER = 's7-1 ' / Version of observing system
-OBSERVAT= 'LAPALMA ' / Name of observatory (IRAF style)
-OBSTYPE = 'TARGET ' / Type of observation, eg. ARC
-IMAGETYP= 'TARGET ' / Type of observation, eg. ARC
-CTYPE1 = 'RA---ZPX' / Type of coordinate on axis 1
-CTYPE2 = 'DEC--ZPX' / Type of coordinate on axis 2
-CRPIX1 = -319.077517318151 / Reference pixel on axis 1
-CRPIX2 = 3035.64982635572 / Reference pixel on axis 2
-CRVAL1 = 187.8708 / Value at ref. pixel on axis 1
-CRVAL2 = 12.40001 / Value at ref. pixel on axis 2
-CD1_1 = -1.5845078730445E-6 / Transformation matrix
-CD1_2 = -9.2521190078722E-5 / Transformation matrix
-CD2_1 = -9.2538856101295E-5 / Transformation matrix
-CD2_2 = 1.63254208024377E-6 / Transformation matrix
-LATITUDE= 28.762000 / Telescope latitude (degrees), +28:45:43.2
-LONGITUD= 17.877639 / Telescope longitude (degrees), +17:52:39.5
-HEIGHT = 2348 / [m] Height above sea level.
-SLATEL = 'LPO2.5 ' / Telescope name known to SLALIB
-TELESCOP= 'INT ' / 2.5m Isaac Newton Telescope
-TELSTAT = 'GUIDING ' / Telescope status: TRACKING or GUIDING normally.
-RA = ' 12:31:28.998' / RA (187.8708261822271200 degrees)
-DEC = '+12:24:00.04' / DEC ( 12.4000109941873690 degrees)
-EQUINOX = '2000. ' / Equinox of coordinates
-RADECSYS= 'FK5 ' / mean place new (after the 1976 IAU) system
-XAPNOM = 0.0000000000 / nominal aperture in x (0.00 arcsec)
-YAPNOM = 0.0000000000 / nominal aperture in y (0.00 arcsec)
-XAPOFF = 0.0000000000 / total aperture offset in x (0.00 arcsec)
-YAPOFF = 0.0000000000 / total aperture offset in y (0.00 arcsec)
-MJD-OBS = 51277.9941545 / Modified Julian Date of midtime of observation
-JD = 2451278.4941545 / Julian Date of midtime of observation
-STSTART = ' 11:44:54.8' / Local sidereal time at start of observation
-ST = ' 11:44:54.8' / Local sidereal time at start of observation
-AZIMUTH = 148.155505 / Mean azimuth of observation (degrees)
-ZD = 18.907242 / Mean zenith-distance of observation (degrees)
-FSTATION= 'PRIME ' / Focal station of observation
-PLATESCA= 6.856013 / [d/m] Platescale ( 24.68arcsec/mm)
-TELFOCUS= 0.045998 / Telescope focus (metres)
-ROTTRACK= T / Rotator always tracks sky on equatorial mount
-ROTSKYPA= 179.899970 / Turntable position angle (degrees)
-PARANGLE= 331.834373 / Parallactic angle at observation midpoint
-VIGNETTE= F / Can we see out?
-DOMEAZ = 147.089879 / Mean dome azimuth during observation
-AIRMASS = 1.056698 / Effective mean airmass
-TEMPTUBE= 9.005279 / Truss Temperature (degrees Celsius)
-CAT-NAME= 'VIRGO311' / Target input-catalogue name
-CAT-RA = ' 12:31:29.000' / Target Right Ascension
-CAT-DEC = '+12:24:00.00' / Target Declination
-CAT-EQUI= 'J2000.00' / Equinox of target coordinates
-CAT-EPOC= 2000.00 / Target epoch of proper motions
-PM-RA = 0.000000 / Target proper-motion RA (sec time/year)
-PM-DEC = 0.000000 / Target proper-motion (sec arc/year)
-PARALLAX= 0.000000 / Target Parallax (arcsec)
-RADVEL = 0.000000 / Target radial velocity (km/s)
-RATRACK = 0.000000 / Differential-tracking rate RA (arcsec/sec)
-DECTRACK= 0.000000 / Differential-tracking rate Dec (arcsec/sec)
-INSTRUME= 'WFC ' / INT wide-field camera is in use.
-WFFPOS = 1 / Position-number of deployed filter
-WFFBAND = 'B ' / Waveband of filter
-WFFPSYS = 'Kitt Peak ' / Photometric system of filter
-WFFID = '210 ' / Unique identifier of filter
-SECPPIX = 0.333 / Arcseconds per pixel
-UTSTART = '23:45:20.1 ' / UTC of start of observation
-ELAPSED = 749.340 / Length of observation including pauses
-DARKTIME= 749.340 / Length of observation including pauses
-EXPOSED = 749.340 / Length of observation excluding pauses
-EXPTIME = 749.340 / Length of observation excluding pauses
-DATE-OBS= '1999-04-09 ' / UTC date start of observation
-DETECTOR= 'MOS1 ' / Name of the detector
-PREFLASH= 0.000 / Length of Preflash in seconds
-BUNIT = 'ADU ' / Unit of the array of image data
-GAIN = 2.900 / Electrons per ADU
-READNOIS= 12.000 / Readout noise in electrons per pix
-CCDSPEED= 'TURBO ' / Readout speed of the CCD
-CCDNCHIP= 1 / Number of CCDs in this head
-CCDCHIP = 1 / Head number of this CCD
-CCDTYPE = 'EEV42 ' / Type of CCD used in this detector
-CCDXSIZE= 2148 / X Size in pixels of digitised frame
-CCDYSIZE= 4128 / Y Size in pixels of digitised frame
-CCDXIMSI= 2048 / X Size of useful imaging area
-CCDYIMSI= 4100 / Y Size of useful imaging area
-CCDXIMST= 50 / X Start pixel of useful imaging area
-CCDYIMST= 0 / Y Start pixel of useful imaging area
-CCDWMODE= F / True is windows are enabled
-CCDWXO1 = 0 / Offset of window 1 in X
-CCDWYO1 = 0 / Offset of window 1 in Y
-CCDWXS1 = 0 / Size of window 1 in X
-CCDWYS1 = 0 / Size of window 1 in Y
-CCDWXO2 = 0 / Offset of window 2 in X
-CCDWYO2 = 0 / Offset of window 2 in Y
-CCDWXS2 = 0 / Size of window 2 in X
-CCDWYS2 = 0 / Size of window 2 in Y
-CCDWXO3 = 0 / Offset of window 3 in X
-CCDWYO3 = 0 / Offset of window 3 in Y
-CCDWXS3 = 0 / Size of window 3 in X
-CCDWYS3 = 0 / Size of window 3 in Y
-CCDWXO4 = 0 / Offset of window 4 in X
-CCDWYO4 = 0 / Offset of window 4 in Y
-CCDWXS4 = 0 / Size of window 4 in X
-CCDWYS4 = 0 / Size of window 4 in Y
-CCDXPIXE= 1.350000e-05 / Size in meters of the pixels, in X
-CCDYPIXE= 1.350000e-05 / Size in meters of the pixels, in Y
-CCDXBIN = 1 / Binning factor, in X
-CCDYBIN = 1 / Binning factor, in Y
-CCDSTEMP= 153 / Required temperature of CCD, in Kevlin
-CCDATEMP= 154 / Actual temperature of CCD, in Kevlin
-CHIPNAME= 'A5506-4 ' / Name of CCD chip
-DASCHAN = 1 / DAS channel
-WINSEC1 = '[0:0,0:0] ' / Readout window 1
-WINSEC2 = '[0:0,0:0] ' / Readout window 2
-WINSEC3 = '[0:0,0:0] ' / Readout window 3
-WINSEC4 = '[0:0,0:0] ' / Readout window 4
-HISTORY This is the end of the header written by the ING observing-system.
-WAT0_001= 'system=image'
-WAT1_001= 'wtype=zpx axtype=ra projp1=6.0 projp2=100.0 projp3=2059.8'
-WAT2_001= 'wtype=zpx axtype=dec projp1=1.0 projp3=-1000.8'
-WFCWCS = 'Done '
-IMDTOI = 'Done '
-WCSDIM = 2
-LTM1_1 = 1.
-LTM2_2 = 1.
-TRIM = 'May 18 13:12 Trim data section is [51:2098,1:4100]'
-BP-FLAG = 'May 18 13:12 Bad pixel file is /home/jrl/wfcred/stds/A5506-4.bad'
-BT-FLAG = 'May 18 13:12 Overscan section is [1:50,1:4128] with mean=1501.636'
-BI-FLAG = 'May 18 13:12 Zero level correction image is /data/cass03a/was/mframe'
-FF-FLAG = 'May 18 13:12 Flat field image is /data/cass03c/was/mframes/B_9269342'
-ILLUMCOR= 'May 18 13:12 Illumination image is tmpill.pl with scale=0.9314932'
-CCDSEC = '[51:2098,1:4100]'
-LTV1 = -50.
-CCDPROC = 'May 18 13:12 CCD processing done'
-XIRMS = 0.3418021
-ETARMS = 0.2019652
-WFCREDVR= 'v0.1 '
-END