<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" ?>
<casaxml xmlns="http://casa.nrao.edu/schema/psetTypes.html"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://casa.nrao.edu/schema/casa.xsd
file:///opt/casa/code/tools/xml/casa.xsd">
<tool name="simulator" module="simulator">
<shortdescription>Tool for simulation</shortdescription>
<include>tools/synthesis/simulator_forward.h</include>
<include>tools/synthesis/simulator_private.h</include>
simulator provides a unified interface for simulation of telescope
processing. It can create a MeasurementSet from scratch or read in an
existing MeasurementSet, it can predict synthesis data onto the (u,v)
coordinates or single dish data onto (ra,dec) points, and it can
corrupt this data through Gaussian errors, an atmospheric model, or
through specific errors residing in (anti-) calibration tables.
In the observing phase, simulator creates a MeasurementSet and
calculates uvw values. You first make a simulator tool, with the name
of the MeasurementSet that you wish to construct. Next you use the
various set* methods to set up the observing (antenna locations,
sources, spectral windows, etc.). Then you call the observe method for
each observing scan you wish to make, or observemany to create several
scans. You specify the source name, spectral window name, and
observing times. After this, you have a MeasurementSet that is
complete but visibilities=0.
In the prediction phase, you fill a MeasurementSet (either one newly
created or a pre-existing one, perhaps from a real telescope) with
data from a model or componentlist, and then corrupt the measurements
NOTE: sm.predict assumes model image units are Jy/pixel, and in fact
will overwrite the brightness units of the image itself!
The <link anchor="imager:imager.ft.function">ft</link> function of
the <link anchor="imager:imager">imager</link> tool can also be used
to calculate the model visibility for a model image
or <link anchor="componentmodels">componentmodels</link>.
To apply errors, first set up the various effects using the relevant
set* methods, and then call corrupt.
- One call to observe generates one scan (all rows have the same SCAN_NUMBER).
- The start and stop times specified to observe need not be contiguous and
so one can simulate antenna drive times or other gaps.
- Currently there is only a rudimentary method to calculate patterns of
observing (mosaicing), since it is easy to do this via sequences of calls
of observe, or simutil::calcpointings, or the simobserve task
- The heavy duty columns (DATA, FLAG, IMAGING_WEIGHT, etc. are tiled. New
tiles are generated for each scan. Thus the TSM files will not get very
- predict(incremental=False) calculates new visibilities and replaces the
- predict(incremental=True) calculates new visibilities, adds them to the
- predict for any value of incremental then sets CORRECTED_DATA equal to
DATA, and MODEL_DATA to 1
<method type="constructor" name="simulator">
<shortdescription>Construct a simulator tool</shortdescription>
<returns type="simulatorobject">simulator tool</returns>
# create a simulator tool