Home
2dfdr Maintenance Guide - AAO - Anglo
Contents
1. The following example adds the constant 0 1 to the file im1024 sdf to give the output file junk sdf Arguments Struct FILES Struct DIRECTORY Char 17 data4 jab tests gl Struct NAME Char Hal Vaid 0 2774 s xe le ACCESS Char 5 READ PO Struct NAME Char iy gosse ACCESS Char 9 TEMPLATE TEMPLATE Char 4 HODIN SEQUENCE Sime L SEQUENCE 1 Struct METHOD Char isd CARSEREMEUZDSEG SS OBJECT Char Ay Viene ARGS SEIS whe OBJECT1 Char ray Wissen w CONSTANT Float 0 1 OPERATION Char Al Wee 16 of 42 5 The Clalib and Tdfred Class Libraries 5 1 Summary The data reduction class libraries consist of many Fortran subroutines that provide facilities for writing data reduction software The subroutines operate on Starlink standard NDF data structures The subroutines do not depend on any particular software environment and can be used in standalone Fortran programs though they can also be used effectively within the ADAM environment The library is written in portable Fortran 77 and currently exists in versions for SUN Solaris and Linux architectures The tdfred library is meant to provide functions specific to 2dfdr while the clalib functions provide data reduction functions for more general use In addition to 2dfdr the clalib library is used by the aaoplot application maintained by Jeremy Bailey The organisation of the libraries attempts to use object oriented
2. Enter device name READE AA UL DEVICE Set initial status value and start HDS STATUSE SATOR CALL HDS_START STATUS Create an empty argument structure CALL ARG_NEW ARGS STATUS Get NDE IDEON EENES CALL ARG PUTOC ARGS FILENAME FILE STATUS CALL CLA_NDF OBJECT READ ARGS STATUS Do the image display CALL ARG _PUTOC ARGS DEVICE DEVICE STATUS CALL ARG_PUTOL ARGS INTERACTIVE TRUE STATUS CALL CLA_2D OBJECT PLOT ARGS STATUS END To test this a NDF file is needed for example a file created with KAPPA or any other Starlink application that uses NDF NDF format files normally have extension SDF 18 of 42 The program will also work on FITS files since these will be converted on the fly to temporary NDF structures Run the program and it will prompt for the name of the file and then the display device name Give it the GNS name of the display device you want to use e g IKON or XWINDOWS This example gives an idea of the structure of a program using the class library Most of the work is done by the two CLA subroutines CLA NDF and CLA 2D It will be seen that both of these routines have the same calling sequence and this is a feature of all the subroutines in the class library The calling sequence is CALL CLA NDF OBJECT METHOD ARGS STATUS where O
3. Converted original document 2 June version from Latex to MS Word Previously did not have an ASD number or version number When changes were complete this became ACMM version 1 3 TJF Modified to describe use of acmmSystemBuild to do build RWH Bring up to current development Fix typos RWH Another iteration RWH Improve Execution Task section RWH More work on drcontrol and drexec sections 1 2dfdr Overview 2dfdr is the AAO s data reduction software for fibre feed Multi Object spectrographs It was originally written for the 2dF instrument but has been modified to support other similar instruments including 6dF Spiral and LDSS It is currently being modified to support the new AAOmega instrument 2dfdr uses several languages and tools to accomplish its function It uses the compiled languages Fortran C and C and the Tcl scripting language To provide the GUI it uses the Tk graphical interface development tool and the Tix set of user interface components that are built on Tk It also uses AAO s DRAMA distributed information system middleware for communication between tasks and the Starlink CNF and F77 Mixed Language Programming Fortran and C package 1 1 Glossary Term Description ACMM AAO s source code management system DRAMA AAO s distributed real time application programming environment middleware used by 2dfdr to support multitasking communications in portable way
4. value for DRCONTROL DIR must not exceed 40 characters Due to a problem in the Starlink libraries used by 2dfdr the Getting this wrong will cause the plotting facilities to fail 10 of 42 3 Testing 2dfdr There is a 2dF sample data set available which can be used to test the basic functionality of 2dfdr It can be found at ftp ftp aao gov au pub 2df sample_data tar Z It contains the following files 1 1may0001 sdf 11may0002 sdf 11may0003 sdf 1 1may0004 sdf 11may0005 sdf README To run 2dfdr on this dataset untar the data cd to the directory containing the data and type the following azcontrots The 2dfdr user interface and two plot windows should then appear Click the SkySub tab on the left section of the screen and select Throughput Calibration Method SKYFLUX COR In the automatic reduction section on the top right of the user interface click the Setup button and select OK in the dialog box which appears 2dfdr should then show 5 files in the automatic reduction box Click the Start button in the automatic reduction section and it will reduce the data going through the five files in turn using the default TRAM method To repeat the reduction exit from 2dfdr and type rm sredasdt tilmasdit And start drcontrol again This time select the Extract tab select Method FIT and turn on Subtract Scattered Light Click the SkySub tab and select Throughput Calibration Method SKYFLUX
5. COR Click Setup and Start as before The reduction proceeds as before but take a lot longer in this mode 11 of 42 4 The DRAMA Tasks drcontrol and drexec 4 1 Introduction The 2dF data reduction system makes use of two DRAMA tasks the user interface task drcontrol and the execution task drexec The drcontrol task does its work by requesting DRAMA actions from one or more execution tasks The drcontrol main program is written in C drcontrol also makes extensive use of Tcl Tk and the Tix widget set to provide a GUI The drexec main program is written in the C language while the actual data reduction algorithms are written in Fortran in the form of a class library see Sections 5 and 6 The drexec task is linked with the class library and calls the Fortran routines by making use of the Starlink CNFE F77 C language to Fortran language package described in SUN 209 In essence drexec provides a DRAMA interface to the Fortran class library interface described in the clalib and tdfred sections 4 2 drcontrol 39 The drcontrol task unit of work is the reduction of a single file A work unit is passed by the drcontrol task to the drexec task in the form of a single EXECUTE action The drexec task opens all files needed in the course of the reduction and closes all files when it is complete Notice drcontrol handles both NDF and FITS format files converting FITS to NDF format before passing them to drexec Only NDF f
6. FIBRE INFO List header information on a specific fibre D 28 Class MFSPIRAL Source file cla mfspiral f Base class MFIMAGE Class for multi fibre data frames from a SPIRAL type instrument Methods none D 29 Class MFSSKY Source file cla mfssky f Base class MFSPEC Class for extracted multi fibre sky spectra Methods REDUCE Reduce multi fibre sky spectra D 30 Class MESSPIRAL Source file cla mfsspiral f Base class MFSOBJECT Class for extracted multi fibre SPIRAL spectra Methods 40 of 42 PLOT Plot SPIRAL IFU data D 31 Class THPTCG Source file cla_thtpcg f Base class CALGRP Class for groups of fibre throughput functions in the form of reduced offset sky spectra Methods SELECT Select the best matching fibre throughput function from the group D 32 Class TLMAP Source file cla_tlmap f Base class 2D Class for tram line maps Methods SIMULATE Generate a simulated data frame D 33 Class TMCG Source file cla_tmcg f Base class CALGRP Class for groups of tram line maps Methods SELECT Select the best matching tram line map from the group D 34 Class WAVECG Source file cla_wavecg f Base class CALGRP Class for groups of wavelength calibration data i e reduced arc files Methods SELECT Select the best matching wavelength calibration file from the group Al of 42 42 of 42
7. class routine 4 3 4 Examples of EXECUTE argument structure This example structure executes the PLOT method on the file data4 jab tests im256 sdf to generate a false colour plot on device xwindows Arguments ytsbrat e te FILES Struct DIRECTORY Char 17 data4 jab tests PO Struct NAME Char LALO UTAS SoSe ACCESS Char POIR READH SEQUENCE Serde tN SEQUENCE 1 Struct OBJECT Char ESEON METHOD Char LSI VEPLOTH ARGS Severs DEVICE Char 9 xwindows INTERACTIVE Slots dt PLOTTYPE Char Pale COLlOuURS 14 of 42 The following example constructs a group object containing five files Arguments Sie re Wire FILES Seu Gt DIRECTORY Char La v PO SAETCIBICRE NAME Char ACCESS Char Pall Sie reine NAME Char ACCESS Char E SErUCE NAME Char ACCHSS Char BS Struct NAME Char ACCESS Char P4 SAETCIB ORE NAME Char ACCESS Char ES SEDUCE NAME Char ACCESS Char SEQUENCE Struct an SEQUENCE 1 SETGE METHOD Char OBJECT Char CLASS Char ARGS Struct FILENAME Char PERMANENT TANE NOBJECTS Time OBJECTI Char OBJECT2 Char OBJECT3 Char OBJECTA Char OBJECT5 Char 15 of 42 data4 jab tests eSt CTRES COTULITS 4 NEW Wy ae SCN 5 READ Ail Wires iskelag 5 READ Ty Wied SAEN 5 READ Wi aes eschew 5 READ AO TSE 5 READ 11 MAKE GROUP 4 Spo 6 GROUP 12 test group 5 4 SPIRI 4 hope 4 opu 4 wepa 4 SPSS
8. found CLA_GENER looks for a RUNCMD keyword name in the FITS header If this is found it is used to derive the object s class For example if the value of the RUNCMD header is RUN then the object s class is MFOBJECT If neither of the first two methods is successful CLASS GENER looks at the structure of the object to determine its class For example it looks at the dimensionality and the presence of extensions Thus an object with a GROUP extension is assigned to the GROUP class a 2 dimensional object with a polarimetry extension is assigned to the POL2D class etc 5 7 Groups of Objects It is frequently the case in data reduction systems that an operation needs to be applied to a group of objects rather than just to a single object For example if we are flat fielding CCD frames we will probably want to apply the flat field operation to all of the frames in a night s observation Other cases are when we are combining a series of identical exposures The GROUP class supports this type of operation A GROUP object can be created which consists of a group of individual NDFs and operations can then be carried out on the whole group as easily as on individual objects A GROUP object is an NDF that contains a GROUP extension The GROUP extension is a structure containing a list of references using the REF package described in SUN 31 to other NDF objects The use of references means that the NDFs forming the group can eithe
9. methods look after many little details that are often overlooked e Bad pixel handling NDFs may contain pixels which are flagged as bad and the arithmetic methods take note of these and automatically propagate them through the arithmetic operations e Variance propagation If the NDFs being operated on contain variance arrays these will also be processed on the assumption that the two operands are independent e Mismatched arrays If the two NDFs have different pixel index bounds then the operation will be performed on the overlapping region and the output NDF resized accordingly e Arithmetic Errors Errors such as overflow divide by zero etc will be handled by setting the corresponding pixel of the output array to the bad pixel flag Here is an example of a program that adds two files using the ARITHMETIC method PROGRAM ADD IMPLICIT NONE INCLUDE SAE_PAR Starlink constants CHARACTER 40 FILEI Input File name 1 CHARACTER 40 FILE2 Input File name 2 INTEGER OBJECT Identifier of 1st NDF object INTEGER OBJ2 Identifier of 2nd NDF object INTEGER ARGS Identifier of argument Structure INTEGER STATUS Status value Get name of file 1 PRINT Enter name of 1st file READ A FILE1L 2 of 42 Get name of file 2 PRINT Enter name of 2nd file READ 47 QN UP EEILE2 Set initial status value and start HDS STATUSE SA
10. presented so far we have always used a specific class routine to perform the operation However there are many cases where different classes may 23 of 42 perform the operation in different ways An example is the PLOT method which we have already come across in the 2D class There is also a PLOT method in the 1D class and in the POL2D class We can therefore make programs more general by first determining the class of the object and then call the appropriate CLA_ routine for that class This is a sufficiently common operation that a standard routine is provided This routine is CLA_GENER the generic class routine It has exactly the same calling sequence as any of the CLA_ routines but is not strictly a class To make our original IMDISP program more general we can simply replace the call to CLA_2D to a call to CLA GENER as follows CALL CLA_GENER OBJECT PLOT ARGS STATUS This will enable IMDISP to plot one dimensional data and polarization data as well as 2D images Moreover it means that in the future IMDISP will automatically acquire the ability to plot objects of any new class added to the class library provided the class has a PLOT method provided CLA_GENER determines the class of an object in one of three ways It first looks for the presence of an NDF_CLASS extension within the object If this is present the NAME component contained in this extension specifies the class name If no NDF_CLASS extension is
11. programming methodology and this is why they are referred to as class libraries It is not necessary to have any familiarity with object oriented programming in order to make use of the libraries A disadvantage to this organisation is linking is effectively done at execution time This means a missing function will not be noticed until an attempt to call it is made It also means that the usefulness of linking libraries is lost because all functions are loaded whether they are used or not This document is an introductory guide for programmers which explains how to use the clalib and tdfred libraries to write useful programs 5 2 Getting Started We start by presenting a simple example of a program using the clalib class library The example is an interactive image display program which displays an image on a display device and then puts up a cursor and enables a variety of operations including zooming panning plotting of cuts through the image etc The program is as follows 17 of 42 PROGRAM IMDISP IMPLICIT NONE INCLUDE SAE_PAR Starlink constants CHARACTER 40 FILE File name CHARACTER 40 DEVICE Display device name INTEGER OBJECT Identifier of NDF object INTEGER ARGS Identifier of argument Structure INTEGER STATUS Status value Get name of file from user PRINT Enter name of file to display READ AA EIE Get device name from user PRINT
12. the exact version of the C compiler and Fortran compiler DramaTcl The DRAMA Tel Interface DTCL This must be rebuilt against the version of the Tcl Tk being used aaoDramaTclUtil A set of AAO DRAMA Tel scripts clalib AAO data reduction Fortran class library nswc The public domain Naval Surface Warfare Center library of mathematical routines tdfred 2dF data reduction Fortran class library drexec The 2dfdr data reduction execution task drcontrol The 2dfdr data reduction control program This also contains the release script and run time start up scripts ASD107 Contains this document and the 2dfdr User Manual Nothing is actually built in this sub system 6 of 42 Sub systems marked with are the components of 2dfdr itself The remaining sub systems are dependencies 2 5 Future changes to build system This section notes intended future changes to the release and build procedure 2 5 1 2dfdr The build procedure needs to check the Tcl and Tk versions used are compatible with those used by Starlink This can be done in the post fetch or pre build hooks A way is needed to extract the acmmSystem files to allow a build without having access to the ACMM library A way is needed to extract the definitions needed to build the individual components the post build hook could extract the environment variable values into a file 2 5 0 DRA
13. ANGLO AUSTRALIAN OBSERVATORY AKC AAO Software Report 107 2dfdr Maintenance Guide Jeremy Bailey Tony Farrell Ron Heald 25 August 2005 2dfdr Maintenance Guide Contents 1 ZDFDR OVERVIEW 3 1 1 GLOSSARY ced tese gei ee QU uaa aee 3 2 BUILDING 2DEDR 4 2 1 PREREQOUISITES net eto a ere sU SES Tha eee eer Ure coe Roce 4 2 2 2DFDR BASIC BUILD PROCEDURE e ae ar er a EEEE EE E ETA ROKE r EAFA ETA 4 2 3 PARTIAL BUIEDS 5 ond eet A rete ie e adem teret et 5 2 4 THE SUBSYSTEMS eto HR ERAT ERE TEN NR eG 5 2 5 FUTURE CHANGES TO BUILD SYSTEM seseeeeseeeeeeeeeee nennen enne ennne terne entere enn 7 2 b DESAI ss e ose eU acie de HEMOS 7 Did D gt DRAMA serere hoher eberme Ur EP IE CPP TH S 7 2 6 e 26 1 Setting Up for ACMM uere ee ER ERRORI RR TRASS 7 2 0 2 J Using ACMM s ro e a vas ed oh das candy D RD REN ER E REA Mes 8 2 7 MODIFYING 2DFDR mu 27 JModifving ihe Archive uio oor eR e Rr Een EO odes 8 2 52 A Br nchingz daos etie eed aree restait ond lea e ot ue tad ors 8 2 7 3 Modifying the Readonly Version isd 2 8 BUID CONFIGURATION rS E E E ETS a 8 2 8 1 Setting Compiler Options osses 2u9 2 8 2 System Version Capture eese 29 2 9 VERSION NUMBER AND DATE essere eene nnne nnne nnne ener E AN Arora aans 9 2 10 RUNNING 2DFDR AFTER A BUILD sseseeeeeeeeheeennen nennen nennen nenn
14. BJECT is the NDF identifier of the object to be processed METHOD is a character string specifying the operation we want to carry out on the object ARGS is a structure containing the arguments which need to be supplied to carry out the operation STATUS is a status argument which follows the normal Starlink inherited STATUS convention STATUS should have the value SAI OK on entry or the routine will do nothing On exit the status will be SAI OK if no errors occurred but will be set to an appropriate error value if an error occurred Any errors will be reported using a call to ERR REP The use of the ARGS structure is probably the main difference from most Fortran subroutines It enables routines to be both simple to use as well as powerful and flexible It is normally necessary to specify very few arguments in order for the routine to do its job but there are often many more arguments which could be specified in order to provide finer control of the operation All these optional arguments will take suitable default values if not specified in the ARGS structure Before calling one of the CLA routines an ARGS structure must be created by calling the routine ARG NEW and any necessary arguments must be loaded into the ARGS structure by calling the ARG_PUTOx routines There is one of these routines for each of the Fortran types as follows Routine Type ARG_PUTOC CHARACTER n ARG PUTOD DOUBLE PRECISION ARG PUTOI INTEGE
15. DF Class for objects with 1 dimensional data arrays Methods PLOT Plot data for the object C 3 Class 2D Source file class 2d f Base Class NDF Class for objects with 2 dimensional data arrays Methods PLOT Plot data for the object LOWPFILTER Perform median filtering of the data AXFLIP Flip axes of a 2D array C 4 Class GROUP Source file class group f Base Class NDF Class for group objects Methods VALIDATE Validate an object as a member of the GROUP class CREATE GROUP Create a new empty group object INSERT OBJECT Insert an object into a group DELETE ENTRY Delete an entry from a group GET ENTRY Get an entry from a group by name or index 31 of 42 GET_NENTRIES DO_FOR_EACH COMBINE MAKE GROUP C 5 Other Classes Get the number of objects in a group Invoke a specified method for each object in a group Combine data arrays of group objects by mean median etc Make a group from a list of objects There are a few other classes in Clalib for example the polarimetry classes but these are not used in 2dfdr COL GENERIC GRAPH INT POL2D POL 27 27 27 27 22 27 32 of 42 D Tdfred Classes and Methods D 1 Class BIAS Source file cla_bias f Base class CCDIMAGE Class for bias frames Methods REDUCE Reduce a bias frame GETCLASS 22 D 2 Class BIASCG Source file cla biascg f Base class CALGRP Class for groups of reduced bias frames Methods S
16. ELECT Select the best matching bias frame from the group D 3 Class BIASGRP Source file cla biasgrp f Base class GROUP Class for groups of raw bias frames Methods REDUCE Reduce the bias group by reducing the indivdual bias frames and combining them D 4 Class BIASRED Source file cla biasred f Base class 2D Class for reduced bias frames Methods none 33 of 42 D 5 Class CALGRP Source file cla calgrp f Base class GROUP Base class for groups of calibration frames Methods SELECT Select the best matching frame from the group INSERT OBJECT Insert an object into the group using a name derived from the run number COMBINE Combine frames in the group using MEAN as the operation if there is only one frame D 6 Class CCDIMAGE Source file cla ccdimage f Base class 2D Class for CCD image data Methods DEBIAS Debias the CCD data FLAT Flat field correct the data DARK Dark subtract the data CLEAN Clean cosmic rays REDUCE Reduce the CCD data frame D 7 Class DARK Source file cla_dark f Base class CCDIMAGE Class for dark frames Methods GETCLASS 22 REDUCE Reduce a dark frame D 8 Class DARKCG 34 of 42 Source file cla darkcg f Base class CALGRP Class for groups of reduced dark frames Methods SELECT Select the best matching dark frame from the group D 9 Class DARKGRP Source file cla darkgrp f Base class GROUP Class for groups of raw dark frames Methods REDUCE Reduce the dark group
17. FITS Flexible Image Transport System data file format GNS LS GSN 27 GUI Graphical User Interface HDS Starlink s Hierarchical Data System NDF Starlink s Extensible N Dimensional data file Format SDS AAO s Self defining Data Structures Starlink The organization charged with supporting the computing needs of the U K Astronomy community Also used to refer to the suite of software released by Starlink Tcl Tool Command Language a scripting language Tk Tcl s windowing toolkit used to build GUI s Tix An extended set of GUI widgets for Tk Page 3 of 42 2 Building 2dfdr 2dfdr is stored in and built using the AAO s source code management system known as ACMM 2 Prerequisites The following prerequisites are required to build ACMM e A machine with a supported architecture currently Solaris 8 and 9 and Linux RedHat 7 3 and 9 normally the architectures supported by Starlink e Sufficient disk space 350 MB e C C and Fortran compilers e A recent version of DRAMA with some changes to the DramaConfig sub system ACMM version 3 9 of the DramaConfig sub system This is presumed to be available in directory drama if it is elsewhere then replace drama by the directory containing DRAMA e A recent version of Starlink Spring 2003 aka Summer 2003 was used as of this writing in star 2dfdr uses a number of Starlink subroutine libraries To build 2dfdr the Starlink software collection must be inst
18. L DIR DRAMA Icon used by DTCL Dits Err tcl DITS DIR DITS error codes TCL include file dul err tcl DUL DIR DUL error codes TCL include file B 4 Starlink files The following files are required for Starlink automatic conversion of FITS to NDF format and NDF to FITS format They are copied into the starlink sub directory of the release fits2ndf fits2ndf ifc ndf2fits ndf2fits rfG The following files are required for Starlink graphics to work They are copied into the starlink sub directory of the release gks dbs 1 37 gks emf 1 37 gks wdt 1 37 gns gksdevices gns gksnames grfont dat rgb txt These are all found in the Starlink release in star etc I am not entirely sure what some of these do The names and set of files may change in subsequent Starlink versions but this set has worked for quite a while now B 5 Tcl Tk tix files Tcl Tk and Tix all require access to library script files These are copied into the Tcl Tk and Tix sub directories if the release by the 2dfdr release script B 6 WCS files 28 of 42 The gethead and sethead tools from the westools sub system are copied into the release for use by the 6df2ndf Perl script 29 of 42 C Clalib Classes and Methods Here are summary descriptions of the various classes and their methods See the source code comments for details of the arguments used by each method C 1 Class
19. MA DRAMA must be changed such that instead of having to override the values of the SYSTARGET SYSHOST and SYSRELEASE only one value needs to be overridden The DRAMA configuration files must be changed such that we can specify the location of Tcl Tk independently of specifying the locations of X11 and other things required to link Tcl Tk 2 6 ACCM 2 6 1 Setting Up for ACMM ACMM is the AAO source code archiving system In order to use ACMM certain files and environment variables must be set appropriately If the command acmmWho returns an error indicating an unknown command then the setup is not correct To do so execute the setup line from the following table according to your location and shell This line can be added to your shell start up script so that ACMM commandis are always available Location Shell ACMM Set up Line Epping Solaris sh zsh bash ksh local soft solaris acmmlib acmm_setup sh Epping Solaris Csh tcsh source local soft solaris acmmlib acmm setup csh Epping Linux zsh bash ksh local soft linux acmmlib acmm_setup sh Epping Linux Csh tcsh source local soft solaris acmmlib acmm setup csh Coona Solaris sh zsh bash ksh instsoft acmm acmmlib acmm setup sh Coon Solaris Csh tcsh source instsoft acmm acmmlib acmm setup csh 7 of 42 If acmmWho indicates that a file named acmmrc can t be opened for reading then you need to arrange access to ACMM Please
20. NDF Source file class ndf f This is the base class of all classes in the hierarchy and includes methods valid for any NDF file Methods ARITHMETIC ARITHMETIC3 CARITHMETIC CARITHMETIC3 NEW READ UPDATE TEMPLATE STATISTICS SETCLASS GETCLASS SETRED GETRED Perform arithmetic operation on the object and another specified in the argument list replacing the object with the result Perform arithmetic operation on two objects specified in the argument list forming a new object Perform an arithmetic operation on the object and a constant replacing the object with the result Perform an arithmetic operation on a constant and an argument object forming a new object Create a new permanent or temporary NDF object Create an object with read acess by reading an NDF or other format file Create an object with update access from an NDF or other format file Create a new object based on a template NDF or other format file Calculate various statistics on the data of an object Set the class of an object Get the class of an object Mark the object as reduced by creating a reduced extension with value TRUE Get the reduced status of an object 30 of 42 FITSLIST List the FITS header of an object using MSG_OUT FITSITEM List one card from the FITS header of an object HISTLIST List the history extension of the object C 2 Class 1D Source file class 1d f Base Class N
21. R ARG_PUTOL LOGICAL 19 of 42 Routine Type ARG_PUTOR REAL In the example the same ARGS structure is reused for the two calls to the CLA_ routines This can usually be done but care must be taken that none of the arguments set for the first call would inadvertently change the behaviour of the second call Returning to the two main subroutine calls the example program first calls CLA_NDF specifying method READ The READ method is the one used to read a new NDF into the system It has a FILENAME argument which specifies the name of the file to be read This can be the name of an NDF container file but can also be a different type of file since the use of file filters enables files of other types to be converted to NDFs Currently FITS files are supported The CLA_2D subroutine is then called with the PLOT method specified This method is used to plot a 2D image The DEVICE argument specifies the name of the graphics device to be used In this example the logical argument INTERACTIVE is set to TRUE which brings the plot up in interactive mode PLOT has many other arguments but all of these have default values and so can be omitted in a simple example like this 5 3 Classes and Methods The organization of the software is into classes and methods There is a Fortran subroutine for each class which can be called to invoke any of the methods of that class The above example made use of two classes the NDF class fo
22. TOR CALL HDS_START STATUS Create an empty argument structure CALL ARG_NEW ARGS STATUS Get NDF ID of file 1 opening it for update access CALL ARG PUTOC ARGS FILENAME FILE1 STATUS CALL CLA_NDF OBJECT UPDATE ARGS STATUS Get NDF ID of file 2 opening it for read access CALL ARG _PUTOC ARGS FILENAME FILE2 STATUS CALL CLA_NDF OBJ2 READ ARGS STATUS Do the ADD operation CALL ARG _PUTOC ARGS OPERATION STATUS CALL ARG_PUTOI ARGS OBJECT2 OBJ2 STATUS CALL CLA NDF OBJECT ARITHMETIC ARGS STATUS END Note that arithmetic operations such as ADD require two NDF objects whereas the standard CLA_ calling sequence only provides for one object The NDF identifier of the second object must be put into the argument structure using an ARG_PUTOI call In such cases the normal convention is that the object specified in the subroutine call is the object which will be modified by the operation whereas the one supplied in the argument structure will be unmodified and therefore requires only read access Other arithmetic operations are provided by changing the OPERATION argument to Cg 66 or as appropriate The CARITHMETIC method is similar but provides operations involving a constant and an array The constant is put into the argument structure 5 5 Using the C
23. alled and must be accessible via a link to star The Starlink software is available on CD from Starlink see http www starlink rl ac uk Access to ACMM See section 2 6 2 2 2dfdr basic build procedure This depends a little on the architecture you are using through we hope to change this in the future On Solaris drama dramastart acmmSystemBuild 2dfdr On Linux drama dramastart acmmSystemBuild 2dfdr last L usr X11R6 lib ACMM is based on the ESO CMM software used with permission by the AAO There may be an appropriate version specification required At AAO Epping as of December 2004 you need to add v 14dec04 linux to the command 4 of 42 The result of these commands is the fetching of all the software from ACMM into subdirectories the building of the software and creation of two extra sub directories The first of these is named release and contains the full set of files libraries etc created by the build It is the install directory for the various sub systems being built The second extra sub directory is named 2df dr arch where arch will be either sun4_solaris or linux_x86 indicating the build target architecture This directory contains an independent release directory It can be tar ed up and moved at will although there may be some restrictions on operating system versions due to sharable library version issues At run time the environment variable DRCONTROL DIR s
24. ation file 2dfdr cfg This is done with the acmmSytemCapture command But this is not necessarily appropriate for Tcl Tk Tix Here you must specify the version appropriate for the version of Starlink to be used So if you used acmmSystemCapture you must unwind any change to the specifications for Tcl Tk Tix acmmSystemCapture may mess up the Tcl Tk Tix version specification You must hand edit 2dfdr cfg after running acmmSystemCapture to check and if necessary fix this 2 Version Number and Date The 2dfdr version number and date which appears in the title bar of the user interface are set in the drcontrol and drexec tasks The following lines or something similar will be found in the drcontrol C and drexec c files extern char DrcontrolVersion extern char DrcontrolDate Compiling the files drcontrolversion c and drexecversion c sets these variables This is done in such a way to force the file to be recompiled if the version number changes The version number is based on the ACMM version number and is therefore updated automatically when the subsystems are updated 2 10 Running 2dfdr after a build To run the 2dfdr version you have just built do the following setenv DRCONTROL DIR build directory source SDRCONTROL DIR 2dfdr setup 9 of 42 where build directory is for example home rwh 2dfdr 2dfdr linux x86 or home rwh 2dfdr 2dfdr sun4 solaris The command drcontrol should now start up 2dfdr
25. by reducing the indivdual dark frames and combining them D 10 Class DARKRED Source file cla darkred f Base class 2D Class for reduced dark frames Methods none D 11 Class FFLATCG Source file cla fflatcg f Base class CALGRP Class for groups of reduced fibre flat field frames Methods SELECT Select the best matching fibre flat frame from the group D 12 Class LFLAT Source file cla Iflat f Base class CCDIMAGE Class for long slit flat field frames 35 of 42 Methods REDUCE Reduce a long slit flat field frame HPFILT Create a normalised high pass filtered flat field D 13 Class LFLATCG Source file cla_Iflatcg f Base class CALGRP Class for groups of reduced long slit flat field frames Methods SELECT Select the best matching long slit flat frame from the group D 14 Class LFLATGRP Source file cla Iflatgrp f Base class GROUP Class for groups of raw long slit flat field frames Methods REDUCE Reduce the group by reducing the indivdual frames and combining them D 15 Class LFLATRED Source file cla Iflatred f Base class 2D Class for reduced long slit flat field frames Methods none D 16 Class MFARC Source file cla mfarc f Base class MFIMAGE Class for multi fibre arc frames Methods REDUCE Reduce the arc file This simply turns off cosmic ray rejection and calls the reduce method of MFIMAGE 36 of 42 FOCUS D 17 Class MFFFF Source file cla_mffff f Base class MFIMAGE Run a 2dF focus sequ
26. d Notice all files are closed when the EXECUTE action completes 4 3 3 The SEQUENCE component The SEQUENCE component is a one dimensional structure array with one component for each step in the sequence of operations to be executed Each step results in the invocation of one method in the class library The structure for each step contains the following components 13 of 42 OBJECT The object is specified as a character string containing the parameter entry name of the object to be operated on prefixed by a character The same name must be present in the FILES component METHOD The name of the method to be invoked CLASS The name of the class for which the method should be invoked This is optional and normally unnecessary When CLASS is not specified the method will be invoked by using the generic class routine CLA_GENER which will determine the appropriate class by looking at the object itself Specifying the class explicitly will override this choice Currently the CLASS item is only suported for the GROUP class ARGS The arguments to be passed to the class This is identical to the arguments structure which would be passed to the class library routines except for arguments which are NDF identifiers These are specified via parameters using a character string with a character preceding the parameter entry name The parameter name is replaced by the corresponding NDF identifier before the arguments structure is passed to the
27. en nnne n nnne nennen 9 3 MOUNTS 11 4 THE DRAMA TASKS DRCONTROL AND DREXET ee eeeeee sees eene tentata statua enn 12 4 1 INTRODUCTION niter e nte it e aste use tatis T e rude 12 4 2 DRCONTROL 4 3 usque EP ASA The EXECUTE action eese tte re hee enne n inet pee e ve 4 3 30 The FILES component 4 3 3 The SEQUENCE component u ccccscccsscesensesssesconevvscunecnecusessnodesusevscssdengensestesosenededenogentens 13 4 3 4 Examples of EXECUTE argument structure eese nnne 14 5 THE CLALIB AND TDFRED CLASS LIBRARIES eeeeeee eese eene tentata etna tna tns enn 17 5 1 NI ULENSCEET 17 5 2 GETTING STARTED ese ORE RR NI ONERE E PEE ew 17 5 3 CLASSES AND METHODS ertet eee ere cono ono o iiaa rt root e e Eno d ra e ERE RES en Poe uae roses d 20 5 4 ARITHMETIC OPERATIONS esset ERRERXR Sdevendile esvoshecdsveuusesedsyonsieesvesserted soneee 21 5 5 USING THE CLASS LIBRARY IN ADAM APPLICATIONS eene nennen 22 Page 1 of 42 5 6 GENERIC OPERATIONS 3t ERR E Eee HERE 23 5 7 GROUPS OF OBJECTS i tete ehe p E er E E e rH e e ete enin er EH Erro aere Uis 24 A Starlink Routine Modifications iss ii inisi e ristii SE Eik E S 26 AT CIhe xc Dess 2 26 A 2 The err f file 2 26 B The 2dfdr release xa 26 B 1 2dfdr specific files 2206 B 2 Other files 2T B 3 DRAMA Files 22 B 4 Starli
28. ence on a pair of Hartmann shutter arc exposures Class for multi fibre flat field frames Methods REDUCE OVERTL D 18 Class MFFLX Source file cla_mfflx f Base class Class for Methods none D 19 Class MFIMAGE Reduce the flat field file Plot a tram line map overlaid on the flat field image Source file cla_mfimage f Base class CCDIMAGE Class for multi fibre image frames This is the base class for all the individual types of multi fibre frames and contains the methods associated with fibre extraction Methods EXTRACT GFIBPOS OVERTL GTLMAP REDUCE MATCH FIBRELIST Extract the fibre data from a 2D data frame Determine fibre positions the 2dfdr Find Fibres command Plot a tram line map overlaid on the image Generate a tram line map Reduce a multi fibre image Compare the multi fibre image with a tram line map and determine the shift and rotation needed to align them List the fibres extension of an object 37 of 42 FIBRE_INFO List information on one fibre from the fibres extension LDSS_INFO Add a fibre header for an LDSS image CRPROFILE 27 GETOFFSET GREFPROF GUESSUSED GETCLASS D 20 Class MFOBJECT Source file cla_mfobject f Base class Class for Methods none D 21 Class MFSARC Source file cla_mfsarc f Base class MFSPEC Class for extracted multi fibre arc spectra Methods SCRUNCH Scrunch rebin onto a linear wavel
29. ength scale an arc spectrum REDUCE Reduce a set of multi fibre arc spectra FOCUS Reduce a pair of Hartmann shutter arc exposures to provide focus information for 2dF D 22 Class MFSFFF Source file cla mfsfff f Base class MFSPEC Class for extracted multi fibre flat field spectra Methods REDUCE Reduce a set of multi fibre flat field spectra 38 of 42 D 23 Class MFSFLX Source file cla_mfsflx f Base class Class for Methods none D 24 Class MFSGRP Source file cla mfsgrp f Base class GROUP Class for groups of reduced multi fibre spectra Methods COMBINE Combine a number of multi fibre spectra D 25 Class MFSKY Source file cla mksky f Base class MFIMAGE Class for multi fibre offset sky frames Methods none D 26 Class MFSOBJECT Source file cla mfsobject f Base class MFSPEC Class for extracted multi fibre object spectra Methods PLOT Plot reduced spectra REDUCE Reduce multi fibre object frame D 27 Class MFSPEC Source file cla mfspec f Base class 2D 39 of 42 Base class for multi fibre extracted spectra This is the base class of the classes for individual types of multi fibre spectra frames Methods SCRUNCH Scrunch rebin to a linear wavelength scale the spectra PLOT Plot the spectra FTPCAL Correct spectra for fibre throughput FLATFIELD Correct spectra using fibre flat field GFTPC Get fibre throughput calibration SKYSUB Do sky subtraction FIBRELIST List fibre header information
30. hould be defined to this directory Note the location should be such that the value of DRCONTROL DIR is less then 40 characters due to an apparent bug in Starlink A log of the build is written to the install log file You can examine the contents of this file to help determine build problems It is often useful to open another terminal window and use tail f install log during the build process 2 3 Partial Builds As above but you may want to add the following flags before 2dfdr Flag Description start subsystem Start building from the specified sub system as mentioned below stop subsystem Stop building after the specified sub system is built Note this prevents the post build hook used to create the release directory from being built nofetch Don t check if the source directories are up to date with those in the source archive 2 4 The Subsystems The following table lists the sub systems fetched from ACMM and used in the 2dfdr build The sub system name indicates the ACMM name and the sub directory in which the software will be placed The order in the table is the build order The requirement for last L usr X11R6 lib is to work around a problem in the DRAMA configuration files It is needed to correctly locate the X11 libraries A future revision to the DRAMA configuration files will avoid this issue Note that the current Jul 03 location of Linux DRAMA is inst
31. lass Library in ADAM Applications The examples so far have been standalone Fortran programs using Fortran I O to obtain values of parameters from the user 22 of 42 The Class Library can also be used to write ADAM Applications which use the ADAM parameter system to communicate with the user The following example shows a simple 2D plot application written as an ADAM A task SUBROUTINE PLOT STATUS IMPLICIT NONE INCLUDE SAE PAR INTEGER STATUS INTEGER OBJECT INTEGER ARGS Get the object CALL NDF ASSOC INPUT READ OBJECT STATUS Create an empty argument structure CALL ARG NEW ARGS STATUS Get the device name and put it in the argument structure CALL PAR_GETOC DEVICE DEVICE STATUS CALL ARG _PUTOC ARGS DEVICE DEVICE STATUS Set the interactive argument CALL ARG_PUTOL ARGS INTERACTIVE TRUE STATUS Do the plot CALL CLA_2D OBJECT PLOT ARGS STATUS ICN sO EGIT OT IF STATUS NE SAI OK THEN CNL IMR IRIE Y VU eee ET 1513 TS PES EIPASTIUTSS ENDIF END In this example the NDF_ASSOC routine is used to obtain the NDF identifier of the file to be plotted rather than use the NDF class READ method The DEVICE parameter is read using the ADAM parameter system and then immediately copied into the argument structure 5 6 Generic Operations In the examples we have
32. les Thus all files will be taken from this directory Parameter Entries Subsequent components in this structure are parameter entries with the structure component name being the SDS parameter name The drcontrol task normally creates parameter entries with names of the form PO P1 P2 etc allocated sequentially However any valid SDS name will be accepted by drexec as a parameter name Each parameter entry is itself a structure and must have a NAME component specifying the name of the file with any extension to be used and an ACCESS component specifying how an NDF identifier is to be obtained from the filename ACCESS must be one of the following strings READ The file will be opened for READ access by using the READ method of the NDF class UPDATE The file will be opened for UPDATE access by using the UPDATE method of the NDF class TEMPLATE A new file will be created based on a template file using the template method of the NDF class The new file contains everything in the template file except for the DATA QUALITY and VARIANCE components An additional argument TEMPLATE is required with this access to specify the template file This should be a parameter reference beginning with a as described below Two optional arguments ADD SUFFIX and REMOVE SUFFIX can also be specified NEW A new identifier will be created by the method to be invoked in the sequence section No identifier need exist before invoking the metho
33. nk files 28 B 5 Tcel Tk tix files 28 B 6 WOS files 28 C Clalib Classes and Methods 2 30 C 1 Class NDF 2 30 C2 Class ID 31 C 3 Class 2D 31 C 4 Class GROUP we 31 C 5 Other Classes 32 D Tdfred Classes and Methods meres D 1 Class BIAS 32 D 2 Class BIASCG PNE D 3 Class BIASGRP 5 93 D 4 Class BIASRED NCC D 5 Class CALGRP 2 34 D 6 Class CCDIMAGE se 34 D 7 Class DARK 2 34 D 8 Class DARKCG 34 D 9 Class DARKGRP 35 D 10 Class DARKRED 13D D 11 Class FFLATCG 33 D 12 Class LFLAT seis BD D 13 Class LFLATCG 36 D 14 Class LFLATGRP 36 D 15 Class LFLATRED 2 36 D 16 Class MFARC 2 36 D 17 Class MFFFF dd D 18 Class MFFLX add D 19 Class MFIMAGE nud D 20 Class MFOBJECT 2 38 D 21 Class MFSARC 2 38 D 22 Class MFSFFF 2 38 D 23 Class MFSFLX we 39 D 24 Class MFSGRP we 39 D 25 Class MFSKY we 39 D 26 Class MFSOBJECT we 39 D 27 Class MFSPEC we 39 D 28 Class MFSPIRAL 40 D 29 Class MFSSKY 40 D 30 Class MFSSPIRAL 40 D 31 Class THPTCG we 4l D 32 Class TLMAP we 41 D 33 Class TMCG we Al DX34 Class WAVEQGQ iere ete t eee eee eee ene cv vin e edes le ss Ee Pe E 41 Revisions 01 Jul 2003 03 Jul 2003 26 Feb 2004 02 Mar 2004 17 May 2004 28 Jan 2004 TJF
34. opriate environment variables before running the command the 2dfdr_setup and 2dfdr_setup_sh scripts both execute commands via this script sdf files drcontrol bad_pixel_masks ta Bad pixel masks for CCDs r gz fibposxx dat drcontrol directory 2df slit descriptions files Normally to make a new release all that is necessary is to take an existing release directory and copy into it the new version of the drexec executable and if they have changed the drcontrol executable and drcontrol tcl file The rest of it will usually not need changing But acmmSystemBuild always collects the required files The 2dfinfo executable is part of the drexec package B 2 Other files The 2dfdr release inlcudes a number of files taken from the DRAMA Starlink and Tcl Tk systems in order to enable 2dfdr to work as a standalone system It may be necessary to update these for new versions of the systems These files are normally fetched by the script drcontrol 2dfdr release run as a post build hook by acmmSystemBuild This section gives details on these files through the script should always be assumed to be the definition of the files which are required and the required location in the release directory B 3 DRAMA Files These files will be found in the directories specified by the following environment variables 27 of 42 File Source Description dtcltk tcl DTCL DIR DTCL start up script drama icon DTC
35. ormat files are seen by drexec 4 3 drexec 4 3 1 The EXECUTE action The drexec task does most of its work in response to a DRAMA action with the name EXECUTE The EXECUTE action specifies in its argument structure the data reduction operation to be performed The operation can range from execution of a single step to an arbitrarily complex sequence of steps Operations using the class library methods require specification of the object to be operated on the method to be invoked and the arguments to be supplied to the method in the form of a SDS arguments structure The class library operates on objects specified by means of their NDF identifiers described in SUN 33 Since NDF identifiers are only meaningful within the context of a single process the EXECUTE action has to be told how to derive these identifiers from container files This information is provided by means of the FILES section in the EXECUTE action argument structure The sequence of methods to be executed is specified in the SEQUENCE section of the structure 12 of 42 4 3 2 The FILES component The FILES component of the argument structure links parameter names with file names and specifies how an NDF identifier is to be obtained from the file It is an SDS structure with the following components DIRECTORY The DIRECTORY component is a character string specifying the directory for all files The drexec task sets its default to this directory before accessing any fi
36. r be in the same HDS container file as the group object or can each be an independent object in its own file The GROUP class provides the following methods for building and manipulating groups 24 of 42 CREATE_GROUP Create a new empty group object INSERT_OBJECT Insert an object into a group DELETE_ENTRY Delete an entry from a group GET_ENTRY Find an entry in a group and return its NDF identifier GET NENTRIES Return the number of entries in a group DO FOR EACH Invoke a specified method for every object in thegroup Groups may be either temporary exist only for the duration of the program or permanent A temporary group may contain either temporary or permanent objects but a permanent group may only contain permanent objects 25 of 42 A Starlink Routine Modifications A 1 The x c File 27 A 2 Theerr f file 27 B The 2dfdr release 2dfdr is distributed as self contained binary releases which contain everything needed to run on a system which may not have DRAMA Starlink or Tcl Tk installed Thus most of the files in the release are the necessary support files taken from the DRAMA Starlink and Tcl Tk systems The main restrictions on running such binary releases will be the operating system sharable libraries required The 2dfdr build has tried to link non sharable static libraries where possible but this is not always possible In some cases a version of 2dfdr may not run in older version of the operating
37. r which the subroutine is CLA_NDF and the 2D class with subroutine CLA_2D The term class refers to the class of data object on which the methods can operate Thus class NDF contains those operations which can be applied generally to any NDF object Class 2D contains those operations which apply to 2 dimensional data objects Classes are organized into a hierarchical structure with the most general class NDF at its root An illustration of the class hierarchy of the library is given below NDF POL POL2D Classes inherit all the methods of the classes below them in the hierarchy Thus all the methods of the NDF class are available to any class in the hierarchy The way this works in practice is a call to CLA_2D specifying a method such as ARITHMETIC which is a method of the NDF base class will always be valid What will happen is that CLA_2D will call CLA_NDF to handle the method In some cases it may be necessary for the derived class to override the method of the base class and 20 of 42 provide its own handling of an operation For example the ARITHMETIC method of the POL polarization class would have to handle the Stokes parameters as well as the main data array 5 4 Arithmetic Operations The ARITHMETIC method of the NDF class handles the basic arithmetic operations addition subtraction multiplication and division These operations are not quite as straightforward as you might think and the packaged arithmetic
38. re marked readonly You can change this using chmod u w file and then make changes to the file This may be appropriate for experimental changes by someone without access to ACMM but they must keep careful track of the changes and ensure that if they are intended for the main line code they get into the ACMM version at some point 2 8 Build Configuration The order of the build and options to the build are set in the 2dfdr subsystem file 2dfdr cfg This obeys the rules laid down by acmmSystemFetch and acmmSystemCapture The best source for information about this scheme is the PowerPoint presentation in the ASD101 ACMM module 8 of 42 2 8 1 Setting Compiler Options When modifying the 2dfdr cfg file or running dmkmf independently not yet practical you should set compiler options e g Optimize level or debug by running dmkmf with a O or g argument The O option should normally be used with the nswc clalib and tdfred libraries to get good execution speed With the other sub systems it is not critical 2 8 2 System Version Capture The ACMM build configuration file 2dfdr cfg allows the ACMM version of each sub system to be specified When specified as last the last available version is used but it is often appropriate to specific particular versions for all sub system so that you can return to a known configuration ACMM supports the idea of capturing the current version of each sub system into the system configur
39. send an e mail to tjf 9 aaoepp aao gov au 2 6 2 Using ACMM Sufficient knowledge to build 2dfdr has now been provided If you need to modify the 2dfdr archived source code then you must become familiar with the basic operation of ACMM This is described in AAO Software Document 101 Type acmmCopy ASD101 to fetch this document This will create a local directory containing this document It also contains a PowerPoint presentation on ACMM Note that the basic operations require only 4 commands acmmCopy acmmModify acmmArchive and acmmCheckForArchive in addition to acmmSystemBuild 2 7 Modifying 2dfdr There are three ways of modifying 2dfdr Note that it is expected that most people modifying 2dfdr will only need to change tdfred drcontrol drexec and just possibly clalib 2 7 1 Modifying the Archive This should only be done with the intention of introducing changes into the main code It should be done using the appropriate ACMM commands by an authorized maintainer See the ACMM document ASD101 for details 2 7 2 Branching It may be appropriate to branch 2dfdr for experiential work or to provide bug fixes ACMM supports branching but it is intended that braches either die or are quickly merged back into the main line code See the ACMM document ASD101 for details 2 7 5 Modifying the Readonly Version This is a dangerous technique due to the chance of the changes getting lost In a normal build all the source files a
40. soft dramasrc linux drama v1 4 2 which must replace drama in this line Also note that last is the normal default and is only needed here to allow the following argument 5 of 42 Subsystem Description 2dfdr Contains the 2dfdr description used by the acmmSystemBuild and acmmSystemFetch commands The file 2dfdr cfg contains this information Tcl The Tool Command Language The version must match that used by Starlink which can be determined by running star bin wish and executing the command info tclversion Tk Tcl s Windowing toolkit Details as per Tcl From Version 8 0 of Tcl and Tk use the same version numbers Prior to this the version numbers are different 2dfdr as supported by acmmSystemBuild does not work with versions of Tcl Tk prior to version 8 0 Tix A Tck Tk widget set used by 2dfdr The version of Tix used must support the version of Tcl used Note that the THEVER specification in 2dfdr cfg must specify the version of Tcl Tk to be used wcstools World Coordinate system tools A set of FITS header tools Only the gethead and sethead programs are needed sds The DRAMA Self Defining Data system This must be rebuilt against the version of the Tcl Tk being used Also the exact version of the C compiler and Fortran compiler DramaDul The DRAMA Utilities Library DUL This must be rebuilt against the version of the Tcl Tk being used Also
41. system than it was built on We have attempted to avoid this by including where allowed relevant sharable libraries in the release All these files are collected as part of the normal build by the script drcontrol 2dfdr_release This script should be seen as the definition of what is required and where it comes from The rest of this section gives more details on these files B 1 2dfdr specific files The release includes the following files that are specific to 2dfdr Note that the source here is the original source of the file For built files they may actually be picked up from the build release directory to ensure the last completed build is used File Source Description Name Names drexec drexec directory The drexec executable drcontrol drcontrol directory The drcontrol executable drcontrol tcl drcontrol directory The drcontrol Tcl script 2dfinfo drexec directory The 2dfinfo executable cleanup IMP_DIR DRAMA cleanup command 26 of 42 File Source Description Name Names dx files drcontrol directory Files which configure the user interface arc files drcontrol directory Wavelength calibration lamp data spiral dat drcontrol directory SPIRAL IFU description files 2dfdr setup drcontrol directory Setup script 2dfdr setup sh 2dfdr setup script SH shell version of 2dfdr setup above 2dfdr run drcontrol directory A script used to run all 2dfdr commands It sets appr
Download Pdf Manuals
Related Search
Related Contents
HFB 400 Igenix IG8650 blender Graco Inc. Glascraft GC-1393G User's Manual spanish_ 2122309 Rev-03 - Faichney Medical Thermometer Copyright © All rights reserved.
Failed to retrieve file