'instrument directories to make the output parmdb directories ' '(default=solution-set name)', type='string', default=None) opt.add_option('-t', '--soltab', help='Solution tables to export; e.g., ' '"amplitude000, phase000" (default=all)', type='string', default='all') opt.add_option('-i', '--instrument', help='Name of the instrument table ' '(default=instrument*)', type='string', default='instrument*') opt.add_option('-c', '--clobber', help='Clobber exising files ' '(default=False)', action='store_true', default=False) (options, args) = opt.parse_args() global ipbar, pbar # Check options if len(args) != 2: opt.print_help() sys.exit() if options.verbose: _logging.setLevel("debug") # Check input H5parm file h5parmFile = args[0] if not os.path.exists(h5parmFile): logging.critical('Input H5parm file not found.') sys.exit(1) logging.info("Input H5parm filename = "+h5parmFile) # Open the h5parm file and get solution set names h5parm_in = h5parm(h5parmFile, readonly = True) solsetNames = h5parm_in.getSolsetNames() # Check input parmdb file globaldbFile = args[1] if not os.path.exists(globaldbFile):
import lofar.parmdb from losoto import _version from losoto import _logging from losoto.h5parm import h5parm, solFetcher, solWriter # Options import optparse opt = optparse.OptionParser(usage='%prog -p H5parm [-s solset] -g parmdb [-n 100]\n'\ +_author, version='%prog '+_version.__version__) opt.add_option('-p', '--h5parm', help='H5parm name', type='string', default='') opt.add_option('-g', '--parmdb', help='Parmdb name', type='string', default='') opt.add_option('-s', '--solset', help='Solution-set name (default=sol000)', type='string', default='sol000') opt.add_option('-n', '--numiter', help='Number of iterations (default=100)', type=int, default=100) (options, args) = opt.parse_args() _logging.setLevel('debug') n = options.numiter solset = options.solset h5parmFile = options.h5parm H5 = h5parm(h5parmFile, readonly=False) H = solFetcher(H5.getSoltab(solset,'rotation000')) logging.info("H5parm filename = "+h5parmFile) parmdbFile = options.parmdb P = lofar.parmdb.parmdb(parmdbFile) P2 = lofar.parmdb.parmdb('tmp.parmdb', create=True) logging.info("parmdb filename = "+parmdbFile) ######################################################
# Options import optparse opt = optparse.OptionParser(usage='%prog [-v] <H5parm:solset> <H5parm:solset> \n'\ +_author, version='%prog '+_version.__version__) opt.add_option('-V', '--verbose', help='Go VERBOSE! (default=False)', action='store_true', default=False) (options, args) = opt.parse_args() # Check options if len(args) != 2: opt.print_help() sys.exit() if options.verbose: _logging.setLevel("debug") h5parmFrom = args[0] h5parmTo = args[1] logging.info("H5parm origin = " + h5parmFrom) logging.info("H5parm destination = " + h5parmTo) # scompose input values h5parmFromFile, solsetFrom = h5parmFrom.split(':') h5parmToFile, solsetTo = h5parmTo.split(':') if not (os.path.isfile(h5parmFromFile) and os.path.isfile(h5parmToFile)): logging.critical("Missing H5parm file.") sys.exit(1)
help='Remove all axes with a length of 1 (default=False)') parser.add_argument( '--clobber', '-c', default=False, action='store_true', help= 'Replace exising outh5parm file instead of appending to it (default=False)' ) args = parser.parse_args() if len(args.h5parmFiles) < 1: parser.print_help() sys.exit(1) if args.verbose: _logging.setLevel("debug") ################################ # check input if len(args.h5parmFiles) == 1 and (',' in args.h5parmFiles[0] or ('[' in args.h5parmFiles[0] and ']' in args.h5parmFiles[0])): # Treat input as a string with comma-separated values args.h5parmFiles = args.h5parmFiles[0].strip('[]').split(',') args.h5parmFiles = [f.strip() for f in args.h5parmFiles] # read all tables insolset = args.insolset if args.insoltab is None: # use all soltabs, find out names from first h5parm
parser = argparse.ArgumentParser(description='Split h5parm files - '+_author)#, version=_version.__version__ parser.add_argument('h5parmFile', help='Input h5parm') parser.add_argument('axis', help='Axis name to split') parser.add_argument('length', help='Target length of axis in each output h5parm (in the same units as the axis)') parser.add_argument('--insolset', '-s', default='sol000', dest='insolset', help='Input solset name [default: sol000]') parser.add_argument('--outsolset', '-o', default=None, dest='outsolset', help='Output solset name [default: same as insolset]') parser.add_argument('--root', '-r', default='output', dest='root', help='Root of output h5parm names; e.g., root_0.h5, root_1.h5, etc. [default: output]') parser.add_argument('--verbose', '-V', '-v', default=False, action='store_true', help='Go Vebose! (default=False)') parser.add_argument('--clobber', '-c', default=False, action='store_true', help='Replace exising outh5parm files (default=False)') args = parser.parse_args() if len(args.h5parmFile) < 1: parser.print_help() sys.exit(1) if args.verbose: _logging.setLevel("debug") ################################ # read input table h5 = h5parm(args.h5parmFile, readonly=True) solset = h5.getSolset(args.insolset) insoltabs = solset.getSoltabNames() soltabs = [] for insoltab in insoltabs: soltab = solset.getSoltab(insoltab) soltabs.append( soltab ) pointingNames = []; antennaNames = [] pointingDirections = []; antennaPositions = [] ants = solset.getAnt() sous = solset.getSou()
+_author, version='%prog '+_version.__version__) opt.add_option('-p', '--h5parm', help='H5parm name', type='string', default='') opt.add_option('-g', '--parmdb', help='Parmdb name', type='string', default='') opt.add_option('-s', '--solset', help='Solution-set name (default=sol000)', type='string', default='sol000') opt.add_option('-n', '--numiter', help='Number of iterations (default=100)', type=int, default=100) (options, args) = opt.parse_args() _logging.setLevel('debug') n = options.numiter solset = options.solset h5parmFile = options.h5parm H5 = h5parm(h5parmFile, readonly=False) H = solFetcher(H5.getSoltab(solset, 'rotation000')) logging.info("H5parm filename = " + h5parmFile) parmdbFile = options.parmdb P = lofar.parmdb.parmdb(parmdbFile) P2 = lofar.parmdb.parmdb('tmp.parmdb', create=True) logging.info("parmdb filename = " + parmdbFile) ######################################################
import optparse opt = optparse.OptionParser(usage='%prog [-v] [-o] [-d gds] [-g output globaldb] \n'\ +_author, version='%prog '+_version.__version__) opt.add_option('-v', '--verbose', help='Go VeRbOsE! (default=False)', action='store_true', default=False) opt.add_option('-o', '--overwrite', help='Overwrite an existing globaldb (default=False)', action='store_true', default=False) opt.add_option('-m', '--mss', help='Regular expression to locate the MSs', type='string', default='') opt.add_option('-d', '--gds', help='Gds file used to construct the globaldb', type='string', default='') opt.add_option('-p', '--parmdb', help='Parmdb name inside the MSs (default=instrument)', type='string', default='instrument') opt.add_option('-g', '--globaldb', help='Output globaldb name (default=globaldb)', type='string', default='globaldb') (options, args) = opt.parse_args() # Check options if len(args) != 0: opt.print_help() sys.exit() if options.verbose: _logging.setLevel('debug') overwrite = options.overwrite globaldbFile = options.globaldb logging.info("globaldb filename = "+globaldbFile) instrumentName=options.parmdb logging.info("MS parmdb name = "+instrumentName) if os.path.exists(globaldbFile): if overwrite: os.system('rm -rf '+globaldbFile) os.makedirs(globaldbFile) else: logging.warning(globaldbFile+' already exists. I will not overwrite existing files.') else:
type='int', default='5') opt.add_option( '--nofulljones', help='Export the solutions as just XX/YY instead of XX,XY,YX,YY.', action='store_false', dest='fulljones', default=True) (options, args) = opt.parse_args() # Check options if len(args) != 2: opt.print_help() sys.exit() if options.verbose: _logging.setLevel("debug") inputFile = args[1] logging.info("KILLMS filenames = " + str(inputFile)) h5parmFile = args[0] logging.info("H5parm filename = " + h5parmFile) # Common options complevel = options.complevel solsetName = options.solset SolsDico = np.load(inputFile) Sols = SolsDico["Sols"] Sols = Sols.view(np.recarray) # build direction subtable