def test_model3a_broken_plaw(dmx_psrs, caplog): caplog.set_level(logging.CRITICAL) m3a = models.model_3a(dmx_psrs, psd='broken_powerlaw', delta_common=0, noisedict=noise_dict) assert hasattr(m3a, 'get_lnlikelihood')
def test_model3a_pshift(dmx_psrs, caplog): caplog.set_level(logging.CRITICAL) m3a = models.model_3a(dmx_psrs, noisedict=noise_dict, pshift=True, pseed=42) assert hasattr(m3a, 'get_lnlikelihood')
def test_hypermodel(dmx_psrs, caplog): m2a = models.model_2a(dmx_psrs, noisedict=noise_dict) m3a = models.model_3a(dmx_psrs, noisedict=noise_dict) ptas = {0: m2a, 1: m3a} hm = hypermodel.HyperModel(ptas) assert hasattr(hm, 'get_lnlikelihood') assert 'gw_log10_A' in hm.param_names assert 'nmodel' in hm.param_names
def test_hyper_sampler(dmx_psrs, caplog): m2a = models.model_2a(dmx_psrs, noisedict=noise_dict) m3a = models.model_3a(dmx_psrs, noisedict=noise_dict) ptas = {0: m2a, 1: m3a} hm = hypermodel.HyperModel(ptas) samp = hm.setup_sampler(outdir=outdir, human='tester') assert hasattr(samp, "sample") paramfile = os.path.join(outdir, "pars.txt") assert os.path.isfile(paramfile) with open(paramfile, "r") as f: params = [line.rstrip('\n') for line in f] for ptapar, filepar in zip(hm.param_names, params): assert ptapar == filepar x0 = hm.initial_sample() assert len(x0) == len(hm.param_names)
def test_model3a_5rnfreqs(dmx_psrs, caplog): caplog.set_level(logging.CRITICAL) m3a = models.model_3a(dmx_psrs, n_rnfreqs=5, noisedict=noise_dict) assert hasattr(m3a, 'get_lnlikelihood')
scr_npz = np.load(args.sky_scramble) thetas = scr_npz['thetas'][args.process, :] phis = scr_npz['phis'][args.process, :] for p, theta, phi in zip(psrs, thetas, phis): print(p.name, ': ', p.theta, p.phi, p._raj, p._decj, p._pos) p._raj = phi p._decj = np.pi / 2 - theta p._pos = p._get_pos() print(p.name, ': ', p.theta, p.phi, p._raj, p._decj, p._pos) pta_gw = models.model_3a(psrs, psd=args.psd, noisedict=noise, n_gwbfreqs=args.nfreqs, gamma_common=args.gamma_gw, delta_common=0., upper_limit=False, bayesephem=args.bayes_ephem, be_type='setIII', wideband=False, rn_psrs=rn_psrs, pshift=args.pshift) ptas = {0: pta_crn, 1: pta_gw} if args.model_wts is None: model_wts = None else: model_wts = dict(enumerate(args.model_wts)) hm = hypermodel.HyperModel(models=ptas, log_weights=model_wts) c0 = co.HyperModelCore(args.outdir, chaindir=args.outdir)
with open(args.noisepath, 'r') as fin: noise = json.load(fin) if args.rn_psrs[0] == 'all': rn_psrs = 'all' else: rn_psrs = args.rn_psrs pta_gw = models.model_3a(psrs, psd='powerlaw', noisedict=noise, n_gwbfreqs=args.nfreqs, gamma_common=13 / 3., upper_limit=False, bayesephem=args.bayes_ephem, be_type='setIII', wideband=False, rn_psrs=rn_psrs, pshift=args.pshift, pseed=args.process, psr_models=False) pta_crn = models.model_2a(psrs, psd='powerlaw', noisedict=noise, n_gwbfreqs=args.nfreqs, gamma_common=13 / 3., upper_limit=False, bayesephem=args.bayes_ephem, be_type='setIII',
pta = models.model_2a(psrs, psd=args.psd, noisedict=noise_dict, n_gwbfreqs=args.nfreqs, gamma_common=gamma_gw, upper_limit=args.gwb_ul, bayesephem=args.bayes_ephem, wideband=args.wideband, pshift=args.pshift, select='backend') if args.model == 'model_3a': pta = models.model_3a(psrs, psd=args.psd, noisedict=noise_dict, n_gwbfreqs=args.nfreqs, gamma_common=gamma_gw, upper_limit=args.gwb_ul, bayesephem=args.bayes_ephem, wideband=args.wideband, pshift=args.pshift, select='backend') elif args.model == 'model_general': pta = models.model_general( psrs, common_psd='powerlaw', red_psd=args.psd, orf=None, common_components=args.nfreqs, red_components=30, dm_components=30, modes=None, wgts=None,