コード例 #1
0
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')
コード例 #2
0
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')
コード例 #3
0
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
コード例 #4
0
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)
コード例 #5
0
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')
コード例 #6
0
    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)
コード例 #7
0
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',
コード例 #8
0
    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,