import numpy as np, os, h5py from enlib import config, mpi, coordinates, utils, errors, tagdb from enact import filedb, actdata, todinfo parser = config.ArgumentParser(os.environ["HOME"] + "/.enkirc") parser.add_argument("tagfile") parser.add_argument("sel", nargs="?", default="") parser.add_argument("ofile") args = parser.parse_args() file_db = filedb.setup_filedb() scan_db = todinfo.read(args.tagfile) comm = mpi.COMM_WORLD # We want to process *all* tods, not just selected ones. Could also # achieve this by adding /all to the selector. scan_db = scan_db.select(scan_db.query(args.sel, apply_default_query=False)) ids = scan_db.ids stats = [] for ind in range(comm.rank, len(ids), comm.size): id = ids[ind] entry = file_db[id] try: stats.append(todinfo.build_tod_stats(entry)) except (errors.DataMissing, AttributeError) as e: print "Skipping %s (%s)" % (id, e.message) continue print "%3d %4d/%d %5.1f%% %s" % (comm.rank, ind + 1, len(ids), (ind + 1) / float(len(ids)) * 100, id) stats = todinfo.merge_tod_stats(stats)
import numpy as np, os, h5py from enlib import config, mpi, coordinates, utils, errors, tagdb from enact import filedb, actdata, todinfo parser = config.ArgumentParser(os.environ["HOME"] + "/.enkirc") parser.add_argument("tagfile") parser.add_argument("sel", nargs="?", default="") parser.add_argument("ofile") args = parser.parse_args() file_db = filedb.setup_filedb() scan_db = todinfo.read(args.tagfile, vars={"root":config.get("root")}) comm = mpi.COMM_WORLD # We want to process *all* tods, not just selected ones. Could also # achieve this by adding /all to the selector. scan_db = scan_db.select(scan_db.query(args.sel, apply_default_query=False)) ids = scan_db.ids stats = [] for ind in range(comm.rank, len(ids), comm.size): id = ids[ind] entry = file_db[id] try: stats.append(todinfo.build_tod_stats(entry)) except (errors.DataMissing,AttributeError) as e: print "%3d %4d/%d %5.1f%% Skipping %s (%s)" % (comm.rank, ind+1, len(ids), (ind+1)/float(len(ids))*100, id, str(e)) continue print "%3d %4d/%d %5.1f%% %s" % (comm.rank, ind+1, len(ids), (ind+1)/float(len(ids))*100, id) stats = todinfo.merge_tod_stats(stats) if comm.rank == 0: print "Reducing"
def init(): global scans, data scans = todinfo.read(cjoin(["root","dataset","todinfo"]), vars={"root":cjoin(["root"])}) data = setup_filedb()
from __future__ import print_function, division import os from enact import filedb, todinfo from enlib import config parser = config.ArgumentParser(os.environ["HOME"] + "/.enkirc") parser.add_argument("query", nargs="?", default=None) parser.add_argument("-f", "--dbfile", type=str, default=None) args = parser.parse_args() if args.dbfile: filedb.scans = todinfo.read(args.dbfile) else: filedb.init() print(repr(filedb.scans.select(filedb.scans[args.query])))
import os from enact import filedb, todinfo from enlib import config parser = config.ArgumentParser(os.environ["HOME"] + "/.enkirc") parser.add_argument("query", nargs="?", default=None) parser.add_argument("-f", "--dbfile", type=str, default=None) args = parser.parse_args() if args.dbfile: filedb.scans = todinfo.read(args.dbfile) else: filedb.init() print repr(filedb.scans.select(filedb.scans[args.query]))