def lnlike3_dip(theta3_dip,x,y,yerr): theta2params3_dip(theta3_dip) # Compute model and chi2 on the fly nx = x.size chi2 = 0. for ix in np.arange(x.size): mod = gl.dT_model3_dip(x[ix],Cp,Gl3_dip,Fg) sig = gl.dT_noise(x[ix],Fg) chi2 += ((y[ix]-mod)/sig)**2 return -chi2/2.
def lnlike_trough(theta,x,y,yerr): theta2params_trough(theta) # Compute model and chi2 on the fly nx = x.size chi2 = 0. for ix in np.arange(x.size): mod = gl.dT_model_trough(x[ix],Cp,Glt,Fg) sig = gl.dT_noise(x[ix],Fg) chi2 += ((y[ix]-mod)/sig)**2 return -chi2/2.
noise_exp = np.zeros(nx,dtype='float64') noise_ran = np.zeros(nx,dtype='float64') fg_exp = np.zeros(nx,dtype='float64') # for full spectrum input sigT = np.zeros(nz,dtype='float64') dT_mod = np.zeros(nz,dtype='float64') # # set up directory odir = 'AmpC_'+str(ampC_array[iamp])+'_zC_'+str(zC_array[izc])+'_dzC_'+str(dzC_array[idzc]) outputdir = fdir+odir if not os.path.isdir(outputdir): os.mkdir(outputdir) # for iz in np.arange(nx): nu = x[iz] noise_ran[iz] = gl.dT_noise(nu,Fg)*np.random.randn(1) y[iz] = gl.dT_model3(nu,Cp,Gl3,Fg) + noise_ran[iz] yerr[iz] = gl.dT_noise(nu,Fg) sig_exp[iz] = gl.dT_global3(nu,Cp,Gl3) noise_exp[iz] = gl.dT_noise(nu,Fg) fg_exp[iz] = gl.dT_fg(nu,Fg) for iz in np.arange(nz): nu = nu_arr[iz] sigT[iz] = gl.dT_noise(nu,Fg) dT_mod[iz] = gl.dT_global3(nu,Cp,Gl3) Gl3['Amp_D']=Amp_D_default Gl3['z_D'] = z_D_default # preparing for MCMC # Initial input model parameters # === First choice for each walker (10% scatter from the truth)