Ejemplo n.º 1
0
                'cannot init from more than one observatory and one planet')
        pts = Parameters(np.zeros((args.ntemps, args.nwalkers, ndim)))
        pts.V = np.random.normal(p0.V,
                                 p0.sigma0 * args.delta,
                                 size=pts.V.shape[0:2])
        pts.sigma0 = np.random.lognormal(np.log(p0.sigma0),
                                         args.delta,
                                         size=pts.sigma0.shape[0:2])
        pts.sigma = np.random.lognormal(np.log(p0.sigma),
                                        args.delta,
                                        size=pts.sigma.shape[0:2])
        pts.tau = np.random.lognormal(np.log(p0.tau),
                                      args.delta,
                                      size=pts.tau.shape[0:2])
        pts.K = np.random.normal(p0.K,
                                 p0.sigma0 * args.delta,
                                 size=pts.K.shape[0:2])
        pts.n = np.random.lognormal(np.log(p0.n),
                                    args.delta,
                                    size=pts.n.shape[0:2])
        pts.chi = np.random.normal(p0.chi, args.delta, size=pts.chi.shape[0:2])
        pts.e = np.random.normal(p0.e, args.delta, size=pts.e.shape[0:2])
        pts.omega = np.random.normal(p0.omega,
                                     args.delta,
                                     size=pts.omega.shape[0:2])
        logls = None
        lnprobs = None

        header = pts.header[0] + ' logl logp' + pts.header[1:]
        for i in range(args.ntemps):
            with GzipFile('%s.%02d.txt.gz' % (args.prefix, i), 'w') as out:
Ejemplo n.º 2
0
            logls.append(data[-args.nwalkers:,0])
            lnprobs.append(data[-args.nwalkers:,1]+logls[-1])

        pts=np.array(pts)
        logls=np.array(logls)
        lnprobs=np.array(lnprobs)
    elif args.init is not None:
        p0=Parameters(np.loadtxt(args.init))
        if len(ts) > 1 or args.nplanets > 1:
            raise NotImplementedError('cannot init from more than one observatory and one planet')
        pts=Parameters(np.zeros((args.ntemps, args.nwalkers, ndim)))
        pts.V = np.random.normal(p0.V, p0.sigma0*args.delta, size=pts.V.shape[0:2])
        pts.sigma0 = np.random.lognormal(np.log(p0.sigma0), args.delta, size=pts.sigma0.shape[0:2])
        pts.sigma = np.random.lognormal(np.log(p0.sigma), args.delta, size=pts.sigma.shape[0:2])
        pts.tau = np.random.lognormal(np.log(p0.tau), args.delta, size=pts.tau.shape[0:2])
        pts.K = np.random.normal(p0.K, p0.sigma0*args.delta, size=pts.K.shape[0:2])
        pts.n = np.random.lognormal(np.log(p0.n), args.delta, size=pts.n.shape[0:2])
        pts.chi = np.random.normal(p0.chi, args.delta, size=pts.chi.shape[0:2])
        pts.e = np.random.normal(p0.e, args.delta, size=pts.e.shape[0:2])
        pts.omega = np.random.normal(p0.omega, args.delta, size=pts.omega.shape[0:2])
        logls=None
        lnprobs=None

        header = pts.header[0] + ' logl logp' + pts.header[1:]
        for i in range(args.ntemps):
            with GzipFile('%s.%02d.txt.gz'%(args.prefix, i), 'w') as out:
                out.write(header)
    else:
        pts=cl.generate_initial_sample(pmin, pmax, args.ntemps, args.nwalkers)
        logls=None
        lnprobs=None