Source
ss_setjy.solar_system_fd(source_name=src, MJDs=mjds, frequencies=infreqs, observatory=observatory, casalog=self._casalog)
# setjy helper functions
from __future__ import absolute_import
import os
import sys
import shutil
import numpy
from casatasks.private.casa_transition import is_CASA6
if is_CASA6:
from casatasks import casalog as default_casalog
from casatools import quanta, ms, table, componentlist, measures, calibrater, msmetadata
from collections import OrderedDict as odict
else:
from taskinit import *
from casac import casac
from odict import odict
default_casalog = casalog
class ss_setjy_helper:
def __init__(self,imtool, vis, casalog=None):
self.im = imtool
self.vis = vis
if not casalog:
casalog = default_casalog
self._casalog = casalog
def setSolarObjectJy(self,field,spw,scalebychan, timerange,observation, scan, intent, useephemdir, usescratch=False):
"""
Set flux density of a solar system object using Bryan Butler's new
python model calculation code.
A single time stamp (first time stamp of MS after selections are applied) is
currently used per execution. For flux observation done in a long time span
may need to run multiple setjy with selections by time range (or scans).
"""
#retval = True
output = {}
cleanupcomps = True # leave generated cl files
if is_CASA6:
qa = quanta()
myms = ms( )
mytb = table( )
mycl = componentlist( )
myme = measures( )
mycb = calibrater( )
mymsmd = msmetadata( )
else:
#from taskinit import *
from taskinit import gentools
qa = casac.quanta()
(myms, mytb, mycl, myme, mycb, mymsmd) = gentools(['ms','tb','cl','me', 'cb','msmd'])
# prepare parameters need to pass to the Bryan's code
# make ms selections
# get source name
# get time ranges
# get spwused and get frequency ranges
sel={}
sel['field']=field
sel['spw']=spw
sel['timerange']=timerange
sel['observation']=str(observation)