N891 simdata (CASA 3.4): Difference between revisions

From CASA Guides
Jump to navigationJump to search
Ahale (talk | contribs)
No edit summary
Akimball (talk | contribs)
 
(15 intermediate revisions by 3 users not shown)
Line 2: Line 2:
[[Category: Simulations]]
[[Category: Simulations]]


''Old version: [[N891 simdata2]].''
* '''This is an advanced simulation tutorial.  New users are recommended to begin with the [[Simulation Guide for New Users (CASA 3.4)]].'''
* '''This guide is applicable to CASA version 3.4.  For older versions of CASA see [[N891 simdata2]].'''
* '''To create a script of the Python code on this page see [[Extracting scripts from these tutorials]].'''


To create a script of the Python code on this page see [[Extracting scripts from these tutorials]].
This tutorial simulates ALMA interferometric data for a nearby edge-on spiral galaxy.


== Nearby edge-on spiral ==
Roughly modeled after NGC891
Roughly modeled after NGC891


Updated for CASA 3.3
==Data==


* Model origin: Milky Way 13CO from the [http://www.bu.edu/galacticring/ Galactic Ring Survey] on the 14m [http://www.astro.umass.edu/~fcrao/ FCRAO]
For our model, we will use a data cube of 13CO from the [http://www.bu.edu/galacticring/ Galactic Ring Survey] on the 14-meter [http://www.astro.umass.edu/~fcrao/ FCRAO].  To speed the simulation, [ftp://ftp.cv.nrao.edu/NRAO-staff/rindebet/grs-12kms.fits this FITS file] contains the data we want binned to a coarser velocity resolution.


* The cube is being binned to a coarser velocity resolution in order to speed the simulation. The fits file is [ftp://ftp.cv.nrao.edu/NRAO-staff/rindebet/grs-12kms.fits grs-12kms.fits]
==Simulation==
 
To begin, reset all simobserve parameters to their default values, set '''project''' to define the prefix for all output files, and set '''skymodel''' to the above FITS file.


<source lang="python">
<source lang="python">
# In CASA
# In CASA
# Initializing sim_observe
default 'simobserve'
# Laying down some basic ground rules
default 'sim_observe'
project = 'n891d'
project = 'n891d'
skymodel = 'grs-12kms.fits'
skymodel = 'grs-12kms.fits'
</source>
</source>


* Units: K - first convert to flux surface brightness: Jy/Sr = 2x10<sup>23</sup> k T / &lambda;<sup>2</sup>, <!-- <math>\frac{Jy}{Sr} = \frac{2\times 10^{23} k T}{\pi D^2 \Omega}</math>, where <math>\Omega</math> is the beam solid angle --> = 4x10<sup>8</sup>T at 110GHz.
Set the sky frequency of the central channel.


<source lang="python">
<source lang="python">
# In CASA
# In CASA
# Setting the new frequency of the central channel
incenter = '110.1777GHz'
incenter = '110.1777GHz'
</source>
</source>


* Now we need to decide if this model data will work at the desired pixel scale
''The FITS image uses units of Kelvin for brightness. simobserve expects the brightness to be specified in units of Janskys per pixel. We can convert to Janskys per steradian using the Rayleigh-Jeans law: Jy/Sr = 2x10<sup>23</sup> k T / &lambda;<sup>2</sup> = 4x10<sup>8</sup>T at 110GHz.''
* The GRS resolution of 40" at ~10kpc is 0.04" at 10Mpc, so we should be able to do a simulation of observing at ~0.1-0.2".  The resolution plot (See Figure 1) indicates that for ALMA at 100GHz, configuration 20 is appropriate.
 
[[Image:Beamsummary.png|thumb|Figure 1: Resolution plot.]]
[[Image:Beamsummary.png|thumb|Figure 1: Resolution plot.]]
* If we intend to set <tt>incell=0.2arcsec</tt> in <tt>sim_observe</tt>, then the cube needs to be multiplied by 4x10<sup>8</sup> * (.04/206265)<sup>2</sup> = 1.4x10<sup>-5</sup> to obtain Jy/pixel.  The cube peaks at ~20K, so we can perform the simulation with <tt>inbright=3e-4</tt>, which should yield a peak of ~1mJy/bm.
 
We want to simulate an observation of this model data as though it were 10-Mpc distant.  The Galactic Ring Survey resolution is 40" at ~10 kpc, which translates to 0.04" at 10 Mpc.  The plot at right shows how the output clean beam size changes with the full science array configurations provided with CASA.  For a 100-GHz observation, configuration 20 will give us the appropriate clean beam size.
 
''If we intend to set <tt>incell=0.2arcsec</tt> in <tt>simobserve</tt>, then the cube needs to be multiplied by 4x10<sup>8</sup> * (.04/206265)<sup>2</sup> = 1.5x10<sup>-5</sup> to obtain Jy/pixel.  The cube peaks at ~20K, so we can perform the simulation with <tt>inbright=3e-4</tt>, which should yield a peak of ~1mJy/bm.''


* Will we be dominated by the noise in the input model? Input noise ~150mK or S/N~20, so at our scaled intensity, ~0.05 mJy/bm. The [http://almascience.eso.org/call-for-proposals/sensitivity-calculator ALMA Sensitivity Calculator] says that ALMA will achieve 2.5mJy/bm in 2 hours for the input 212m/s channel width (0.075MHz), so the noise in the input model should not affect our results.   
* Will we be dominated by the noise in the input model? Input noise ~150mK or S/N~20, so at our scaled intensity, ~0.05 mJy/bm. The [http://almascience.eso.org/call-for-proposals/sensitivity-calculator ALMA Sensitivity Calculator] says that ALMA will achieve 2.5mJy/bm in 2 hours for the input 212m/s channel width (0.075MHz), so the noise in the input model should not affect our results.   
Line 45: Line 48:
</source>
</source>


* We do have a sensitivity issue though - if we decrease the spectral resolution by a factor of 6 (bin the input channels in some other program - sim_observe will know how to do that in the future but not yet), and plan for 3 8-hr tracks, then the sensitivity calculator suggests that we'll get <0.25mJy rms, or S/N>10 per beam.  Rather than simulate 3 days of observing, I'll increase inbright by sqrt(3) and simulate one 8 hour track.   
* We do have a sensitivity issue though - if we decrease the spectral resolution by a factor of 6 (bin the input channels in some other program - simobserve will know how to do that in the future but not yet), and plan for three 8-hr tracks, then the sensitivity calculator suggests that we'll get <0.25mJy rms, or S/N>10 per beam.  Rather than simulate three days of observing, I'll increase inbright by sqrt(3) and simulate one 8-hour track.   


[[File:N891.coord.png|thumb|Figure 2: here's the cube with the <tt>sim_observe</tt>'s scaling and World Coordinate System]]<br>
[[File:N891.coord.png|thumb|Figure 2: here's the cube with the <tt>simobserve</tt>'s scaling and World Coordinate System]]<br>


<source lang="python">
<source lang="python">
Line 72: Line 75:
<source lang="python">
<source lang="python">
# In CASA
# In CASA
# Finish up the rest of the settings for this run of sim_observe
# Finish up the rest of the settings for this run of simobserve
graphics = 'both'
graphics = 'both'
verbose = True
verbose = True
overwrite = True
overwrite = True
observe = True
obsmode = 'int'
antennalist = 'alma;0.5arcsec'
antennalist = 'alma;0.5arcsec'
totaltime = '3600s'
totaltime = '3600s'
sim_observe()  # Run sim_observe to create the simulated data we need
simobserve()  # Run simobserve to create the simulated data we need
default 'sim_analyze'   
default 'simanalyze'   
project = 'n891d'
project = 'n891d'
image=T
image=T
imsize = [336,360]
vis = project+'.alma_0.5arcsec.ms'
vis = project+'.alma_0.5arcsec.ms'
sim_analyze()  # All other default settings are OK in sim_analyze
simanalyze()  # All other default settings are OK in simanalyze
</source>
</source>


Line 99: Line 103:
|}
|}
Figure 4: Sample results
Figure 4: Sample results
{{Checked 3.3.0}}
 
{{Simulations Intro}}
{{Checked 3.4.0}}

Latest revision as of 15:25, 24 October 2012

Simulating Observations in CASA

This tutorial simulates ALMA interferometric data for a nearby edge-on spiral galaxy.

Roughly modeled after NGC891

Data

For our model, we will use a data cube of 13CO from the Galactic Ring Survey on the 14-meter FCRAO. To speed the simulation, this FITS file contains the data we want binned to a coarser velocity resolution.

Simulation

To begin, reset all simobserve parameters to their default values, set project to define the prefix for all output files, and set skymodel to the above FITS file.

# In CASA
default 'simobserve'
project = 'n891d'
skymodel = 'grs-12kms.fits'

Set the sky frequency of the central channel.

# In CASA
incenter = '110.1777GHz'

The FITS image uses units of Kelvin for brightness. simobserve expects the brightness to be specified in units of Janskys per pixel. We can convert to Janskys per steradian using the Rayleigh-Jeans law: Jy/Sr = 2x1023 k T / λ2 = 4x108T at 110GHz.

Figure 1: Resolution plot.

We want to simulate an observation of this model data as though it were 10-Mpc distant. The Galactic Ring Survey resolution is 40" at ~10 kpc, which translates to 0.04" at 10 Mpc. The plot at right shows how the output clean beam size changes with the full science array configurations provided with CASA. For a 100-GHz observation, configuration 20 will give us the appropriate clean beam size.

If we intend to set incell=0.2arcsec in simobserve, then the cube needs to be multiplied by 4x108 * (.04/206265)2 = 1.5x10-5 to obtain Jy/pixel. The cube peaks at ~20K, so we can perform the simulation with inbright=3e-4, which should yield a peak of ~1mJy/bm.

  • Will we be dominated by the noise in the input model? Input noise ~150mK or S/N~20, so at our scaled intensity, ~0.05 mJy/bm. The ALMA Sensitivity Calculator says that ALMA will achieve 2.5mJy/bm in 2 hours for the input 212m/s channel width (0.075MHz), so the noise in the input model should not affect our results.
# In CASA
# Setting the new channel width
inwidth = '0.075MHz'
  • We do have a sensitivity issue though - if we decrease the spectral resolution by a factor of 6 (bin the input channels in some other program - simobserve will know how to do that in the future but not yet), and plan for three 8-hr tracks, then the sensitivity calculator suggests that we'll get <0.25mJy rms, or S/N>10 per beam. Rather than simulate three days of observing, I'll increase inbright by sqrt(3) and simulate one 8-hour track.
Figure 2: here's the cube with the simobserve's scaling and World Coordinate System


# In CASA
# Scaling the surface brightness
inbright = '1.4e-4'
  • the ALMA 12m primary beam is 50" so we'd space a mosaic by 25", but the model cube has 326x357 pixels, or 13 arcsec with our small pixels. That's a lot smaller than the primary beam, so it doesn't matter much what output image size we ask for.
# In CASA
# Finish up the image model, and setting up the pointing
indirection = 'J2000 7h00m34 -23d03m00'
incell = '0.2arcsec'
setpointings = True
integration = '300s'
pointingspacing = '25arcsec'
mapsize = '60arcsec'

There are 659 channels in the input cube, but as noted above we want to bin those to 109 channels of 1.2 km/s each.

# In CASA
# Finish up the rest of the settings for this run of simobserve
graphics = 'both'
verbose = True
overwrite = True
obsmode = 'int'
antennalist = 'alma;0.5arcsec'
totaltime = '3600s'
simobserve()  # Run simobserve to create the simulated data we need
default 'simanalyze'  
project = 'n891d'
image=T
imsize = [336,360]
vis = project+'.alma_0.5arcsec.ms'
simanalyze()  # All other default settings are OK in simanalyze



Figure 3: a spectral profile in the box marked in green

Input:
Predict:
Image:
Analyze:

Figure 4: Sample results

Simulating Observations in CASA

Last checked on CASA Version 3.4.0.