#!/usr/local/bin/perl # # Send the output to a file in the directory /vaxdata/obsred/unswirf # # Michael Ashley / 02-Sep-1996 / UNSW # $controlling_sun = "aatssf"; printf "! Object Z Tim Cyl Per Rpt OffRA OffDEC\n"; ############################################## # Begin user configurable section # ############################################## # Edit the following to suit the observation $object = "M16_HH1"; $object = "BS2290_2.16"; $object = "N1365_2.16"; $object = "N5236_2.16"; $object = "PK358-00D2_2.12"; $object = "Argon_1.6519"; $object = "Krypton_2.3340"; $object = "Krypton_2.1165"; $object = "Krypton_near2.16"; $object = "Krypton_2.2485"; $object = "IC4406_2.12"; $object = "M17_2.12"; $object = "M17_2.16"; $object = "M17_2.25"; $object = "GC_Pos1A_2.12"; $object = "GC_Pos1A_2.25"; $object = "18134-1942_2.12"; $object = "18316_0602_2.12"; $object = "bs8477_2.12"; $object = "Krypton_2.1165"; $object = "Krypton_2.2485"; $object = "Krypton_2.16"; $object = "IC4406_2.16"; $object = "IC4406_2.12"; $object = "M17_2.12"; $object = "M17_2.25"; $object = "M17_2.16"; $object = "15278_2.12"; $object = "15278_2.16"; $object = "15278_2.25"; $object = "18316_0602_2.12"; $object = "GC_SGRA_2.16"; $object = "STD_2.25"; $object = "18316_0602_2.12"; $object = "GC_SGRA_2.16"; $object = "RCRA_2.16"; $object = "STD_2.16"; $object = "Krypton_2.1165"; $object = "Krypton_2.2485"; $object = "Krypton_2.16"; $object = "Krypton_2.1165"; $object = "IC4406_2.16"; $object = "rhooph_1_2.16"; $object = "bs6094_2.16"; $object = "snake_2.12"; $object = "snake_2.25"; $object = "snakeB_2.12"; $object = "ctb33__2.12b"; $object = "g349_2.12a"; $object = "n6334_SWA_2.12"; $object = "n6334_SWC_2.12"; $object = "Krypton_2.16"; $object = "Krypton_2.1165"; $object = "IC4406_2.12"; $object = "IC4406_2.16"; $object = "rhooph_2_2.16"; $object = "bs6094_2.16"; $object = "snakeB_2.12"; $object = "g349_2.12"; $object = "M17_2.12"; $object = "M17_2.25"; $object = "g349_2.25"; $object = "bs6441_2.25"; $object = "bs6441_2.12"; $object = "n6334_SWC_2.12"; $object = "gc_pos3a_2.12"; $object = "gc_pos4a_2.12"; $object = "rcra2_2.16"; $object = "Krypton_2.2485"; $object = "Krypton_2.1165"; $object = "IC4406_2.12"; $object = "IC4406_2.16"; $object = "15541d_212"; $object = "16158_2.12b"; $object = "18335_2.12"; $object = "tornado_212"; $object = "std_212"; $object = "6334swcii_212"; $object = "GCpos5a_212"; $object = "GCpos5a_212"; $object = "tornado_212c"; $object = "test"; $line_centre_z = -113; $time = 10; $cycles = 1; $period = 1; $repeat = 1; # Now specify the sequence of images # # ¶llel () - parallelises the Fabry-Perot # &go (z_offset, ra_offset, dec_offset) # &gonomove (z_offset)) # &sequence (number_of_images, delta_z, ra_offset, dec_offset); # &seqarc (number_of_images, delta_z); # &ossequence (number_of_images, delta_z, ra_offset, dec_offset, sky_offset_ra, sky_offset_dec); ¶llel (); &go (100, -15, 0); &go (100, 15, 0); &ossequence (5, 7, -15, 0, 300, 0); die; &go (100, 0, 0); &go (100, 300, 0); &ossequence (5, 7, 0, 0, 300, 0); die; &ossequence (15, 17, 15, 0, 0, -30); die; die; &go (0, 0, 0); &go (0, 300, 300); die; &seqarc (7, 7); die; &sequence (7, 7, 0, 0); die; &sequence (7, 7, 0, 0); &ossequence (5, 2, 0, 0, 100, 200); &go ( 100, 0, 0); &sequence (5, 7, -300, 0); &go ( 100, -300, 0); die; &go ( 0, -15, 0); &go ( +5, -15, 0); &go (+100, -15, 0); die; &go ( -5, +15, 0); &go ( 0, +15, 0); &go ( +5, +15, 0); &go (+100, +15, 0); ############################################## # End user configurable section # ############################################## sub sequence { local ($number, $delta, $ra, $dec) = @_; $offset = -$delta * int($number / 2.0); for ($i = 0; $i < $number; $i++) { &go ($offset, $ra, $dec); $offset += $delta; } } sub seqarc { local ($number, $delta) = @_; $offset = -$delta * int($number / 2.0); for ($i = 0; $i < $number; $i++) { &gonomove ($offset, $ra, $dec); $offset += $delta; } } sub ossequence { local ($number, $delta, $ra, $dec, $skyra, $skydec) = @_; $offset = -$delta * int($number / 2.0); for ($i = 0; $i < $number; $i++) { &go ($offset, $ra, $dec); &go ($offset, $ra+$skyra, $dec+$skydec); $offset += $delta; } } sub go { local ($offset, $ra, $dec) = @_; $z = $line_centre_z + $offset; $obj = $object . "_z" . $z; printf "%s##UNSWIRF %-25s %d %4d %3d %3d %3d %3d %3d\n", $controlling_sun, $obj, $z, $time, $cycles, $period, $repeat, $ra, $dec; } sub gonomove { local ($offset) = @_; $z = $line_centre_z + $offset; $obj = $object . "_z" . $z; printf "%s##UNSWIRF %-25s %d %4d %3d %3d %3d\n", $controlling_sun, $obj, $z, $time, $cycles, $period, $repeat; } sub parallel { if (!defined ($z)) { $z = $line_centre_z; } $xoff = 0.0; $yoff = 0.0; $xx = $xoff + 0.0052 * $z -465.0 +5-5+11-5-11.5+0.4+2.0-18.0-3.3-21.2+2.4+1.0; $yy = $yoff + 0.0043 * $z +506.0 +2-2-1+5+0.7-5.7-3.3-8.0+5.3+8.8-0.7+5.9; if ($xx < 0.0) { $xx -= 0.5; } else { $xx += 0.5; } $xx = int($xx); if ($yy < 0.0) { $yy -= 0.5; } else { $yy += 0.5; } $yy = int($yy); $zz = -0.087 *$xoff + 0.57*$yoff + $z; if ($zz < 0.0) { $zz -= 0.5; } else { $zz += 0.5; } $zz = int($zz); printf "%s##UNSWIRF SEND z\n", $controlling_sun; printf "%s##UNSWIRF SEND %d\n", $controlling_sun, $zz; printf "%s##UNSWIRF SEND x\n", $controlling_sun; printf "%s##UNSWIRF SEND %d\n", $controlling_sun, $xx; printf "%s##UNSWIRF SEND y\n", $controlling_sun; printf "%s##UNSWIRF SEND %d\n", $controlling_sun, $yy; # Note: you can't do it this way, due to a limitation of "unsw.icl" # printf "%s##UNSWIRF SEND \"z %d\"\n", $controlling_sun, $zz; # printf "%s##UNSWIRF SEND \"x %d\"\n", $controlling_sun, $xx; # printf "%s##UNSWIRF SEND \"y %d\"\n", $controlling_sun, $yy; }