def create_parser(): parser = argparse.ArgumentParser(description='Interactive time-series viewer', formatter_class=argparse.RawTextHelpFormatter, epilog=EXAMPLE) parser.add_argument('timeseries_file', nargs='+', help='time-series file to display\n' 'i.e.: timeseries_ECMWF_ramp_demErr.h5 (MintPy)\n' ' LS-PARAMS.h5 (GIAnT)\n' ' S1_IW12_128_0593_0597_20141213_20180619.he5 (HDF-EOS5)') parser.add_argument('--label', dest='file_label', nargs='*', help='labels to display for multiple input files') parser.add_argument('--ylim', dest='ylim', nargs=2, metavar=('YMIN', 'YMAX'), type=float, help='Y limits for point plotting.') parser.add_argument('--tick-right', dest='tick_right', action='store_true', help='set tick and tick label to the right') parser.add_argument('-l','--lookup', dest='lookup_file', type=str, help='lookup table file') pixel = parser.add_argument_group('Pixel Input') pixel.add_argument('--yx', type=int, metavar=('Y', 'X'), nargs=2, help='initial pixel to plot in Y/X coord') pixel.add_argument('--lalo', type=float, metavar=('LAT', 'LON'), nargs=2, help='initial pixel to plot in lat/lon coord') pixel.add_argument('--ms', '--markersize', dest='marker_size', type=float, default=6.0, help='Point marker size. Default: 6') pixel.add_argument('--ew', '--edgewidth', dest='edge_width', type=float, default=1.0, help='Edge width. Default: 1.0') parser.add_argument('-n', dest='init_idx', metavar='NUM', type=int, help='Epoch/slice number to display.') parser.add_argument('--error', dest='error_file', help='txt file with error for each date.') parser.add_argument('--start-date', dest='start_date', type=str, help='start date of displacement to display') parser.add_argument('--end-date', dest='end_date', type=str, help='end date of displacement to display') parser.add_argument('--exclude', '--ex', dest='ex_date_list', nargs='*', default=['exclude_date.txt'], help='Exclude date shown as gray.') parser.add_argument('--zf', '--zero-first', dest='zero_first', action='store_true', help='Set displacement at first acquisition to zero.') parser.add_argument('--off','--offset', dest='offset', type=float, help='Offset for each timeseries file.') parser.add_argument('--noverbose', dest='print_msg', action='store_false', help='Disable the verbose message printing.') parser = pp.add_data_disp_argument(parser) parser = pp.add_dem_argument(parser) parser = pp.add_figure_argument(parser) parser = pp.add_gps_argument(parser) parser = pp.add_mask_argument(parser) parser = pp.add_map_argument(parser) parser = pp.add_point_argument(parser) parser = pp.add_reference_argument(parser) parser = pp.add_save_argument(parser) parser = pp.add_subset_argument(parser) return parser
def get_view_cmd(iargs): """Assemble view.py command line from input arguments""" # define ALL parsing options from create_parser() that are common to view.py parser = argparse.ArgumentParser(description='view.py parser') parser.add_argument('--noverbose', dest='print_msg', action='store_false', help='Disable the verbose message printing.') parser = pp.add_figure_argument(parser) parser = pp.add_save_argument(parser) # get args that are applicable to view.py unique_args = parser.parse_known_args(iargs)[1] view_args = [i for i in iargs if i not in unique_args] # assemble view.py command line inps = cmd_line_parse(iargs) view_cmd = 'view.py {} '.format(inps.file[0]) if inps.dset: view_cmd += ' {} '.format(inps.dset) view_cmd += ' '.join(view_args) return view_cmd
def create_parser(): parser = argparse.ArgumentParser(description='Generate transect/profile along a line', formatter_class=argparse.RawTextHelpFormatter, epilog=EXAMPLE) parser.add_argument('file', nargs='+', help='input file to show transection') parser.add_argument('--dset', dest='dset', help='Dataset name to read') parser.add_argument('--offset','--off', dest='offset', type=float, nargs='+', default=[0.05], help='offset between transects [for multiple files only; default: %(default)s m].\n' 'number of input offsets should be:\n' ' 1 - same (sequential) offset between adjacent transects OR\n' ' num_file - different (cumulative) offset for each file, starting from 0.') parser.add_argument('--noverbose', dest='print_msg', action='store_false', help='Disable the verbose message printing.') lines = parser.add_argument_group('Profile location', 'Start/end points of profile') lines.add_argument('--start-yx','--yx0', dest='start_yx', metavar=('Y0', 'X0'), type=int, nargs=2, help='start point of the profile in pixel number [y, x]') lines.add_argument('--end-yx','--yx1', dest='end_yx', metavar=('Y1', 'X1'), type=int, nargs=2, help='end point of the profile in pixel number [y, x]') lines.add_argument('--start-lalo','--lalo0', dest='start_lalo', metavar=('LAT0', 'LON0'), type=float, nargs=2, help='start point of the profile in [lat, lon]') lines.add_argument('--end-lalo','--lalo1', dest='end_lalo', metavar=('LAT1', 'LON1'), type=float, nargs=2, help='end point of the profile in [lat, lon]') lines.add_argument('--line-file', dest='lola_file', help='file with start and end point info in lon lat, same as GMT format.\n'+GMT_FILE) lines.add_argument('--interpolation', default='nearest', choices=['nearest', 'bilinear', 'cubic'], help='interpolation method while extacting profile along the line. Default: nearest.') lines.add_argument('--ms', '--markersize', dest='marker_size', type=float, default=2.0, help='Point marker size. Default: 2.0') parser = pp.add_figure_argument(parser) parser = pp.add_save_argument(parser) return parser