sys.path.insert(0, '/Users/hazboun/software_development/pta_sim/') import pta_sim import pta_sim.parse_sim as parse_sim from pta_sim.sim_gw import Simulation, model_simple from pta_sim.bayes import chain_length_bool, save_core, get_freqs, filter_psr_path args = parse_sim.arguments() #Is chain longer than niter? longer = chain_length_bool(args.outdir, args.niter) if longer and os.path.exists(args.core_path): sys.end() elif longer: save_core(args.corepath, args.outdir) sys.end() #Hmmmm what to do here? else: pass #Get par and tim files. parfiles = sorted(glob.glob(args.pardir + '*.par')) timfiles = sorted(glob.glob(args.timdir + '*.tim')) if args.psr_list is not None: parfiles = filter_psr_path(parfiles, args.psr_list, rhs='_') timfiles = filter_psr_path(timfiles, args.psr_list, rhs='_') sim = Simulation(parfiles, timfiles, ephem=args.ephem, verbose=True) if args.process is None:
0.01**2) # helps to tune MCMC proposal distribution # sampler object sampler = ptmcmc(ndim, pta.get_lnlikelihood, pta.get_lnprior, cov, groups=groups, outDir=args.outdir, resume=True) achrom_freqs = get_freqs(pta, 'red_noise') np.save(args.outdir + 'pars.npy', pta.param_names) np.save(args.outdir + 'par_model.npy', np.array(pta.params).astype(str)) np.save(args.outdir + 'signals.npy', list(pta.signals.keys())) np.savetxt(args.outdir + 'achrom_rn_freqs.txt', achrom_freqs, fmt='%.18e') jp = model_utils.JumpProposal(pta) sampler.addProposalToCycle(jp.draw_from_dm_gp_prior, 20) sampler.addProposalToCycle(jp.draw_from_prior, 20) # sampler.addProposalToCycle(jp.draw_from_red_prior, 20) sampler.sample(x0, args.niter, SCAMweight=30, AMweight=15, DEweight=50, burn=100000) save_core(args.corepath, args.outdir, remove=True)