Exemple #1
0
if __name__ == "__main__":

    global engine
    global post
    global prop

    # parse input arguments
    opts, args = parse_core_options()
    os.environ["MPI_PER_NODE"] = "{}".format(opts.mpi_per_node)
    engine = opts.engine
    tracing = opts.trace_memory

    # make output directory and initialize logger
    opts.outdir = os.path.abspath(opts.outdir)
    ensure_dir(opts.outdir)

    # initialize MPI and pool
    from bajes.pipe import initialize_mpi_pool
    Pool, close_pool = initialize_mpi_pool(opts.fast_mpi)

    if opts.engine == 'cpnest':
        raise AttributeError(
            "MPI parallelisation not available with cpnest sampler.")

    if Pool.rank == 0:

        # start memory tracing, if requested
        if tracing:
            import tracemalloc
            tracemalloc.start(25)
Exemple #2
0
                      help='spin prior flag')
    parser.add_option('--tidal-flag',
                      dest='lambda_flag',
                      default='no-tides',
                      type='string',
                      help='tidal prior flag')
    parser.add_option('--extra-flag',
                      dest='extra_flag',
                      default='',
                      type='string',
                      action="append",
                      help='extra prior flag')
    (opts, args) = parser.parse_args()

    ppdir = os.path.abspath(opts.outdir + '/postproc')
    ensure_dir(ppdir)

    global logger

    logger = set_logger(outdir=ppdir, label='bajes_postproc')
    logger.info("Running bajes postprocessing:")
    logger.info(
        "The reported uncertainties correpond to 90% credible regions.")
    logger.info(
        "The contours of the corner plots represent 50%, 90% credible regions."
    )

    # extract posterior samples coming from sampler
    posterior = np.genfromtxt(opts.posterior, names=True)

    # extract prior object from pickle
Exemple #3
0
                      help='sampling rate [Hz]')
    parser.add_option('--seglen',
                      dest='seglen',
                      type='float',
                      help='length of the segment [sec]')

    parser.add_option('-o',
                      '--outdir',
                      default=None,
                      type='string',
                      dest='outdir',
                      help='directory for output')
    (opts, args) = parser.parse_args()

    datadir = os.path.abspath(opts.outdir + '/data')
    ensure_dir(datadir)

    logger = set_logger(outdir=datadir, label='bajes_gwosc')
    logger.info("Running bajes gwosc-reading:")

    GPSstart = opts.t_gps - opts.seglen / 2.
    GPSend = opts.t_gps + opts.seglen / 2.

    for ifo in opts.ifos:

        logger.info("... fetching data for {} ...".format(ifo))
        t, s = read_gwosc(ifo,
                          GPSstart,
                          GPSend,
                          srate=opts.srate,
                          version=opts.version)
Exemple #4
0
        )

    for ti in tags:
        from bajes.obs import __knwon_messengers__
        if ti not in __knwon_messengers__:
            logger.error(
                "Unknown messenger {}. Please use only knwon messengers: {}".
                format(ti, __knwon_messengers__))
            raise BajesPipeError(
                "Unknown messenger {}. Please use only knwon messengers: {}".
                format(ti, __knwon_messengers__))

    # set output directory
    try:
        outdir = os.path.abspath(config['pipe']['outdir'])
        ensure_dir(outdir)
        logger.info("... setting output directory ...")
        logger.info("  - {}".format(outdir))
    except KeyError:
        logger.error(
            "Invalid or missing outdir in config file. Please specify the output directory in [pipe] section."
        )
        raise BajesPipeError(
            "Invalid or missing outdir in config file. Please specify the output directory in [pipe] section."
        )

    with open(outdir + '/config.ini', 'w') as configfile:
        config.write(configfile)

    ini_string = ''
    if 'gw' in tags: