CASA the science data analysis package for ALMA



Similar documents
CASA the science data analysis package for ALMA

The CASA software package

A brief introduction to the Measurement Set and the ALMA Science Data Model

CASA. Nemesio Rodriguez-Fernandez (IRAM) Outline. - Status and Measurement Set. - Structure. - Tools. - Tasks. - Scripts.

EA-ARC ALMA ARCHIVE DATA USER GUIDEBOOK

ALMA Technical Support. George J. Bendo UK ALMA Regional Centre Node University of Manchester

OSKAR Example Revision: 8

UV Continuum Subtraction Tasks in CASA

CASA Analysis and Visualization

Postprocessing with Python

The human pipeline: distributed data reduction for ALMA

A User s Guide to ALMA Scheduling Blocks (Cycle 3)

UBUNTU DISK IO BENCHMARK TEST RESULTS

Supported platforms & compilers Required software Where to download the packages Geant4 toolkit installation (release 9.6)

The ALMA Proposal Submission Process

Main Bullet #1 Main Bullet #2 Main Bullet #3

Analysis of ATCA Radio Continuum Data towards Imaging a Radio Galaxy

Symbian phone Security

The Status of Astronomical Control Systems. Steve Scott OVRO

Self-Calibration and Hybrid Mapping

ALMA: Stato, Early Science,, ARC

Code Estimation Tools Directions for a Services Engagement

Computer Vision Technology. Dave Bolme and Steve O Hara

Virtualization Techniques for Cross Platform Automated Software Builds, Tests and Deployment

SAP Predictive Analysis Installation

1. Product Information

Online Backup Client User Manual Linux

How to use PDFlib products with PHP

Analysis Programs DPDAK and DAWN

RecoveryVault Express Client User Manual

Introduction to Python

Multidimensional Data in the Virtual Observatory

Online Backup Linux Client User Manual

Cassandra 2.0: Tutorial

Online Backup Client User Manual

Open source framework for interactive data exploration in server based architecture

Lecture 5b: Data Mining. Peter Wheatley

ASKAP Science Data Archive: Users and Requirements CSIRO ASTRONOMY AND SPACE SCIENCE (CASS)

CLC Server Command Line Tools USER MANUAL

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Running and Scheduling QGIS Processing Jobs

IBM BPM V8.5 Standard Consistent Document Managment

Programming Languages & Tools

Tool-Assisted Knowledge to HL7 v3 Message Translation (TAMMP) Installation Guide December 23, 2009

Current Status of Development of New VLBI Data Analysis Software

System Architecture V3.2. Last Update: August 2015

Intel IoT Gateway Software Development Kit SK100

VisIt Visualization Tool

MayaVi: A free tool for CFD data visualization

NaviCell Data Visualization Python API

Using MATLAB to Measure the Diameter of an Object within an Image

Online Backup Client User Manual

Why are we teaching you VisIt?

Release Bulletin EDI Products 5.2.1

VisIVO, a VO-Enabled tool for Scientific Visualization and Data Analysis: Overview and Demo

Installing Java. Table of contents

Visualization with ParaView. Greg Johnson

MultiAlign Software. Windows GUI. Console Application. MultiAlign Software Website. Test Data

IMPLEMENTING PREDICTIVE ANALYTICS USING HADOOP FOR DOCUMENT CLASSIFICATION ON CRM SYSTEM

Exercise 0. Although Python(x,y) comes already with a great variety of scientic Python packages, we might have to install additional dependencies:

Configuring Sun StorageTek SL500 tape library for Amanda Enterprise backup software

A Study of Data Management Technology for Handling Big Data

CS 378: Computer Game Technology

inforouter V8.0 Server & Client Requirements

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

Using EDA Databases: Milkyway & OpenAccess

StARScope: A Web-based SAS Prototype for Clinical Data Visualization

The Murchison Widefield Array Data Archive System. Chen Wu Int l Centre for Radio Astronomy Research The University of Western Australia

Astronomical Instruments Software System Design

DATA MINING TOOL FOR INTEGRATED COMPLAINT MANAGEMENT SYSTEM WEKA 3.6.7

Open Source Computational Fluid Dynamics

Efficiency Considerations of PERL and Python in Distributed Processing

Introduction to Eclipse

AMATH 352 Lecture 3 MATLAB Tutorial Starting MATLAB Entering Variables

Ball Aerospace s COSMOS Open Source Test System

Fall 2012 Q530. Programming for Cognitive Science

Amy Mioduszewski NRAO. NRAO s 2008 Synthesis Imaging Workshop) Synthesis Imaging in Radio Astronomy

Computer Science and Engineering Linux Cisco VPN Client Installation and Setup Guide

VisIVO, an open source, interoperable visualization tool for the Virtual Observatory

Amira License Manager

Descripción y Areas del Dpto. de Computación de ALMA (ADC)

IDL. Get the answers you need from your data. IDL

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

Transcription:

CASA the science data analysis package for ALMA D. Petry (ESO), Oct 2009 Outline Why CASA? - the rationale and history of CASA Who develops CASA? - development team What are the main requirements and how does CASA meet them? - design and implementation How does CASA look and feel? - the CASA user interface CASA status and release plans 1

Rationale and History of CASA - In the 90ies, the object-oriented paradigm started to dominate and motivated the re-development of scientific software packages. - New projects were on the horizon and developers worried about maintainability of the old data analysis code. - In the case of radio astronomy: big new project = ALMA (and later EVLA), legacy software package = AIPS a) Scale of ALMA project requires long-term code maintainability need to re-implement existing algorithms in OO language b) Need to modernise the user interface (scripting!) c) Need to update and expand the reduction methods in prep. for ALMA AIPS 1992 AIPS++ (very general) 2003 CASA (focused on ALMA and EVLA) Even though CASA is developed for ALMA and EVLA, it can in principle analyse any radio interferometry data, in particular VLA data. 2

CASA development team CASA Developers Meeting, VLA site, February 2008 3

CASA development team ESO ALMA Computing Group, February 2009 Since mid 2008, two CASA developers at ESO, since Sept. 2009 three 4

CASA development team Originally only developed at NRAO (Socorro, NM), now approx. 18 FTE developers are at work at NRAO Socorro (7.5) NRAO Charlottesville (3) NAOJ (3) University of Virginia (0.5) Observatoire de Paris (0.5) ESO Garching (3) + 1 CASA manager (NRAO Socorro) = Nick Elias + 1 Project Scientist (NRAO Socorro) = Steve Myers + a few 5% FTEs at ASTRON, ATNF, and other places Also involved: ALMA Computing IPT Manager = Brian Glendenning 5

CASA design and implementation Overall architecture: 1) A data structure 2) A set of data import/export facilities 3) A set of tools for data access, display, and editing 4) A set of tools for science analysis 5) A set of high-level analysis procedures ( tasks ) 6) A programmable command line interface with scripting 7) Documentation 6

CASA design and implementation Overall architecture: 1) A data structure Tables: Images, Caltables, and the Measurement Set (MS) 2) A set of data import/export facilities the so-called fillers: ASDM MS, FITS Image, UVFITS MS, VLA MS, etc. 3) A set of tools for data access, display, and editing tools to load/write data into/from casacore data types, Qt-based table browser, Qt-based viewer, matplotlib-based x/y plotter (soon also Qt) 4) A set of tools for science analysis built around the Measurement Equation (developed in 1996) = a set of C++ classes for radio astronomical calibration and imaging 5) A set of high-level analysis procedures ( tasks ) special procedures for each required task such as CLEAN etc. 6) A programmable command line interface with scripting Python (augmented by IPython) gives a MATLAB-like interactive language 7) Documentation an extensive cookbook (500 pages) + documentation through help commands (help,?, pdoc) + online help pages for users and developers 7

CASA design and implementation Overall architecture: 1) A data structure a) Tables: Images, Caltables, and the Measurement Set (MS) 2) A set of data import/export facilities the so-called fillers: ASDM MS, FITS Image, UVFITS MS, VLA MS, etc. 3) A set of tools for data access, display, and editing tools to load/write data into/from casacore data types, Qt-based table browser, Qt-based viewer, matplotlib-based x/y plotter (soon also Qt) 4) A set of tools for science analysis b) built around the Measurement Equation (developed in 1996) = a set of C++ classes for radio astronomical calibration and imaging 5) A set of high-level analysis procedures ( tasks ) special procedures for each required task such as CLEAN etc. 6) A programmable command line interface with scripting c) Python (augmented by IPython) gives a MATLAB-like interactive language 7) Documentation an extensive cookbook (500 pages) + documentation through help commands (help,?, pdoc) + online help pages for users and developers 8

CASA design and implementation CASA special features: a) the Measurement Set (MS) - developed by Cornwell, Kemball, & Wieringa between 1996 and 2000 - designed to store both interferometry (multi-dish) and single-dish data - supports (in principle) any setup of radio telescopes - supports description and processing of the data via the Measurement Equation - fundamental storage mechanism: CASA Tables (inspired by MIRIAD) - MS = table for radio telescope data (visibilities) + auxiliary sub-tables 9

CASA design and implementation The CASA MS 10

CASA design and implementation The Measurement Set MAIN none - FREQ_OFFSET SYSCAL POINTING WEATHER HISTORY none none none none FLAG_CMD none - none - - ANTENNA_ID FEED_ID DATA_DESC_ID PROCESSOR_ID (PHASE_ID) FIELD_ID (PULSAR_GATE_ID) ARRAY_ID OBSERVATION_ID STATE_ID ANTENNA_ID FEED_ID SPW_ID ANTENNA FEED ANTENNA_ID FEED_ID DATA_DESCRIPTION row number MAIN FEED FREQ_OFFSET POINTING SYSCAL WEATHER (ORBIT_ID) (PHASED_ARRAY_ID) explicit MAIN FREQ_OFFSET SYSCAL ANTENNA_ID SPW_ID BEAM_ID (PHASED_FEED_ID) row number MAIN SPW_ID POLARIZATION_ID (LAG_ID) DATA_DESC_ID - - ANTENNA_ID FEED_ID SPW_ID PROCESSOR PROCESSOR_ID row number MAIN TYPE_ID MODE_ID (PASS_ID) - - ANTENNA_ID POINTING_MODEL_ID FIELD FIELD_ID row number MAIN SOURCE_ID (EPHEMERIS_ID) - - - - - - OBSERVATION OBSERVATION_ID row number MAIN HISTORY none STATE STATE_ID row number none SPW SPW_ID POLARIZATION_ID row number DATA_DESCRIPTION none SOURCE SOURCE_ID explicit (DOPPLER) FIELD SPW_ID (PULSAR_ID) (DOPPLER) DOPPLER_ID SPW_ID SOURCE_ID TRANSITION_ID explicit ANTENNA_ID OBSERVATION_ID OBJECT_ID row number MAIN DATA_DESCRIPTION FEED FREQ_OFFSET SOURCE SYSCAL (RECEIVER_ID) (DOPPLER_ID) (ASSOC_SPW_ID) none Legend: [Table Name] POLARIZATION Level 1: Tables not referenced by other tables [Key defined in this table] [key definition method] [referenced by] [referenced keys] (optional) reference to table outside the MS definition Level 2: Tables referenced by level 1 Level 3: Tables referenced by level 2 V1, D.Petry, 13.2.09 11

CASA design and implementation Example of a Measurement Set $ tree AT352_A071103 K AT352_A071103 K ANTENNA FIELD POINTING table.dat table.dat table.dat SPECTRAL_WINDOW table.f1_tsm1 table.f2 table.dat table.f0 table.f0 table.f0 table.f0 table.f2_tsm1 table.info table.f0i table.f0i table.f0i table.f3 ` table.lock table.info table.f1 table.info table.f3_tsm1 DATA_DESCRIPTION ` table.lock table.dat FLAG_CMD table.info ` table.lock ` table.lock STATE table.f0 table.dat POLARIZATION table.dat table.f5 table.info table.f0 table.dat table.f0 table.f5_tsm1 ` table.lock table.info table.f0 table.info table.f6 DOPPLER ` table.lock table.f0i ` table.lock table.f6_tsm1 table.dat HISTORY table.f0 table.dat table.info table.dat ` table.lock table.f0 table.info table.f0 PROCESSOR table.f1 table.f8 ` table.lock table.info table.dat table.f10 table.f8_tsm1 FEED ` table.lock table.f0 table.f9 table.dat OBSERVATION table.info table.f9_tsm0 table.f0 table.dat ` table.lock table.info table.f0i table.f0 SORTED_TABLE ` table.lock table.info table.info table.dat ` table.lock ` table.lock ` table.info table.f4 table.f4_tsm1 table.f7 table.f7_tsm1 15 directories, 88 files 12

CASA design and implementation CASA special features: b) the Measurement Equation (Hamaker, Bregman, & Sault 1996 + Sault, Hamaker, & Bregman 1996) implemented as a set of C++ classes for radio astronomical calibration and imaging where the vectors are: V = visibility = f(u, v), I = Image to be calculated, A = additive baseline-based error component the matrices are: M = multiplicative, baseline-based error component B = bandpass response G = generalised electronic gain D = polarisation leakage E = antenna voltage pattern P = paralactic angle T = tropospheric effects F = ionospheric Faraday rotation S = mapping of I to the polarization basis of the observation other variables and indices are: l, m = image plane coordinates, i, j = telescope ID pairs = baseline, u, v = Fourier plane coordinates 13

CASA design and implementation CASA special features: b) the Measurement Equation (Hamaker, Bregman & Sault 1996) implemented as a set of C++ classes for radio astronomical calibration and imaging (continued) Assuming, e.g., independence of the matrices from (l,m), the ME can be solved for individual calibration components. ideal visibility known from calibrator source have set of linear equations. The actual calculation of the component is then a χ2 minimization. The calibrater (cb) tool contains a set of solvers for the different calibration components. 14

CASA design and implementation CASA special features: c) A programmable command line interface with scripting Originally AIPS++/CASA had GLISH Abandoned in 2006 for a Framework Architecture of tools Framework generates headers + bindings to scripting language + documentation specifies tool in XML (loosely based on CORBA IDL) implements tool in C++ Developer 15

CASA design and implementation CASA special features: c) A programmable command line interface with scripting (continued) Framework Architecture of 15 tools can be bound to any scripting language, presently selected is Python (augmented by IPython) List of tools: ms Measurement Set utilities mp Measurement Set Plotting, e.g. data (amp/phase) versus other quantities cb Calibration utilities cp Calibration solution plotting utilities im Imaging utilities ia Image analysis utilities af Statistical flagging utilities tb Table utilities (selection, extraction, etc.) me Measures utilities rg Region management utilities (for images) dc Deconvolution utilities qa Quanta utilities cs Coordinate system utilities pl Matplotlib functionality sd - ASAP = ATNF Spectral Analysis Package (single-dish analysis imported from ATNF) 16

CASA design and implementation CASA special features: c) A programmable command line interface with scripting (continued) Python (augmented by IPython) Gives features such as - tab completion autoparenthesis command line numbering access to OS Lines starting with! go to the OS, a=!ls *.py to capture the output of ls *.py,!cmd $foo expands Python var foo for the shell, and more - history - execfile() - comfortable help 17

CASA design and implementation CASA special features: c) A programmable command line interface with scripting (continued) In addition to toolkit: high-level tasks for the standard user toolkit (implemented in C++) tasks (implemented in Python) e.g. the task importfits is based on the tool ia (image analysis): #Python script casalog.origin('importfits') ia.fromfits(imagename,fitsimage,whichrep,whichhdu,zeroblanks,overwrite) ia.close() 18

CASA status Since Oct 2007 in Beta release under GPL = anybody can download after registration, no warranty (see http://casa.nrao.edu ), limited support (help desk) Tutorials for the user community now regularly given Naming scheme: - beta is version 2.X - release version will be 3.X - X denotes patch Latest release is CASA version 2.4 = Beta Patch 4 (June 2009) The first public release (version 3.0) is planned for December 2009 At this tutorial you are going to use release 2.4 development platforms: Linux (RHEL) + Mac OS X supported platforms (binary distribution): RHEL, Fedora, opensuse, Ubuntu, Max OS X Code kept in svn repository at NRAO, Socorro The core functionality (mostly derived from AIPS++) was split off into casacore for use by other projects (also available at http://code.google.com/p/casacore/ ) 19

CASA status Status in terms of JIRA tickets 27 Jan 09 (release 2.3.1) 462 open issues 736 resolved/closed issues 10 May 09 (shortly before release 2.4) 392 open issues 953 resolved/closed issues For release 2.4 (the latest one) 953 736 = 217 issues were resolved/closed. 20

How does CASA look and feel? Pictures from a typical analysis session 1) Startup: open terminal and start casapy Available tasks and tools are listed and the logger window is opened. 21

The CASA user interface The logger provides functionality for monitoring and debugging command execution. 22

The CASA user interface Pictures from a typical analysis session 2) enter commands in a MATLAB-like environment recall previous settings list present settings for given task (includes parameter verification) 23

The CASA user interface Pictures from a typical analysis session 3) where needed, tools have GUIs: plotxy, plotcal, browsetable, viewer, clean (started in separate threads) The viewer is a powerful multifunction tool for data selection and visualization. Uses Qt widget set (but 80% independent) Rendering based on pgplot 24

The CASA user interface A typical analysis session 3) where needed, tools have GUIs: plotxy, plotcal, browsetable, viewer, clean (started in separate threads) browsetable permits you to explore any CASA table, e.g. Measurement Sets Also Qt-based. 25

The CASA user interface A typical analysis session 3) where needed, tools have GUIs: plotxy, plotcal, browsetable, viewer, clean (started in separate threads) plotxy is a specialized tool for diagnostic plots and data selection To be phased out. 26

The CASA user interface A typical analysis session 3) where needed, tools have GUIs: plotxy, plotcal, browsetable, viewer, clean (started in separate threads) plotms is going to replace plotxy. The 2.4 release contains both. plotms is Qt-based and much faster than plotxy. At this tutorial you will see a demo of the current development version, 27

Summary The standard science data analysis package for ALMA and EVLA is CASA Data from other observatories can also be processed, e.g. VLA, BIMA, ATCA,... CASA derives from AIPS++ (partially survives in casacore) approx. 20 people are working on CASA in North America, Europe, and Japan CASA is a toolbox with MATLAB-like user interface GUI tools for data selection, browsing, and image processing the heart of the science analysis code is the Measurement Equation the internal data format are CASA Tables the Measurement Set is the CASA data format for visibility data (it is technically a Table with several well-defined sub-tables) CASA is in Beta release and publicly available under GPL for Linux and Mac OS X The first non-beta release of CASA (version 3.0) is planned for December 2009 28