def lnlike_visonly(p): if p[0] < 0.0001 or p[1] <= 0.10 or p[3] > 90 or p[3] < 0 or p[4] < -90 or p[ 4] > 90: # set up boundaries for naughty parameters. rIn can't be negative, delR can't be below 0.1 because that is the resolution of the model, inc can't be negative or greater than 90, and PA is the same after a 180deg rotation, so we limit it to -90<PA<90 return -np.inf else: import tempfile tf = tempfile.NamedTemporaryFile(delete=False) fits_file = 'fitsFile' + tf.name[-9:] disk = Disk(0.0001, p[0], p[1], 10**p[2], 0, 0.8, blowoutSize * 1e6, 1) #rawDiskChi = disk.computeChiSquared() visGen = VisibilityGenerator(1024, p[3], p[4], fits_file) rawVisChi = visGen.computeChiSquared(disk) os.system('rm -rf images/' + fits_file + '.fits') os.system('rm -rf images/' + fits_file + '.mp') os.system('rm -rf images/' + fits_file + '.vis') os.system('rm -rf images/' + fits_file + '2.vis') os.system('rm -rf images/' + fits_file + '3.vis') os.system('rm -rf images/' + fits_file + '.uvf') os.system('rm -rf images/' + fits_file + '2.uvf') os.system('rm -rf images/' + fits_file + '3.uvf') os.system('rm -rf fits/' + fits_file) if np.isnan(rawVisChi): return -np.inf return -(rawVisChi) / 2.
def lnlike_visonly(p): if p[0] < 0.0001 or p[1] <= 0.10 or p[3] > 90 or p[3] < 0 or p[4] < -90 or p[4] > 90: # set up boundaries for naughty parameters. rIn can't be negative, delR can't be below 0.1 because that is the resolution of the model, inc can't be negative or greater than 90, and PA is the same after a 180deg rotation, so we limit it to -90<PA<90 return -np.inf else: import tempfile tf = tempfile.NamedTemporaryFile(delete=False) fits_file = 'fitsFile'+tf.name[-9:] disk = Disk(0.0001,p[0],p[1],10**p[2], 0, 0.8, blowoutSize*1e6, 1) #rawDiskChi = disk.computeChiSquared() visGen = VisibilityGenerator(1024,p[3],p[4],fits_file) rawVisChi = visGen.computeChiSquared(disk) os.system('rm -rf images/'+fits_file+'.fits') os.system('rm -rf images/'+fits_file+'.mp') os.system('rm -rf images/'+fits_file+'.vis') os.system('rm -rf images/'+fits_file+'2.vis') os.system('rm -rf images/'+fits_file+'3.vis') os.system('rm -rf images/'+fits_file+'.uvf') os.system('rm -rf images/'+fits_file+'2.uvf') os.system('rm -rf images/'+fits_file+'3.uvf') os.system('rm -rf fits/'+fits_file) if np.isnan(rawVisChi): return -np.inf return -(rawVisChi)/2.
def lnlike_vis_and_sed(p): if p[0] < .0001 or p[0] > 500. or 10**p[3] < 0.1 or 10**p[ 3] > 3000: # set up some boundaries for naughty parameters that like to break stuff return -np.inf else: import tempfile tf = tempfile.NamedTemporaryFile(delete=False) fits_file = 'fitsFile' + tf.name[-9:] disk = Disk(p[0], 53, 74, 10**p[1], 10**p[2], 0.8, 10**p[3], 1) rawDiskChi = disk.computeChiSquared() visGen = VisibilityGenerator(1024, 53, 22, fits_file) #set inc and PA rawVisChi = visGen.computeChiSquared(disk) os.system('rm -rf images/' + fits_file + '.fits') os.system('rm -rf images/' + fits_file + '.mp') os.system('rm -rf images/' + fits_file + '.vis') os.system('rm -rf images/' + fits_file + '2.vis') os.system('rm -rf images/' + fits_file + '3.vis') os.system('rm -rf images/' + fits_file + '.uvf') os.system('rm -rf images/' + fits_file + '2.uvf') os.system('rm -rf images/' + fits_file + '3.uvf') os.system('rm -rf fits/' + fits_file) if np.isnan(rawVisChi): return -np.inf return -(rawVisChi + rawDiskChi) / 2.