myXCLASS的拟合非常耗时间,如果不小心关掉面板再想重新看图就特别耗时间。
这里提供了一个简单的命令,在不改变molfit文件,只重复前一次拟合的结果时,
is_molfit_file_changed = ‘no’
再执行就能不拟合,直接画图。
##remove the old runing data
import os
import shutil
path = '/home/zhang/software/XCLASS-Interface/run/myXCLASS/'
try:
files = os.listdir(path)
except OSError:
files = []
if len(files)>0:
shutil.rmtree(path)
spw = 'spw35'
is_molfit_file_changed = 'no'
#data
FreqMin = 9.753638179980000132e+04
FreqMax = 9.941000529416945938e+04
#data off
#FreqMin = 219345
#FreqMax = 221323
FreqStep = 0.49
#######################
TelescopeSize = 1.582
######################
Inter_Flag = True
t_back_flag = False
#tBack = 0
#tslope = 0.0000000000E+00
nH_flag = False
#N_H = 3.0000000000E+24
#beta_dust = 2.0
#kappa_1300 = 0.02
path = os.getcwd()
MolfitsFileName = path+"/%s.molfit" %(spw)
iso_flag = False
#IsoTableFileName = " "
RestFreq = 0.0
vLSR = 0.0
#----------------------------------------------------------
result_file = "xclass_spectrum_output"
transition_file = "transition_energies"
form = '.dat'
if is_molfit_file_changed == 'yes':
if os.path.exists(result_file+'_'+spw+form) and os.path.exists(transition_file+'_'+spw+form):
os.remove(result_file+'_'+spw+form)
os.remove(transition_file+'_'+spw+form)
if os.path.exists(path+'/'+result_file+'_'+spw+form):
import numpy as np
modeldata = np.loadtxt(result_file+'_'+spw+form,usecols=(0,1),unpack=True)
modeldata = modeldata.T
with open(transition_file+'_'+spw+form,'r') as f:
data = f.readlines()
TransEnergies = []
for line in data:
TransEnergies.append(line.split())
else:
modeldata,log,TransEnergies,IntOptical,jobDir = myXCLASS ()
shutil.move(jobDir+result_file+form,path+"/"+result_file+'_'+spw+form)
shutil.move(jobDir+transition_file+form,path+"/"+transition_file+'_'+spw+form)
#---------------------------------------------------------
FileName = path+"/I17233-3606_%s_17h26m42.542s_-36d9m17.270s.txt" %(spw)
NumHeaderLines = 0
expdata = LoadASCIIFile()
MinTransEnergy = 0.0
#data
xLowerLimit = 9.753638179980000132e+04
xUpperLimit = 9.941000529416945938e+04
#data off
#xLowerLimit = 219345
#xUpperLimit = 221323
yLowerLimit = -8
yUpperLimit = 100
PlotTitle = "I17233_%s" %(spw)
LegendFlag = True
SaveFigureFile = " "
#OutputDevice = " "
myXCLASSPlot()