Home

BoA – The Bolometer Data Analysis Project Reference and user's

image

Contents

1. 8 17 2 convertMambo2MBFits self 0 0000 ee eee ee eee 128 8 17 3 convertMB2MamboFits self o ooo eee 128 5174 readMarnbo self i ecs isos a a Ree is de e eta 129 A A ETA 129 8 17 6 initMambo self ccecke eA sb eee A e AA 129 Slit GMPC ea gos me ca ORES Cd ESE ee A ee ow A 129 8 17 8 convertMamboPrimary self o o ee 130 8 17 9 GlMamboPrimary sell roer ge 408 A a Sees 130 8 17 10 fillFebepar self RIE 130 8 17 11 convertFebepar self x xa a a 130 8 17 12 processMamboData self lt e a 131 8 17 13 fillMamboData self bcs a RA 131 8 17 14 getScanType self cocos oe eh eh Ra RG a OR a A Re 131 8 17 15 getObsMode self lt 2 o6 64sec eee ee PRR EY SG RE OSS Eke HE Se hS 131 8 17 16 readRCP self oc aaa 132 8 17 17 sbas2ctype self io ooa a 132 8 17 18 ctype2sbas self cs aaa ara A 132 133 133 133 134 134 134 134 135 135 135 8 18 10 cropped_circular_gaussian p position threshold 3 136 8 18 11 gaussian r2 sig2 A a 136 8 18 12 distsq x1 y1 x2 y2 lt a 136 8 18 13 solvePoly order dataX dataY ooa 6846 be eb eee ee 1 136 8 18 14 module2 e o oe Bh GSS REDE ESS aereas e A 137 8 18 15 mod fft z optimize 0 64 coco Seed be bee redes 137 8 19 Utilities Fortran module cu 3 52S ibGo beeen eee ay Sod ehh eGo ean 137 8 19 1 ksmooth image il jj kernel ngg o 137 pr th oe denen slip dla a o
2. safeExp lt Timing lt Utilities py NAM safeExp function DES correct a bug in Numerical that raise an expection when computing exponential of small numbers this take a lot of time but faster thant converting to nummarray compute the exp and back to numeric 8 18 2 fitParabola x y err fitParabola lt Timing lt Utilities py NAM fitParabola method DES fits parabola to the data using mpfit INP float x x data float y y data 134 8 18 3 detStartParaParabola x y detStartParaParabola lt Timing lt Utilities py NAM defStartParaParabola method DES define the proper start parameter to fit a parabola INP float x x data float y y data 8 18 4 parabola p fjac None x None y None err None parabola lt Timing lt Utilities py NAM parabola DES function used by mpfit to fit a parabola 8 18 5 modelparabola p x modelparabola lt Timing lt Utilities py NAM modelparabola DES compute a model parabola at position x for a given set of parameters p 8 18 6 draw2Dgauss p draw2Dgauss lt Timing lt Utilities py NAM draw2Dgauss DES return the coordinates of the 2 fwhm ellipse given the parameters p of a 2Dgaussian 135 8 18 7 modelBase2Dgauss p position modelBase2Dgauss lt Timing lt Utilities py NAM model2Dgauss DES compute a 2D gaussian defined by the parameter p wihtin the position position should be a list of 2 arrays of same dimension
3. 140 List of Tables 5 List of example BoGLi commands 6 List of all float and integer parameters
4. NAM snf module 90 in file BoaSNF f90 DES module collecting f90 subroutines for sky noise subtraction corfit cmatrix USE f90 snf corfit etc See examples in TestFB py For compilation instruction see BoaData f90 HIS FB040531 consolidate cmatrix and corfit in this new module FB040601 fix cmatrix History NAM snf module f90 in file BoaSNF f90 DES module collecting f90 subroutines for sky noise subtraction corfit cmatrix USE f90 snf corfit etc See examples in TestFB py For compilation instruction see BoaData f90 HIS FB040531 consolidate cmatrix and corfit in this new module FBO40601 fix cmatrix 125 8 15 Sky Sky lt BoaSkydip py NAM Sky class VER 0 1 12 01 2004 DES An object of this class provides methods to conduct the determination of the opacity of single or multiple scans History NAM BoaSkydip py file VER 0 1 12 01 2004 DES contains the BoA skydip class HIS 12 01 2004 M Albrecht Initial version 8 15 1 __init__ self BoaB _init_ lt Sky lt BoaSkydip py DES Initialise an instance INP object BoaB BoA business object 126 8 16 testi testl lt BoaTest1 f90 NAM test1 module f90 in file BoaTest1 f90 DES module collecting test subroutines USE wrap f2py c m f90 BoaData f90 BoaTest1 f90 BoaTest2 f90 call f90 test1 flag etc HIS FB040303 change to _p History NA
5. read file APEX 600 fits CV Shouldn t the above fits be with lower case F The data are then stored in the default data object It is possible to use several data objects and to store the content of a file to a user defined object requires the following syntax data2 BoaMapping Map define a second data object of class Map data2 read APEX 600 5 3 9 Opening a plot window CV Graphics related commands are discussed in detail in Chapter 6 and here we give just an overview where appropriate We should say this here Opening a graphic device is done with the open command open open a device default XWindow op alternatively use the abbreviated command see ref abbreviationsCB sub The default is to open an XWindow You can use op to get a list of all recognized devices Alternatively if you know which device you want you can enter it directly for example op ps You can also open a named PostScript file here a colour PostScript file named signal ps with op signal ps CPS 38 5 3 10 Clearing a plot window CV Graphics related commands are discussed in detail in Chapter 6 and here we give just an overview where appropriate We should say this here Clearing a plotting window is done with the clear command clear clear the active device However any plot command will first clear the active device before plotting a new graph unless the overplot 1
6. Done BOA tmp openboa install BOA tmp intel_fc_80 BOA tmp openboa install BOA tmp openboa install BOA tmp intel_idb_80 BOA tmp openboa install BOA tmp openboa install openboa install lt boa_build gt Intel F90 Done Mon Feb 28 14 03 00 CET 2005 Do you want lt boa_build gt lt boa_build gt to install F2PY cvs latest Unpacking and installing F2PY You need to be connected if you want to retrieve the latest version of scipy_distu you better install this one y N y lt boa_build gt If asked for a password use guest Do you want to checkout from CVS y N N lt boa_build gt F2PY 2 latest Done Do you want to install python mpfit y N y Do you want to install the interactive python script y N y Do you want to install the latest version of BoA y N y Where would you like to install boa home observer BOA boa Shall CVS be used for BoA sources y N y Enter you login to the cvs server mueller Password lt boa_build gt Building the Fortran module ifc needed Do you want to install example MB Fits files y N y Where would you like to install ezample MB Fits files home observer BOA fits Password Do you want to install the documentation y N y Where would you like to install the documentation home observer BOA doc Password lt boa_build gt Copying boarc c sh new shell files to openboa install BOA tmp lt boa_build
7. array 218 lon_p f array 109 3 track_az f array 218 lat f array 218 az f array 218 lat_p f array 109 3 67 lst_p f array 109 3 array_gain f array 120 lon f array 218 ffcf_cn f array 120 ut_p f array 109 3 nodding_sta i array 218 subscan_index i array 4 subscan_num i array 4 weights f array 0 not allocated el_p f array 109 3 ut f array 218 wobbler_pos f array 218 They are filled in in BoaBusiness py BoaB FillF90 Use f90 methods in BoA To call a fortran method here an example compressed_array nmax f90 f1 compress array flag_array 0 Two objects are returned as a tuple an array and an integer They both are not in the call argument list they are hidden to python but are listed in the f90 code call argument list have a look at the source code Limitations This particular example illustrates one of the limitations of wrapping f90 code you cannot return an array with a length that is determined upon execution The wrapper needs to specify the size of an array somehow It does not have to be fixed but specified through the size of an input attribute at least In this example we try to return an array that is a compression of the input array determined by the condition that the corresponding flag is 0 The trick to still do this here is to return a comressed_array with the s
8. devi dev select an open device dumpData dumpDat dumpD dump save data object to a file elevation elev el plot elevation versus LST elevationOffset eleoff elo plot elevation offset versus LST flag flag data at more than n rms flagChannels flagCh flagC fCh flag a list of channels flagLST flag data by LST interval flagLon flag data by Az offset interval indirls ils list input directory indir indi ind set input directory infile infil infi inf set input file mambo convert MB Fits file to MAMBO format mess display a message open ope op open a graphic device outfile outfil outfi outf set output file outdir outdi outd set output directory plotcorrel plotcor plotCor plot signal vs reference channel plotMean plotmean plot mean values vs subscan numbers plotMeanChan plotmeanchan plot mean values vs chan numbers plotRms plotrms plot rms values vs subscan numbers plotRmsChan plotrmschan plot rms values vs chan numbers read read in a file readRCPfile readRCP rep read in an RCP file resiz resi resize the plot after resizing window with mouse restoreData restoreD restore restor restore a previously stored BoA sav file signal signa sign sig plot the time series of the data flux density versus LST snf compute and subtract skynoise statistics stat prints the statistics unflag unflag data unflagChannels unflagCh unflagC ufCh unflag a list of
9. chanList map_arrays sizeX sizeY WCS limitsX lim its Y limitsZ nan labelX label Y caption style contrast brightness wedge overplot Arguments chanList list of channels map _arrays lits of map to display CV Re map arrays above this is what is written in MultiPlot py but I don t know what it is supposed to say lists of maps to display Optional arguments these are described in Section 6 9 3 Example mapping_array n_map 365 57 for i in range n_map mapping_array append Numeric absolute RandomArray standard_normal 120 120 MultiPlot draw range n_map mapping_array wedge 1 The graphic output produced in this case is shown in Figure 6 8 Device handling CV I ve only changed the commands listed here so they are written as should be entered But much of this section seems to me superfluous since almost all of it is described in the discussion of the individual commands in the previous section Maybe this section should come before section 6 3 or maybe this should be just a short intro para on device handling and should then include the device handling commands now included in section 6 3 That just leaves the Boa commands such as azel and signal in what is now 6 3 so maybe a short intro para could be added to that as a separate section Section 6 5 is then ok where it is BoGLi is based on and as a consequence the number and type of available de vices depends o
10. have an abbreviated form and these are listed in Section 5 6 Just enter them at the boa gt prompt CV reduce as below gives error expected 2 arguments got 1 5 3 1 All at once the reduce method CV What is meant by all at once Data reduction I guess title needs clarify ing Reading and processing a file can be done in one single step using the reduce method This method takes the name of an MB Fits file as argument e g reduce APEX 600 The extension fits or fits gz may be omitted This method first reads the file then opens a graphic device if no device has previously been openned Then according to the type of observation found in the file it calls the relevant methods to process the data If a file has already been partially read this method will only read the subscans not already present in the data object and then process the full set of data This can be useful e g for an iterative real time display of raster maps where the map is displayed after completion of each subscan 36 5 3 2 Pointing Processing a Pointing scan requires an object of the class Point Since the default data object is of class Map it has to be redefined before reading the file Then the method to process the data is called solvePointing Optionally the method showPointing can be called to show the results on a map data BoaPointing Point instantiate a Point object data read APEX 600 fill i
11. initialise new message file INP OUT screen output 118 8 11 11 closeMessFile self closeMessFile lt MessHand lt BoaMessageHandler py DES set self __existMessFile to O and file name to INP OUT 119 8 12 OnOff OnOff lt BoaOnOff py NAM OnOff class VER 0 1 12 01 2004 DES An object of this class provides methods for the onoff reduction of single or multiple scans History NAM BoaOnOff py file VER 0 1 12 01 2004 DES contains the BoA onoff class HIS 12 01 2004 M Albrecht Initial version 8 12 1 __init__ self BoaB _init_ lt OnOff lt BoaOnOff py DES Initialise an instance INP object BoaB BoA business object 120 8 13 Point BoaMapping Map Point BoaMapping Map lt BoaPointing py NAM Point class DES An object of this class is responsible for the reduction of pointing scan s History NAM BoaPoint py module DES contains the BoA Pointing reduction tools Additional information Example In the figures below the graphical output of a pointing of a single scan 8 1 and of accumulated scans 8 2 is shown Levenberg Marquardt The Levenberg Marquardt algorithm can be thought of as a trust region modification of the Gauss Newton algorithm Levenberg Marquardt steps s are obtained by solving subproblems of the form 2 paii 15 Atos de Fel ID Z Ar 8 1 for some Az gt 0 and scaling matrix Az The trust region radius is adjusted
12. 0 basePoly lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py NAM basePoly method DES polynomial baseline method for single scans INP i channel 1 all channels O first channel i phase 1 all else 0 1 2 i order polynomial order gt 0 1 subtract 1 or 0 subtract fit from data 1 plot 1 or 0 overwrite Data_Red with fit OUT f data overwrites data array with fit or data fit poly polynomial coefficients are printed but not returned needs to be implemented 8 4 13 addPoly self channel 0 phase 1 poly 10 0 10 10 addPoly lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py NAM addPoly method DES add polynomial baseline INP int channel channel for 1 all channels first channel 0 int phase phase to be used For 1 all else 0 1 2 int poly polynomial coefficients relative to current mean and rms 87 8 5 DataEntity DataEntity lt BoaDataEntity py NAM DataEntity class DES Objects of this class store the data and associated parameters of a scan which can contain several observations or subscans They also contain additional arrays in which the current results of the data reduction are stored This class also provides the interface between the MB FITS files and BoA by the means of the fillFromMBFits method History NAM BoaDataEntity py file DES contains the BoA data entity class 8 5 1 _ init_ self init l
13. DES print welcome message INP OUT screen output 116 8 11 3 setMaxWeight self weight 2 setMaxWeight lt MessHand lt BoaMessageHandler py DES Set the maximum weight of messages to be printed INP int weight maximum weight errors queries warnings short info extended info debug OP WN KF 8 11 4 error self message error lt MessHand lt BoaMessageHandler py DES to print an error message INP sring message 8 11 5 warning self message warning lt MessHand lt BoaMessageHandler py DES to print an warning message INP sring message 8 11 6 info self message info lt MessHand lt BoaMessageHandler py DES to print an info message INP sring message 117 8 11 7 longinfo self message longinfo lt MessHand lt BoaMessageHandler py DES to print an long info message INP sring message 8 11 8 debug self message debug lt MessHand lt BoaMessageHandler py DES to print an debug message INP sring message 8 11 9 setMess self weight 1 message setMess lt MessHand lt BoaMessageHandler py DES deposit messages for screen output and message files INP int weight weight of transferred message see setMaxWeight string message message to be printed and added to message file OUT 8 11 10 initMessFile self filename boa mes initMessFile lt MessHand lt BoaMessageHandler py DES set amp
14. OUT the line from numarray numarrayext import NumarrayExtension AND ALSO comment IN the line a few lines below raise ImportError 3 Rebuild and install everything as described in INSTALL The resulting version of ppgplot will be able to work with Numeric arrays but not with numarray arrays Instead of point 3 above you can try saying make which will build and install everything in place Then you can run python without changing the current directory and try the example above This will help you determine if there is some other incompatible ppgplot version somewhere in you path When you build ppgplot please pay attention to the output You should see a line identifying which ppgplot version the numarray or the Numeric you are building using Numeric or using numarray 3 4 6 Installation of the Intel Fortran Compiler You can download the latest version of the Intel Fortran Compiler from the Intel homepage or and in case of non commercial educational or scientific purpose you will get a license key for free Tested versions are ifc 7 8 ifc 8 0 and ifc 8 1 3http www intel com software products compilers flin http www intel com software products compilers flin noncom htm 22 In the following the installation of the ifc 8 0 is described as an example After downloading the tar archive l_fc_p_8 0 034 tar gz you have to extract it via tar xvzf l_fc_p_8 0 034 tar gz The change
15. SoG A Bee ee AR Oe ke eek ee AR fine Gok ete a BR ee AS iaaa pom ee OMe ee be Pe ee eae a Ser ane ig eae ee arian ee on we eee a 8 Description of all classes and methods Sec et Tee ee eee TS ee eT ee ee ee a eee ere 8 1 1 flag pc xflag xdata n_phase n_channel low high ii jj kk 8 1 2 flag xflag xdata low high mask_count ii o o o 8 1 3 unflag xflag xdata flag mask_count ii 44 44 0 864 see ee eR ee 8 1 4 flagtime xflag low high flag mask_count ii 8 1 5 flaglon xflag low high flag mask_count ii 8 2 BoaConfig module ea sca eee eee ac eee oe ae Sak eee ee eek A 8 2 1 setIinDir mputiDirectory 1 0 l 3 5 2 wR Ge Re ee ss 82 2 sehOutDir output Directory D is Be ee Oe ee Bo Jeti esa ooo Ok Gad oes oo ole os GO ee ee ee Be ee 49 50 50 52 53 56 57 58 58 58 59 60 61 63 63 63 64 64 64 64 64 68 68 70 71 72 72 vi 79 79 80 82 82 82 83 83 83 84 8 4 7 statistics self 84 8 4 8 corMatrix self 84 85 85 85 86 86 87 85 1 init self es we be eb eee ee ee ee oO ee he eS 87 8 5 2 ReSen Sele las Sa x aa eon wo wk Rib oe eek ele Re Ae te oe ee eee i 87 8 5 3 etn eels eo Bx bee a ek ee Be Te ee ee ee a 88 88 8 5 5 fillkromMBFits self obsEntity update 0 2 e o oo o 88 AC 0 0 0 0 vce eee eee eee eee eee es 89 8 5 7 dumpData self fileName BoaData sav o o e
16. The line style does not affect graph markers text or area fill Iw line width The line width is specified in units of 1 200 0 005 inch about 0 13 mm and must be an integer in the range 1 201 This parameter affects lines graph markers and text symbol graph marker symbol The graph marker is an integer with the following codes 1 2 a single dot diameter line width 3 31 a regular polygon with ABS symbol edges style set by fill style 0 31 standard marker symbols 32 127 ASCII characters in current font 127 4000 a Hershey symbol number width width used for wedges only Sets the total width of a wedge including annotation in units of the character height xleft x coordinate of left hand xleft xright ybot and ytop specify the size and position of the viewport in normalised device coordinates Normalised device coordinates run from 0 to 1 in each dimension The viewport is the rectangle on the view surface through which one views the graph xright x coordinate of right hand See xleft ybot y coordinate of bottom edge See xleft ytop y coordinate of top edge See xleft 6 9 4 Affected part keywords The following list contains the keywords for those parts of the graphical output that can be customised by float and integer parameters Box Caption ChanNum channel numbering 61 Cont contours Data data lines GloVP global viewport LabelX x label Label
17. argument signal style p 5 2 3 Output Most user methods supply status information as screen output when being called The amount of information displayed can be restricted using the message handler associated with the main data object data MessHand setMaxWeight 4 where the arguement is an integer value between 1 and 5 with the following meaning e 1 errors queries e 2 warnings e 3 short info 2 3 e 4 extended info 5 debug 35 5 3 Detailed description of all user methods CV I think switching between referring to methods and commands is confusing Should be consistent CV Also could probably do with a better title here but i haven t thought of one yet CV I think at the moment this section seems a bit confused I ve tried to re shuffle the list of commands so they are roughly grouped in terms of what they do it would maybe be an idea to even make separate sections for these groupings from my point of view they seem to be 1 data reduction commands 2 file reading 3 display device setup which are Boa independant Bogli commands and so are described in detail in Chapter 6 and finally 4 plotting commands which are related to Boa and so are not described in Chapter 6 In this section you will find detailed descriptions of all user methods their arguments output and abbreviations and some examples for the different tasks possible to execute in BoA Many commands
18. between iterations according to the agreement between predicted and actual reduction in the objective function For a step to be accepted the ratio T Ty r e Sx r 21 FI eels fell Dae must exceed a small positive number typically 0001 If this test is failed the trust region is decreased and the step is recalculated When the ratio is close to one the trust region for the next iteration is expanded Levenberg Marquardt codes usually determine the step by noting that the solution of also satisfies the equation 8 2 2 121 channel obs obs A Az Q resec A El FWHM 9 55 csec FWHM intens AU intens basel inter basel inter 88 11 0 01 a u arcsec basel Figure 8 1 Graphical output of a pointing of a single scan of a point source colors represent different scans symbols are measured values drawn lines are Levenberg Marquardt fits 1 FET F x A DE De se F ET F 24 8 3 for some Az gt 0 The Lagrange multiplier Az is zero if the minimum norm Gauss Newton step is smaller than Ay otherwise Az is chosen so that Az sz 2 Ag Equations 8 3 are simply the normal equations for the least squares problem 2 i a A min an s ie sER 8 4 2 122 A Az FWHM intens 5 intens basel inter hU basel inter Figure 8 2 Graphical output of a pointing of accumulated scans of a point source colors represent different scans sy
19. channels Usage MultiPlot plot chanList dataX dataY limitsX limitsY labelX labelY caption style ci overplot logX logY nan Arguments chanList list of channels of the form 1 2 3 dataX values to plot along X 53 NAAA AAA ALLA ALAA WERRURRRRSLRESRRURSL AAA AAA RA ALA AAA AAA AAUUAA UA NA MAA AMA MAN CUA ot oe at sat ib sa re ih a Ej soot ot A stilt ol se tt PES A sat ft git ill dee ah ik ott sot PE EUA AAA AMA MARA AAA Figure 6 4 Example of graphics produced using MultiPlot plot dataY values to plot along Y Optional arguments these are described in Section 6 9 3 CV I guess the logical parameter will be described in a different section but at the moment there is nothing in that section So currently e g logX and logY are not described anywhere Example n_point 365 chanlist range n_point x2 y2 RandomArray random n_point n_point RandomArray random n_point n_point MultiPlot plot chanlist x2 y2 x2 style p The graphic output produced in this case is shown in Figure 6 6 Drawing on an image Usage Plot draw map array sizeX sizeY WCS limitsX limitsY limitsZ nan labelX labelY caption style contrast brightness wedge overplot aspect doContour levels 54 Figure 6 5 Example 1 of graphics produced using Plot draw Figure 6 6 Example 2 of graphics produced using Plot draw drawing contours 5
20. f src pgaxis f src pgaxlg f src pgband f gcc c Wall fPIC DPG_PPU 0 I cpgx c rm f cpg c ar ru libcpgplot a cpg o ar creating libcpgplot a ranlib libcpgplot a rm f cpg o gcc Wall 0 c 1 cpg cpgdemo c g77 o cpgdemo cpgdemo o L pwd lcpgplot lpgplot L usr X11R6 lib 1X11 rm f cpgdemo o Finished compilation of the C PGPLOT wrapper library Note that if you plan to install the library in a different directory than the current one both libcpgplot a and cpgplot h will be needed lt boa_build gt Do you want lt boa_build gt lt boa_build gt Do you want lt boa_build gt lt boa_build gt Do you want lt boa_build gt lt boa_build gt Do you want lt boa_build gt lt boa_build gt Do you want lt boa_build gt lt boa_build gt Do you want lt boa_build gt pgplot 5 2 Done to install pPGPLOT1 3 version 1 3 required y N y Unpacking and installing pPGPLOT pPGPLOT 1 3 Done to install slalib y N y Unpacking and installing slalib slalib Done to install pySLALIB 0 4 version 0 4 required y N y Unpacking and installing pySLALIB 0 4 pySLALIB 0 4 Done to install cFITSIO 2 49 version 2 44 required y N y Unpacking and installing cFITSIO cFITSIO 2 49 Done to install p_CFITSIO very specific version y N y Installing the included version of pCFITSIO p_CFITSIO to install the Intel Fortran 90 compiler y n y Unpacking and installing Intel F90
21. four kinds of parameters can be distinguished 1 float and integer parameters see Sect 6 9 2 2 logical parameters see Sect 6 9 5 1 3 string parameters see Sect 6 9 5 2 4 list parameters see Sect 6 9 5 3 Float and integer parameters require floating point or integer numbers as arguments respec tively If a float argument is given where an integer number is expected BoA provides an error message Logical parameters require 0 or 1 as arguments and serve as switches Example box 0 switches off the display of the box es to switch it on again use box 1 List parameters contain lists or arrays and have special commands to be changed e g plot channel 6 9 2 Float and integer parameters The designation of almost each float and integer parameter follows a common scheme by as sembling two keywords describing 59 1 the general attribute general attribute keyword 2 the affected part of the graphical output affected part keyword Where possible the keywords are designated following the argument names of the pglot sub routine descriptions Example ciBozx defines the colour ci colour index of the box where ci is the general attribute keyword and Boz the object keyword 6 9 3 General attribute keywords The following list contains all general attribute keywords ch character height The character height scales the size of text graph markers and tick marks It is given in multiples of about 1 40 the
22. int list chanList list of channels int phase phase to be plotted int flag flag to be used 8 5 28 azoff self chanList phase 0 flag 0 azoff lt DataEntity lt BoaDataEntity py DES plot time series of elevation offset INP int list chanList list of channels int phase phase to be plotted int flag flag to be used 8 5 29 azeloff self chanList phase 0 flag 0 azeloff lt DataEntity lt BoaDataEntity py DES plot elevation offset versus azimuth offset INP int list chanList list of channels int phase phase to be plotted int flag flag to be used 8 5 30 plotMean self chanList phase 0 flag 0 plotMean lt DataEntity lt BoaDataEntity py 96 DES plot mean flux value vs subscan number WARNING flag handling not implemented yet INP int list chanList list of channels int phase phase to be plotted int flag flag to be used 8 5 31 plotRms self chanList phase 0 flag 0 1 plotRms lt DataEntity lt BoaDataEntity py DES plot flux r m s vs subscan number WARNING flag handling not implemented yet INP int list chanList list of channels int phase phase to be plotted int flag flag to be used 8 5 32 plotMeanChan self chanList phase 0 flag 0 1 plotMeanChan lt DataEntity lt BoaDataEntity py DES PLotting the MEAN value for each subscan against channel number 8 5 33 plotRmsChan self chanList phase 0 flag 0 plotRmsChan l
23. of x label string coordinates of x label displacement of x label string justification of x label character height of y label colour index of y label string coordinates of y label displacement of y label string justification of y label character height of data points colour index of data points marker symbol of data points character height of wedge colour index of wedge displacement of wedge line style of wedge line width of wedge width of wedge 6 9 5 1 Logical parameters 6 9 5 2 String parameters 6 9 5 3 List parameters 63 64 7 Development CV DPve not looked at this Chapter because I m not familiar with the develop ment or whether or not things currently written here are up to date However if someone else does the necessary revisions I d be happy to proof read it for clarity etc 7 1 Basic programming rules 7 2 Adding classes 7 3 Adding methods 7 4 Adding Fortran90 code FBO040510 General We are using Fortran 90 95 subroutines wrapped to be called from python using the f2py package This is because f90 code executes much faster than python scripts There are some subtelties to pay attention to when wrapping fortran code else you will add large overheads from the py f90 interface as arrays are copied and reindexed For an introduction to F90 95 only minor differences between the two I recommend the compact and rather comprehensive and free Fortran 90 course notes f by AC Marshall
24. phase 0 1ag 01 95 8 5 30 plotMean self chanList phase 0 flag 0 o 95 8 5 31 plotRms self chanList phase 0 1ag 0A o 96 8 5 32 plotMeanChan self chanList phase 0 H1ag 0 96 8 5 33 plotRmsChan self chanList phase 0 1ag 0 96 97 97 97 97 98 8 6 1 gsmooth image whm Jl 2 2002202040 we es 99 100 101 101 103 103 8 7 2 scanFocus self chan 1 phase 0 flag 0 plot 1 omit r 0 104 8 3 aceFocus seltiom r orcos A 104 8 7 4 detSubStruct self chan 1flag 0 2 6 aks ek ES eR Aw oe es 105 8 7 5 detScanExtr self fsa a4 aa OR A ee a ad We 105 8 7 6 createModelData self lt o deeb Sor eee Sib GS wh aS wR ES es 105 8 7 7 printScanResults self 5 Aah 24 Se ee ee Ee dee eee AR 106 8 7 8 initAccFocus self oe a4 64 ee AG ee eee ES RI A AA OHS 106 8 7 9 addToAccFocus self onc s lt G eee eee aR EG ERR Ee EHR ERO 106 8 7 10 detAccExtr self cocos Se PRESSE GhE we Se Eee SE Se dd 107 8 7 11 createAccModelData self 2 0 2 a 107 8 7 12 printAccResults self 4 ee eo eee bbe eee eo Re ERs eke Ee wees 107 raras aa me ee ee tri 108 Se ates al da ED B ee ae a a ee ee is 109 SL wes2pix self X Y hw sp a a tee Saw e Bg oe HA aa ee ra 109 8 9 2 wes2phylsellill 6 225446465 4 8 ers bser eG wa 109 8 9 3 109 8 9 4 physicalCoordinates self nn ee we eee Re ee ee EE OE B
25. to its first p elements where p is the largest power of 2 less than the number of elemenets OUT flt array squared modules of FFT z 8 19 fUtilities Fortran module 8 19 1 ksmooth image ii jj kernel ngg ksmooth lt Module name missing lt fUtilities f90 138 NAM ksmooth subroutine DES Smooth an image with a given kernel the kernel should have a squared support with odd dimension INP image input rank 2 array f with bounds ii jj ii gt 1 jj gt 1 kernel input rank 2 array f with bounds ngg ngg ngg have to be odd and gt 1 QUT image rank 2 array f with bounds ii jj History NAM safeExp subroutine DES Attempt to create a fast exponential for python 8 20 BoGLi modules and classes 139 List of Figures 1 1 The APEX telescope at Chajnantor Images from the APEX handover Nov 2003 1 ERA tle Pai Soe ea eh ao 39 6 1 Example 1 of graphics produced using Plot plot 2 50 6 2 Example 2 of graphics produced using Plot plotl o o o 51 6 3 Example 3 of graphics produced using Plot plot 51 6 4 Example of graphics produced using MultiPlot plot 53 o Rec 54 se es 54 A E ee 56 gf a Row da oe a a eats 69 7 2 Plotting the Mean values of signal 2 0 ee 70 fe Mere a la ee ee See 71 Sl PODA s xg cS is es Se Ae aa Se ak he A ee a a a a oe ee 121 8 2 Pointing
26. written to convert an MB FITS file to a FITS file with the same format as for MAMBO ABBA data These two modules were tested by comparing the results of the reduction performed with NIC or MOPSI on the original data file on one hand and on the file converted to the MB FITS format then back to the MAMBO format on the other hand These tests were successful no difference can be seen in the results obtained with and without conversions for the following software observation type combinations e Pointing NIC Focus NIC Skydip NIC On Off NIC Raster map MOPSI e Fast Scanning map MOPSI 32 5 Usage CV General comment Somewhere in this chapter we should mention that graphics commands i e Bogli are discussed in the next Chapter 5 1 Starting BoA CV This section doesn t seem clear to me What about the alias we created in Section 3 and what is meant by apex Calibrator I think it s important that this section is very clear and at the moment it seems to require the reader to have some implicit knowledge First you have to define an environment variable MBFITSXML whose value is the path to the file MBFits xml including the file name itself e g setenv MBFITSXML MBFits xml To invoke BoA call python in interactive mode i with the file BoaStart py python i BoaStart py Alternatively from an already running python session e g within a shell window running the apex Calibrator it is
27. 295 T T T T T i T T T T 1500 1 2 4 1000 H 4 500 F 4 3 a 2 la AA 9999 M 9 5 tt ttt HH HA tt E 1500 F So 44 x 3 iL J 1000 H peee 500 4 1 z L L 1 L L 4 J 1 1 5 2 2 5 3 1 1 5 2 2 5 3 Subscan Figure 7 3 Plotting the RMS values of signal Example gt gt gt median 1 2 3 5 6 3 0 7 6 2 Scientific Statistics mean Description Returns the mean average value of a 1 d array Example gt gt gt mean 1 2 3 5 6 3 3999999999999999 71 72 7 6 3 Scientific Statistics correlation Description Computes the correlation coefficient between two 1 dim arrays a and b according to E e a a b b PP DAA Example gt gt gt correlation 1 2 3 4 5 1 2 3 4 5 1 0 gt gt gt correlation 1 2 3 4 5 1 2 3 5 5 0 96476382123773219 gt gt gt correlation 1 2 3 4 5 5 4 3 2 1 1 0 7 6 4 Scientific Functions LeastSquares Description General non linear least squares fit using the Levenberg Marquardt algorithm and automatic derivatives The parameter model specifies the function to be fitted It will be called with two parameters the first is a tuple containing all fit parameters and the second is the first element of a data point see below The return value must be a number Since automatic differentiation is used to obtain the derivatives with respect to the parameters the function may only use the mathematical functions known
28. 3 4 10 Scipy Distutils ee ee 3 4 11 pcfitsIO 3 4 12 Path structure 3 4 13 Listing of python site packages o ee ee 3 4 14 Readline interactive tool 000000 ee a 3 4 15 Additional Libraries 2 0 00000 a a 3 5 Updating BoA 4 Data organisation 4 1 Input data 4 2 Data objects 4 2 1 Raw data 4 2 2 Derived data iii She Ge wes Ree we a a A es ee ee 30 2A BoA Statisl 2 eae eo be PO ee a ee ee et ee Pa De ee 30 fe NE RM i ee Oe BAe SELES i ws 2 ee we So Se ee 31 32 oa ae Ge GB eho Qo ace Kod Good oe AGS Fak amp da aoe A A 32 ge ees ee Setar Gr Gee ep a Gees Bae Gh aes eee O 32 pe Boe Go ies Bee Be oe Bee ee 2 eee Ba 32 5 Gt o he Go ok Bh a ee amp we Oe we ee E Ra 33 bey i fe fe Mi dy e eth eh Gp ee a y a a a A we a a we a 34 Gee ee a A ass ta dep eee 35 A Gaye Ge ke eee Ne ee te teed Dee es tae 35 eo Geox E lee AO 36 cin le ee ee aa Ae ct Gee le e ee ck ed Re a Se Bee A 36 et ete Sp ees Se ee ee es ee Gees Se es See ee 36 Lob g BAR A Oe eee AE Ae ee 36 ed Week bec da EE ee ee RE as a A 36 bee Seg Mh ee Reon gt ee A 37 ME 37 A Beene a Ss ees ie E E ee ee 37 la a eae tees PO ws ee 38 aa a e th Ae ee ah ee Se She pr Te ee al Se ee 38 y Bea BS ate cae eae See 4B a Pe BD Ae Ea Ge Ae A 38 be ees ge noe Se ce oe a ee Ge es Sp es es See ee oc 38 bk tia 40 FA GO ere woe ROR Ba a ha a em eee ed 39 DOL ave PG fos RARE we Aa ERE EW he e
29. 5 labelContour Arguments map array map to display Optional arguments these are described in Section 6 9 3 Example 1 n_point 365 mapping Numeric absolute RandomArray standard_normal n_point n_point 2 Plot draw mapping style b2r wedge 1 You can also define physical unit for your plot and still use limitsX Y and aspect Plot draw mapping sizeX 1 1 sizeY 2 2 limitsY 1 1 aspect 1 wedge 1 The graphic output produced in this case is shown in Figure Example 2 Plotting contours CV where can i find Plot contour I ve moved this section to here it was previously a section on its own since it seems to me a part of Plot draw since doContour is an optional argument of Plot draw def dist x y return x 125 2 y 125 2 image Numeric sqrt Numeric fromfunction dist 200 200 50 Plot draw image wedge 1 aspect 1 style rainbow Plot draw image doContour 1 overplot 1 Plot contour color 2 Plot contour linewidth 10 display an image overlay some contours change the colour and linewidth attributes Plot draw image doContour 1 overplot 1 levels 10 10 20 30 plot some more contours with the new attributes 56 Figure 6 7 Example of graphics produced using MultiPlot draw The graphic output produced in this case is shown in Figure 6 7 Drawing on plots of multiple channels Usage MultiPlot plot draw
30. 515 split f90 module into classes USE Call f90 baseline polyfit etc See examples in ftest py SM041109 renamed module to avoid conflicts with py module 109 8 9 Image Image lt BoaMapping py NAM Image class DES An object of this class describe an image an it axis History NAM BoaMapping py module DES contains the BoAMapping and Image classes 8 9 1 wcs2pix self X Y wes2pix lt Image lt BoaMapping py DES Convert from physical coordinate describe by self WCS to pixel coordinate INP float X Y the physical coordinate to convert from OUT float i j the pixel coordinate s 8 9 2 wes2phy self i j wes2phy lt Image lt BoaMapping py DES Convert from pixel coordinates to physical world coordinates INP float i j the pixel coordinate to convert from OUT float X Y the physical coordinate 8 9 3 computeWCS self pixelSize sizeX size Y minmax computeWCS lt Image lt BoaMapping py 110 DES fill main WCS keywords according to pixel size and map limits INP int pixelSize size of pixel in acrsecond float sizeX map limits in azimuth in arcsecond float sizeY map limits in elevation in arcsecond float minmax minAzoff maxAzoff minFloff maxEloff in this order 8 9 4 physicalCoordinates self physicalCoordinates lt Image lt BoaMapping py DES return arrays with physical units corresponding to th
31. ATH export PGPLOT_DEV XWINDOW Example for the cshrc and tcshrc HOME is your home directory Creating an alias to start BoA alias boa python i HOME BoA bin BoA BoaStart py Creating the MBFITSXML environment variable setenv MBFITSXML HOME BoA bin BoA MBFits xml Updating variables PATH and PYTHONPATH setenv PATH HOME BoA bin PATH setenv newPYTHON HOME BoA 1ib python2 3 site packages setenv PYTHONPATH newPYTHON setenv PYTHONPATH newPYTHON Numeric PYTHONPATH if LD_LIBRARY_PATH then setenv LD_LIBRARY_PATH HOME BoA 1ib LD_LIBRARY_PATH 14 else setenv LD_LIBRARY_PATH HOME BoA 1ib endif Defining the PGPLOT_DIR variable setenv PGPLOT_DIR HOME BoA 1lib pgplot setenv PGPLOT_DEV XWINDOW Here is what Frank actually put into his cshre System variables paths and alias needed for python and BoA if e opt intel compiler60 ia32 bin iccvars csh then source opt intel compiler60 ia32 bin iccvars csh endif set boahome aux pc191b bertoldi boa setenv PYTHONPATH opt opt intel compiler60 ia32 lib setenv PYTHONPATH PYTHONPATH usr lib setenv PYTHONPATH PYTHONPATH boahome lib python2 3 setenv PYTHONPATH PYTHONPATH boahome lib python2 3 site packages setenv PYTHONPATH PYTHONPATH boahome lib python2 3 site packages Numeric alias boa python i BoaStart py alias cleanboa bin rm f BOA MES pyc setenv MBFITSXML boahome openboa BoA MBFits xml setenv PGPLOT
32. BoaFocus py NAM DES INP HIS detSubStruct method determine the structure of the scan first and last index of each observation subscan int chan channel int flag flag to be used 0 unflagged MA040405 initial version SM040514 with Marcus Albrecht first runnig version 8 7 5 detScanExtr self detScanExtr lt Focus lt BoaFocus py NAM DES HIS detExtr method determine extrema of scan data MA040405 initial version SM040916 small changes 8 7 6 createModelData self createModelData lt Focus lt BoaFocus py NAM DES HIS createModelData method create data for graphical display of fit MA040405 initial version SM040915 small changes SM040917 small changes 105 106 8 7 7 printScanResults self printScanResults lt Focus lt BoaFocus py NAM printScanResults method DES print results for scan HIS MAO40405 initial version SM040514 with Marcus Albrecht first runnig version SM040522 new error calculation SM040910 small changes SM040915 small changes 8 7 8 initAccFocus self initAccFocus lt Focus lt BoaFocus py DES Initialise an instance HIS MAO40716 initial version SM040913 small changes SM040915 updated 8 7 9 addToAccFocus self add ToAccFocus lt Focus lt BoaFocus py DES Add a scan to accumulated focus HIS MAO40716 initial version SM040913 small changes SM040917 updated 107 8 7 10 detAccExtr self detAccExtr l
33. Data lt DataEntity lt BoaDataEntity py DES save the current DataEntity object to a file INP string fileName name of the output file optional default value BoaData sav 8 5 8 restoreData self fileName BoaData sav restoreData lt DataEntity lt BoaDataEntity py DES restore a DataEntity object previously saved in a file and set it as the currData attribute of BoaB INP string fileName name of the input file optional default value BoaData sav 8 5 9 saveMambo self inName outName saveMambo lt DataEntity lt BoaDataEntity py DES convert an MB Fits file to the MAMBO FITS format readable by MOPSIC INP str inName name of the MB Fits file optional str outName name of the MAMBO output file optional 90 8 5 10 readRCPfile self rcpFile readRCPfile lt DataEntity lt BoaDataEntity py NAM DES INP readRCPfile method update Receiver Channel Parameters attributes Array_Geo Array_Gain and Channel_Sep from the content of a file self DataEntity object string rcpFile complete name of file to read in 8 5 11 writeRCPfile self rcpFile rcpBoa rcp writeRCPfile lt DataEntity lt BoaDataEntity py NAM DES INP writeRCPfile method store current Receiver Channel Parameters Array_Geo Array_Gain to a file with format like mopsi string rcpFile complete name of output file 8 5 12 initPhases self initPhases lt DataEn
34. Flag array of the corresponding DataEntity object It provides methods to derive the rms of each channel and to automatically search for bad or noisy channels Channels might be flagged according to a given input file This object provides methods to derive the correlation matrix Uses f90 chanana mean_rms f90 chanana mean_rms_s f90 chanana flag History NAM BoaDataAnalyser py file DES contains BoA channel analyser class 8 4 1 _ init_ self _init_ lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py DES initialise an instance 8 4 2 flagChanFromList self list fag 1 flagChanFromList lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py DES assign flags to a list of channels To unflag a channel simply flag with flag 0 INP integer list list of channels to be flagged integer flag flag value 83 8 4 3 unflag self channel 1 phase 1 flag 1 unflag lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py NAM unflag method DES Unflag data i e reset to 0 Might want to change to allow for list of channels INP i channel i phase i flag 1 all channels O first channel 1 all else 0 1 2 1 unflag only this value 8 4 4 flag self channel 1 phase 1 below 2 above 2 flag lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py NAM flag method DES Flag yet unflagged data below below rms and above above xrms Might want to change to all
35. M test1 module f90 in file BoaTest1 f90 DES module collecting test subroutines USE wrap f2py c m f90 BoaData f90 BoaTest1 f90 BoaTest2 f90 call f90 test1 flag etc HIS FB040303 change to _p 8 16 1 flag n ch n ph low high flag lt testl lt BoaTest1 f90 NAM testi flag sub VER 9 12 03 f bertoldi initial 9 02 04 fb now flag outside range DES only for testing and illustration set flag for given channel if data lt low or gt high INP channel channel number for which data to be flagged low lower limit high upper limit OUT HIS FB040303 change to _p 8 17 MamboMBFits MamboMBFits lt MamboMBFits py DES Objects of this class contain two attributes of the FitsFile class The Mambo attribute stores the data as they appear in a MAMBO FITS file and the MBfits attribute contains the data in the MB FITS format Methods to do conversions in both directions are provided by this class History NAM MamboMBFits py file DES this module defines the MamboMBFits class which contains both a Mambo fits file and an MB Fits file and provides methods to do conversions between these two formats VER 24 05 2004 HIS 17 02 2004 F Schuller Initial version 17 02 2004 17 18 27 01 09 10 11 18 19 02 02 03 03 03 03 03 03 2004 2004 2004 2004 2004 2004 2004 2004 Initial version fr
36. MPIfR Max Planck Institut f r Radioastronomie Bonn amp AIRUB Astronomisches Institut der Ruhr Universit t Bochum Sven A H Miiller supported by Marcus Albrecht Frank Bertoldi amp Frederic Schuller AIRUB Bochum Germany 28 02 2005 Max Planck Institut f r Radioastronomie BoA The Bolometer Data Analysis Project 0 912 Reference and user s manual Abstract BoA is a new software and will be used for the reduction of data obtained with the bolometer arrays at the Atacama Pathfinder Experiment APEX telescope at the IRAM 30m telescope and at the Heinrich Herz Telescope HHT BoA shall include most of the functionalities of the current reduction packages MOPSI and NIC in a programming environment which is easier to modify maintain and re use Unlike the current packages BoA shall naturally interface with an observation management and calibration database and it shall aid well in hardware commissioning and debugging BoA is a collaborative effort of the Astronomisches Institut der Ruhr Universit t Bochum AIRUB and the Max Planck Institut fiir Radioastronomie MPIfR Bonn and invites participation by all interested parties The initiative to build a new bolometer software package is motivated and financially supported by a Verbundforschung grant by the German Ministry of Research and Education BMBF to the AIRUB and MPIfR to build LABOCA a large bolometer array camera for APEX APEX is a 12 meter ra
37. OUT float X Y the physical coordinate 8 10 10 computeWCS self pixelSize sizeX sizeY minmax computeWCS lt Map BoaDataAnalyser DataAna lt BoaMapping py DES fill main WCS keywords according to pixel size and map limits INP int pixelSize size of pixel in acrsecond float sizeX map limits in azimuth in arcsecond float sizeY map limits in elevation in arcsecond float minmax minAzoff maxAzoff minFloff maxEloff in this order 8 10 11 boloPos self chanList allFlux boloPos lt Map BoaDataAnalyser DataAna lt BoaMapping py DES return the offset w r t reference channel and the flatfielded flux INP list chanList list of channel to take into account array allFlux correctonding fluxes 8 10 12 getPixel self nbPix 3 getPixel lt Map BoaDataAnalyser DataAna lt BoaMapping py DES allow user to get pixel values using mouse INP int nbPix size of area to compute average 115 8 11 MessHand MessHand lt BoaMessageHandler py NAM MessHand class DES An object of this class is responsible for the management of output messages as well as the creation of message files History NAM BoaMessageHandler py module DES contains the BoA message handler class 8 11 1 __init__ self logName Unknown _init_ lt MessHand lt BoaMessageHandler py DES initialise an instance INP OUT 8 11 2 Welcome self Welcome lt MessHand lt BoaMessageHandler py
38. The BoaData f90 f90 data from python module is filled in BoaDataEntity FillF90 It must be refilled if you change data object else the fortran methods will work on a different scan This re filling must be implemented still Currently the f90 data is only filled upon read of a new data file The CVS directory BoA fortran contains the fortran source code You will need to wrap compile the BoA modules on your local system see below since it links to local li braries that have no standard address This will create the extension module f90 so which you import to BoA From the CVS directory BoA start BoA then gt gt gt from fortran import f90 This is how to import any module from a subdirectory which for this needs to include an empty file _init__ py The python script fortran ftest py contains a series of calls to the fortran subroutines To run it gt gt gt read read in some scan gt gt gt op open plot device enter gt gt gt execfile ftest py start the script which is followed with lots of output To illustrate the use of new python methods that use fortran you find BoA TestFB py which you run like ftest py It goes through a number of data reduction steps and plots the data Wrapping F90 code with f2py To wrap the f90 modules to produce f90 so ifc c w svd f90 f2py c m f90 BoaData f90 BoaF1 f90 BoaChannelAnalyser f90 BoaBaseLine f90 svd o or on some installations alternatively f2py c fcompi
39. Y y label Point data points Wedge 6 9 5 Parameter list Not any combination of general attribute and object keyword is effectively reasonable Table 6 compiles the defined parameters that may actually be changed by the user sorted by object keyword 62 Table 6 List of all float and integer parameters ciBox IsBox lwBox chCaption ciCaption coordCaption dispCaption fjustCaption ciChanNum coordChanNum dispChanNum fjustChanNum ciCont IsCont lwCont ciData IsData lwData leftxGloVP rightxGloVP botyGloVP topyGloVP chLabelX ciLabelX coordLabelX dispLabelX fjustLabelX chLabelY ciLabelY coordLabelY dispLabelY fjustLabelY chPoint ciPoint symbolPoint chWedge ciWedge disp Wedge lsWedge lw Wedge widthWedge colour index of box line style of box line width of box character height of caption colour index of caption string coordinates of caption displacement of caption string justification of caption colour index of channel numbering string coordinates of channel numbering displacement of channel numbering string justification of channel numbering colour index of contours line style of contours line width of contours colour index of data lines line style of data lines line width of data lines left x coordinate of global viewport right x coordinate of global viewport bottom y coordinate of global viewport top y coordinate of global viewport character height of x label colour index
40. _DIR boahome 1ib pgplot setenv LD_LIBRARY_PATH PGPLOT_DIR LD_LIBRARY_PATH set path boahome bin path setenv PYTHONSTARTUP homes dmuders bin python interactive py setenv PGPLOT_DEV xserve setenv CVSROOT ext openboa glx brazil ias u psud fr home openboa setenv CVS_RSH ssh alias cvsupdate cvs q update d alias cvscommit cvs commit m 15 The default ppgplot installation will have numarray support but currently BoA uses Numeric You will need to reinstall ppgplot now else BoA will fail To do this enter allBoA ppgplot 1 3 and edit the file setup py such that it looks like from numarray numarrayext import NumarrayExtension comment out the previous line from numarray and comment in the following to force the use of Numeric raise ImportError Then from the ppgplot 1 3 directory clean the installation make clean and reinstall python setup py install prefix aux pc191b bertoldi boa where you put in the path you installed to earlier 3 3 3 Known problems It may happen that the libpgplot so and libcpgplot so libraries will not be found home smueller gt boa Traceback most recent call last File home smueller BoA BoA BoaStart py line 26 in import ppgplot File home smueller BoA 1lib python2 3 site packages ppgplot __init__ py line 1 in from _ppgplot import ImportError libpgplot so cannot open shared object file No such file or directory For a first easy solut
41. a32 bin ifcvars csh endif if LD_LIBRARY_PATH then setenv LD_LIBRARY_PATH LD_LIBRARY_PATH lib usr lib else setenv LD_ endif 25 LIBRARY_PATH lib usr lib 3 4 13 Listing of python site packages In the following the comlete list of site packages of the python site packages directory is shown usr local lib python2 3 site packages lt site packages gt ls Floh total 2 9M drwxr xr x 5 root 4 0k Feb 28 10 18 Numeric rw r r 1 root 8 Feb 28 10 18 Numeric pth TW b 1 root 119 Feb 21 22 57 README drwxr xr x 13 root 4 0k Feb 22 04 09 Scientific drwxr xr x 10 root 4 0k Feb 22 04 14 _xmlplus lrwxrwxrwx 1 root 11 Feb 26 19 40 f2py2e gt f2py2e 2 39 drwxr xr x 3 root 4 0k Feb 26 19 39 f2py2e 2 37 drwxr xr x 3 root 4 0k Mar 9 13 59 f2py2e 2 39 mA a a 1 root 11k Feb 22 04 56 fitsio py drwxr xr x 10 root 4 0k Feb 22 04 13 numarray rWXr xr x 1 root 1 2M Feb 22 04 05 pcfitsio so rWXr xr x 1 root 1 2M Feb 22 04 05 pcfitsio so backup drwxr xr x 2 root 4 0k Feb 28 15 49 ppgplot drwxr xr x 3 root 4 0k Feb 22 04 03 scipy_distutils rWXr xr x 1 root 423k Feb 22 04 06 slalibmodule so 3 4 14 Readline interactive tool The readline library we are right now providing with our toolset comes with every Linux distribition The user has to have the package readline devel installed to make the python build procedure recognize the readline interactive stuff For reference please see www pbone net search f
42. aCalibrationData py calibration data CorrCal BoaCorrCal py correction and calibration FitsOut BoaFitsOutput py FITS output Help BoaHelp py online help MessHand BoaMessageHandler py message handling DatabaseConn BoaDatabaseConnector py connection to database MamboMBFits MamboMBFits py MAMBO to from MB Fits conversion Timing Utilities py benchmarking utilites Finally a few functions are defined in separate modules listed in Table B which do not define any class Thus these functions can easily be imported and run from any level In particular the BoA Graphic Library BoGLi is defined in a collection of modules which can be imported at the python level and do not require BoA A description of BoGLi is given in Sect 6 In addition a number of utility and computing routines are written in Fortran modules These routines are used within Python methods and should in principle not be called directly by a BoA user Table 3 Other BoA modules module name purpose BoGLi see Sect Graphic library Utilities py see Sect 8 18 collection of utilities BoaConfig py see Sect 8 2 global parameters definitions BoaSimulation py LABOCA data simulator 3 Installation CV General comment This document should say somewhere from where the reader should get have got boa from i e download etc CVS should also be mentioned in prior to this section Unless I ve missed these points I don t think
43. aglon lt chanana lt BoaChanAna f90 NAM DES INP OUT HIS flagaz sub set flag where lon gt low and lt high low lower limit high upper limit xflag rank 1 flag array lon_p taken from data module xflag rank 1 flag array mask_count number of flags changed FBO40608 adapted from flagtime 8 2 BoaConfig module 8 2 1 setInDir inputDirectory r 0 setInDir lt Class name missing lt BoaConfig py DES set the input directory INP string inputDirectory name of input directory History 79 NAM BoaConfig module DES Set the path filename for i o operation 8 2 2 setOutDir outputDirectory r 0 setOutDir lt Class name missing lt BoaConfig py DES set the output directory INP string outputDirectory name of output directory 8 2 3 listInDir listInDir lt Class name missing lt BoaConfig py DES list the input directory 8 2 4 setInFile inputFile r 0 setInFile lt Class name missing lt BoaConfig py DES set the input file name INP string inputFile name of input file OUT string inputFile 8 2 5 setOutFile outputFile r 0 setOutFile lt Class name missing lt BoaConfig py DES set the output file name INP string outputFile name of output file OUT string outputFile 80 8 3 data data lt BoaData f90 NAM data module 90 HIS FBO31213 created FB040209 add channel_rms mean FB040303 add _p
44. ame size as array plus an integer telling the size of the compressed array so that the final answer is compressed_array 0 nmax Fortran vs C contiguous If a Numeric array is proper contiguous and has a proper type then it is directly passed to the wrapped Fortran function Otherwise an element wise copy of an input array is made and the copy being proper contiguous and with proper type is used as an array argument There are two types of proper contiguous Numeric arrays Fortran contiguous arrays when data is stored column wise i e indexing of data as stored in memory starts from the lowest dimension C contiguous when data is stored row wise i e indexing of data as stored in memory starts from the highest dimension For one dimensional arrays these notions coincide To transform input arrays to column major storage order before passing them to Fortran routines one may use the function as_column_major_storage jarray that is provided by all 68 F2PY generated extension modules such as the BoA f90 If you call a fortran method repeatedly with the same input array you should convert the array first to avoid conversion by the wrapper interface on each call which could dominate the execution time here If you add the option DF2PY_REPORT_ON_ARRAY_COPY 1000 when wrapping you will be informed on each copy that the wrapper interface performs The option DF2PY_REPORT_ATEXIT gives an execution time summary upon exit that splits up the tim
45. an be found in Chapter 8 6 3 Commands CV In this section I ve removed all the abbreviations since all the brackets were making it messy and in any case the abbreviations are all clearly given in Table 4 CV Also a lot of this section is simply repeating material already covered in Section 5 e g this is just a list of example commands such as clear and close I think a clear distinction needs to be made between the purpose of Section 5 and Section 6 6 3 1 Opening a plot window Usage DeviceHandler openDev optional argument Optional argument pgplot device type CV First 2 sentences someone check this is ok I have rewritten 3rd 4th sen tences Also where appropriate I have changed the itemised section below to what I think makes more sense Open a graphics device for pgplot output and make it the current device If the device is opened successfully it becomes the selected device to which graphics output is directed until another device is selected see 6 3 4 or the device is closed see 6 3 2 If no device argument is specified PGPLOT will open the default graphics device an XWINDOW Alternatively the graphics device may be selected using any of the following as arguments 1 A complete device specification of the form device type or file type where type is one of the allowed PGPLOT device types installation dependent e g xwindow and device or file is the name of a graphics d
46. annels or string a or al or all to set current list to all possible channels Default OUT none 8 5 18 printCurrChanList self printCurrChanList lt DataEntity lt BoaDataEntity py DES print the current channel list in somehow clever way OUT a string representing the current channel list 8 5 19 checkChanList self inList checkChanList lt DataEntity lt BoaDataEntity py DES Return a list of valid channels INP int list string inList list of channel numbers to get or empty list to get the complete list of unflagged channels or all or al or a to get the complete list of channels OUT int list list of channel numbers 8 5 20 getChanData self dataType chan 1 phase 0 flag 0 getChanData lt DataEntity lt BoaDataEntity py 93 DES get data of one channel INP string dataType type of data int chan channel number int phase 1 all data O phase difference 1 phase 1 2 phase int flag data flag to be used OUT float array data of one channel 8 5 21 getChanListData self type chanList phase 0 flag 0 getChanListData lt DataEntity lt BoaDataEntity py DES get data for list of channels INP string type type of data int list chan channel list int phase 1 all data O phase difference 1 phase 1 2 phase 2 int flag data flag to be used OUT float array data of the input list of channels 8 5 22 signal self
47. apping py 112 DES reconstruct a map in Az El coordinates combining bolometers INP int list chanList channels to consider int phase phase to plot int flag flag values to consider float oversamp oversampling factor beam fwhm pixel size Default 2 list float sizeX limits in Az of the map list float sizeY limits in El of the map list float offsets Az El to recenter a point source logical noNan remove NaN in self Results str style color table to use in image 8 10 4 fastMap self chanList phase 0 flag 0 oversamp 2 0 beammap 0 fastMap lt Map BoaDataAnalyser DataAna lt BoaMapping py DES reconstruct a map in Az El coordinates combining bolometers INP int list chanList channels to consider int phase phase to plot int flag flag values to consider float oversamp oversampling factor beam fwhm pixel size Default 2 list float sizeX limits in Az of the map list float sizeY limits in El of the map list float offsets Az El to recenter a point source logical noNan remove NaN in self Results str style color table to use in image logical noSmooth do not smooth with beam 8 10 5 showMap self style g2r labelX gDAz labelY gDEI wedge 1 limitsZ showMap lt Map BoaDataAnalyser DataAna lt BoaMapping py DES show the reconstructed map in Az El 113 8 10 6 beamMap self chanList phase 0 flag 0 oversam
48. are mentioned prior to section 3 and so is assumed reader is already familiar with what they are supposed to do and where it comes from even what cvs is This section describes how to install BoA and all required additional software packages In the first subsection about preparation all additional needed software packages are named together with a short description of their installation procedures The second part describes the installation using the installation script of Alexandre Beelen and Frederic Schuller called install sh which is the prefered method The third part describes the installation using the older now obsolete installation script of Frederic Schuller called boa_build The fourth part deals with the manual installation of all software as user Recommended is the installation via the install sh script In the last section you will learn how to update an existing BoA version 3 1 Preparation Firstly you will need to install a GNU C compiler e g gcc and g77 the Xfree development kit and the libpng library which all are normally included in every linux distribution 3 2 Installation using the install sh script This subsection describes how to use the installation script install sh written by Alexandre Beelen Thomas Jiirges and Frederic Schuller You can find it in the directory install of the openboa cvs directory CV This section doesn t seem clear to me especially last line install sh is in open b
49. ation factor relative to given reference channel for given phase INP i channel reference channel against which correlated i phase 0 1 2 1 plot 1 or 0 overwrite Data_Red with fit OUT f data overwrites Data_Red_p with fit FFCF_CN rank 1 flat field with respect to channel 8 4 10 snf self phase 1 channel 1 subtract 1 wa 0 95 wb 1 0 snf lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py NAM snf method DES compute correlated noise and subtract it from data currently for only one specified channel and phase INP i channel reference channel for which CN is computed i phase 0 1 2 1 subtract 1 or 0 subtract CN or not f wa parameter for weights usually 0 90 0 98 wb parameter for weights usually 1 8 4 11 basePolySubscan self channel 1 phase 1 order 1 subtract 1 plot 0 basePolySubscan lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py NAM basePolySubscan method DES polynomial baseline method treat each subscan INP 86 i channel 1 all channels O first channel i phase 1 all else 0 1 2 i order polynomial order gt 0 1 subtract 1 or 0 subtract fit from data 1 plot 1 or 0 overwrite Data_Red with fit OUT f data overwrites data array with fit or data fit poly polynomial coefficients are printed but not returned needs to be implemented 8 4 12 basePoly self channel 1 phase 1 order 1 subtract 1 plot
50. attributes for phases phase difference FB040428 add subscan_ FB040515 add message_unit FB040610 add second index to xsubscan_index DES 90 module for data interface USE Wrap with f2py ifc c w svd f90 compile module gt svd d svd o f2py c fcompiler intel m 90 BoaData f90 BoaF1 f90 BoaFortranBaseLine f90 BoaChanA Options DF2PY_REPORT_ATEXIT gives time stats upon exit from python DF2PY_REPORT_ON_ARRAY_COPY 1000 reports when f2py interface copies a DNUMARRAY must be used for numarray support History NAM data module f90 HIS FB031213 created DES USE ifc f2py FB040209 add channel_rms mean FB040303 add _p attributes for phases phase difference FB040428 add subscan_ FB040515 add message_unit FB040610 add second index to xsubscan_index f90 module for data interface Wrap with f2py c w svd f90 compile module gt svd d svd o c fcompiler intel m f90 BoaData f90 BoaF1 f90 BoaFortranBaseLine f90 BoaChanA Options DF2PY_REPORT_ATEXIT gives time stats upon exit from python 81 DF2PY_REPORT_ON_ARRAY_COPY 1000 reports when f2py interface copies a DNUMARRAY must be used for numarray support 82 8 4 DataAna BoaDataEntity DataEntity DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py NAM DataAna class DES An object of this class is responsible for the flagging of individual channels i e it sets the values in the Channel_
51. chanList phase 0 flag 0 signal lt DataEntity lt BoaDataEntity py DES plot time series of flux density INP int list chanList list of channels int phase phase to be plotted int flag flag to be used 8 5 23 plotCorrel self chanRef 1 chanList phase 0 flag 0 plotCorrel lt DataEntity lt BoaDataEntity py DES plot flux density of a list of channels vs flux density of a reference channel 94 INP int chanRef reference channel number int list chanList list of channels int phase phase to be plotted int flag flag to be used 8 5 24 azimuth self chanList phase 0 flag 0 azimuth lt DataEntity lt BoaDataEntity py DES plot time series of azimuth INP int list chanList list of channels int phase phase to be plotted int flag flag to be used 8 5 25 elevation self chanList phase 0 flag 0 1 elevation lt DataEntity lt BoaDataEntity py DES plot time series of elevation INP int list chanList list of channels int phase phase to be plotted int flag flag to be used 8 5 26 azel self chanList phase 0 flag 0 1 azel lt DataEntity lt BoaDataEntity py DES plot azimuth vs elevation INP int list chanList list of channels int phase phase to be plotted int flag flag to be used 95 8 5 27 eloff self chanList phase 0 flag 0 eloff lt DataEntity lt BoaDataEntity py DES plot time series of azimuth offset INP
52. channels Table 4 List of commands with abbreviations Don t forget to add the round brackets at the end of the commands 45 6 Graphics BoGLi CV First a general comment I ve re written commented updated everything that was in this Section 6 already However there are obviously a lot of things missing from this section but whether they should be there or not depends on what the purpose of this Section is For example at the moment there are just a few examples of commands listed in 6 2 See Table 5 is this what is intended or do we in fact want to list here all the things Bogli can do CV These first two paragraphs 6 1 and 6 2 probably need re writing a bit by someone with more experience of BoGli s development My two comments are 2nd sentence It s and 3rd sentence self consistent and may be used independantly within any python programme 6 1 Introduction The BoA Graphic Library BoGLi is an object oriented software package for the graphical display of data Its is written in Python and uses the python binding to pgplot The main parts classes of the software are self consistent and may independently be used from any python programme Nevertheless BoGLi comes with features which especially customise its use for the display of astronomical data from multi channel receivers Its main goal is to provide a graphic tool tailored for the use with BoA for the display of data from LaB
53. cks ppeplot Download the latest version from the website mentioned above i e http efault net npat hacks ppgplot dist ppgplot 1 3 tar gz After downloading execute the following commands e tar xvzf ppgplot 1 3 tar gz e cd ppgplot 1 3 e python setup py install or python2 3 2 setup py install Problems e ATTENTTION ppgplot can be compiled either with numarray or Numeric support but not both 20 e There can be a problem plotting with ppgplot with the earlier version 1 1 and also with the version 1 3 The system this problem occured was a SuSE 7 3 on a notebook python 2 3 3 also tried 2 2 1 with Numeric 23 1 21 3 and numarray 0 8 In essence whenever trying to plot a Numeric array the following error occured ppe plot typeerror cannot cast vector to floats in the 1 1 version Also trying to to run one of the examples with version 1 3 resulted into an error File ex graph py line 24 in ppgplot pgpt xs ys 9 ppgplot typeerror object is not an array It is the Numeric arrays that cause the problem the numarray ones are ok the standard example na_ex_graph py plots fine The tested example was gt gt gt X 1 2 3 4 5 6 7 8 9 10 gt gt gt dataX Numeric reshape X Numeric shape X gt gt gt dataX array 1 2 3 4 5 6 7 8 9 10 gt gt gt ppgplot pgbox BCTSN 0 0 0 BCTSNV 0 0 0 gt gt gt ppgplot pgline dataX dataX Traceback
54. cope are stored in a new file format known as the MB Fits format for Multi Beam FITS format see Hatchell et al These files contain e the raw data as provided by the Frontend Backend in use at the telescope e data associated parameters time of the observations positions on the sky e a description of the complete Scan eg for a map number of lines steps between lines e parameters of the receiver channels in the array relative positions relative gains For the development of BoA as long as no MB FITS file with real observed data is available we made use of Mambo files converted to the MB FITS format A dedicated Python module was written to read the content of a FITS file containing MAMBO data and create a file with the same data plus the appropriate data associated parameters in the MB FITS format This module is able to convert any kind of MAMBO observations Pointing Focus Skydip On Off Raster map as well as maps performed in the Fast Scanning mode The files generated in the MB FITS format can then be read into BoA with the appropriate method see Section CV Cat Is there a Section ref available yet 4 2 Data objects The manipulation of data within BoA is done with objects of the DataEntity class see also Section One object of this class is stored in the currData attribute of the BoaB object this is the current object on which all reduction procedures can be applied Additional objects of this class can b
55. d add the following line setenv PATH DESTINATION PATH bin PATH e g setenv PATH home smueller LABOCA Python bin PATH Or you can define an alias alias python2 3 2 DESTINATION PATH bin python e g alias python2 3 2 home smueller LABOCA Python bin python 17 Then run the command source home USERNAME cshrc to activate your changes or open a new terminal window The time needed to install Python 2 3 2 on a PIII 500 MHz with 128 MB RAM was aproximately 20 min 3 4 2 Numeric ATTENTION Numeric is kind of obsolete from now on only using numarray see below Download the file Numeric 23 1 tar gz from the numeric numpy homepage http www pfdubois com numpy Execute the following commands e tar xvzf Numeric 23 1 tar gz e rm Numeric 23 1 tar gz e cd Numeric 23 1 e python setup py install or python2 3 2 setup py install e sh makeclean sh Numeric can then be found at DESTINATION PATH include python2 3 Numeric and DESTINATION PATH lib python2 3 site packages ATTENTION Don t use the Numeric 22 0 1 i386 rpm it causes some problems with mbfitsEntity py 3 4 3 numarray Download the file numarray 0 9 tar gz from the sourceforge net homepage Execute the following commands e tar xvzf numarray 0 9 tar gz e rm numarray 0 9 tar gz e cd numarray 0 9 18 e python setup py install or python2 3 2 setup py install numarray can then be found at DESTINATION PATH include python2 3 n
56. d oa eo ete od 138 List of Figures 39 List of Tablesll 40 1 Introduction The Atacama Pathfinder Experiment APEX is a 12 meter radio telescope at the best accessible site for submillimeter observations Llano de Chajnantor in Chile s Atacama desert ma il A 5 Ls Ae Ki tt ai meee a ee Figure 1 1 The APEX telescope at Chajnantor Images from the APEX handover Nov 2003 http www mpifr bonn mpg de div mm apex 2 Philosophy and basic structure 2 1 Philosophy BoA is designed with essentially two goals in mind a to provide a most comprehensive tool for the reduction and analysis of data from the new generation of bolometer arrays and b to facilitate the extension and modification of the software by any user BoA is intended to combine a simple and intuitive usage with the coverage of all aspects of data reduction from raw data to final images It shall provide the possibility to insert new functionalities as well as to be included in other software contexts This also results in a facile maintenance by others than the developers The natural choice for the creation of BoA is object oriented programming A simplistic approach of object orientation would be to glue everything together data and methods Nevertheless the large variety of required functionalities would result in data objects containing a huge amount of methods either by definition within the data class or by inheritance This would lead to a rather com
57. dio telescope at the best accessible site for submillimeter observations Llano de Chajnantor in Chile s Atacama desert APEX is an international collaboration led by the Millimeter and Submillimeter astronomy group at the MPIfR AIRUB the European Southern Observatory ESO and the Onsala Space Observatory OSO agreed with the MPIfR to share APEX funding and observing time with 10 of the observing time set aside for Chilean astronomers The antenna has been constructed by VERTEX Antennentechnik and erection at the site was finished in spring time of 2004 This document describes how to reduce LABOCA data and includes detailed descriptions of each task Copyright 2003 2005 AIRUB and MPIfR Contents 1 Introduction 2 Philosophy and basic structure 2 1 Philosophy 2 2 Programming language Python 0 0 0 000 e 2 3 Basic structure 3_ Installation 3 1 Preparation yA rk ee ae Ba kw te a rk ee a Sk hs He Gh ee ee eh ee ek OR AS een es ees he ep ee o 3 3 1 Download the boa_build Script o e e e 3 3 2 Runnig the boa_build script o e e 3 3 3 Known problems scac ecra aa acg poa woei oh ona a a e ag a a 3 4 Manual installation of each package as user o o a 3 4 1 Python 2 3 2 3 4 3 numarray 315 ppgplot 3 4 6 Installation of the Intel Fortran Compiler oaa aaa a 3 4 7 swig 3 4 8 pySLALIB 3 4 9 cfitsIO
58. dule so SHOME lib python2 3 site packages or DESTINATION PATH lib python2 3 site packages cfitsIO Installation of the fits package CFITSIO Tested version was cfitsio2440b tar gz Installation You have to be root The CFITSIO library is built on Unix systems by typing configure prefix target installation path make or make shared make install this step is optional 23 24 3 4 10 Scipy Distutils There is a new version of the scipy distutils available scipy_distutils latest tar gz These must be installed separately Untar and run python setup py install prefix outDir python setup_scipy_distutils py install prefix outDir This should result in the appearance of a directory outDir lib python2 3 site packages scipy_distutils 3 4 11 pcfitsIO Installation of the fits package CFITSIO 3 4 12 Path structure In the following the entire path strucure setup in the system file cshrc is shown as an example setenv PYTHONPATH opt intel compiler60 ia32 lib usr local lib python2 3 usr local lib python2 3 site packages home bertoldi bin opt usr lib setenv PYTHONSTARTUP home bertoldi bin pythonstartup py setenv MBFITSXML MBFits xml setenv PGPLOT_DIR usr local pgplot setenv PGPLOT_DEV XSERVE setenv CVSROOT ext openboa glx brazil ias u psud fr home openboa setenv CVS_RSH ssh if e opt intel compiler60 ia32 bin ifcvars sh then source opt intel compiler60 i
59. e 5 3 17 signal Usage signal optional argument Optional argument chanList list of channels of the form 1 2 3 flag flag to be used mjd if set use mjd instead of lst limitsX limitsY style cl 42 overplot Plot the time series of the flux density i e flux density versus LST Examples signal chanList 18 19 20 mjd 1 style p ci 2 signal 18 19 20 mjd 1 style p ci 2 5 3 18 Plotting FFT A Fast Fourrier Transform FFT of the signal can be plotted using the fft method read spirall op open an XWindow device data fft range 10 plot FFT for the first 9 channels 5 4 MB Fits to FITS file conversion To convert an MB Fits file to a FITS file in the MAMBO format you can use the command mambo The current version does NOT use the data contained in the data object in Boa but reads the input file with default name BoaB currData FileName and converts it to the Mambo format Therefore this procedure is somewhat decoupled from Boa 5 5 Scripts As BoA provides the full functionality of python this allows the use of scripts Scripts can be run with the execfile function where the name of the file has to be given as string argument The suffix of the file is arbitry Example If you want to have a look at the time series of channels 10 to 30 succesively create the following script with your preferred editor Note that in python the contents of the for loop like if blocks method de
60. e created by the user The definition of DataEntity objects enables to store the raw data and the reduced data as well as associated parameters as described below 4 2 1 Raw data When a file in the MB Fits format is read into BoA the data from a complete scan are stored in the following attributes of the current DataEntity object e FITS_Header this is a dictionary which contains some general descriptive parameters for the scan This includes telescope name and location scan type and global parameters wobbler mode and parameters source name coordinates and date of observation frontend backend com bination in use 29 e Data_Obs the raw bolometer data or counts are stored in a 2 dimensional array integrations x bolometers e Array parameters the receiver channel parameters are stored in two attributes Array_Gain relative gains and Array_Geo offsets with respect to the reference bolometer e LST local apparent sidereal time at integration midpoint e Az El azimuth and elevation actually observed including pointing corrections and wobbler offsets e Lon Lat longitude and latitude offsets from the source in user native frame intermediate coordinates e Wobbler Sta indicates the wobbler status for each integration point In case of wobbler switch ing observations this is a succession of ON and OFF e Subscan_Num Subscan_Epo Subscan_Time when a scan is composed of several observations or
61. e 89 8 5 8 restoreData self fileName BoaData saW il 0 oo o 89 8 5 9 saveMambo self inName outName o 89 8 5 10 readRCPfile selfrepFile o e ee 90 8 5 11 writeRCPfile self rcpFile rcpBoa rep hi o ooo oo 90 8 5 12 initPhases self oc a eG par ARE AR ws 90 8 5 13 phaseDiff self coc ow Geeks cr ree RS SHS 91 8 5 14 copyPhases self 2 2c eos eb eG ec nda raras ea ES 91 8 5 15 existData self oboe ee hetard be eee oe BE A 91 8 5 16 get TotalChanList self o 22 2246 64 e eae eeu Saeed bvewean 91 8 5 17 setCurrChanList self chanList ee ee ee 92 8 5 18 printCurrChanList self 22 aaa ue amp SM oe eK e at 92 8 5 19 checkChanList self imList i o ee es 92 92 8 5 21 getChanListData self type chanList phase 0 flag 0 93 8 5 22 signal self chanList phase 0 flag 0 1 93 vil 8 5 23 plotCorrel self chanRef 1 chanList phase 0 flag 0 93 8 5 24 azimuth self chanList phase 0 flag 0 94 8 5 25 elevation self chanList phase 0 flag 0 94 8 5 26 azel self chanList phase 0 flag 0 lo ex ck A eee RO ee OR ew 94 8 5 27 elofi self chan ist phase 0 flag 0 su 6s ee oe bee 4 ee eS NE eS 95 8 5 28 azofHself chanList phase 0Hag 0 esis 4658445 ek we ew 95 8 5 29 azeloff self chanList
62. e PERS 40 nn eS OE E 41 AAN AA he we ms ty he Senet RO RO Geeta Sak Ee Ss Sea ae 41 A sl ia Bin a Gaeta a 42 E A eee oe oe Be A A 42 T e a A Gee eg ee tee A ope ats Ser O A ae ies 42 ges tees Sy Ae eo Ge ss ee ae Se eae gs Ret a A ne Gee ee 43 45 Leis erg Nd AAA ee Ae ee a ee ee ee ee 45 6 2 Commandal 4 cke Bad ake Pe BAERS R aE SS Se EERE EM EASES EGS 45 Sod hb RB woe Soe Ge Ae aca oS hae se Oe See ewe he 47 Se ee pees eee Ge es ee ee ee oe ee ee 47 cue eck Se tegen oR Re Geta shee Dk e fee ek tee 49 6 3 3 Clearing a plot window 0 000 0 ee ee ee 49 ie eke fy eee ae Se Gree ee ts ee ated Oe a ed e el Ge eek Oke eee e Hoe e Ge AG Ae Se Bk eee ee we S A Se hb dee aoe aoe Ge AG RS el a ek Mig os E ogee a ee eee Soe ee he ee ae ce ee A eA Gok eae 2 ge ee da od ees 6 8 Device handling a aaa ee 6 Attributes sc s sn tbe Dee ee eae eee ee a ee ee 6 9 1 Basic concepts 2 0 ee Ge he eee Ae eet ee ak ee L O ee eect ee at ee a book dt Ae ee ete ne Books aa ee eG Oe r a E 6 9 5 Parameter list s eoo sosoca s ace ee 6 9 5 1 Logical parameters 2 o a a ee 6 9 5 2 String parameters ooa aa ee She A GA EE Ee ewe ee Sk AS pa aua a es a bu ti he detitdeatece bes bea paul saudi gk ess mie OM Sips Poche eo eas a he te epee Gee E eA Gage oa ced Tans Bek ee de eet Pes es eee eli e oe ee oe ee Stes a e Sop kD se Fos BoB ae ko le oe ab hae we Ge Ae ae ae a 7 6 ScientificPython 2 4 5 lt o oaa ee
63. e header keywords that have one direct equivalent in the MAMBO primary header 8 17 9 fillMamboPrimary self filMamboPrimary lt MamboMBFits lt MamboMBFits py DES Update the keyword values in the Mambo Primary header using the equivalent keywords found in the MB FITS file 8 17 10 fillFebepar self fillFebepar lt MamboMBFits lt MamboMBFits py DES This method writes one row in the FEBEPAR MBFITS table by reading the content of a Mambo RCP file specified by the total number of pixels 40 or 120 8 17 11 convertFebepar self convertFebepar lt MamboMBFits lt MamboMBFits py DES This method generates a RCP file where the relative gains and offsets of pixels are stored from the content of the FEBEPAR table The output file name is lt FE_name gt rcp 131 8 17 12 processMamboData self processMamboData lt MamboMBFits lt MamboMBFits py DES This method generates ARRAYDATA DATAPAR and MONITOR tables in the MB FITS file for every subscan in the MAMBO file 8 17 13 fillMamboData self filMamboData lt MamboMBFits lt MamboMBFits py DES This methods fills the subscans and data tables in an output MAMBO file using the data previously read in from an MB FITS file 8 17 14 getScanType self getScanType lt MamboMBFits lt MamboMBFits py DES Convert the informations about the observing type from Mambo format contained in OBSMODE SRP1FLAG SRP2FLAG to an MB FITS SCANTYPE Also r
64. e map 8 9 5 display self rms 0 weight 0 1 display lt Image lt BoaMapping py DES show the reconstructed maps in Az El INP boolean rms weight plot the rms or weight map instead of signal map string style the style used for the color default g2r string labelX labelY the X and Y labels boolen wedge draw a wedge default yes 111 8 10 Map BoaDataAnalyser DataAna Map BoaDataAnalyser DataAna lt BoaMapping py NAM Map class DES An object of this class is responsible for the restoration of mapping data of single or multiple files 8 10 1 _ init__ self _init_ lt Map BoaDataAnalyser DataAna lt BoaMapping py DES Initialise an instance 8 10 2 slowMap self chanList phase 0 flag 0 o0versamp 2 0 beammap 0 1 slowMap lt Map BoaDataAnalyser DataAna lt BoaMapping py DES reconstruct a map in Az El coordinates combining bolometers INP int list chanList channels to consider int phase phase to plot int flag flag values to consider float oversamp oversampling factor beam fwhm pixel size Default 2 list float sizeX limits in Az of the map list float sizeY limits in El of the map list float offsets Az El to recenter a point source logical noNan remove NaN in self Results str style color table to use in image 8 10 3 slowMap2 self chanList phase 0 flag 0 o0versamp 2 0 beammap 0 1 slowMap2 lt Map BoaDataAnalyser DataAna lt BoaM
65. e resize afterwards 58 6 9 Attributes 6 9 1 Basic concepts CV I think most of this section is obsolete so probably should be re written by someone familiar with the development of Bogli Same goes for section 6 5 2 I think CV I will check all the keywords and their descriptions are up to date BoGLi provides a variety of parameters which allow to change and customise the graphical output as regards primitives like colours linestyles character sizes as well as text output and general appearance These parameters are class attributes of the software for which methods exist to easily set and change values with simple user commands To get a list of all available parameters and their current settings type show all To retrieve the current value of a single parameter use parameter where parameter is the parameter name Example chLabelX will provide the character size of the x label The usual way to set parameter values is to type the parameter name followed by the desired value Example chLabelX 0 5 changes the character size of the x label to a value of 0 5 in units of 1 40 the height of the view surface In case the parameter name is followed by no reasonable argument BoA provides an error message For arguments outside the corresponding scope pgplot uses its intrinsic default values while BoGLi keeps the false value typed in To use the default value of every parameter provided by BoGLi use default Depending on their arguments
66. e used in fortran and in the interface If the interface time is large or comparable to the fortran execution time your code is not efficient because it copies arrays too often Look at examples in BoaBaseLine py e g Data f90 as_column_major_storage self Data Data_Red_p Flag 90 as_column_major_storage self Data Data_Flag_p for i_ch in ch_range loop over channels and phases for i_ph in ph_range Data 90 baseline addpoly Data Poly Mean Rms i_ph i_ch The input arrays are copied once into fortran contiguous arrays before the loop so in the loop there is no overhead from copying Note also the general scheme of calling a fortran method here Data is in and output argument 7 5 Interfacing 7 6 ScientificPython 2 4 5 ScientificPython is a collection of Python modules that are useful for scientific computing Almost all modules make extensive use of Numerical Python NumPy Numeric which must be installed prior to Scientific Python Scientific constist of about one dozen modules which contain methods written in Python that may come handy but may be slow The following lists a number of them stat statistics command calculates the statistics for all the channels in the range Using plotmean plotrms we can plot mean and RMS values of each channels The examples are as shows below You need to import Numeric for Scientific You can access the methods by importing the class or all methods gt gt gt from Numer
67. egardless of which installation option is chosen since the options are listed in the intro part of Section 3 3 3 1 Download the boa_build script You can download the latest version of boa_build via anonymous ftp from the ftp server of the MPIfR Bonn ftp ftp mpifr bonn mpg de anonymous cd outgoing schuller boa or using a web browser and enter as URL ftp ftp mpifr bonn mpg de outgoing schuller boa If your computer is located behind a firewall remember to use a proxy in your browser settings otherwise ftp may fail There are two archives one is called allBoA tgz the other allBoaOff tgz The first one is smaller than 1MB and contains only the BoA Software and a script which will download all additional needed software from the internet The second one allBoaOff tgz is huge nearly 14MB because it contains all needed software packages and does not require an internet connection This second tar archive is the recommended one because the versions of the software packages are consistent with the BoA Software If you would download all additional software packages from the internet you may get newer version than the with BoA tested ones and may encounter problems CV The above sentence doesn t make sense If you want to see and reduce some example data then you should download the archive exFits tgz as well and extract it in your installation directory For further details see also the README file which is also included in t
68. eturn the SCANMODE SCANGEOM SWICHMOD WOBSW OBSTYPE and SCANDIR infos The results are stored in the Scantype attribute which is a Dictionary 8 17 15 getObsMode self getObsMode lt MamboMBFits lt MamboMBFits py DES Convert the scanType from MB FITS to OBSMODE SRP1FLAG SRP2FLAG as defined in the MAMBO format 132 8 17 16 readRCP self readRCP lt MamboMBFits lt MamboMBFits py DES Read the Receiver Channels Parameters from the file gt MRT_2002a_120 rcp if the number of bolometers is 120 or gt MRT_2002s2_40 rcp if it is 40 These files are supposed to be in the local directory Returns a list of tuples where each tuple is Gain X_off Y_off 8 17 17 sbas2ctype self sbas2ctype lt MamboMBFits lt MamboMBFits py DES Converts the SBAS value to the MB FITS keywords that define the Astronomical basis frame CTYPE WCSNAME RADESYS EQUINOX and eventually MOVEFRAM All these are stored in a dictionary 8 17 18 ctype2sbas self ctype2sbas lt MamboMBFits lt MamboMBFits py DES Converts the infos about the Astronomical basis frame from MB FITS keywords CTYPEj EQUINOX to a SBAS value epoch The results are stored and returned in a dictionary 133 8 18 Timing Timing lt Utilities py NAM Timing class DES easily profile time computation in program History NAM Utilities py module DES contains utilities amp methods for fitting functions 8 18 1 safeExp x
69. evice or disk file appropriate for this type The device or file may contain characters the final delimits the type If necessary to avoid ambiguity the device part of the string may be enclosed in double quotation marks Example plot ps ps dir plot ps ps dir plot ps ps user tjp plots plot ps PS 48 2 A device specification of the form type where type is one of the allowed PGPLOT device types e g xwindow PGPLOT supplies a default file or device name appropriate for this device type Example ps PGPLOT interprets this as pgplot ps ps 3 A device specification with type omitted in this case the type is taken from the envi ronment variable PGPLOT_TYPE if defined e g setenv PGPLOT_TYPE PS Because of possible confusion with in filenames omitting the device type in this way is not recommended Example plot ps if PGPLOT_TYPE is defined as ps PGPLOT interprets this as plot ps ps 4 A blank string in this case PGOPEN will use the value of environment variable PGPLOT_DEV as the device specification or NULL if the environment variable is undefined Example if PGPLOT_DEV is defined 5 A single question mark with optional trailing spaces i e In this case PGPLOT will prompt the user to supply the device specification with a prompt string of the form Graphics device t
70. finitions etc have to be indented testBoa py indir Fits set the input directory read 3543 read file 3543 fits op open graphic display for i in range 10 31 start a for loop the indentation in the following lines is mandatory sig i plot time series raw_input wait for lt Return gt 43 To run the script type execfile testBoa py 5 6 Abbreviations CV I ve made the relevant corrections to this table CV There are also the following comments 1 Note unflagChannels added 2 Note change to lower case C in plotcorrel command 3 restoreData has many abbreviations 4 Note the Description added for signal check this is ok 5 statistics caused a Segmentation fault and crashed boa Seemed to be a one off event though 44 Command Abbreviations Description azel plot elevation versus azimuth azeloff azelo plot elevation offset versus azimuth offset azimuth azim az plot azimuth versus LST azimuthOftset azimoff azo plot azimuth offset versus LST baseline base fit and subtract baseline basesub subtract baseline per subscan chanmap plot channel maps channels channel chan select list of channels clear clea cle cl clear the active plot window close clos clo close one device cormatrix cmatrix compute correlation matrix correlate cor compute correlation relative to a reference channel device devic
71. from the University of Liverpool It contains all you probably need to know I wrote a simple fortran method in BoA fortran BoaTest1 f90 to illustrate some basic features and give you a chance to test the wrapper without BoA Look at its header for details For an online F90 95 language referencd the best I found is at the NCSA resources page describing IBM s XL Fortran for AIX 8 1 which is close to the Intel compiler F90 in BoA For BoA our general idea is to have one f90 so extension module which includes all the f90 methods called subroutines and functions in fortran This is necessitated by that the f90 data module which contains much of a scans data is connected through an use data to the other 90 program modules and therefore they all need to be linked together The f90 methods may be split into different modules classes for convenience We now have the first operational modules BoaF1 f90 BoaChannelAnalyser f90 BoaBaseLine f90 and the data module BoaData f90 Each module may include any number of subroutines or functions The data module BoaData f90 is like a common block that contains all the data which does not nttp math nist gov WMitchell 90course CourseNotes pdf http www ncsa uiuc edu UserInfo Resources Hardware IBMp690 IBM usr share man info en_US xlf html lr02 HTM CONTENT 65 change during data reduction All data which does change is passed to the fortran subroutines as call arguments
72. gt boarc Done Mon Feb 28 14 10 23 CET 2005 Do you want to create a startup file y N y Where would you like to install the startup file home observer BOA start_boa sh lt boa_build gt Latest BoA Done lt boa_build gt Installation completed at Mon Feb 28 14 12 36 CET 2005 lt boa_build gt You may want to remove check files in directory lt boa_build gt home observer BOA tmp In case of the on line installation you will need for the installation of F2PY to enter the password guest Getting and installing F2PY Press Enter for password Logging in to pserver anonymous scipy org 2401 home cvsroot CVS password guest 10 If one or more of the servers providing the software sources is down or cannot be reached you can alternativly download all needed software packages from the LABOCA web page at the AIRUB Just copy all archives into the directory boa_build and run the script boa_build again 3 3 Installation using the boa_build script This subsection describes how to use the installation script boa_build written by Frederic Schuller With it comes one of the latest runnig version of the BoA Software but it would be good to check for new BoA files from the CVS or you can ask the programmers for a tarball CV Is this the first time that CVS is explicitly mentioned I think it should be clear from the outset of the document from where the main bits of software should be obtained r
73. he archives 11 3 3 2 Runnig the boa_build script Before runnig the boa_build installation script you have to make sure that you fulfill following prereq uisites First in case of the allBoA tgz archive you need a connection to the internet because all software packages are retrieved with wget which you therefore will need too This is typically installed with every Linux distribution You won t need this if you use the allBoaOff tgz archive Second an intel fortran compiler named ifc and the Gnu C compiler gcc must be available The Intel fortran compiler can be download from the Intel homepage and it is free for scientific and educational purpose The Gnu C compiler comes with Linux Third need to have swig installed the C Python wrapper It usually comes with the default python installation on your system Now go to the directory where you have stored the allBoA tgz or the allBoaOff tgz archive and run tar xvzf allBoA tgz or tar xvzf allBoa0ff tgz In case of the allBoA tgz archive this will create a directory called allBoA and in this the following files al1BoA BOA MES1 allBoA BoA tgz all1BoA README allBoA boal_build allBoA exFits tgz allBoA init allBoA p_cfitsio tgz allBoA pySLALIB 0 4 tgz And in case of the allBoaOff tgz archive this will create a directory called allBoaOff and in this the following files boa_build_offline BoaExtPkg tgz BoA tgz build stat ExtPkg init README 12 Change into the a
74. he averaging Current blanking value 1 e 7 Blanks will be unblanked if they have nonblanked pixels in the kernel range else they stay at the blank value Note that blanks are not considered to have zero value INP image input rank 2 array f with bounds ii jj ii gt 1 jj gt 1 fwhm input float FWHM of Gaussian in pixel OUT image rank 2 array f with bounds ii jj USE image 90 f1 gsmooth image fwhm EXAMPLE from Numeric import import f90 time im zeros 21 21 f 5 im 11 11 10 make a peak in the center im 11 10 1 e 7 set to blanking value t0 time clock im 90 f1 gsmooth im 3 100 8 6 2 print str time clock t0 for a 1001 2 array with FWHM 3 kernel size 11x11 it takes 3 2 sec 5 17x17 5 6 reimage image data xy dxy zero_offset xy _scale ii jj kk reimage lt fl lt BoaF1 f90 NAM reimage subroutine HIS FBO40510 created DES fill an image array with data in pixel boxes of given size image reimage image data xy dxy zero_offset xy_scale INP image input rank 2 array f with bounds ii jj data input rank 1 array f with bounds kk xy input rank 2 array f with bounds 2 kk dxy input rank 2 array f with bounds 2 kk half width zero_offset input rank 1 array f with bounds 2 bottom left corner user coordinate eg arcsec offset xy_
75. he device with identifier 2 DeviceHandler closeDev all close all devices DeviceHandler closeDev current close current device the default if no argument specified 6 3 3 Clearing a plot window Usage Plot clear Clear the output of the current device To clear the output of a different device change to that device first see 6 3 4 6 3 4 Selecting a device Usage DeviceHandler select Dev argument Argument device number integer Select an open device for graphical output The selected device has to be previously opened with open see 6 3 1 Example DeviceHandler selectDev 2 Make device number 2 the current device for graphical output 50 Figure 6 1 Example 1 of graphics produced using Plot plot 6 3 5 Resizing a device Usage DeviceHandler resizeDev Resize the plotting area after resizing of the graphics display window using the mouse This is applicable to some interactive devices e g xwindow 6 4 Plotting single plots CV Should maybe mention that all the following examples can be found in the file test bogli py if this will be made available to everyone Usage Plot plot dataX dataY limitsX limitsY labelX label Y caption style ci width overplot aspect logX log Y nodata Optional arguments these are described in Section Note data Y is also optional if no data Y is supplied the default is to plot dataX versus running number CV I guess the l
76. he position an a given threshold given in n position should be a list of 2 arrays of the same dimension defining the map 8 18 11 gaussian r2 sig2 gaussian lt Timing lt Utilities py Attention DES is missing Please check the source code TXT INP r2 _array_ of distances 2 sig2 sigma 2 related to Gaussian width 8 18 12 distsq x1 y1 x2 y2 distsq lt Timing lt Utilities py NAM distsq function DES returns distance squared between two points INP float x1 y1 x2 y2 coordinates of the two points OUT float distance 2 8 18 13 solvePoly order dataX dataY solvePoly lt Timing lt Utilities py NAM solvePoly function DES perform polyomial interpolation solve linear system dataY P_n dataX 137 INP int order polynomial degree flt arrays dataX Y system to solve OUT flt array coeff polynomial coefficients 8 18 14 module2 c module2 lt Timing lt Utilities py NAM module2 function DES return squared module of a complex number INP complex c complex number OUT float c 2 8 18 15 mod_fft z optimize 0 mod_fft lt Timing lt Utilities py NAM mod_fft function DES return squared module of the Fast Fourier Transform of an input sequence limited to positive frequencies assumes the input is real INP flt array z 1D array on which to compute FFT logical optimize if true optimize the computation time by limiting the input array
77. height of the view surface ci colour index The colour index is an integer in the range 0 to a device dependent max imum The default colour index is 1 usually white on a black background for monitor displays or black on a white background for printed hardcopies Colour index 0 corre sponds to the background colour If the requested color index is not available on the selected device colour index 1 will be used coord character string coordinates Sets the location of a character string along the specified edge of the corresponding viewport as a fraction of the length of the edge disp displacement Scales the displacement of a character string or a wedge from the specified edge of the corresponding viewport measured outwards from the viewport in units of the character height Use a negative value to write inside the viewport a positive value to write outside fjust character string justification Controls justification of a string parallel to the specified edge of the corresponding viewport fjust 0 0 the left hand end of the string will be placed at coord fjust 0 5 the center of the string will be placed at coord fjust 1 0 the right hand end of the string will be placed at coord Other values between 0 and 1 give inter mediate placing Is line style The line style is an integer in the range 1 to 5 with the following codes 1 full line 2 dashed 60 3 dot dash dot dash 4 dotted 5 dash dot dot dot
78. ic import gt gt gt import Scientific Statistics gt gt gt Scientific Statistics median 1 2 3 5 6 3 0 or alternatively 4000 F E 2000 2000 4000 tt tt 4 4 1 9H 4000 F aT flux density arb u 2000 ba 2000 f 4000 AENA AAA AH 1 1 L 1 1 2 62x104 2 625x 10 2 63x10 2 635x10 62x10 LST sec f 2 625x10 1 2 6310 Figure 7 1 Plotting the Signal for channels in the range gt gt gt from Scientific Statistics import gt gt gt median 1 2 3 5 6 3 0 Available method in class Scientific Statistics moment data order about None theoretical 1 mean data weightedMean data sigma variance data standardDeviation data median data mode data normalizedMoment data order L 2 635x11 69 70 N 100 100 200 Hamama Mean flux arb u 100 F 100 H 200 1 1 1 L 1 1 L 1 1 i Subscan Figure 7 2 Plotting the Mean values of signal skewness data kurtosis data correlation datal data2 There are also two classes for histograms Histogram WeightedHistogram Histogram The following explains only those Scientific methods which are useful for Boa Consult the scripts or the very sparse documentation for more info 7 6 1 Scientific Statistics median Description Computes the median of a 1 d array source ABSORBER scan 2
79. into the directory l_fc_p 8 0 034 cd 1_fc_p_8 0 034 and execute the install sh command install sh You will be prompted to enter a number according to the kind of machine type Kernel version and glibc version you are using You will have to enter where a valid FLEXIm license can be found in your system you get the license from intel for educational or scientific purpose for free You can create e g a directory opt intel_fc_80 licenses and put there the file _for_61850218 lic To use the intel fortran compiler fc you will have to include the path opt intel_fc_80 lib to your LD_LIBRARY_PATH variable and the path opt intel_fc_80 bin to your local PATH variable e g for fortran setenv LD_LIBRARY_PATH lib usr lib opt intel_fc_80 lib setenv PATH opt intel_fc_80 bin opt intel_fc_80 lib PATH 3 4 7 swig Now you have to install the Swig C Python wrapper P which you can download for free The tested version is swig 1 3 19 After downloading run e configure prefix home USERNAME DESTINATION PATH e or e g configure prefix home USERNAME BoA e make e make install http www swig org 3 4 8 pySLALIB Installation of the pySLALIB library you need a directory lib in your home directory 3 4 9 cp pySLALIB 0 4 tgz SHOME lib cd SHOME lib tar xzf pySLALIB 0 4 tgz tar xzf slalib tgz rm pySLALIB 0 4 tgz slalib tgz cd slalib compile cd pySLALIB 0 4 compile cp slalibmo
80. ion and if you have root privileges then you can just link or copy the files libcpgplot a libepgplot so libpgplot a and libpgplot so from home BoA lib pgplot directory to the local lib directory i e lib or usr lib Another possible error message can occur if swig is missing File home USERNAME BoA BoA cfitsio py line 4 in import _cfitsio ImportError No module named _cfitsio Here the problem is that swig was not installed on the computer You also need swig to compile p cfitsio download it from http www swig org 16 3 4 Manual installation of each package as user This subsection describes what software ist needed to run BoA and how to install it on an Intel Linux PC as user without root privileges The only package which has to be installed by root is the Intel Fortran compiler 3 4 1 Python 2 3 2 Download the file Python 2 3 2 tgz from the Python homepage http www python org 2 3 2 Execute the following commands e tar xvzf Python 2 3 2 tgz e rm Python 2 3 2 tgz e cd Python 2 3 2 e configure prefix DESTINATION PATH exec prefix DESTINATION PATH e g configure prefix home smueller LABOCA Python exec prefix home smueller LABOCA Python e make e make install e make clean ecd e rm rf Python 2 3 2 Python is then installed into DESTINATION PATH bin Add the PATH for Python to the environment variable e g for the tcsh edit the cshrc file in the home directory an
81. is about 220 MB CV As far as I know in my case boa sub dir did not end up in same place as the rest listed above is that intentional Also see Section 3 3 2 After the installation please execute the following files source boarc sh located in your home directory and source start_boa sh located in your BOA directory You can now run BoA by entering boa at the linux prompt e g cd home smueller BOA fits boa Example Installation of the BoA Software into the directory home observer BOA observer thora gt cd openboa install observer thora openboa install gt install sh This program will install the Bolometer Analysis Package You can find a logfile of the installation in home observer openboa install build stat In which directory do you want to install the BoA softwares home observer home observer BOA In which directory are the external packages located home observer openboa install ExtPkg Starting installation in home observer BOA Do you want to install Python 2 3 2 version 2 2 2 required y N y lt boa_build gt lt boa_build gt lt boa_build gt lt boa_build gt Do you want lt boa_build gt lt boa_build gt lt boa_build gt lt boa_build gt Do you want lt boa_build gt lt boa_build gt lt boa_build gt lt boa_build gt Do you want lt boa_build gt lt boa_build gt Do you want lt boa_build gt Unpacking and installing Python 2 3 2 This may take some
82. keyword is supplied 5 3 11 Closing a plot window CV Graphics related commands are discussed in detail in Chapter 6 and here we give just an overview where appropriate We should say this here Closing a graphic device is done with the close command close open a device default XWindow 5 3 12 Channel Maps If you want to display channel maps you can do this with the command chanmap The default is to plot channel maps for all available channels You can also specify a list of channels to be plotted read 3543 op open an XWindow device chanmap produce channel maps for all channels chanmap range 26 channel maps for the first 25 channels chanmap 1 4 20 55 channel maps for a selection of channels 5 3 13 azimuth Usage azimuth optional arguments Optional arguments flag flag to be used default 0 all valid data 1 plot all limitsX 39 PGPLOT Window 1 Figure 5 1 Default graphical outputs of a channel map of the source 00388 6312 including a wedge limitsY style ci overplot CV We should add a ref link to somewhere where we say what these plotting options e g flag ci are some are in at the moment but currently not all these are documented Plot the time series of the azimuth i e azimuth versus LST Example azimuth style p ci 2 limitsY 14 13 Plot azimuth versus LST but show individual plotted points rather than lines make pl
83. le reduced to constant attributes FB040508 major revisions to some routines FB040514 add gsmooth FB040514 corrections to gsmooth FB040515 split f90 module into classes FB040610 revise get_subscan_index add second index for end index History NAM f1 module f90 in file BoaF1 f90 DES module collecting f90 subroutines not yet belonging to a particular class gsmooth reimage compress get_subscan_index Call f90 f1 gsmooth etc See examples in ftest py See BoaData f90 for compilation instructions HIS FBO40501 add and revise subroutines data module reduced to constant attributes FB040508 major revisions to some routines FB040514 add gsmooth USE FB040514 corrections to gsmooth 99 FB040515 split f90 module into classes FB040610 revise get_subscan_index add second index for end index 8 6 1 gsmooth image fwhm ii jj gsmooth lt fl lt BoaF1 f90 NAM gsmooth subroutine HIS FB040514 created DES Smooth an image with a Gaussian kernel f x exp 4 1n2 x FWHM 2 where 4 1n2 2 772588 f FWHM 2 0 5 f FWHM 0 0625 1 5 FWHM 0 002 that extends to a FWHM where a 1 5 may be changed The kernel is in fact a square box For FWHM 1 it is of size 5x5 for 2 its 7x7 for 3 11x11 etc The computation of the kernel values is approximate simply taking f x at the pixel center Blanked image pixels are ignored in t
84. ler intel m f90 BoaData f90 BoaF1 f90 BoaChannelAnalyser f90 BoaBasel The first command recompiles the svd o On the f2py line there are some diagnostic options you may add if you debug your code DF2PY_REPORT_ATEXIT gives time statistics upon exit from python DF2PY_REPORT_ON_ARRAY_COPY 1000 reports when the f2py interface copies an array DNUMARRAY must be used for numarray support Default is Numeric 66 If the wrapping fails one of the following may be wrong 1 You have not initiated the ifc compiler properly In your shell initialization file e g cshre for tesh you need if e opt intel compiler60 ia32 bin ifcvars sh then source opt intel compiler60 ia32 bin ifcvars csh endif or something equivalent 2 Your python path does not include the intel fortran compiler setenv PYTHONPATH opt intel compiler60 ia32 lib usr local lib python2 3 usr local lib python2 3 site packages home bertoldi bin opt usr lib 3 You use an old version of f2py lt fortran gt f2py version 2 39 235_1644 Once you have successfully imported f90 in BoA you can inquire about the use of a given method by typing print f90 f1 NAME __doc Fortran attributes are called f90 data name_of attribute To inquire which ones are available boa gt print f90 data __doc el f array 218 track_el f array 218 ffcf_gain f array 120 subscan_time f array 4 az ip f array 109 3 lst f
85. llBoA or allBoaOff directory and extract the archive BoaExtPkg tgz cd allBoaOff tar xvzf BoaExtPkg tgz If you have also downloaded the example data erFits tgz then you can now copy them here cp exFits tgz allBoa0ff Then run the script boa_build or boa_build_offline respectively by typing boa_build or boa_build_offline You will be prompted to enter yes or no for the installation of each single software package If you want to intall everything you can also enter boa_build_offline all At the beginning the script will ask you in which directory you want to install the BoA software allBoa0ff gt boa_build_offline all boa_build gt In which directory do you want to install the BoA software boa_build gt default home smueller If you don t want to use the default installation path then please enter the complete path e g home smueller BoA and don t forget to create this directory if not already present The script will create in this installation directory six sub directories bin BoA include lib man and tmp where all necessary files will be installed The required disk space is about 161 MB In case of the on line installation you will need for the installation of F2PY to enter the password guest Getting and installing F2PY Press Enter for password Logging in to pserver anonymous scipy org 2401 home cvsroot CVS password guest 13 If one or more of the servers providing the softwa
86. located in the BoA fortran directory called doF2py by changing into this directory and typing cd BoA fortran doF2py 27 There will be lots of warnings in the f2py but in the end you should see a link line and no report on errors Then you have created a so called extention module f90 so With this you can now start boa in the BoA directory Good luck If you did not use the installation script boa_build or if you want to update BoA to a newer version you simply can do this by copying all BoA routines into the BoA directory The lastest version of all BoA routines can be found at http www astro rub de laboca download BoA tgz CV It is not clear to me here what this url is for It s fine to give this info here but much earlier on in Section 3 it should be clear from where the various info software etc should be downloaded obtained Since this link is just a file download the reader is sort of blind as to whether this is what they are looking for or not unless things are clarified earlier on Using the installation script boa_build of Frederic Schuller and HOME BoA as installation directory the BoA directory can be found at SHOME BoA bin BoA If you have downloaded a newer BoA version and copied everything to the BoA directory you will have to recompile the fortran routines in HOME BoA bin BoA fortran which is described above or in chapter 7 4 28 4 Data organisation 4 1 Input data The data acquired at the APEX teles
87. mbols are measured values drawn lines are Levenberg Marquardt fits Efficient factorization of the coefficient matrix in 8 4 can be performed by a combination of Householder and Givens transformations The Levenberg Marquardt algorithm has proved to be an effective and popular way to solve nonlinear least squares problems 8 13 1 _init__ self _init_ lt Point BoaMapping Map lt BoaPointing py DES Initialise an instance 123 8 13 2 iterMap self chanList phase 0 flag 0 sizeX sizeY iterMap lt Point BoaMapping Map lt BoaPointing py DES reconstruct a map in Az El coordinates combining bolometers and using varying scale to zoom on signal INP int list chanList channels to consider int phase phase to plot int flag flag values to consider list float sizeX limits in Az of the map list float sizeY limits in El of the map 8 13 3 solvePointing self chanList gradient 1 radius 0 solvePointing lt Point BoaMapping Map lt BoaPointing py DES compute the offset INP int list chanList list of channels to be used default all boolean gradient shall we fit a gradient default yes float radius use only bolo inside this radius default 0 all 8 13 4 showPointing self plot 1 showPointing lt Point BoaMapping Map lt BoaPointing py DES compute the offset INP logical plot if True also display the results on a map 124 8 14 snf snf lt BoaSNF f90
88. most recent call last File lt stdin gt line 1 in ppgplot typeerror object is not an array In the earlier version of ppgplot the message was ppgplot typeerror cannot cast vector to floats Commenting out the numarray support in setup py does not change the error A typical error message when trying to plot can look like the following example Traceback most recent call last File lt stdin gt line 1 in File home smueller bin BoA BoaFocus py line 127 in scanFocus self BoaB Graphic Focus scanFocus File home smueller bin BoA BogliFocus py line 65 in scanFocus self plotDataXY dataX dataY p k File home smueller bin BoA BogliPlot py line 337 in plotDataXY ppgplot pgpt dataX dataY self symbolPoint plot points 21 _ppgplot typeerror object is not an array Solution The problem was that ppgplot was compiled with numarray support and then it was tried to use it with Numeric This does not work That is the ppgplot built for numarray and the ppgplot built for Numeric are not so to say compatible You have to select which python extension you will support numarray or Numeric when you build ppgplot You can t have both at the same time So in order to make the example above work try this 1 Clean up everything in the source distribution e g do a make clean or remove the distribution and unpack it from scratch 2 Edit setup py Comment
89. mpress_array nmax f90 f1 compress input_array flag_array 1 compress_array compress_array 0 nmax print nmax compressed nmax compress_array 8 6 4 get_subscan_index xsubscan_index ii get_subscan_index lt fl lt BoaF1 f90 NAM DES INP OUT get_subscan_index subroutine get the beginning index of each subscan data in phase array by comparing the subscan begin time with lst_p Result must be fetched from f90 data module Might be good to specify the ending index as well if we sample data in between subscans data subscan_time f data lst_p f data subscan_index i 102 HIS FBO40429 created FBO40610 add second index to xsubscan_index 103 8 7 Focus Focus lt BoaFocus py NAM Focus class VER 0 15 22 05 2004 DES An object of this class is responsible for the focus reduction of single or multiple scans and provides the offsets History NAM BoaFocus py file VER 0 38 17 09 2004 DES contains the BoA focus class HIS MAO40112 initial version SM040511 new version SM040512 new version SM040513 new version SM040514 with Marcus Albrecht first runnig version MA040519 included Bogli plotting SM040522 corrected error in determination of the errors changed from simple error to confidence interval SM040712 minor changes SM040713 added method to derive and show focus results from accumulated multiple scans initial version SM040714 added method to derive and show focus results from accumulated m
90. n the actual configuration A list of supported devices is given at http www astro caltech edu tjp pgplot devices html During installation the device drivers have to be selected by editing the file drivers list As many device drivers are available on se lected operating systems only you should ensure that drivers you do not want are commented out place in column 1 to avoid installation failures A version of drivers list used for a Linux PC can be found in Sect The command handler of BoGLi provides a set of commands to manage output devices To open a new device use open Pgplot will then prompt for the device type and suggest a default selection To get a list of the available devices of your installation enter A newly opened device automatically becomes the current device To get a list of all opened devices and the current device identifier enter device Swapping between devices is also provided by the command device Example device 3 will switch to device number 3 if this is already opened To close a device enter close followed by the device number to be erased Example close 3 The number of the closed device becomes available again and will be used in turn by subsequent calls of open To close the current device enter close current and the closure of all openend devices is achieved by close all The size of some interactive devices e g xwindow may be changed using the mouse To adjust the actual plotting area us
91. nDev and can be called by DeviceHandler openDev CV Should specify here in Bogli terms see Chapter 6 or in terms of Boa com mands open etc or more comfortably by open or opel or op where the parentheses are mandatory Python ensures no real difference between private and public attributes There are only hidden attributes but this hiding can be overcome easily Therefore the user might set any attribute directly and call any method This is not advisable and may easily corrupt the whole BoA session It is more recommendable to just use those methods for which the start script BoaStart py provides abbreviations In the following these are called user methods A detailed description of all user methods their arguments output and abbreviations is given in section 5 3 CV Does Section really include all user methods It doesn t since it doesn t include things like plot and multiplot but at the same time it is not simply restricted to Boa commands In truth Section 5 3 and also Table 4 include all the Boa commands and some Bogli only commands We have to somehow make this clearer 5 2 2 Arguments Nearly all user methods require arguments to be passed Nevertheless the methods provide default arguments which thus may be omitted In this case many methods just supply status information Example The method indir sets the desired input directory and requires the name as argument indir home u
92. nvertMambo2MBFits self convertMambo2MBFits lt MamboMBFits lt MamboMBFits py DES This function reads in the content of a Mambo FITS file and writes out the data and associated parameters to a file conforming to the MB FITS format 8 17 3 convertMB2MamboFits self convertMB2MamboFits lt MamboMBFits lt MamboMBFits py DES This function reads in the content of an MB FITS file and writes out the data to a file in the Mambo FITS format and the associated parameters to a RCP file 129 8 17 4 readMambo self readMambo lt MamboMBFits lt MamboMBFits py DES This fills the TableList in the Mambo attribute with the content of the MAMBO FITS file 8 17 5 readMBfits self readMBfits lt MamboMBFits lt MamboMBFits py DES This fills the TableList in the MBfits attribute with the content of the MB FITS file 8 17 6 initMambo self initMambo lt MamboMBFits lt MamboMBFits py DES Create a file in the Mambo FITS format This generates only the Primary header and subscan table because the number of feeds must be written in the Primary header before the data table is created 8 17 7 initMB self intMB lt MamboMBFits lt MamboMBFits py DES This generates the first three tables in the MB FITS file Primary header SCAN MBFITS and FEBEPAR MBFITS tables 130 8 17 8 convertMamboPrimary self convertMamboPrimary lt MamboMBFits lt MamboMBFits py DES This generates in the MB FITS file all th
93. oCa Simba and Mambo 6 2 Commands BoGLi has its own command handler Nevertheless anytime the BoA command handler en counters a graphic command this is automatically passed to the BoGLi command handler Therefore the user does not have to care about the separation between BoA and BoGLi com mands Table 5 gives an overview of some of the available commands CV Table 5 is intended to just show a few examples right not all the available commands BoGLi provides a variety of attributes that may be changed by the user The attribute name is then used as command followed by the desired value as argument see Sect 6 9 for details CV I ve updated this table I ve removed default and limits since I couldn t find them anywhere are they obsolete 46 Table 5 List of example BoGLi commands DeviceHandler openDev open a device DeviceHandler closeDev close a device Plot clear clear the active plot window DeviceHandler selectDev select a device DeviceHandler resizeDev resize the plot after plot window resized using mouse Plot plot make a single plot MultiPlot plot plot multiple plots Plot draw draw on an image MultiPlot draw draw on plots of multiple channels CV Any other commands to add Are the two draw descriptions correct here 47 A detailed description of these commands is given in 6 3 below CV Should add here something like The full list of available commands c
94. oa install true but I find this confusing should the reader at this point know what openboa cvs means Also need a prior mention of cvs see general comment above 3 2 1 Runnig the install sh script Before runnig the install sh installation script you have to make sure that you fulfill following prereq uisites The Gnu C compiler gcc e g gcc and g77 the Xfree development kit and the libpng library must be available They normally come with every Linux distribution Now go to the directory where you have downloaded the openboa cvs directory and files Change into the directory openboa install where the installation script install sh is stored and run it install sh You will be prompted to enter yes y or no n for the installation of each single software package Attention at some points of the installation you don t need to confirm the input of yes y or no n with the return key so just press the y key and see the installation running on i e for the installation of the Intel Fortran 90 compiler for F2PY for If you don t want to use the default installation path then please enter your chosen path e g home smueller BoA when prompted Don t forget to create your chosen directory if not already present CV See changes above The script will create in this installation directory six sub directories bin BoA include lib man and tmp where all necessary files will be installed The required disk space
95. of this class contain the raw and reduced data and all relevant parameters of a single scan This class also defines methods to fill the data object from an MBFITS file Then the DataAna class inherits from DataEntity it contains all data related methods plus some methods for data analysis e g flagging baseline Then the Map class inherits from DataAna it contains all methods defines in DataEntity and DataAna plus specific methods for map processing and display Finally classes dedicated to various observing modes inherit from the Map class they contain additional methods specific to a given type of observation Table 1 lists BoA data classes with module names and short descriptions of their responsibilities e Peripheral classes All other classes provide methods which either are used by data objects e g Image is used within Map objects or provide functionalities on the BoA level e g MessHand These classes are summarized in Table 2 Table 1 BoA data classes class name module purpose DataEntity BoaDataEntity py data and parameters storage DataAna BoaDataAnalyser py general data analysis methods Map BoaMapping py map reduction Focus BoaFocus py focus reduction OnOff BoaOnOff py onoff reduction Point BoaPointing py pointing reduction Sky BoaSkydip py skydip reduction Table 2 Other BoA classes class name module purpose Image BoaMapping py image and axis description CalData Bo
96. ogical parameter will be described in a different section but at the moment there is nothing in that section So currently e g logX and log Y are not described anywhere CV Do we need to give a description here of each of these optional arguments or not it s going to be listed in Chapter 8 so is described there Also presentation Figure 6 2 Example 2 of graphics produced using Plot plot Figure 6 3 Example 3 of graphics produced using Plot plot 51 52 style of optional arguments differs here from the lists given for some of the other commands e g in Chapter 5 I m not sure what s best at the moment I m trying to be consistent with the previous Chapter we should change both chapters to make them consistent once all the info is in CV Add a short description of what this command does Example 1 x Numeric array range 100 Numeric Float 10 Plot plot x Numeric sqrt x limitsX 1 5 Note that Y limits are then computed according to this X range The graphic output produced in this case is shown in Figure Example 2 Plot plot x x x labelX blah labelY blah2 caption caption Note that plot clear the screen first you need to use the new overplot keyword see below The graphic output produced in this case is shown in Figure Example 3 Plot plot x x x x overplot 1 ci 2 style 1 The graphic output produced in this case is shown in Figure 6 5 Plotting plot multiple
97. om merging of the mambo2MBFits and MB2MamboFits modules Complete restructuration of the code toa more object oriented style Definition of a MamboMBFits class that contains two attributes of the FitsFile class and provides methods to do conversions in both directions The code to do these conversions has been split to many sub functions More stuff related to coordinates is now converted from Mambo to MB FITS Same stuff Astronomical basis frame converted from MB FITS to Mambo More stuff converted Changes also in Mambo xml to allow the use of 0k rather than None for keywords that are manually processed Implemented the convertFebepar method More keywords converted FREQUENC TELSIZM Add conversion of Fast Scanning observations from MAMBO to MB FITS The same for converting from MB FITS to MAMBO 127 128 06 05 2004 Adapted for use within BoA 12 05 2004 Some small corrections for BoA 24 05 2004 Some corrections to work with real APEX files 09 2004 a few more corrections after observing at APEX FS050202 minor modif for compatibility with APEX control PC 8 17 1 __init__ self mamboName mbName _init_ lt MamboMBFits lt MamboMBFits py DES Instanciation of a new MamboMBFits object INP str mamboName name of the Mambo file str mbName name of the MB FITS file in both cases the fits extension is appended if not present HIS FS041210 also handle names that already contain fits 8 17 2 co
98. or rpms containing a specific file enter libreadline so Press search button 26 3 4 15 Additional Libraries There are many additional libraries needed Some of them have to be linked like the following example in usr lib check if liblapack so is there and create symbolic links using the following commands ln s liblapack so liblapack so 3 ln s liblapack so 3 liblapack so 3 0 0 and install the libblas library blas Basic Linear Algebra Subprograms there are rpm available at http rpmfind net just search for libblas so as root do rpm i blas 3 0 18 i386 rpm lrwxrwxrwx 1 root root 14 Feb 16 17 55 liblapack so gt liblapack so 3 lrwxrwxrwx 1 root root 18 Feb 16 17 54 liblapack so 3 gt liblapack so 3 0 0 rwxr xr x 1 bertoldi users 4M Feb 16 17 51 liblapack so 3 0 0 lrwxrwxrwx 1 root root 12 Feb 16 17 58 libblas so gt libblas so 3 lrwxrwxrwx 1 root root 16 Feb 16 17 58 libblas so 3 gt libblas so 3 0 0 rwxr xr x 1 bertoldi users 335k Feb 16 17 56 libblas so 3 0 0 3 5 Updating BoA Before you start boa we advise you set up your cshrc or so properly and start a new shell Then change to the BoA fortran directory and compile the fortran module according to the instruction given in the BoaData f90 header Currently that means cd BoA fortran ifc c w svd f90 f2py c fcompiler intel m 90 BoaData f90 BoaF1 f90 BoaFortranBaseLine f90 BoaChanAna f90 BoaSNF f90 svd o Or you can run a little script
99. otted points red and only plot azimuth y axis from 14 to 13 degrees 5 3 14 elevation Usage elevation optional arguments 40 Optional arguments flag flag to be used default 0 all valid data 1 plot all limitsX limits Y style ci overplot CV We should add a ref link to somewhere where we say what these plotting options e g flag ci are Plot the time series of the elevation i e elevation versus LST Example as for azimuth above 5 3 15 azel Usage azel optional arguments Optional arguments flag flag to be used default 0 all valid data 1 plot all limitsX limitsY style ci overplot CV We should add a ref link to somewhere where we say what these plotting options e g flag ci are Plot elevation versus azimuth Example as for azimuth above 41 5 3 16 channels Usage channels optional argument Optional argument chanList list of channel numbers of the form 1 2 3 all al a 199 Select a channel or a list of channels to be plotted The list is automatically sorted Examples channels 1 2 3 list of channels to be plotted channels chanList 1 2 3 list of channels to be plotted channels all set current list to all possible channels channels get current list of channels the default if no argument is specified CV I ve removed plot limits and plot default since these seem to be obsolet
100. ow for list of channels INP i channel 1 all channels O first channel 1 phase 1 all else 0 1 2 f below flag data with value lt below rms f above flag data with value gt above rms 8 4 5 flagLST self channel 1 phase 1 below above flag 1 flagLST lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py NAM flagLST method DES Flag data in time interval INP i channel i phase 1 all channels O first channel 1 all else 0 1 2 84 below flag data f above flag data 8 4 6 flagLon self channel 1 phase 1 below above flag 1 flagLon lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py NAM flagLon method DES Flag data in azimuth offset longitude interval INP i channel 1 all channels O first channel i phase 1 all else 0 1 2 f below flag data below and above f above flag data 8 4 7 statistics self statistics lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py NAM statistics method DES computes mean median rms for all scans and subscans 8 4 8 corMatrix self corMatrix lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py DES compute correlation matrix INP 85 8 4 9 correlate self phase 1 channel 1 plot 1 correlate lt DataAna BoaDataEntity DataEntity lt BoaDataAnalyser py NAM correlate method DES compute correl
101. p 2 0 sizeX sizeY beamMap lt Map BoaDataAnalyser DataAna lt BoaMapping py DES build a beam map in Az El coordinates INP int list chanList channels to consider int phase phase to plot int flag flag values to consider float oversamp oversampling factor beam fwhm pixel size Default 2 list float sizeX limits in Az of the map list float sizeY limits in El of the map 8 10 7 fastBeam self chanList phase 0 flag 0 oversamp 2 0 fastBeam lt Map BoaDataAnalyser DataAna lt BoaMapping py DES build a beam map in Az El coordinates summing up channel maps INP int list chanList channels to consider int phase phase to plot int flag flag values to consider float oversamp oversampling factor beam fwhm pixel size Default 2 list float sizeX limits in Az of the map list float sizeY limits in El of the map str style name of color map to display map log wedge plot a wedge 8 10 8 wes2pix self X Y wes2pix lt Map BoaDataAnalyser DataAna lt BoaMapping py DES Convert from physical coordinate describe by self WCS to pixel coordinate INP float X Y the physical coordinate to convert from OUT float i j the pixel coordinate s 114 8 10 9 wes2phy self i j wes2phy lt Map BoaDataAnalyser DataAna lt BoaMapping py DES Convert from pixel coordinates to physical world coordinates INP float i j the pixel coordinate to convert from
102. pc xflag xdata n_phase n channel low high ii jj kk flag pc lt chanana lt BoaChanAna f90 NAM DES INP OUT HIS flag_pc sub set flag for data point of given channel if data lt low or gt high n_ph phase O differences 1 one 2 two n_ch channel number for which data to be flagged NOTE python N corresponds to fortran N 1 channel 1 is index 0 in python arrays low lower limit high upper limit FB040303 change to _p FB040426 make indexing consistent with python 8 1 2 flag xflag xdata low high mask count ii flag lt chanana lt BoaChanAna f90 NAM flag sub DES set flag if data lt low or gt high INP low lower limit high upper limit OUT HIS FBO40501 adapted from flag_pc 8 1 3 unflag xflag xdata flag mask_ count ii unflag lt chanana lt BoaChanAna f90 NAM flag sub DES set flag if data lt low or gt high INP xdata data array x lag flag array flag flag value to unflag OUT xflag flag array mask_count number of elements changed HIS FBO40602 adapted from flag 8 1 4 flagtime xflag low high flag mask_count ii flagtime lt chanana lt BoaChanAna f90 NAM flagtime sub DES set flag if LST gt low and lt high INP low lower limit TT 78 OUT HIS high upper limit xflag rank 1 flag array xflag rank 1 flag array mask_count number of flags changed FB040603 adapted from flag 8 1 5 flaglon xflag low high flag mask_count ii fl
103. plex structure and inhibit easy extension of the software Moreover some functionalities need to work on a whole set of data while others do not have any relation to these at all The chosen approach is therefore to use a data class containing some basic methods for filling the resulting objects while the remaining functionalities are merged in a set of classes with a straightforward subdivision of responsibilities 2 2 Programming language Python As programming language Python is used Python is an interpreted interactive and object oriented language though it does not adhere to all concepts of object orientation as strictly as e g C does The resulting shortcomings have to be kept in mind when extending BoA and can be overcome by sticking to some basic programming rules Python is a scripting language and as such allows a fast and easy extension of BoA by the user It facilitates the wrapping of code written in C C or Fortran90 2 3 Basic structure BoA consists of a set of classes most of which are defined in dedicated modules files In addition a few functions are defined in separate modules A detailed description of all classes and methods can be found in Sect 8 The subdivision was chosen to reach a high modularity and an obvious compilation of assortative functionalities within one class Two kinds of classes may be distinguished e Data classes The DataEntity class defines the data structure which is used within BoA Objects
104. possible to import the BoA functionalities and commands by giving to the python prompt gt gt gt execfile BoaStart py BoA then prints a welcome message providing version information and changes the prompt Never theless you are still in the interactive python layer The start script BoaStart py imports a set of modules instantiates the most essential objects and makes the respective methods available In particular it instantiates an object of the Map class called data to which all BoA commands described in the remaining of this section are applied It is nevertheless possible to instantiate several data objects within one BoA session then applying BoA methods to a data object with a different name that data requires to enter the full syntax including the full name of the method as opposed to the shortcuts explained below 5 2 Description of how Boa works CV Need a proper title but this is the general idea 5 2 1 Methods The functionalities of BoA are accessed by directly calling the appropriate methods from the interactive python layer This ensures the full availability of all python and ppgplot facilities As the method names to be called from the python layer may be rather long the start script BoaStart py provides a set of convenient abbreviations for those methods which are meant to be called from the user public methods 33 Example The name of the method to open a new graphic device is DeviceHandler ope
105. re sources is down or cannot be reached you can alternativly download all needed software packages from the LABOCA web page at the AIRUB J ust copy all archives into the directory boa_build and run the script boa_build again The latest release of f2py contained a bug that prevented wrapping the BoA f95 modules Pearu Peterson fixed it and Frank has downloaded f2py from CVS and made a tarball which is included here f2py2e tar gz Untar and install as usual Note that the scipy distutils must be installed separately CV If only for my own info what does scipy distutils mean Maybe add a reference to the appropriate section here During the installation some environment variables are set To have these available in a later session or different window you have to set these in your cshrc tcshre or bashrc file Example for the bashrc HOME is your home directory Creating an alias to start BoA alias boa python i HOME BoA bin BoA BoaStart py Creating the MBFITSXML environment variable export MBFITSXML HOME BoA bin BoA MBFits xml Updating variables PATH and PYTHONPATH export PATH HOME BoA bin PATH export newPYTHON HOME BoA 1lib python2 3 site packages export PYTHONPATH newPYTHON export PYTHONPATH newPYTHON Numeric PYTHONPATH export LD_LIBRARY_PATH HOME BoA lib LD_LIBRARY_PATH Defining the PGPLOT_DIR variable export PGPLOT_DIR HOME BoA 1ib pgplot export LD_LIBRARY_PATH PGPLOT_DIR LD_LIBRARY_P
106. s defining the map 8 18 8 base2DGauss p fjac None x None y None err None base2DGauss lt Timing lt Utilities py NAM base2DGauss DES function used by mpfit to fit a 2D gaussiantbase 5 elmts array p parameters of the gaussian see modelBase2Dgauss 2d array x position of the pixels on the map x x 0 and y x 1 2d array y the map to fit y shape should be len x 0 len x 1 8 18 9 fitBase2DGauss mapArray x y err 1 0 fwhm 11 0 gradient 1 fitBase2DGauss lt Timing lt Utilities py NAM fitBase2DGauss method DES fits a 2D Gaussian ist order base surface INP arrays x y mapArray err the data to fit arrays of same dimension s 2els arrays sizeX Y alternative to the x y array this limit the size of th mapArray given as regular gridding between the center of the two extreme pixels float fwhm the first guess for the fwhm logical gradient should we also fit a gradient in the map default no 7 OUT a dictionnary containning the results of the fit check status and errmsg to see if the fit was done correctly then for each parameters see the parname variable below you have the value error and limits for the fit 136 8 18 10 cropped_circular_gaussian p position threshold 3 cropped_circular_gaussian lt Timing lt Utilities py NAM cropped_circular_gaussian DES compute a cropped circular gaussian with intensity 1 defined by the parameter p wihtin t
107. scale input rank 1 array f with bounds 2 image scale pixel per user coordinate eg pix arcsec OUT image rank 2 array f with bounds ii jj USE Example from Numeric import from fortran import f90 im zeros 11 11 f odd size since coordinates refer to pix center data array 10 20 30 f xyscale array 0 1 0 1 f xy array 50 0 20 30 0 20 1 1 dxy array UL 11 6 11 11 6 11 278 zerooffset array 50 50 f blc pix refers to 50 50 im 90 f1 reimage im data xy dxy zerooffset xyscale print im 8 6 3 NAM DES INP OUT HIS USE 101 compress xdata xflag flag_value ii compress lt fl lt BoaF1 f90 compress subroutine compress array based on mask data_input f 1 D array with data to be returned where flag flag_value flag i 1 D array must be same size as data_input flag_value i select data where flag flag_value tuple x ii 1 D array of same size as data_input where first n elements are those of data_input where flag flag_value FB040430 created Unfortunately it is not possible to pass from fortran to python an output array the size of which is computed in fortran Therefore we must truncate the returned array at the size of the selected true mask elements Example input_array array range 5 f flag_array array 0 1 0 1 0 i co
108. ser data The directory name is a string argument and has to be passed embedded in double or single quotes CV Even though can use single or double quotes it might be clearer to just stick to one or the other consistently in the examples throughout this document Omitting the argument does not change the input directory and results in the supply of the current directory name indir In case an argument has to be typed more often a python variable might be used a home user data indir a 34 Some methods require a list as argument In python a list is embedded in square brackets with a comma as separator Python provides a variety of functionalities to manipulate lists Example The method signal plots the time series of the data flux density or counts versus time It allows the user to define the list of channels plotted CV Note re worded sentence above signal 18 19 20 To create a list you might use the python function range mylist range 1 163 signal mylist or in one line signal range 1 163 Even if the list contains only one element the square brackets are mandatory signal 5 User methods can also be called using keyword arguments of the form keyword value Example By default the signal method plots the signal versus time connecting the datapoints with lines signal If you prefer to see the individual datapoints without lines you can modify the value of the style
109. subscans these arrays contain respectively an increasing sequence of integers the calendar date floating value in years of the observation start and the local sidereal time in seconds at observation start e Track_Az Track_El tracking errors in Azimuth and Elevation not implemented yet 4 2 2 Derived data As soon as the raw data are read some additional quantities are derived and stored in the following attributes e Channel_Sep separation between bolometers computed from Array_Geo e UT universal time at each integration not implemented yet e phase differences for observations performed with wobbler switching pairs of ON OFF inte grations are extracted from the Wobbler_Sta attribute and the phase differences can be com puted The results are stored in the 3 dimensional arrays Data_Obs_p Data_Bac_p Data_Red_p Data_Noi_p Data_Flag_p where the 1st dimension corresponds to integrations the 2nd dimen sion means 0 phase diff 1 phasel 2 phase2 and the 3rd dimension corresponds to pixels The following parameters are also computed where the values associated with the phase difference is computed as the mean value of phasel and phase2 LST_p Az_p El_p Lon_p Lat_p UT_p 30 4 2 3 Processed data e Data Red this 2D array contains the reduced data after each processing step It is first initialised with a copy of the raw data e Data Bac after every processing step the data previously contained in Da
110. t DataEntity lt BoaDataEntity py DES Instanciation of a new DataEntity object All attributes are defined and set to default values 8 5 2 reset self reset lt DataEntity lt BoaDataEntity py Attention DES is missing Please check the source code TXT Reset all attributes useful before reading a new file 88 8 5 3 str self str lt DataEntity lt BoaDataEntity py Attention DES is missing Please check the source code TXT Defines a string which is shown when the print instruction is used It contains the sizes and typecodes of all attributes 8 5 4 read self inFile readObs update 0 read lt DataEntity lt BoaDataEntity py DES fill a data entity object INP readObs int list observation numbers to read default all update logical if true do not reset previous entity object 8 5 5 fillFromMBFits self obsEntity update 0 fillFromMBFits lt DataEntity lt BoaDataEntity py NAM fillFromMBFits DES fill a DataEntity object using the content of ObsEntity objects Calling sequence DataEntity fillFromMBFits obsEntity INP obsEntity LIST of objects of the Entities ObsEntity class update logical if true do not reset previous entity object OUT None 89 8 5 6 FillF90 self FillF90 lt DataEntity lt BoaDataEntity py NAM FillF90 method DES Fill the 90 data module INP self DataEntity object 8 5 7 dumpData self fileName BoaData sav dump
111. t DataEntity lt BoaDataEntity py DES PLotting the RMS value for each subscan against channel number 97 8 5 34 chanMap self chanList phase 0 flag 0 oversamp 2 chanMap lt DataEntity lt BoaDataEntity py Attention DES is missing Please check the source code TXT NAM chanMap method 8 5 35 slowChanMap self chanList phase 0 flag 0 oversamp 2 sizeX sizeY slowChanMap lt DataEntity lt BoaDataEntity py NAM slowChanMap method DES produce channel maps Loop on pixels to reduce the size of allocated arrays 8 5 36 fastChanMap self chanList phase 0 flag 0 oversamp 2 fastChanMap lt DataEntity lt BoaDataEntity py Attention DES is missing Please check the source code TXT NAM chanMap method 8 5 37 fft self chanList phase 0 flag 0 fft lt DataEntity lt BoaDataEntity py DES plot FFT of signal INP int list chanList list of channels int phase phase to be plotted int flag flag to be used logical optimize if set limit the computation to a power of 2 elements 98 8 6 fl fl lt BoaF1 f90 NAM f1 module f90 in file BoaF1 f90 DES module collecting 90 subroutines not yet belonging to a particular class gsmooth reimage compress get_subscan_index USE Call f90 f1 gsmooth etc See examples in ftest py See BoaData f90 for compilation instructions 11 HIS FB040501 add and revise subroutines data modu
112. t Focus lt BoaFocus py DES Add a scan to accumulated focus HIS MAO40716 initial version SM040913 small changes SM040917 updated 8 7 11 createAccModelData self createAccModelData lt Focus lt BoaFocus py DES Creates accumulated focus model data HIS MAO40716 initial version SM040913 small changes SM040916 updated SM040917 small changes 8 7 12 printAccResults self printAccResults lt Focus lt BoaFocus py DES Creates accumulated focus model data HIS MAO40716 initial version SM040913 small changes SM040916 updated SM040917 small changes 108 8 8 baseline baseline lt BoaFortranBaseLine f90 NAM baseline module f90 in file BoaFortranBaseLine f90 DES module collecting 90 subroutines polyfit addpoly USE Call f90 baseline polyfit etc See examples in ftest py HIS FB040426 assemble flag mean_rms polyfit in one module FB040501 add and revise subroutines data module reduced to constant attributes FB040508 major revisions to some routines FB040515 split f90 module into classes SM041109 renamed module to avoid conflicts with py module History NAM baseline module f90 in file BoaFortranBaseLine f90 DES module collecting f90 subroutines polyfit addpoly HIS FB040426 assemble flag mean_rms polyfit in one module FB040501 add and revise subroutines data module reduced to constant attributes FB040508 major revisions to some routines FB040
113. t with data data solvePointing compute pointing offsets data showPointing display map and fitted 2D Gaussian 5 3 3 Focus The recommended way to conduct laboca focus observations is to perform a series of n 3 short symmetric on offs e g 3 or 6 4 5sec For this simply the onoff has to be reduced and then the results can be fitted by a parabola 5 3 4 Skydip CV Anything to add here yet 5 3 5 OnOff CV Anything to add here yet 5 3 6 Mapping Several methods are provided to construct a map taking into account the relative positions of the bolometers in the instrument The slowMap method computes exact positions and loops over the pixels of the resulting map to calculate the contributions to the flux at a given position from all bolometers This is a very slow method The fastMap method loops over the signal series in each bolometer and dumps fluxes at the nearest pixel on the final map Then the maps produced from each bolometer are coadded This method makes use of operations on arrays and is thus very fast read lissajou open open an XWindow device see ref openplotCB sub below data fastMap reconstruct a map with the fast method 37 5 3 7 Beam maps CV Anything to add here yet 5 3 8 Reading a FITS file Reading a FITS file into BoA is done with the read command You may want to define the input directory first indir Fits set the input directory read APEX 600
114. ta_Red are copied to this backup array to enable a quick undo procedure e Data Flag used to flag inidividual data points e Data_Noi rms noise associated with individual data points e Channel Flag used to flag channels e FFCF_CN correlated noise e FFCF_Gain computed flat field e Channel rms rms noise per channel e Channel_mean mean value per channel e Results depending on the type of observation this can contain one or several numbers It can also contain the results of several scans of the same type e g when one wants to combine the results of several successive pointings e Weights to be applied to the results see previous item e Command_History this is used to store the commands that are typed into BoA in string format This can then be saved into a script file that can later be edited and imported again into BoA 4 2 4 BoA Status In addition to the raw derived processed data and associated parameters a dictionary called Sta tus_Dic is used to store some parameters related with the reduction steps that have been performed with BoA This dictionary contains the following keys e Gain _Ele_Cor_Done e Baseline_Cor_Ord e Noi_Cor_Done e Opa_Cor_Done e Flux_Cal_Done Pha Dif Done 31 4 3 Output data With the aim of comparing the results of a data reduction performed with BoA with those obtained with existing packages NIC MOPSI a procedure similar to the one described in Section was
115. time In case of crash check files in home observer BOA tmp Python 2 3 2 Done to install Swig 1 3 23 y N y Unpacking and installing Swig 1 3 23 This may take some time In case of crash check files in home observer BOA tmp swig 1 3 23 to install Numeric 23 1 version 23 1 required y N y Unpacking and installing Numeric 23 1 This may take some time In case of crash check files in home observer BOA tmp Numeric 23 1 to install numarray 0 9 version 0 8 required y N y Unpacking and installing numarray 0 9 Done Done numarray 0 9 Done to install pgplot5 2 version 5 2 required y N y Unpacking and installing pgplot 5 2 For additional information read file sys_linux aaaread me Reading configuration file sys_linux g77_gcc conf Selecting uncommented drivers from drivers list Found drivers GIDRIV HGDRIV LSDRIV LXDRIV NUDRIV PGDRIV PSDRIV TTDRIV X2DRIV XWDRIV Creating make file makefile Determining object file dependencies lt boa_build gt re running makemake with included drivers list For additional information read file sys_linux aaaread me Reading configuration file sys_linux g77_gcc conf Selecting uncommented drivers from drivers list Found drivers GIDRIV HGDRIV LSDRIV LXDRIV NUDRIV PGDRIV PSDRIV TTDRIV X2DRIV XWDRIV Creating make file makefile Determining object file dependencies gcc Wall fPIC DPG_PPU 0 I cpg pgbind c o pgbind pgbind bsd h w src pgarro f src pgask
116. tity lt BoaDataEntity py NAM DES INP initPhases method Compute the phase differences from the raw data New attributes are defined here with names similar to the initial ones with _p appended They are 2D or 3D arrays where the 1st dim corresponds to integrations the 2nd dim means O phase diff 1 phasel 2 phase2 and the 3rd dim corresponds to pixels when relevant self DataEntity object 91 8 5 13 phaseDiff self phaseDiff lt DataEntity lt BoaDataEntity py NAM phaseDiff method DES Recompute the phase differences on the Data_Red and Data_Noi attributes INP self DataEntity object 8 5 14 copyPhases self copyPhases lt DataEntity lt BoaDataEntity py NAM copyPhases method DES when only one phase copy data to phase2 and phase diff INP self DataEntity object 8 5 15 existData self existData lt DataEntity lt BoaDataEntity py DES check if the DataEntity object has been filled with data INP none OUT int result O if no data 1 otherwise 8 5 16 getTotalChanList self getTotalChanList lt DataEntity lt BoaDataEntity py DES generate and get the complete list of available channels INP OUT none 92 8 5 17 setCurrChanList self chanList setCurrChanList lt DataEntity lt BoaDataEntity py DES set list of channels to be treated INP int list string chanList list of channels or string to get current list of ch
117. to the module FirstDerivatives The parameter parameter is a tuple of initial values for the fit parameters The parameter data is a list of data points to which the model is to be fitted Each data point is a tuple of length two or three Its first element specifies the independent variables of the model It is passed to the model function as its first parameter but not used in any other way The second element of each data point tuple is the number that the return value of the model function is supposed to match as well as possible The third element which defaults to 1 is the statistical variance of the data point i e the inverse of its statistical weight in the fitting procedure The function returns a list containing the optimal parameter values and the chi squared value describing the quality of the fit Example gt gt gt from Numeric import exp gt gt gt def f param t return param 0 exp param 1 t gt gt gt data 100 4 999e 8 200 5 307e 2 300 1 289e 6 400 6 559e 7 gt gt gt print leastSquaresFit f 1e13 4700 data 8641551709749 7666 4715 4677901570467 1080 2526437958597 73 74 8 Description of all classes and methods In the following all modules with their associated classes and methods are listed and described 75 8 1 chanana chanana lt BoaChanAna f90 NAM chanana module f90 in file BoaChanAna f90 DES module collecting f90 subroutines flag_pc flag
118. ultiple scans initial version MA040716 added accumulated focus SM040910 small changes SM040913 changes on accumulated focus SM040915 changes on accumulated focus SM040916 changes on accumulated focus SM040917 changes on accumulated focus 8 7 1 __init__ self BoaB init lt Focus lt BoaFocus py 104 DES INP HIS Initialise an instance object BoaB BoA business object MA040405 initial version SM040514 with Marcus Albrecht first runnig version 8 7 2 scanFocus self chan 1 phase 0 flag 0 plot 1 omit r 0 scanFocus lt Focus lt BoaFocus py NAM DES INP HIS scanFocus method focus method for single scans i chan pointing channel i phase phase to be used i flag flag to be used 0 unflagged 1 plot 1 provide graphical output i list omit list of observations subscans to be omitted MA040405 initial version SM040514 with Marcus Albrecht first runnig version 8 7 3 accFocus self com r 0 accFocus lt Focus lt BoaFocus py NAM DES INP HIS scanFocus method focus method for single scans i chan pointing channel i phase phase to be used i flag flag to be used 0 unflagged 1 plot 1 provide graphical output i list omit list of observations subscans to be omitted MAO40405 initial version SM040514 with Marcus Albrecht first runnig version 8 7 4 detSubStruct self chan 1 flag 0 detSubStruct lt Focus lt
119. umarray and DESTINATION PATH lib python2 3 site packages numarray 3 4 4 pgplot Installation of pgplot http www astro caltech edu tjp pgplot You can download the source code file ftp ftp astro caltech edu pub pgplot pgplot5 2 tar gz Execute the following commands e cd usr local src e cp pgplot5 2 tar gz e gunzip c pgplot5 2 tar gz tar xvof e rm pgplot5 2 tar gz e mkdir usr local pgplot e cd usr local pgplot e cp usr local src pgplot drivers list e vi drivers list De select the un wished drivers with the sysmnol or http www openboa de pgplot drivers list pgplot5 2 tar gz download testet e usr local src pgplot makemake usr local src pgplot linux g77_gcc e make e make clean 2http www openboa de pgplot drivers list from list from 19 Usefull but not needed for pgplot e make cpg e ld shared o libcpgplot so whole archive libcpgplot a e cp usr local pgplot libpgplot so usr lib Set the environment variables UNIX csh setenv PGPLOT_DIR usr local peplot UNIX sh PGPLOT_DIR usr local pgplot ls export PGPLOT_DIR put this for example into etc bashre root rights required or as user put it into your cshrc or bashrc files More information can be found on the following website http www astro caltech edu tjp pgplot faq html 3 4 5 ppgplot ATTENTION There is a new version of ppgplot available at http efault net npat ha
120. unflag mean_rms mean_rms_s statistics_by_subscan flagtime flaglon For compilation instruction see BoaData f90 l USE 90 chanana flag etc See examples in ftest py HIS FBO40426 assemble flag mean_rms polyfit in one module FBO40501 add and revise subroutines data module reduced to constant attributes FBO40508 major revisions to some routines FB040509 add statistics_by_subscan FB040515 split BoaF1 f90 into several files corresponding to classes FB040531 move cmatrix to BoaSNF f90 FB040602 add unflag FB040603 add flagtime FB040608 add flaglon FB040611 statistics_by_subscan use rank 2 sub_index History NAM chanana module f90 in file BoaChanAna f90 DES module collecting f90 subroutines flag_pc flag unflag mean_rms 76 USE HIS mean_rms_s statistics_by_subscan flagtime flaglon f90 chanana flag etc See examples in ftest py For compilation instruction see BoaData f90 FB040426 assemble flag mean_rms polyfit in one module FBO40501 add and revise subroutines data module reduced to constant attributes FBO40508 major revisions to some routines FBO40509 add statistics_by_subscan FBO40515 split BoaF1 f90 into several files corresponding to classes FBO40531 move cmatrix to BoaSNF f90 FBO40602 add unflag FBO40603 add flagtime FBO40608 add flaglon FB040611 statistics_by_subscan use rank 2 sub_index 8 1 1 flag_
121. w 110 8 9 5 display self rms 0 weight 0 lt 2 ae wk e Oe we ee 110 viii 8 10 Map BoaDataAnalyser DataAna e 111 8 10 1 _init_ self AA III 8 11 1 init self logName Unknown 8 11 2 Welcome self 300 12 2 59 Cenar A 115 8 11 3 setMaxWeight self weight 2 o o o 116 8 11 4 error sell message libra e AR A de 116 8 11 5 warning self message a x eg ee es Be Roe en ee ee 116 8 11 6 tose message le soz moci wee ge BOR 8 eae Bee TES e Ba we wee a 116 8 11 7 Jonginto sell message 4 ave oa week iS ee Re es CO ee 117 8 11 8 debi sell message ll hs va bes Oe RSS OE EEE Se Re ER 117 8 11 9 setMess self weight 1 message 2 2000 000002022 117 8 11 10 init MessF le self filename boa mes 0 0 0 0 ooo ee eee 117 8 11 11 closeMessFile self lt a 118 119 119 120 122 123 8 13 3 solvePointing self chanList gradient 1 radius 0 123 8 13 4 showPointing self plot 1 123 A e ga ee ee ee Ree e aa i a E bee eee Eee Pe we ee 124 Lah ate LAS AD RR BW ee OR Oe A oe eee SS oe 125 8 15 1 _init__ self BoaB IES 125 se A ea eee a ee ee GOS one 126 8 16 1 flag n ch n ph low mel a heck sep ai be is di Re Ske ae ya 126 a a Awe o td a hae Mowe Dies oe aes eek ee 127 8 17 1 _init_ selfmamboName mbName o 128
122. ype to see list default XXX where XXX is the default value of environment variable PGPLOT DEV Example gt 6 A non blank string in which the first character is a question mark e g Device in this case PGPLOT will prompt the user to supply the device specification using the supplied string as the prompt without the leading question mark but including any trailing spaces Example Device specification for PGPLOT In cases 5 and 6 the device specification is read from the standard input The user should respond to the prompt with a device specification of the form 1 2 or 3 If the user types a question mark in response to the prompt a list of available device types is displayed and the prompt is re issued If the user supplies an invalid device specification the prompt is re issued If the user responds with an end of file character e g ctrl D in UNIX program execution is aborted this avoids the possibility of an infinite prompting loop A programmer should avoid use of PGPLOT prompting if this behavior is not desirable The device type is case insensitive e g ps and PS are equivalent The device or file name may be case sensitive in some operating systems 49 6 3 2 Closing a plot window Usage DeviceHandler closeDev optional argument Optional argument device number integer all current a curre cur Example DeviceHandler closeDev 2 Close t

Download Pdf Manuals

image

Related Search

Related Contents

Corel Ventura  Texas Instruments SLUU477 User's Manual  33440EU Kensington Bluetooth® Hands-Free Visor  NAR-7070 manual_v2  Barco CTPN-41B  Expi2Java Tutorial      OWNER'S MANUAL  GPSMAP® 695/696  

Copyright © All rights reserved.
Failed to retrieve file