Difference between revisions of "Simulating Observations in CASA 3.1"
Revision as of 10:44, 1 December 2010
Simulation capability in CASA follows the usual two-layered structure: there is a beginner-level python task interface called simdata, 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. 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. simdata can add thermal noise (from receiver, atmosphere, and ground) to the visibilities. Note that small differences (~10%) may exist between the noise predicted by the ALMA sensitivity calculator and the measured RMS on the simdata output. These differences are believed to be due to differences in the use of the atmospheric model library, and more fundamentally that a measured image RMS depends sensitively on the details of how the image is deconvolved. The ALMA sensitivity calculator will be used for the technical assessment of ALMA proposals, and thus only values from it should be used to scale exposure times in ALMA proposals.
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 simdata, for example for new observatories that are unknown to simdata.
New for CASA version 3.1.0: The simdata task is the task formerly known in 3.0.2 as simdata2. The old version of simdata has been removed.
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 simdata can lead to a spurious decrease in object fluxes and noise on the image ("clean bias"), particularly for Early Science configurations, where the dynamic range of the beam is low. Users should always clean images with care, using a small number of iterations and/or a conservative (3-5-sigma) threshold, and boxing bright sources.
Because simdata is still actively being developed, documentation may lag reality, please email rindebet at nrao.edu with any questions - It's my job to help you use this software. 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.
Steps to simulation
Users of the most recent version of CASA, 3.1.0 and later should use simdata. If you are using CASA 3.0.2, you should use simdata2.
simdata (named simata2 in CASA 3.0.2) Obtaining CASA
1. Install CASA
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 simdata 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.
6. Image A subset of clean to re-image the visibilities
7. Analyze Calculate and display the difference between output and input, and fidelity image.
Tutorials, Recipes, and Example images
|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.
|simdata recipe page|
|NOTE: increasing the exposure time to run faster|
|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.
|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.
|simdata recipe page|
|Other example input images|
|Other example output simulations (scripts to reproduce these are coming)|
Technical and Planning
I always welcome input on developing the CASA simulator, and these 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:
- 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