NRAO Home > CASA > CASA Toolkit Reference Manual
componentlist.setstokesspectrum - Function

1.2.1 Change the spectrum of the component


Description

The setstokesspectrum function changes the spectrum of the specified components to the user specified spectrum. This is different from setspectrum as it provides ways to control variation of all 4 Stokes parameters with frequency. If only I variation is needed please use setspectrum

The type argument defines what the sort of new spectrum to use. This can be either ’constant’ or ’spectral index’ or ’tabular’. The parsing of this string is case insensitive.

If the spectrum type is ’constant’ then the remaining arguments in this function are ignored. There are no other parameters needed to specify a constant spectrum.

But if the spectrum is ’spectral index’, the index argument is needed. It is a 4 element vector.

The first element (α0) is the spectral index of stokes I (I(ν) = I(ν0)( ν_ ν0 )α0)

The second element (α1) is a spectral index for the fractional linear polarization ( ∘ (Q(ν)2+U(ν)2)
      I(ν)2 = ∘ -(Q(ν0)2+U(ν0)2)
      I(ν0)2( ν_ ν0 )α1). α1 = 0 implies constant fractional linear polarization w.r.t frequency.

The third element is a ”Rotation Measure” factor, i.e angle of rotation θ = α2(λ2 - λ02) of the linear polarization at frequency ν w.r.t frequency ν0.

The fourth element is a spectral index for the fractional spectral polarization ( V (ν) ___ I(ν) = V (ν0) I(ν0) ( ν_ ν0 )α3

If the spectrum is ’tabular’, then index is ignored but the six parameters tabularfreqs, tabulari, tabularq, tabularu, tabularv and tabularframe are considered. tabularfreqs and tabulari, tabularq, tabularu, tabularv have to be list of same lengths and larger than 2. You need at least 2 samples to interpolate the spectral value in between. The Stokes parameters of the source is interpolated from these values. Extrappolation outside the range given in tabularfreqs is not done. tabularfreqs should be float values in ’Hz’ tabulari, tabularq, tabularu, tabularv should be float values in ’Jy’

You should ensure that the reference frequency is set to the value you desire, using the setfreq function if you change to the spectral index shape.

Arguments





Inputs

which

The index specifying the component to modify. A value between 0 and one less than the list length, inclusively

allowed:

int

Default:

type

The new spectrum type. A string that is either ’constant or ’spectral index’ or ’tabular’

allowed:

string

Default:

spectral index

index

The spectral index.

allowed:

doubleArray

Default:

0.0

tabularfreqs

The frequencies of for the tabular values, in Hz

allowed:

doubleArray

Default:

1.0e11

tabulari

tabular Stokes I values, in Jy (same length as tabularfreqs)

allowed:

doubleArray

Default:

1.0

tabularq

tabular Stokes Q values, in Jy (same length as tabularfreqs)

allowed:

doubleArray

Default:

0.0

tabularu

tabular Stokes U values, in Jy (same length as tabularfreqs)

allowed:

doubleArray

Default:

0.0

tabularv

tabular Stokes V values, in Jy (same length as tabularfreqs)

allowed:

doubleArray

Default:

0.0

reffreq

The reference frequency for spectral index

allowed:

any

Default:

1.4GHz

frame

The frame for which the frequencies given are in

allowed:

string

Default:

LSRK

Returns
bool

Example

 
 
 
 
 
      This example add a point source model and revises the model point source spectral variation  changing the spectral index  and setting the reference flux to be at 2GHz.  
     I is assigned a spectral index of 1. fractional linear pol is assigned a spectral index of 0.4 and similarly for fraction circular pol and the linear pol angle is kept fixed with frequency.  
 
    cl.addcomponent(shape=’point’, flux=[10.0, 0.4, -0.2, 0.1], dir=’J2000 19h00m00 -20d00m00’)  
    cl.setstokesspectrum(which=0, type=’spectral index’, index=[1.0, 0.4, 0, 0.4], reffreq=’2.0GHz’)  
    cl.rename(’my19hcomp.cl’)  
    cl.done()  
 
 
 
   In this example a componentlist  is created from scratch and 2 sources are added  
   One whose spectral variation is defined by a spectral index and the other one as  
   tabular values. Both components have full Stokes parameters spectral variation  
   defined.  
 
   cl.done()  ### effectively resets state of cl tool  
   ###add first component  
   cl.addcomponent(flux=[10, 0.5, -0.3, 0.2], dir=’J2000 15h22m00 5d04m00’)  
   cl.setstokesspectrum(which=0, type=’spectral index’, index=[1.0, 0.4, 0, 0.4], reffreq=’2.0GHz’)  
   ###adding second component; flux value is unimportant as the tabular values will  
   ###will set it  
   cl.addcomponent(flux=[1.0, 0, 0, 0],dir=’J2000 15h22m30 5d05m00’)  
   ##define the IQUV flux variation as tabular values at different frequencies.  
   cl.setstokesspectrum(which=1, type=’tabular’, tabularfreqs=[1.0e9, 1.1e9, 1.2e9, 1.3e9, 1.4e9, 1.5e9, 1.6e9], tabulari=[10.0, 10.1, 10.2, 10.2, 10.25, 10.3, 1.4], tabularq=[0.2, 0.2, 0.22, 0.23, 0.22, 0.24, 0.25], tabularu=[-0.1, -0.12, -0.13, -0.13, -0.12, -0.14, -0.15], tabularv=[0.1, 0.2, 0.2, 0.2, 0.3, 0.1, 0.15])  
   ###saving the componentlist to disk  
   cl.rename(’two_comp.cl’)  
   cl.done()  ###done is needed to sync to disk  
 
 
 

__________________________________________________________________


More information about CASA may be found at the CASA web page

Copyright 2016 Associated Universities Inc., Washington, D.C.

This code is available under the terms of the GNU General Public Lincense


Home | Contact Us | Directories | Site Map | Help | Privacy Policy | Search