Difference between revisions of "Simulating Observations in CASA 3.3"

From CASA Guides
Jump to: navigation, search
Line 1: Line 1:
 
[[Category: Simulations]] [[Category: ALMA]]
 
[[Category: Simulations]] [[Category: ALMA]]
  
<font color="red">This page is valid for CASA version 3.3. Under construction.  Not intended for active use.</font>.
+
''This guide is applicable to CASA version 3.3.''
  
 
== Introduction ==
 
== Introduction ==
  
Simulation capability in CASA follows the usual two-layered structure: there is a beginner-level python <tt>task</tt> interface called [[simdata]], which calls methods in the <tt>sm</tt> C++ <tt>tool</tt>.  The task interface turns a model of the sky (2 to 4 dimensions including frequency and Stokes) into the visibilities that would be measured with ALMA, (E)VLA, CARMA, SMA, ATCA, PdB, etc.  The task also can produce a cleaned image of the model visibilities, compare that image with your input convolved with the synthesized beam, and calculate a fidelity image. <tt>simdata</tt> can add thermal noise (from receiver, atmosphere, and ground) to the visibilities.
+
Simulation capability in CASA follows the usual two-layered structure: there is a beginner-level Python <tt>task</tt> interface called <tt>sim_observe</tt>, which calls methods in the <tt>sm</tt> C++ <tt>tool</tt>.  The task interface turns a model of the sky (2 to 4 dimensions including frequency and Stokes) into the visibilities that would be measured with ALMA, (E)VLA, CARMA, SMA, ATCA, PdB, etc.  <tt>sim_observe</tt> can also add thermal noise (from receiver, atmosphere, and ground) to the visibilities.  The task <tt>sim_analyze</tt> will then produce a cleaned image of the model visibilities, compare that image with your input convolved with the synthesized beam, and calculate a fidelity image.  
  
The <tt>sm</tt> tool has methods that can be used to add phase delay variations, gain fluctuations and drift, cross-polarization, and (coming soon) bandpass and pointing errors to your simulated data.  <tt>sm</tt> also has more flexibility in adding thermal noise than <tt>simdata</tt>, for example for new observatories that are unknown to <tt>simdata</tt>.
+
For more advanced users, the <tt>sm</tt> tool has methods that can be used to add phase delay variations, gain fluctuations and drift, cross-polarization, and (coming soon) bandpass and pointing errors to your simulated data.  <tt>sm</tt> also has more flexibility in adding thermal noise than <tt>sim_observe</tt>.
 +
 
 +
''Note that <tt>sim_observe</tt> and <tt>sim_analyze</tt> are new tasks in CASA 3.3.  In earlier versions of CASA the functionality of both tasks was contained in a single task called <tt>simdata</tt>.  <tt>simdata</tt> is still available in CASA 3.3 but is deprecated and may be removed in a future CASA release.'' 
  
 
CASA simulation uses the [http://www.mrao.cam.ac.uk/~bn204/alma/atmomodel.html aatm] atmospheric model, a thin wrapper of Juan Pardo's [http://damir.iem.csic.es/PARDO/class_atm.html ATM] library, to accurately calculate all atmospheric corruption terms (noise, phase delay) accurately as a function of frequency and site characteristics.
 
CASA simulation uses the [http://www.mrao.cam.ac.uk/~bn204/alma/atmomodel.html aatm] atmospheric model, a thin wrapper of Juan Pardo's [http://damir.iem.csic.es/PARDO/class_atm.html ATM] library, to accurately calculate all atmospheric corruption terms (noise, phase delay) accurately as a function of frequency and site characteristics.
  
Part of CASA's simulation routines are generic ephemeris and geodesy calculations available in python - see [[simutil.py]].
+
Part of CASA's simulation routines are generic ephemeris and geodesy calculations available in Python: see [[simutil.py]].
  
'''Note on cleaning:''' just as is the case for real images, cleaning images produced by simdata can lead to a spurious decrease in object fluxes and noise on the image ("clean bias"). This is particularly true for observations with poor coverage of the uv-plane, i.e. using telescopes with small numbers of antennas, such as the ALMA Early Science configurations, and/or in short "snapshot" observations. Users should always clean images with care, using a small number of iterations and/or a conservative (3-5sigma) threshold, and boxing bright sources.
+
'''Note on cleaning:''' just as is the case for real images, cleaning images produced by <tt>sim_observe</tt> can lead to a spurious decrease in object fluxes and noise on the image ("clean bias"). This is particularly true for observations with poor coverage of the uv-plane, i.e. using telescopes with small numbers of antennas, such as the ALMA Early Science configurations, and/or in short "snapshot" observations. Users should always clean images with care, using a small number of iterations and/or a conservative (3-5sigma) threshold, and boxing bright sources.
 
 
<font color="green"> Because <tt>simdata</tt> is still actively being developed, documentation may lag reality.
 
Users are encouraged to use the ALMA helpdesk (for ALMA simulations) or the NRAO helpdesk (for simulations using other telescopes) to submit queries or comments. In particular, you may find that some of the presentations and graphics below show parameter inputs that are slightly different from the latest version of CASA.</font>
 
  
 
== Steps to simulation ==
 
== Steps to simulation ==
  
| style="width: 100%; valign: top; " cellpadding=10
+
If you have not already installed CASA, follow these steps: [[Getting Started in CASA#Installing CASA | Install CASA]].
|- valign="top"
 
 
 
 
 
| style="width: 98%; valign: top; background-color:#E0FFFF; border:1px solid #3366FF;" |
 
<big>'''simdata'''</big> [http://casa.nrao.edu/casa_obtaining.shtml Obtaining CASA]<br />
 
 
 
1. [[Getting Started in CASA#Installing CASA | Install CASA]]
 
 
 
<tt>simdata (v3.2.0)</tt> inputs look like this (click to enlarge): [[File:Simdata_3.2.png|100px]]
 
 
 
The subtasks are modular i.e. as long as you follow a few conventions about filenames, you can run each
 
bit independently and optionally.  For example, you can modify the sky model, then predict ACA visibilities, then run again and predict
 
ATCA 12m visibilities and image and analyze both measurement sets together.  You can run once to predict, run interactive clean yourself, and as long as you called your image $project.image, run <tt>simdata</tt> just to calculate a difference image and analyze the results.
 
 
 
2. [[Modify Model]] - relabel (scale) the spectral and spatial coordinates and brightness of the sky model image.
 
 
 
3. [[Set Pointings]] - calculate a mosaic of pointings and save in a text file.  You could also make the text file yourself.
 
 
 
4. [[Predict]] - Calculate visibilities for a specified array on a specified day
 
  
5. [[Corrupt]] - Corrupt the measurement set with thermal noise, phase noise, cross-polarization, etc.
+
<tt>sim_observe</tt> and <tt>sim_analyze</tt> can be broken down into "subtasks" that are modular, i.e. as long as you follow a few conventions about filenames, you can run each bit independently and optionally.  For example, using <tt>sim_observe</tt>, you can modify the sky model, then predict ACA visibilities, then run again and predict ATCA 12m visibilities. With <tt>sim_analyze</tt> you can image and analyze both the ACA and ATCA measurement sets together.  You can run interactive clean yourself, and, minding your filenames, you can run <tt>sim_analyze</tt> just to calculate a difference image and analyze the results.
  
6. [[Image]] A subset of <tt>clean</tt> to re-image the visibilities
+
The major steps involved in simulating data with CASA are:
  
7. [[Analyze]] Calculate and display the difference between output and input, and fidelity image.
+
# [[Modify Model]] - relabel (scale) the spectral and spatial coordinates and brightness of the sky model image.
|}
+
# [[Set Pointings]] - calculate a mosaic of pointings and save in a text file. You could also make the text file yourself.
 +
# [[Predict]] - Calculate visibilities for a specified array on a specified day
 +
# [[Corrupt]] - Corrupt the measurement set with thermal noise, phase noise, cross-polarization, etc.
 +
# [[Image]] A subset of <tt>clean</tt> to re-image the visibilities
 +
# [[Analyze]] Calculate and display the difference between output and input, and fidelity image.
  
 
== Simulating ALMA Observations ==
 
== Simulating ALMA Observations ==

Revision as of 18:57, 1 November 2011


This guide is applicable to CASA version 3.3.

Introduction

Simulation capability in CASA follows the usual two-layered structure: there is a beginner-level Python task interface called sim_observe, which calls methods in the sm C++ tool. The task interface turns a model of the sky (2 to 4 dimensions including frequency and Stokes) into the visibilities that would be measured with ALMA, (E)VLA, CARMA, SMA, ATCA, PdB, etc. sim_observe can also add thermal noise (from receiver, atmosphere, and ground) to the visibilities. The task sim_analyze will then produce a cleaned image of the model visibilities, compare that image with your input convolved with the synthesized beam, and calculate a fidelity image.

For more advanced users, the sm tool has methods that can be used to add phase delay variations, gain fluctuations and drift, cross-polarization, and (coming soon) bandpass and pointing errors to your simulated data. sm also has more flexibility in adding thermal noise than sim_observe.

Note that sim_observe and sim_analyze are new tasks in CASA 3.3. In earlier versions of CASA the functionality of both tasks was contained in a single task called simdata. simdata is still available in CASA 3.3 but is deprecated and may be removed in a future CASA release.

CASA simulation uses the aatm atmospheric model, a thin wrapper of Juan Pardo's ATM library, to accurately calculate all atmospheric corruption terms (noise, phase delay) accurately as a function of frequency and site characteristics.

Part of CASA's simulation routines are generic ephemeris and geodesy calculations available in Python: see simutil.py.

Note on cleaning: just as is the case for real images, cleaning images produced by sim_observe can lead to a spurious decrease in object fluxes and noise on the image ("clean bias"). This is particularly true for observations with poor coverage of the uv-plane, i.e. using telescopes with small numbers of antennas, such as the ALMA Early Science configurations, and/or in short "snapshot" observations. Users should always clean images with care, using a small number of iterations and/or a conservative (3-5sigma) threshold, and boxing bright sources.

Steps to simulation

If you have not already installed CASA, follow these steps: Install CASA.

sim_observe and sim_analyze can be broken down into "subtasks" that are modular, i.e. as long as you follow a few conventions about filenames, you can run each bit independently and optionally. For example, using sim_observe, you can modify the sky model, then predict ACA visibilities, then run again and predict ATCA 12m visibilities. With sim_analyze you can image and analyze both the ACA and ATCA measurement sets together. You can run interactive clean yourself, and, minding your filenames, you can run sim_analyze just to calculate a difference image and analyze the results.

The major steps involved in simulating data with CASA are:

  1. Modify Model - relabel (scale) the spectral and spatial coordinates and brightness of the sky model image.
  2. Set Pointings - calculate a mosaic of pointings and save in a text file. You could also make the text file yourself.
  3. Predict - Calculate visibilities for a specified array on a specified day
  4. Corrupt - Corrupt the measurement set with thermal noise, phase noise, cross-polarization, etc.
  5. Image A subset of clean to re-image the visibilities
  6. Analyze Calculate and display the difference between output and input, and fidelity image.

Simulating ALMA Observations

We will update simdata as ALMA commissioning proceeds. During this period, we expect the noise properties of the telescope to be increasingly better characterized, and its configurations to be refined. Updates will be placed below, under "ALMA updates", along with an estimate of which version of CASA they will be applied to. Updated configuration files will also be placed here, until they can be incorporated in the next CASA release.


Users should also be aware of the Observation Support Tool (OST) [1]. This is a web-based interface to an ALMA simulator hosted by the University of Manchester, UK. Like simdata, it is based on the CASA sm toolkit, but uses different wrapper scripts, and, in particular, has a different treatment of atmospheric effects. Comparisons to the ALMA sensitivity calculator made in March 2011 suggest that both simdata and the OST give similar noises for observations in bands 3-8, but the OST diverges in bands 9 and 10. In general, however, because the ALMA sensitivity calculator will be used for the technical assessment of ALMA proposals, only values from it, not simdata or the OST, should be used to estimate exposure times for ALMA Science Goals.


ALMA updates

CASA 3.2 is currently up-to-date!

Tutorials, Recipes, and Example images

New User's Guide to Simulated ALMA Observations: fully annotated tutorial

This uses a Spitzer SAGE 8 micron continuum image of 30 Doradus and scales it to greater distance.

30Dor ES.png
simdata recipe page
Simulated ALMA Observation of M51 at z = 0.1 and z = 0.3: fully annotated tutorial

This uses a BIMA-SONG cube of a nearby galaxy and scales it to greater distance.

M51thumb.png
   simdata recipe page
NOTE: how to run the simulation faster by increasing the exposure time
Protoplanetary Disk: sky model and lightly annotated script

This uses a theoretical model of dust continuum from Sebastian Wolff, scaled to the distance of a nearby star.

Psimthumb.png
simdata recipe page
Nearby edge-on spiral galaxy: sky model, script, and discussion

This uses a Galactic CO cube from the Galactic Ring Survey and places it at 10Mpc, similar to what NGC891 would look like if it were observable from the southern hemisphere.

N891thumb.png
simdata recipe page
The face of Einstein: sky model and lightly annotated script

An example of using a non-science image to demonstrate the effects of spatial filtering by ALMA.

Einstein fs cfg8 1hr.gif
simdata recipe page
Other example input images
Other example output simulations (scripts to reproduce these are coming)



Technical and Planning

We welcome input on developing the CASA simulator. The following links are meetings, technical documents, and planning discussions. Much of it won't make sense to a new user of CASA::simdata, but may be of interest to those wanting to delve deeper. Contact "rindebet at nrao.edu" if you would like to volunteer your input.

  • Simulation Library This will become a library of use cases and examples illustrating different science and observation setups. It is in early stages as of Jan 2010, and we're actively seeking volunteers to turn their simulation projects into use cases.
  • Jan 2010 workshop Including slides and discussion of how simdata and Simulator work "under the hood" and plans for development