Introduction to CASA and Basic Data Reduction Overview Steven T. Myers CASA Project Scientist (NRAO)
CASA Tutorial -- 7 October Beta Release Status CASA Status: in Beta Release since October 2007 roughly quarterly “patches” Current Release: Beta Release Patch 3 target release date October 15 general release register at my.nrao.edu, no password for download
CASA Tutorial -- 7 October Beta Disclaimer This really is a Beta Release! still missing functionality there are known failure modes will find new problems Improvements in upcoming patches move towards handling ALMA/EVLA “use cases” better handling of calibration
CASA Tutorial -- 7 October Curriculum schedule: ~1 hour orientation lecture + demo (this talk) hands-on data reduction with datasets: VLA Continuum Polarization (3C129) VLA Spectral Line (NGC2403) BIMA 3mm line mosaic (NGC4826) intended to be interactive if you need help - ask!
CASA Tutorial -- 7 October Starting CASA From your workstation (running RHEL): type ‘casapy-test’ at prompt this is the pre-release test version of Beta Patch 3 at AOC quit CASA using ‘exit’ brings up IPython shell plus casalogger GUI Other releases available for download not yet built for Patch 3...
CASA Tutorial -- 7 October Getting User Support First stop: Read the Manual! CASA Home: Cookbook, and “help” within CASA CASA Helpdesk & Support Cadres “Helpdesk” under my.nrao.edu submit Issues User Support Specialists (Gustaaf at AOC) will handle your Helpdesk ticket and interface with developers
CASA Tutorial -- 7 October Tutorial Contents I - Interface II - Tasks & Tools III - Data in CASA IV - Data Processing Workflow V - Example Use Cases
CASA Tutorial -- 7 October I - Interface Documentation IPython & Python Crashes & Recovery CASA help CASA task interface Functionality
CASA Tutorial -- 7 October CASA Documentation CASA Analysis cookbook (draft): CASA User Reference Manual: Python: (e.g., see Tutorial for novices) IPython: matplotlib:
CASA Tutorial -- 7 October CASA Interface IPython shell access autoparenthesis (autocall) command history session logging (ipython.log, casapy.log) numbered input/output history/searching Python see standard manuals, Cookbook Appendix D
CASA Tutorial -- 7 October Python Pointers to run a.py script: execfile(‘ ’) example: execfile(‘ngc5921_demo.py’) indentation matters! be careful when doing cut-and-paste to Python cut a few (4-6) lines at a time variables are global! tasknames are objects (not variables)
CASA Tutorial -- 7 October Crashes & Recovery Beta Release still has crash modes plotting in particular (plotxy and plotcal) can get a segmentation fault If in doubt, exit and restart casapy get rid of orphaned loggers you may have to use ps to find rogue casapy processes and kill them
CASA Tutorial -- 7 October Part II - Tasks & Tools overview of tasks and tools in CASA introduction to the task interface how to get help on tasks and tools how tools underly the tasks how to run tasks asynchronously
CASA Tutorial -- 7 October Tasks and tools in CASA Tasks - high-level functionality function call or parameter handling interface these are what you should use in tutorial Tools - complete functionality tool.method calls, used by tasks sometimes shown in tutorial scripts
CASA Tutorial -- 7 October 2008 Key Tasks Task list: may be different in test and release versions asap_init to load single-dish tasks and tools
CASA Tutorial -- 7 October Task Execution two ways to invoke: call from Python as functions with arguments taskname( arg1=val1, arg2=val2,... ) unspecified parameters will be defaulted (globals not used) use standard tasking interface use global variables for task parameters see Chapter 1.3 in Cookbook
CASA Tutorial -- 7 October Task Interface standard tasking interface use parameters set as global Python variables set = (e.g. vis = ‘ngc5921.demo.ms’ ) parameter manipulation commands using inp, default, saveinputs, tget execute or go ( e.g. clean() ) return values some tasks return Python dictionaries, e.g. myval=imval()
CASA Tutorial -- 7 October Task Interface examine task parameters with inp :
CASA Tutorial -- 7 October Expandable Parameters boldface parameter are expandable
CASA Tutorial -- 7 October Parameter Checking sanity checks of parameters in inp : erroneous values in red
CASA Tutorial -- 7 October Help on Tasks In-line help command:
CASA Tutorial -- 7 October Tools in CASA CASA Toolkit underneath tasks core AIPS++ code (mostly in C++) tools are functions call from casapy as. () default tool objects are pre-constructed e.g. imager (im), calibrater (cb), ms (ms), etc. (see toolhelp)
CASA Tutorial -- 7 October CASA Tool List list of default tools from toolhelp : tools described in the CASA User Reference Manual:
CASA Tutorial -- 7 October Asynchronous Tasks run tasks in background set parameter async=True runs as separate process use taskmanager tool (tm) to monitor (Cookbook Chapter 1.3.2) messages will appear in logger in the asynchronous order useful to avoid known problems (e.g. exportfits / importfits) cannot retrieve return values from async tasks
CASA Tutorial -- 7 October III - Data in CASA data in CASA are stored in tables interferometry data in Measurement Sets (MS) also tables for images and calibration tables formats and structures defined in CASA memos accessed through table and ms tools row and column structure is logical not physical
CASA Tutorial -- 7 October The Measurement Set the MS is a directory on disk the MAIN table in table.* files also contains sub-tables e.g. FIELD, SOURCE, ANTENNA, etc. sub-tables are sub-directories to copy must cp -rf to get contents WARNING: moving a MS can break cal-table dependencies
CASA Tutorial -- 7 October Example MS Example: ls ngc5921.usecase.ms ls ngc5921.usecase.ms/FIELD
CASA Tutorial -- 7 October MAIN Table Contents Example using task browsetable:
CASA Tutorial -- 7 October More MS Details often will refer to “rows” & “columns” rows = integrations in spectral windows columns = time, u, v, w, DATA, weights, etc. there are “scratch columns” created when needed - can bloat the MS but (usually) less space than scratch copy of MS! CORRECTED_DATA, MODEL_DATA, IMAGING_WEIGHTS
CASA Tutorial -- 7 October Data Selection standard MS selection syntax see Chapter 2.5 of CASA Cookbook syntax detailed in CASA Memo
CASA Tutorial -- 7 October Selection Example standard selection parameters e.g. for task gaincal: field and spw common standard selections expandable selectdata with other selections as sub-parameters
CASA Tutorial -- 7 October Selection Syntax see Chapter 2.5 of Cookbook field - string with source name or field ID can use ‘*’ as wildcard, first checks for name, then ID example: field = ‘ ’ ; field = ‘3C*’ ; field = ‘0,1,4~5’ spw - string with specwindow ID plus channels use ‘:’ as separator of spw from optional channelization use ‘^’ as separator of channels from step/width example: spw = ‘0~2’ ; spw = ‘1:10~30’ ; spw = ‘2~5:5~54^5’
CASA Tutorial -- 7 October Selection Syntax see Chapter 2.5 of Cookbook antenna - string with antenna name or ID first check for name, then ID (beware VLA name 1-27, ID 0-26) example: antenna = ‘1~5,11’ ; antenna = ‘VA*’ timerange - string with date/time range specify ‘T0~T1’, missing parts of T1 default to T0, can give ‘T0+dT’ example: timerange = ‘2007/10/16/01:00:00~06:30:00’
CASA Tutorial -- 7 October IV - Reduction Philosophy data is imported into MS keep original DATA inviolate calibration is carried in cal-tables will discuss cal-table philosophy later imaging creates images from MS feed back model images for self-calibration
CASA Tutorial -- 7 October Data Philosophy Original data kept intact by default DATA (and WEIGHT) columns do not change in original MS user can use toolkit to mess with these also MS “scratch columns” are used used for adjusted data and model visibilities BETA: user must keep track ; Post-Beta: hide table and MS state
CASA Tutorial -- 7 October CASA Workflow Chart workflow: import examine / flag calibrate image analyze
CASA Tutorial -- 7 October Workflow Steps follow rough workflow path: import data (from UVFITS or archive formats) examine data and edit out bad visibilities calibrate data (through cal-tables) image data (various deconvolution methods) image and uv analysis (e.g. moments) data and image visualization (whenever needed)
CASA Tutorial -- 7 October Import Data see Chapter 2 of Cookbook task importuvfits UVFITS data (e.g. from AIPS) task importvla VLA “export” format (e.g. from archive) task importasdm ALMA data format (also EVLA eventually)
CASA Tutorial -- 7 October Data Examination see Chapter 3 of Cookbook task listobs list summary of MS task plotxy x-y line plots task browsetable (casabrowser outside casapy) Qt browser for tables (e.g. MS and images) casaviewer - view raster images of MS
CASA Tutorial -- 7 October Flagging see Chapter 3 of Cookbook task plotxy draw boxes around points and flag casaviewer ( task viewer ) draw boxes on raster and flag (modes similar to AIPS TVFLG) task flagdata - manual flagging, clipping, etc. task flagmanager - backup & restore flags
CASA Tutorial -- 7 October Task plotxy use plotxy for simple data plots & flagging before (left) and after (right) editing and calibration
CASA Tutorial -- 7 October Task plotxy interactive plotting and flagging averaging timebin, width (time & channel averaging) iteration iteration = ‘antenna’, ‘field’, ‘time’, ‘spw’ (or combinations) GUI controls buttons for MarkRegion, Flag, Unflag, Locate, Next, Quit plot options use subplot = yxn to set multi-panels (e.g. subplot=311) controls for fontsize, markersize, other options
CASA Tutorial -- 7 October Example inputs set up to plot amp vs. time
CASA Tutorial -- 7 October Editing Jupiter isolate blocks of bad data and remove single bad scan on Jupiter both spw, all antennas
CASA Tutorial -- 7 October MS viewing the casaviewer can handle MS (e.g. TVFLG)
CASA Tutorial -- 7 October Calibration see Chapter 4 of Cookbook prior calibration solving calibration table manipulation calibration table examination application to data
CASA Tutorial -- 7 October Calibration workflow: input dataset solving => tables incremental accumulation application
CASA Tutorial -- 7 October Calibration Tables calibration tables are exchanged between the calibration tasks:
CASA Tutorial -- 7 October Calibration Tasks prior calibration: setjy solvers: gaincal, bandpass, polcal, blcal, fringecal manipulation: plotcal, accum, smoothcal application: applycal, split other: uvcontsub, uvmodelfit
CASA Tutorial -- 7 October Parameterizations prior calibration: gaincurve: VLA-only for now opacity: single tau value (for now) gaincal: gaintype=’G’ (solution per solint time slot) gaintype=’GSPLINE’ bandpass: bandtype=’B’ (solution per channel) bandtype=’BPOLY’ No time-dependence yet
CASA Tutorial -- 7 October Calibration Processing setjy (or ft) specify a model image (for selfcal or resolved cals) smoothcal Mean, median smoothing of cal tables accum calibration re-sampling Incremental/cumulative calibration
CASA Tutorial -- 7 October Imaging see Chapter 5 of Cookbook task clean single-field cleaning, variety of algorithms mosaicing using uv-gridder (uv-plane mosaicing on single image) interactive and non-interactive operation task widefield - widefield imaging prototype w-projection and faceting task feather - combine single-dish and uvMS
CASA Tutorial -- 7 October Interactive CLEAN clean has interactive mode interactive=True uses the viewer can change cycles during cleaning draw boxes and polygon regions for masking
CASA Tutorial -- 7 October Cube Channelization When using mode=‘channel’ select spectral windows of the data, e.g. spw=‘0,1’ the width is then set in units of first data spw channel width
CASA Tutorial -- 7 October Imaging spectral cubes Other cube considerations... Averaging of data channel in imaging is always ‘mfs’ style…i.e gridded with different (u,v) If a mode=’velocity’ cube is chosen, then data will be gridded into LSRK bins If simple data averaging is needed split is recommended
CASA Tutorial -- 7 October Mosaicing in clean use imagermode=’mosaic’ deconvolution on “Sault” (constant noise) image User can set make PB corrected image at end primary beam coverage x Sky in image plane Convolution with aperture cross-correlation function in uv-domain Advantages of doing mosaicing in uv Faster apply correct beam transform for each baseline (e.g. different dish size, change of pb with frequency, beam errors etc.) Parameter “ ftmachine ” sets this Possibilities are ' ft ' or ' mosaic '
CASA Tutorial -- 7 October More clean Mosaicing parameters continued: mosweight : important/different for uniform and Brigg's weighting scheme. Use per field weighting if mosweight=True Cotton-Scwab major cycles imagermode=’csclean’ or ‘mosaic’ returns to residual visibilities at major cycles cyclefactor : controls major cycle depth larger => more major cycles (clean will take longer) to a lesser extent cyclespeedup (for a non- converging clean)
CASA Tutorial -- 7 October Image Display The viewer Cookbook Chapter 7
CASA Tutorial -- 7 October Image Analysis see Chapter 6 of Cookbook task imhead - get and change image header information task immoments - computes moment images of spectral cube task immath - combine images and do image math using Lattice Expression Language (LEL) also: Spectral Index, Linear Polarized Intensity and Angle task imstat - return statistics on regions of image task imval - return values for pixel or region of image task imfit - fit a 2D Gaussian to the image
CASA Tutorial -- 7 October Task immoments use viewer to look at NGC5921 moment images Overlay contours of moment 1 (velocity) on moment 0 (intensity)
CASA Tutorial -- 7 October V - Scripts & Data Tutorial Home Page CASA Scripts & Data Page these are still Patch 2 versions
CASA Tutorial -- 7 October Tutorial Homepage
CASA Tutorial -- 7 October SummerSchool08 Data The VLA tutorials: 3C129 continuum data B and C configuration export data NGC2403 HI line data export data files AS649_* (VLA Archive files) Millimeter tutorial: NGC4826 BIMA line mosaic BIMA uvfits files
CASA Tutorial -- 7 October Example Use Cases NGC5921 VLA 1.4GHz spectral line simple regression data set and script ngc5921_demo.py Jupiter 6cm continuum interactive use case script jupiter6cm_demo.py also broken up by operations (flagging, calibration, imaging, pol)