Difference between revisions of "Importing M99"

From CASA Guides
Jump to navigationJump to search
(Created page with 'Category:CARMA {{CARMA Intro}} '''Note:''' A filler routine is currently being developed to convert native MIRIAD format data into a CASA measurement set, but it has not…')
 
 
(3 intermediate revisions by the same user not shown)
Line 4: Line 4:
  
  
 +
<div style="background-color: #dddddd;">
 +
'''Note:'''  A filler routine is currently being developed to convert native MIRIAD format data into a CASA measurement set, but it has not yet been completed.  The following steps describe how to use FITS format files to transfer CARMA data into CASA, and should still be useful even when the filler is operational.  At that time, a description of how to use the CARMA filler routine will be added to this page.
 +
</div>
  
'''Note:'''  A filler routine is currently being developed to convert native MIRIAD format data into a CASA measurement set, but it has not yet been completed.  The following steps describe how to use FITS format files to transfer CARMA data into CASA, and should still be useful even when the filler is operational.  At that time, a description of how to use the CARMA filler routine will be added to this page.
 
  
 
Assumptions:
 
Assumptions:
 +
 
1. You have MIRIAD installed on your computer.
 
1. You have MIRIAD installed on your computer.
2. You are running the MIRIAD commands shown on this page in a shell script (csh), with a number of variables have been defined at the top of your script.
 
  
This example uses a single track from the CARMA STING observations of NGC4254 (M99); more details of the observations and analysis of this galaxy can be seen on the CARMA STING webpage () and in  Rahman et al. (2010).  The dataset can be downloaded here.   
+
2. You are running the MIRIAD commands shown on this page in a shell script (csh), with a number of variables defined at the top of your script (see below).
 +
 
 +
3. The original MIRIAD dataset is in a separate subdirectory called "rawdata" which is at the same level in the directory tree as your current directory.
 +
 
 +
 
 +
This example uses a single track from the CARMA STING observations of NGC4254 (M99); more details of the observations and analysis of this galaxy can be seen on the [http://www.astro.umd.edu/~bolatto/STING/ CARMA STING webpage] and in  Rahman et al. (2010).  The dataset can be downloaded here:[http://carma-server.ncsa.uiuc.edu:8181/asp/describe.cgi?pid=c0104I&obs=8D_115NGC4254&sub=&trial=2&pw=n c0104I track]. 
 +
 
 +
 
 +
You can extract all of the CASA commands shown on this or any other CASAGuides page into a python script which you can run in CASA. However, the MIRIAD script commands will not be extracted, so you'll need to save these on your ownSee [[Extracting scripts from these tutorials]] for more information.
  
  
Line 17: Line 27:
  
 
<source lang="bash">
 
<source lang="bash">
# in csh script
+
# in MIRIAD csh script
  
 
#!/bin/csh
 
#!/bin/csh
 
# FILE = name of original, raw MIRIAD-format file
 
# FILE = name of original, raw MIRIAD-format file
set FILE="../c0xxx.1E.miriad"
+
set FILE="../rawdata/c0104I.8D_115NGC4254.2.miriad"
 
# PROJECT = base file name for processed data files
 
# PROJECT = base file name for processed data files
set PROJECT="c0xxx"
+
set PROJECT="c0104I"
 
# ANTPOS = the location of the file which contains updates to the CARMA antenna positions
 
# ANTPOS = the location of the file which contains updates to the CARMA antenna positions
 
set ANTPOS="../antpos.YYMMDD"
 
set ANTPOS="../antpos.YYMMDD"
Line 33: Line 43:
  
 
<source lang="bash">
 
<source lang="bash">
# in csh script
+
# in MIRIAD csh script
 
uvcat vis=$FILE  select='-source(NOISE),-auto' out=$PROJECT.vis
 
uvcat vis=$FILE  select='-source(NOISE),-auto' out=$PROJECT.vis
 
</source>
 
</source>
Line 43: Line 53:
  
 
<source lang="bash">
 
<source lang="bash">
# in csh script
+
# in MIRIAD csh script
 
uvedit vis=$PROJECT.vis out=$PROJECT.ant apfile=$ANTPOS
 
uvedit vis=$PROJECT.vis out=$PROJECT.ant apfile=$ANTPOS
 
</source>
 
</source>
Line 51: Line 61:
  
 
<source lang="bash">
 
<source lang="bash">
# in csh script
+
# in MIRIAD csh script
 
linecal vis=$PROJECT.ant
 
linecal vis=$PROJECT.ant
 
uvcat vis=$PROJECT.ant out=$PROJECT.lc
 
uvcat vis=$PROJECT.ant out=$PROJECT.lc
Line 59: Line 69:
  
 
<source lang="bash">
 
<source lang="bash">
# in csh script
+
# in MIRIAD csh script
 
puthd in=$PROJECT.lc/telescop value=CARMA
 
puthd in=$PROJECT.lc/telescop value=CARMA
 
</source>
 
</source>
Line 69: Line 79:
  
 
<source lang="bash">
 
<source lang="bash">
# in csh script
+
# in MIRIAD csh script
 
uvcal vis=$PROJECT.lc options=hanning out=$PROJECT.hann
 
uvcal vis=$PROJECT.lc options=hanning out=$PROJECT.hann
 
</source>
 
</source>
Line 80: Line 90:
  
 
<source lang="bash">
 
<source lang="bash">
# in csh script
+
# in MIRIAD csh script
 
foreach i (4 5 6)
 
foreach i (4 5 6)
 
     fits in=$PROJECT.hann op=uvout select="win($i)" out="./fits/$PROJECT.$i.fits"
 
     fits in=$PROJECT.hann op=uvout select="win($i)" out="./fits/$PROJECT.$i.fits"
Line 99: Line 109:
 
fitsdir='fits/'
 
fitsdir='fits/'
 
msdir='./'
 
msdir='./'
project='c0xxx'
+
project='c0104I'
 
catfile=msdir+project+'.ms'
 
catfile=msdir+project+'.ms'
  
Line 105: Line 115:
 
</source>
 
</source>
  
In the same python script, you can now use the following "for" loop to read each of the individual FITS files into an MS of the same name (e.g., for a FITS file named "c0xxx.4.fits", produce an MS called "c0xxx.4.ms" .)
+
In the same python script, you can now use the following "for" loop to read each of the individual FITS files into an MS of the same name (e.g., for a FITS file named "c0104I.4.fits", produce an MS called "c0104I.4.ms" .)
  
 
<source lang="python">
 
<source lang="python">
Line 136: Line 146:
  
  
--[[User:Mthornle|Michele Thornley]] 28 December 2009
+
--[[User:Mthornle|Michele Thornley]]

Latest revision as of 09:15, 29 April 2010


CARMA Tutorials


Note: A filler routine is currently being developed to convert native MIRIAD format data into a CASA measurement set, but it has not yet been completed. The following steps describe how to use FITS format files to transfer CARMA data into CASA, and should still be useful even when the filler is operational. At that time, a description of how to use the CARMA filler routine will be added to this page.


Assumptions:

1. You have MIRIAD installed on your computer.

2. You are running the MIRIAD commands shown on this page in a shell script (csh), with a number of variables defined at the top of your script (see below).

3. The original MIRIAD dataset is in a separate subdirectory called "rawdata" which is at the same level in the directory tree as your current directory.


This example uses a single track from the CARMA STING observations of NGC4254 (M99); more details of the observations and analysis of this galaxy can be seen on the CARMA STING webpage and in Rahman et al. (2010). The dataset can be downloaded here:c0104I track.


You can extract all of the CASA commands shown on this or any other CASAGuides page into a python script which you can run in CASA. However, the MIRIAD script commands will not be extracted, so you'll need to save these on your own. See Extracting scripts from these tutorials for more information.


For this example, the following items would be defined at the beginning of the csh shell script:

# in MIRIAD csh script

#!/bin/csh
# FILE = name of original, raw MIRIAD-format file
set FILE="../rawdata/c0104I.8D_115NGC4254.2.miriad"
# PROJECT = base file name for processed data files
set PROJECT="c0104I"
# ANTPOS = the location of the file which contains updates to the CARMA antenna positions
set ANTPOS="../antpos.YYMMDD"

Preparing MIRIAD data for export to FITS

To minimize the data you are transferring over, select only the astronomically useful data:

# in MIRIAD csh script
uvcat vis=$FILE  select='-source(NOISE),-auto' out=$PROJECT.vis

If you need to apply an update for the antenna positions, or linelength corrections, you should do these before exporting to FITS.


To update antenna positions:

# in MIRIAD csh script
uvedit vis=$PROJECT.vis out=$PROJECT.ant apfile=$ANTPOS


To apply linelength corrections:

# in MIRIAD csh script
linecal vis=$PROJECT.ant
uvcat vis=$PROJECT.ant out=$PROJECT.lc

Currently, MIRIAD writes out the identity of the array as identified by Antenna 1, which is a formerly-OVRO antenna. Thus, without correction, the dataset will identify the array as OVRO rather than CARMA, which means that CASA will make the same mistake. To fix this problem, simply do a small header edit:

# in MIRIAD csh script
puthd in=$PROJECT.lc/telescop value=CARMA

One last recommendation for preparing the data: it is still valuable to do some initial hanning smoothing to dampen ringing in the bandpass. (This was still true, at least, for data taken in summer 2009.)


To hanning smooth:

# in MIRIAD csh script
uvcal vis=$PROJECT.lc options=hanning out=$PROJECT.hann

Writing out the FITS files

Now you should be ready to write out your CARMA visibility data. You will need to write out each spectral window as a separate FITS file in MIRIAD, and then concatenate them back together within CASA. In your shell script, just use a "foreach" loop.

In this example, I am writing out the upper sideband windows only (windows 4,5, and 6). This loop produces one file for each spectral window, including data from all sources observed with that window.

# in MIRIAD csh script
foreach i (4 5 6)
    fits in=$PROJECT.hann op=uvout select="win($i)" out="./fits/$PROJECT.$i.fits"
end

Constructing the CASA Measurement Set (MS)

You now have everything you need to tell CASA how to create an MS from these data; the remaining commands on this page are formatted as if they were part of an executable python script (e.g., "execfile 'script.py' in CASA).

If you have more than a couple spectral windows to import, I'd recommend using a little python to assemble the list of files for you, rather than having to tediously type out the whole list by hand. The following lines of code will produce an array of filenames that you can give CASA as an input for the "importuvfits" command:

# in CASA
from glob import glob as filesearch
import os

fitsdir='fits/'
msdir='./'
project='c0104I'
catfile=msdir+project+'.ms'

inlist = sorted(filesearch(fitsdir+'*.fits'))

In the same python script, you can now use the following "for" loop to read each of the individual FITS files into an MS of the same name (e.g., for a FITS file named "c0104I.4.fits", produce an MS called "c0104I.4.ms" .)

# in CASA
for item in inlist:
    infile=item.split('/')[-1]
    outfile=infile.replace('.fits','.ms')
    importuvfits(fitsfile=item, vis=msdir+outfile)

Lastly, concatenate the individual spectral windows MS directories into one big MS containing all spectral windows, for all sources:

# in CASA
files = sorted(filesearch('*.ms'))
concat(vis=files,concatvis=catfile,freqtol="",dirtol="1arcsec",async=False)

A final check

Of course, if you'd like to see whether or not concat produced something sensible, just run a "listobs" to make sure things look all right:

# in CASA
listobs(vis=catfile)

CARMA Tutorials
CASAguides


--Michele Thornley