Simdata New Users Guide 3.1: Difference between revisions

From CASA Guides
Jump to navigationJump to search
Sschnee (talk | contribs)
Akimball (talk | contribs)
 
(25 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Simulations Intro 3.1}}
==Explanation of the guide==
==Explanation of the guide==


Line 13: Line 15:
To get the image, download the Spitzer IRAC 8 micron image of 30 Doradus from the [http://casaguides.nrao.edu/index.php?title=Sim_Inputs Simulation Inputs CASA Guide page].
To get the image, download the Spitzer IRAC 8 micron image of 30 Doradus from the [http://casaguides.nrao.edu/index.php?title=Sim_Inputs Simulation Inputs CASA Guide page].


To install CASA, follow the instructions given [http://casaguides.nrao.edu/index.php?title=Installing_CASA here].  This guide was written for CASA version 3.1
To install CASA, follow the instructions given [http://casa.nrao.edu/casa_obtaining.shtml here].  This guide was written for CASA version 3.1


==Using CASA==
==Using CASA==
Line 24: Line 26:


===Running CASA Tasks===
===Running CASA Tasks===
[[Image:Simdata_inp_example.png|thumb|Screen shot of "inp simdata".  Note that "chicken" is not a valid value for "setpointings", so it is shown in red.  "tsys-atm" is a valid, but not the default, value for "thermalnoise" so it is displayed in blue.  The parameter "thermalnoise", in grey, has been expanded based on the value of "tsys-atm".]]


To see a list of all available CASA tasks, at the CASA prompt type
To see a list of all available CASA tasks, at the CASA prompt type
Line 48: Line 52:
[[Image:NewUsersGuide.modifymodel.png|thumb|Screen shot of input parameters for "modifymodel"]]
[[Image:NewUsersGuide.modifymodel.png|thumb|Screen shot of input parameters for "modifymodel"]]


Now tell simdata where to find the model (input) image and how to scale it appropriately for our purposes.  Just to be safe, we'll first restore the default values of simdata.
Now tell simdata where to find the model (input) image and how to scale it appropriately for our purposes.  Just to be safe, we'll first restore the default values of simdata and then set the 30 Doradus image as the skymodel. Setting modifymodel=True tells simdata that we will be modifying the image before simulating an ALMA observation.
 
  > default simdata
  > default simdata
  > modifymodel = True
  > modifymodel = True
Line 59: Line 64:


====Angular Scale====
====Angular Scale====
If you open the fits image of 30 Doradus in your favorite viewer, you will see that it covers quite a large footprint on the sky, about 10' on a side.  We are going to tell simdata to rescale the pixels to shrink the image by roughly a factor of 15 (from  3.6" to 0.25" pixels) so that the model is approximately 40" on a side.  This rescaled model will fit within a small mosaic of 6 pointings.  Although we do this primarily for convenience in this example, a scientific motivation for this type of rescaling would be to approximate what a super-giant HII region like 30 Doradus would look like if moved from the Large Magellanic Cloud to the distance of M33 or M31.  For the sake of demonstration, we will also change the coordinates of the center of the map.
If you open the fits image of 30 Doradus in your favorite viewer, you will see that it covers quite a large footprint on the sky, about 10' on a side.  We are going to tell simdata to rescale the pixels to shrink the image by roughly a factor of 15 (from  2.3" to 0.15" pixels) so that the model is approximately 40" on a side.  This rescaled model will fit within a small mosaic of 6 pointings.  Although we do this primarily for convenience in this example, a scientific motivation for this type of rescaling would be to approximate what a super-giant HII region like 30 Doradus would look like if moved from the Large Magellanic Cloud to the distance of M33 or M31.  For the sake of demonstration, we will also change the coordinates of the center of the map.


  > incell = '0.25arcsec'
  > incell = '0.15arcsec'
  > indirection = 'J2000 10h00m00 -40d00m00'
  > indirection = 'J2000 10h00m00 -40d00m00'


Line 73: Line 78:
====Brightness Scale====
====Brightness Scale====


The 8 micron emission is probably not a great proxy for the millimeter emission from 30 Doradus.  For a true science case, one would want to calculate what the expected 230 GHz emission would be from an object like this at the distance of about 750 kiloparsec.  For the sake of simplicity, we will rescale the image so that the brightest pixel in the map has a flux density of 0.1 mJy.  This number is chosen such that the extended emission is a factor of a few brighter than the expected noise in a 2 hour observation.  The [http://www.eso.org/sci/facilities/alma/observing/tools/etc/ ALMA sensitivity calculator] can be used to determine the expected noise in an observation.
The 8 micron emission is probably not a great proxy for the millimeter emission from 30 Doradus.  For a true science case, one would want to calculate what the expected 230 GHz emission would be from an object like this at the distance of about 750 kiloparsec.  For the sake of simplicity, we will rescale the image so that the brightest pixel in the map has a flux density of 0.06 mJy.  This number is chosen such that the extended emission is a factor of a few brighter than the expected noise in a 2 hour observation.  The [http://almascience.nrao.edu/call-for-proposals/sensitivity-calculator ALMA sensitivity calculator] can be used to determine the expected noise in an observation.


  > inbright = '0.1mJy/pixel'
  > inbright = '0.06mJy/pixel'


===Defining the Mock Observations===
===Defining the Mock Observations===
Line 91: Line 96:
* pointingspacing
* pointingspacing


The default value for "integration", 10 seconds, might be appropriate to simulate real observations.  However, simdata will run much faster if the value for "integration" is increased, reducing the number of data points to be generated.  In this demonstration will will set it to 600 seconds.  When simdata is used for scientific purposes it may be best to set "integration" to a large value at first to make sure that simdata runs as expected, and then decrease "integration" to a more realistic time for the final run.
The default value for "integration", 10 seconds, might be appropriate to simulate real observations.  However, simdata will run much faster if the value for "integration" is increased, reducing the number of data points to be generated.  In this demonstration will will set it to 600 seconds.  When simdata is used for scientific purposes it may be best to set "integration" to a large value at first to make sure that simdata runs as expected, and then decrease "integration" to a more realistic time for the final run.  You will get a more accurate simulation with 10 second integrations than with 600 second integrations, especially in Early Science observations with a limited number of baselines.
 
Note that the integration time is different than the total (on-source) time of the observations.  The integration time, set here, is the averaging time for each data point.  The total time spent on-source is set later on.  Each pair of antennas will generate a number of data points equal to the total observing time divided by the integration time.


We will keep "direction" at the default (blank) value to center the observations on the model coordinates, as given in "indirection" above.
We will keep "direction" at the default (blank) value to center the observations on the model coordinates, as given in "indirection" above.
Line 97: Line 104:
We will set mapsize to "" (blank) to cover the entire model, which in our case will require a mosaic of 6 pointings (as we will see later on).  The mosaic default pattern "maptype" is 'hexagonal', which we will leave unchanged.
We will set mapsize to "" (blank) to cover the entire model, which in our case will require a mosaic of 6 pointings (as we will see later on).  The mosaic default pattern "maptype" is 'hexagonal', which we will leave unchanged.


Finally, we will change the value of "pointingspacing" to "" (blank) to set the pointings to be half a primary beam apart.
Finally, we will change the value of "pointingspacing" to "" (blank) to set the pointings to be half a primary beam apart, which corresponds to Nyquist sampling.


  > integration = '600s'
  > integration = '600s'
Line 105: Line 112:
====Antenna Positions and Total Observation Time====
====Antenna Positions and Total Observation Time====


Now we will consider the parameters within "predict".  We will keep the default values for every parameter except "antennalist", which tells simdata the locations and sizes of each antenna in the array.  We will simulate an Early Science observation, so we will first find the location where CASA has stored the ALMA configuration files.  Then we will tell simdata to use the configuration file designed for Early Science.
Now we will consider the parameters within "predict".  We will keep the default values for every parameter (including "totaltime" = 7200 seconds) except "antennalist", which tells simdata the locations and sizes of each antenna in the array.  We will simulate an Early Science observation, so we will first find the location where CASA has stored the ALMA configuration files.  Then we will tell simdata to use the configuration file designed for Early Science.


  > repodir = os.getenv("CASAPATH").split(' ')[0]
  > repodir = os.getenv("CASAPATH").split(' ')[0]
Line 112: Line 119:
The first line, run within CASA, uses a linux command to determine the path for CASA.  The second line sets the "antennalist" parameter to the Early Science configuration.  Other .cfg files in the same directory exist for various ALMA Full Science array configurations as well as the configuration files for other radio interferometers.  
The first line, run within CASA, uses a linux command to determine the path for CASA.  The second line sets the "antennalist" parameter to the Early Science configuration.  Other .cfg files in the same directory exist for various ALMA Full Science array configurations as well as the configuration files for other radio interferometers.  


Most of the other parameters are not relevant for this simulation since we are not using a component list to describe the sky emission, we do not want to simulate observations of a calibrator, and we do not want to simulate single dish observations.  Note that at this stage of simulation development, the "refdate" parameter is ignored and all observations are instead centered around transit.
Most of the other parameters are not relevant for this simulation since we are not using a component list to describe the sky emission, we do not want to simulate observations of a calibrator, and we do not want to simulate single dish observations.  Note that at this stage of simulation development, the time portion of "refdate" parameter is ignored and all observations are instead centered around transit on the date specified.


====Thermal Noise====
====Thermal Noise====


For this simple simulation, we will no include any thermal noise in the observations, so we can leave "thermalnoise" at its default (blank) value.
For this simple simulation, we will not include any thermal noise in the observations, so we can leave "thermalnoise" at its default (blank) value.


===Choosing Simdata Output Images===
===Choosing Simdata Output Images===
[[Image:NewUsersGuide.image.analyze.png|thumb|Screen shot of input parameters for "image" and "analyze"]]
[[Image:NewUsersGuide.image.analyze.png|thumb|Screen shot of input parameters for "image" and "analyze"]]


Now that simdata has made the mock visibilities, it is time to invert them to make an image of sky as observed with the interferometer.
Now that simdata has been told how to simulate the visibilities, it is time to invert them to make an image of sky as observed with the interferometer.


====Image====
====Image====
Line 129: Line 136:
  > image = True
  > image = True


For simulations intended for a proposal or scientific analysis, one would want to choose a more appropriate cleaning treshold and define the region to be cleaned.
For simulations intended for a proposal or scientific analysis, one would almost certainly want to choose a more appropriate cleaning threshold and define the region to be cleaned.  Instructions for how to define the region to be cleaned with the "mask" parameter can be found by typing
> help clean
or by looking at the [http://casaguides.nrao.edu/index.php?title=Clean Clean CASA Guide page].


====Analyze====
====Analyze====
Line 140: Line 149:
# Original sky model (as defined in "modifymodel")
# Original sky model (as defined in "modifymodel")
# Convolved model (sky model convolved with the synthesized beam)
# Convolved model (sky model convolved with the synthesized beam)
# Clean image (the sky as observed with the interferometer)  
# Clean image (the sky as observed with the interferometer after deconvolution)  


To make these choices, use the following lines in CASA
To make these choices, use the following lines in CASA
Line 157: Line 166:
  > inp simdata
  > inp simdata


If everything looks promising, then run simdata.
If everything looks promising (parameters set with unallowed values will be in red), then run simdata.


  > simdata
  > simdata
Line 188: Line 197:
## The "observed" image
## The "observed" image


If the images don't stay on your screen long enough to analyze, you can make simdata save the images as .png files with the "graphics" parameter.
The images requested in "analyze" will be the ones that stay on your screen when simdata is done, while the others will be briefly displayed and then disappear when the next set of images is plotted.  If the images don't stay on your screen long enough to analyze, you can make simdata save the images as .png files with the "graphics" parameter.


  > graphics = 'file'
  > graphics = 'file'
Line 215: Line 224:
You can learn much more about the functionality of the CASA viewer by watching this [http://casa.nrao.edu/CasaViewerDemo/casaViewerDemo.html instructional video].
You can learn much more about the functionality of the CASA viewer by watching this [http://casa.nrao.edu/CasaViewerDemo/casaViewerDemo.html instructional video].


{{Simulations Intro}}
{{Simulations Intro 3.1}}


[[Category: Simulations]] [[Category:ALMA]]
[[Category: Simulations]] [[Category:ALMA]]

Latest revision as of 22:01, 17 May 2011

Simulating Observations in CASA 3.1

Explanation of the guide

This guide is intended to be used as an initial walk-through of how to use simdata. We will start with an image similar to something that might be observed with ALMA, and then we will show how to rescale the image and predict how it will look when observed with different antenna configurations.

We will assume only a general knowledge of interferometry and no specific knowledge of CASA.

Getting Started

The two things you need to get started are:

  1. The image to work with
  2. The current version of CASA

To get the image, download the Spitzer IRAC 8 micron image of 30 Doradus from the Simulation Inputs CASA Guide page.

To install CASA, follow the instructions given here. This guide was written for CASA version 3.1

Using CASA

CASA is the post-processing package for ALMA and EVLA and can handle both interferometric and single dish data. Because simdata is a task within CASA, we start here with a brief introduction to some CASA basics. To learn much more about CASA, go to the CASA homepage. Walk-throughs of CASA data reduction for a variety of data sets can be found on the casaguides website.

Starting CASA

Once you have installed CASA, you can launch it by typing "casapy" at the prompt or by double-clicking on the icon, depending on your system and preferences.

Running CASA Tasks

Screen shot of "inp simdata". Note that "chicken" is not a valid value for "setpointings", so it is shown in red. "tsys-atm" is a valid, but not the default, value for "thermalnoise" so it is displayed in blue. The parameter "thermalnoise", in grey, has been expanded based on the value of "tsys-atm".

To see a list of all available CASA tasks, at the CASA prompt type

> tasklist

To look at the inputs for an available task, use "inp". For instance

> inp simdata

Any parameter with a grey background is expandable. Red text shows an invalid value. Blue text shows an accepted, but not the default, value.

To get help on a given task, use "help". For instance

> help simdata

To reset a task to its default values, use "default". For instance

> default simdata

To run a task using the current global values of its input parameters, just type its name at the CASA prompt. For instance

> simdata 

It's a good idea to double-check these values (i.e., re-run "inp simdata") immediately before running a task.

Using Simdata

Getting Your Input Image Into Simdata

Screen shot of input parameters for "modifymodel"

Now tell simdata where to find the model (input) image and how to scale it appropriately for our purposes. Just to be safe, we'll first restore the default values of simdata and then set the 30 Doradus image as the skymodel. Setting modifymodel=True tells simdata that we will be modifying the image before simulating an ALMA observation.

> default simdata
> modifymodel = True
> skymodel = '30dor.fits'

We are using a Spitzer 8 micron image of 30 Doradus in this example, and we are going to ask simdata to modify this image in some important ways:

  1. Angular scale
  2. Observed wavelength
  3. Brightness scale

Angular Scale

If you open the fits image of 30 Doradus in your favorite viewer, you will see that it covers quite a large footprint on the sky, about 10' on a side. We are going to tell simdata to rescale the pixels to shrink the image by roughly a factor of 15 (from 2.3" to 0.15" pixels) so that the model is approximately 40" on a side. This rescaled model will fit within a small mosaic of 6 pointings. Although we do this primarily for convenience in this example, a scientific motivation for this type of rescaling would be to approximate what a super-giant HII region like 30 Doradus would look like if moved from the Large Magellanic Cloud to the distance of M33 or M31. For the sake of demonstration, we will also change the coordinates of the center of the map.

> incell = '0.15arcsec'
> indirection = 'J2000 10h00m00 -40d00m00'

Observed Wavelength

The model image of 30 Doradus shows the 8 micron continuum emission. ALMA does not observe at wavelengths this short, so we will tell simdata that this is actually a 230 GHz (1.3 mm) continuum map. We will also tell simdata that the observations were taken with a 2 GHz bandwidth. Although for this particular example the channel width is not a critical number, it would be very important if we were modifying a spectral cube instead of a continuum image.

> incenter = '230GHz'
> inwidth = '2GHz'

Brightness Scale

The 8 micron emission is probably not a great proxy for the millimeter emission from 30 Doradus. For a true science case, one would want to calculate what the expected 230 GHz emission would be from an object like this at the distance of about 750 kiloparsec. For the sake of simplicity, we will rescale the image so that the brightest pixel in the map has a flux density of 0.06 mJy. This number is chosen such that the extended emission is a factor of a few brighter than the expected noise in a 2 hour observation. The ALMA sensitivity calculator can be used to determine the expected noise in an observation.

> inbright = '0.06mJy/pixel'

Defining the Mock Observations

Screen shot of input parameters for "setpointings" and "predict"

Now that simdata knows how to interpret the input image, the next step is to define the simulated observations.

Pointings and Scan Time

We will first change the parameters within "setpointings"

  • integration
  • direction
  • mapsize
  • maptype
  • pointingspacing

The default value for "integration", 10 seconds, might be appropriate to simulate real observations. However, simdata will run much faster if the value for "integration" is increased, reducing the number of data points to be generated. In this demonstration will will set it to 600 seconds. When simdata is used for scientific purposes it may be best to set "integration" to a large value at first to make sure that simdata runs as expected, and then decrease "integration" to a more realistic time for the final run. You will get a more accurate simulation with 10 second integrations than with 600 second integrations, especially in Early Science observations with a limited number of baselines.

Note that the integration time is different than the total (on-source) time of the observations. The integration time, set here, is the averaging time for each data point. The total time spent on-source is set later on. Each pair of antennas will generate a number of data points equal to the total observing time divided by the integration time.

We will keep "direction" at the default (blank) value to center the observations on the model coordinates, as given in "indirection" above.

We will set mapsize to "" (blank) to cover the entire model, which in our case will require a mosaic of 6 pointings (as we will see later on). The mosaic default pattern "maptype" is 'hexagonal', which we will leave unchanged.

Finally, we will change the value of "pointingspacing" to "" (blank) to set the pointings to be half a primary beam apart, which corresponds to Nyquist sampling.

> integration = '600s'
> mapsize = ""
> pointingspacing = ""

Antenna Positions and Total Observation Time

Now we will consider the parameters within "predict". We will keep the default values for every parameter (including "totaltime" = 7200 seconds) except "antennalist", which tells simdata the locations and sizes of each antenna in the array. We will simulate an Early Science observation, so we will first find the location where CASA has stored the ALMA configuration files. Then we will tell simdata to use the configuration file designed for Early Science.

> repodir = os.getenv("CASAPATH").split(' ')[0]
> antennalist =  repodir+"/data/alma/simmos/alma.early.250m.cfg"

The first line, run within CASA, uses a linux command to determine the path for CASA. The second line sets the "antennalist" parameter to the Early Science configuration. Other .cfg files in the same directory exist for various ALMA Full Science array configurations as well as the configuration files for other radio interferometers.

Most of the other parameters are not relevant for this simulation since we are not using a component list to describe the sky emission, we do not want to simulate observations of a calibrator, and we do not want to simulate single dish observations. Note that at this stage of simulation development, the time portion of "refdate" parameter is ignored and all observations are instead centered around transit on the date specified.

Thermal Noise

For this simple simulation, we will not include any thermal noise in the observations, so we can leave "thermalnoise" at its default (blank) value.

Choosing Simdata Output Images

Screen shot of input parameters for "image" and "analyze"

Now that simdata has been told how to simulate the visibilities, it is time to invert them to make an image of sky as observed with the interferometer.

Image

We would like to make a deconvolved output image, but we don't want to spend too much time optimizing the cleaning. So, all we need to do is set "image" to true and leave all of the other parameters at their default values. Other data reduction guides describe the process of cleaning in greater detail.

> image = True

For simulations intended for a proposal or scientific analysis, one would almost certainly want to choose a more appropriate cleaning threshold and define the region to be cleaned. Instructions for how to define the region to be cleaned with the "mask" parameter can be found by typing

> help clean

or by looking at the Clean CASA Guide page.

Analyze

To choose which six output images you would like simdata to create (you are limited to 6), set the parameter "analyze" to True and then pick your favorite outputs. In this example we will look at

  1. Locations of the antennas
  2. uv coverage in the 2 hour observation
  3. Synthesized beam (point spread function)
  4. Original sky model (as defined in "modifymodel")
  5. Convolved model (sky model convolved with the synthesized beam)
  6. Clean image (the sky as observed with the interferometer after deconvolution)

To make these choices, use the following lines in CASA

> analyze = True
> showarray = True
> showconvolved = True
> showdifference = False
> showfidelity = False

Final Check

Finally, check that everything looks correct. Look at the simdata inputs and compare with the screen shots shown above. You may want to change "overwrite" to True so that future runs with slightly changed parameters don't crash.

> overwrite = True
> inp simdata

If everything looks promising (parameters set with unallowed values will be in red), then run simdata.

> simdata

Simdata Output Images

Simdata will display output images to your screen, partly based on your selections in "analyze". It will also produce images that you can display for yourself using the viewer tool that comes with CASA.

Figures Plotted to the Screen

When simdata is run with the parameters set as above, the images plotted to the screen are:

  1. The model image, rescaled as defined in "modifymodel", with the mosaic pointings as defined in "setpointings"
    Input (sky model) image with mosaic pointings overlayed
  2. Plots related to "predict", with
    1. Source elevation vs. time
    2. The positions of the antennas
    3. The uv coverage
    4. The synthesized beam (psf)
  3. Images of the 30 Doradus
    1. The original image, as defined in "modifymodel"
    2. The original image convolved with the psf
    3. The "observed" image
    4. The difference between the observed and original images
  4. The images requested in "analyze"
    Plots requested in "analyze"
    1. The antenna plot
    2. The uv coverage
    3. The synthesized beam
    4. The sky model image
    5. The convolved sky model
    6. The "observed" image

The images requested in "analyze" will be the ones that stay on your screen when simdata is done, while the others will be briefly displayed and then disappear when the next set of images is plotted. If the images don't stay on your screen long enough to analyze, you can make simdata save the images as .png files with the "graphics" parameter.

> graphics = 'file'

Using Viewer

Simdata-generated images that can be loaded with the CASA viewer

Simdata also creates several images that can be displayed with the CASA viewer tool. The viewer can be launched within CASA by typing

> viewer

You will be shown several files that you can view, including those made by CASA and the original FITS image. Some of the more important images are:

  • sim.image - The simulated observations
  • sim.image.flat - The moment 0 map of the simulated observations (for continuum observations like those in this example, this is not relevant)
  • sim.skymodel - The input map/cube as defined in "modifymodel"
  • sim.psf - The synthesized beam
  • sim.residual - The difference between the sky model and the simulated observations
The simulated image displayed in the CASA viewer

To display the simulated observations, first click on sim.image, then click the "raster image" button and then click "done". The image will be shown in the viewer, and clicking on the picture of the wrench in the upper left corner will allow you to alter the image in many ways, such as changing the color scale, changing the coordinate scale, and axis labels. The image to the right was created by:

  1. Changing "basic settings -> color map" from Rainbow 2 to Hot Metal 1
  2. Changing "beam ellipse -> beam style" from outline to filled
  3. Changing "color wedge -> display color wedge" from No to Yes

You can learn much more about the functionality of the CASA viewer by watching this instructional video.

Simulating Observations in CASA 3.1

--Scott Schnee

Last checked on CASA Version 3.1.0.