PPdisk simdata (CASA 3.3): Difference between revisions
From CASA Guides
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 17: | Line 17: | ||
=====Set simdata as current task and reset all parameters===== | =====Set simdata as current task and reset all parameters===== | ||
<source lang="python"> | |||
default("simdata") | |||
</source> | |||
=====Specify sky model image===== | =====Specify sky model image===== | ||
<source lang="python"> | |||
modelimage = "input50pc_672GHz.fits" | |||
</source> | |||
=====Image coordinate system can be verified===== | =====Image coordinate system can be verified===== | ||
<source lang="python"> | |||
imhead("input50pc_672GHz.fits") | |||
</source> | |||
=====Image center can be identified===== | =====Image center can be identified===== | ||
# ia.open("input50pc_672GHz.fits") | # ia.open("input50pc_672GHz.fits") | ||
Line 34: | Line 40: | ||
# ia.done() | # ia.done() | ||
=====Brightness scale can be viewed with 'imstat' task===== | =====Brightness scale can be viewed with 'imstat' task===== | ||
<source lang="python"> | |||
imstat("input50pc_672GHz.fits") | |||
# ... | |||
# 'max': array([ 6.52469971e-05]), | |||
# ... | |||
# that's 0.0652 mJy/pixel. | |||
</source> | |||
=====Let's call our project psim2===== | =====Let's call our project psim2===== | ||
<source lang="python"> | |||
project = "psim2" | |||
</source> | |||
=====We'll leave the sky model the way it is: simdata will create psim2.skymodel CASA image since this model is a fits file, and most but not all of CASA routines can operate directly on fits===== | =====We'll leave the sky model the way it is: simdata will create psim2.skymodel CASA image since this model is a fits file, and most but not all of CASA routines can operate directly on fits===== | ||
<source lang="python"> | |||
skymodel = "input50pc_672GHz.fits" | |||
</source> | |||
=====We need to decide where to point the telescope. The image is 2/3 arcsec in size, so we only need one pointing. We could put that in a text file ourself, or let simdata create the ascii pointing file for us.===== | =====We need to decide where to point the telescope. The image is 2/3 arcsec in size, so we only need one pointing. We could put that in a text file ourself, or let simdata create the ascii pointing file for us.===== | ||
<source lang="python"> | |||
setpointings = True | |||
direction = "J2000 18h00m00.031s -22d59m59.6s" | |||
mapsize = "0.76arcsec" | |||
</source> | |||
=====The default pointingspacing is fine: we'll only fit one pointing in the small mapsize the default calculation maptype hexagonal is ok too since only one will fit anyway.===== | =====The default pointingspacing is fine: we'll only fit one pointing in the small mapsize the default calculation maptype hexagonal is ok too since only one will fit anyway.===== | ||
=====We do want to calculate visibilities in a measurement set: let's do a 20 min snapshot observation using out20 configuration:===== | =====We do want to calculate visibilities in a measurement set: let's do a 20 min snapshot observation using out20 configuration:===== | ||
<source lang="python"> | |||
observe = True | |||
totaltime = "1200s" | |||
</source> | |||
=====Use appropriate antenna configurations based on desired angular resolution (configuration 20 is the largest "compact" configuration)===== | =====Use appropriate antenna configurations based on desired angular resolution (configuration 20 is the largest "compact" configuration)===== | ||
<source lang="python"> | |||
repodir=os.getenv("CASAPATH").split(' ')[0] | |||
antennalist = repodir+"/data/alma/simmos/alma.out20.cfg" | |||
</source> | |||
=====Deconvolve the visibilities back into an image===== | =====Deconvolve the visibilities back into an image===== | ||
<source lang="python"> | |||
image = True | |||
vis = "$project.ms" | |||
imsize = [192, 192] | |||
</source> | |||
=====Specify number of iteration of cleaning task with proper threshold and weighting===== | =====Specify number of iteration of cleaning task with proper threshold and weighting===== | ||
<source lang="python"> | |||
niter = 10000 | |||
threshold = "1e-7Jy" | |||
weighting = "natural" | |||
</source> | |||
=====We'd like to calculate a difference and fidelity image, and see some diagnostics:===== | =====We'd like to calculate a difference and fidelity image, and see some diagnostics:===== | ||
<source lang="python"> | |||
analyze = True | |||
</source> | |||
=====And see the array but not the UV coverage:===== | =====And see the array but not the UV coverage:===== | ||
<source lang="python"> | |||
showarray = True | |||
showuv = False | |||
</source> | |||
=====Plot both to the screen and the png files with lots of messages:===== | =====Plot both to the screen and the png files with lots of messages:===== | ||
<source lang="python"> | |||
graphics = "both" | |||
verbose = True | |||
overwrite = True | |||
</source> | |||
===Run simdata=== | ===Run simdata=== | ||
<source lang="python"> | |||
simdata() | |||
</source> | |||
<br> | <br> | ||
*Output results: | *Output results: |
Revision as of 20:43, 29 September 2011
↵ Simulating Observations in CASA
Note: This is a work in progress.
Old version: PPdisk simdata (CASA 3.2).
To create a script of the Python code on this page see Extracting scripts from these tutorials.
Protoplanetary disk
- This fits file is a model of a protoplanetary disk from S. Wolf (If you use it for anything more than learning CASA, please cite Wolf & D'Angelo 2005).
- Simdata version for CASA 3.2
Explanation of the script
Set simdata as current task and reset all parameters
default("simdata")
Specify sky model image
modelimage = "input50pc_672GHz.fits"
Image coordinate system can be verified
imhead("input50pc_672GHz.fits")
Image center can be identified
# ia.open("input50pc_672GHz.fits") # ia.shape() # [257L, 257L, 1L, 1L] # ia.toworld([128.5,128.5]) # {'numeric': array([ 4.71239120e+00, -4.01423802e-01, 1.00000000e+00, 6.72000001e+11])} # qa.formxxx("4.71239120rad",format='hms',prec=5) # '18:00:00.03052' # qa.formxxx("-0.401423802rad",format='dms',prec=5) # '-022.59.59.602743' # ia.done()
Brightness scale can be viewed with 'imstat' task
imstat("input50pc_672GHz.fits")
# ...
# 'max': array([ 6.52469971e-05]),
# ...
# that's 0.0652 mJy/pixel.
Let's call our project psim2
project = "psim2"
We'll leave the sky model the way it is: simdata will create psim2.skymodel CASA image since this model is a fits file, and most but not all of CASA routines can operate directly on fits
skymodel = "input50pc_672GHz.fits"
We need to decide where to point the telescope. The image is 2/3 arcsec in size, so we only need one pointing. We could put that in a text file ourself, or let simdata create the ascii pointing file for us.
setpointings = True
direction = "J2000 18h00m00.031s -22d59m59.6s"
mapsize = "0.76arcsec"
The default pointingspacing is fine: we'll only fit one pointing in the small mapsize the default calculation maptype hexagonal is ok too since only one will fit anyway.
We do want to calculate visibilities in a measurement set: let's do a 20 min snapshot observation using out20 configuration:
observe = True
totaltime = "1200s"
Use appropriate antenna configurations based on desired angular resolution (configuration 20 is the largest "compact" configuration)
repodir=os.getenv("CASAPATH").split(' ')[0]
antennalist = repodir+"/data/alma/simmos/alma.out20.cfg"
Deconvolve the visibilities back into an image
image = True
vis = "$project.ms"
imsize = [192, 192]
Specify number of iteration of cleaning task with proper threshold and weighting
niter = 10000
threshold = "1e-7Jy"
weighting = "natural"
We'd like to calculate a difference and fidelity image, and see some diagnostics:
analyze = True
And see the array but not the UV coverage:
showarray = True
showuv = False
Plot both to the screen and the png files with lots of messages:
graphics = "both"
verbose = True
overwrite = True
Run simdata
simdata()
- Output results:
Input: |
Predict: |
Image: |
Analyze: |