Ejemplo n.º 1
0
    def __init__(self, molno, isono, Temp, N, regen=[False,False], resolution=ss.resolution, oversample=ss.oversample, ll_name='HITRAN04', v_turb=ss.vturb):
        #First of all lets see if we have made the requested template before
        #Regen syntax: [regenerate chunks, regenerate tau]
        filename = create_filename(molno, isono, ll_name, 'template', vturb=v_turb, Temp=Temp, N=N, resolution=resolution)
        
        print regen
        
        if (os.path.isfile(filename) == False) or ((regen[0] == True) or (regen[1] == True)):
            #Stuff to (re)generate template
            
            #check if this spectrum has been chunked
            
            #chunkinfo filename:
            fname = create_filename(molno, isono, ll_name, "chunkinfo")
            
            if not os.path.isfile(fname) or regen[0] == True:
                thislinelist = SpecificLineList()
                thislinelist.readlines(molno, isono, ll_name, regen)

            data = Spectrum()

            data.get_tau_chunks(molno, isono, ll_name, Temp, regen)
            
            data.do_rt(N)
            data.regrid(resolution=resolution, oversample=oversample)    
            self.data = data
            
            outfile = open(filename,'w')
            pickle.dump(data, outfile)
            outfile.close()
            print 'saved template pickle'
            
        else:
            infile = open(filename,'r') #Can only get to this block if the .pickle file exists. Restore it, its faster.
            self.data = pickle.load(infile)
            infile.close()
            print 'restored template pickle'