Changeset 675

Show
Ignore:
Timestamp:
10/10/08 10:20:44 (1 month ago)
Author:
laidler
Message:

#154: Allow users to pass in the arguments to the Icat constructor individually (catdir, Teff, metallicity, log(G)) rather than as a tuple. Modified spparser.py and testwrite.py to provide this behavior.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/pysynphot/lib/catalog.py

    r563 r675  
    1616    U{http://www.stsci.edu/hst/HST_overview/documents/synphot/AppA_Catalogs4.html#48115} 
    1717    """ 
    18     def __init__(self,args): 
     18    def __init__(self,catdir,Teff,metallicity,log_g): 
    1919 
    20         filename = locations.CAT_TEMPLATE.replace('*',args[0]
    21         self.name=str(args
     20        filename = locations.CAT_TEMPLATE.replace('*',catdir
     21        self.name="%s(Teff=%g,z=%g,logG=%g)"%(catdir,Teff,metallicity,log_g
    2222 
    2323        table = pyfits.open(filename) 
     
    2828        indices = self._getArgs(indexList, filenameList) 
    2929 
    30         list0,list1 = self._breakList(indices, 0, args[1]
     30        list0,list1 = self._breakList(indices, 0, Teff
    3131 
    32         list2,list3 = self._breakList(list0, 1, args[2]
    33         list4,list5 = self._breakList(list1, 1, args[2]
     32        list2,list3 = self._breakList(list0, 1, metallicity
     33        list4,list5 = self._breakList(list1, 1, metallicity
    3434 
    35         list6,list7   = self._breakList(list2, 2, args[3]
    36         list8,list9   = self._breakList(list3, 2, args[3]
    37         list10,list11 = self._breakList(list4, 2, args[3]
    38         list12,list13 = self._breakList(list5, 2, args[3]
     35        list6,list7   = self._breakList(list2, 2, log_g
     36        list8,list9   = self._breakList(list3, 2, log_g
     37        list10,list11 = self._breakList(list4, 2, log_g
     38        list12,list13 = self._breakList(list5, 2, log_g
    3939 
    40         sp1 = self._getSpectrum(list6[0],  args[0]
    41         sp2 = self._getSpectrum(list7[0],  args[0]
    42         sp3 = self._getSpectrum(list8[0],  args[0]
    43         sp4 = self._getSpectrum(list9[0],  args[0]
    44         sp5 = self._getSpectrum(list10[0], args[0]
    45         sp6 = self._getSpectrum(list11[0], args[0]
    46         sp7 = self._getSpectrum(list12[0], args[0]
    47         sp8 = self._getSpectrum(list13[0], args[0]
     40        sp1 = self._getSpectrum(list6[0],  catdir
     41        sp2 = self._getSpectrum(list7[0],  catdir
     42        sp3 = self._getSpectrum(list8[0],  catdir
     43        sp4 = self._getSpectrum(list9[0],  catdir
     44        sp5 = self._getSpectrum(list10[0], catdir
     45        sp6 = self._getSpectrum(list11[0], catdir
     46        sp7 = self._getSpectrum(list12[0], catdir
     47        sp8 = self._getSpectrum(list13[0], catdir
    4848 
    49         spa1 = self._interpolateSpectrum(sp1, sp2, args[3]
    50         spa2 = self._interpolateSpectrum(sp3, sp4, args[3]
    51         spa3 = self._interpolateSpectrum(sp5, sp6, args[3]
    52         spa4 = self._interpolateSpectrum(sp7, sp8, args[3]
     49        spa1 = self._interpolateSpectrum(sp1, sp2, log_g
     50        spa2 = self._interpolateSpectrum(sp3, sp4, log_g
     51        spa3 = self._interpolateSpectrum(sp5, sp6, log_g
     52        spa4 = self._interpolateSpectrum(sp7, sp8, log_g
    5353 
    54         spa5 = self._interpolateSpectrum(spa1, spa2, args[2]
    55         spa6 = self._interpolateSpectrum(spa3, spa4, args[2]
     54        spa5 = self._interpolateSpectrum(spa1, spa2, metallicity
     55        spa6 = self._interpolateSpectrum(spa3, spa4, metallicity
    5656 
    57         spa7 = self._interpolateSpectrum(spa5, spa6, args[1]
     57        spa7 = self._interpolateSpectrum(spa5, spa6, Teff
    5858 
    5959        sp = spa7[0] 
  • trunk/pysynphot/lib/spparser.py

    r634 r675  
    236236            elif fname == 'icat': 
    237237                # catalog interpolation 
    238                 tree.value = catalog.Icat(args) 
     238                tree.value = catalog.Icat(*args) 
    239239            elif fname == 'rn': 
    240240                # renormalize 
  • trunk/pysynphot/test/testwrite.py

    r567 r675  
    7777class IcatCase(WriteTestCase): 
    7878    def setUp(self): 
    79         self.sp=Icat(('k93models',3500,0.0,4.6)
     79        self.sp=Icat('k93models',3500,0.0,4.6
    8080 
    8181class UniformBandCase(WriteTestCase):