def exclude_dates(): global inps, dateList if inps.ex_date_list: input_ex_date = list(inps.ex_date_list) inps.ex_date_list = [] if input_ex_date: for ex_date in input_ex_date: if os.path.isfile(ex_date): ex_date = ptime.read_date_list(ex_date) else: ex_date = [ptime.yyyymmdd(ex_date)] inps.ex_date_list += list( set(ex_date) - set(inps.ex_date_list)) # delete dates not existed in input file inps.ex_date_list = sorted( list(set(inps.ex_date_list).intersection(dateList))) inps.ex_dates = ptime.date_list2vector(inps.ex_date_list)[0] inps.ex_idx_list = sorted( [dateList.index(i) for i in inps.ex_date_list]) print(('exclude date:' + str(inps.ex_date_list)))
def read_exclude_date(inps, dateListAll): # Merge ex_date/startDate/endDate into ex_date yy_list_all = ptime.yyyymmdd2years(dateListAll) exDateList = [] # ex_date exDateList += ptime.read_date_list(list(inps.excludeDate), date_list_all=dateListAll) if exDateList: print('exclude date:' + str(exDateList)) # startDate if inps.startDate: print('start date: ' + inps.startDate) yy_min = ptime.yyyymmdd2years(ptime.yyyymmdd(inps.startDate)) for i in range(len(dateListAll)): date = dateListAll[i] if yy_list_all[i] < yy_min and date not in exDateList: print(' remove date: ' + date) exDateList.append(date) # endDate if inps.endDate: print('end date: ' + inps.endDate) yy_max = ptime.yyyymmdd2years(ptime.yyyymmdd(inps.endDate)) for i in range(len(dateListAll)): date = dateListAll[i] if yy_list_all[i] > yy_max and date not in exDateList: print(' remove date: ' + date) exDateList.append(date) exDateList = sorted(list(set(exDateList))) return exDateList
def read_exclude_date(input_ex_date, dateListAll): # default value ex_date_list = [] ex_dates = [] ex_flag = np.ones((len(dateListAll)), np.bool_) ex_date_list = ptime.read_date_list(input_ex_date, date_list_all=dateListAll) if ex_date_list: ex_dates = ptime.date_list2vector(ex_date_list)[0] for i in ex_date_list: ex_flag[dateListAll.index(i)] = False vprint('exclude date:' + str(ex_date_list)) return ex_date_list, ex_dates, ex_flag
def read_exclude_date(ex_date_list, date_list_all, print_msg=True): """Read exclude dates info Parameters: ex_date_list : list of string, date in YYMMDD or YYYYMMDD format, or text file with date in it date_list_all : list of string, date in YYYYMMDD format Returns: date_flag : 1D array of bool in size of (num_date,) """ # Read exclude date input ex_date_list = ptime.read_date_list(ex_date_list) if ex_date_list and print_msg: print(('exclude the following dates for DEM error estimation:' ' ({})\n{}').format(len(ex_date_list), ex_date_list)) # convert to mark array date_flag = np.array([i not in ex_date_list for i in date_list_all], dtype=np.bool_) return date_flag, ex_date_list
def cmd_line_parse(iargs=None): """Command line parser.""" parser = create_parser() inps = parser.parse_args(args=iargs) # --exclude if inps.exDsetList: inps.exDsetList = ptime.read_date_list(inps.exDsetList) # If output flie name assigned or figure shown is turned off, turn on the figure save if inps.outfile or not inps.disp_fig: inps.save_fig = True if inps.coastline and inps.resolution in ['c', 'l']: inps.resolution = 'i' if inps.lalo_step: inps.lalo_label = True if inps.zero_mask: inps.mask_file = 'no' if not inps.disp_whitespace: inps.disp_axis = False inps.disp_title = False inps.disp_cbar = False if not inps.disp_axis: inps.disp_tick = False # verbose print using --noverbose option global vprint vprint = print if inps.print_msg else lambda *args, **kwargs: None if inps.disp_setting_file: inps = update_inps_with_display_setting_file(inps, inps.disp_setting_file) # Backend setting if not inps.disp_fig: plt.switch_backend('Agg') if inps.flip_lr or inps.flip_ud: inps.auto_flip = False return inps
def read_exclude_date(input_ex_date, dateListAll): """ Parameters: input_ex_date : list of string in YYYYMMDD or filenames for excluded dates dateListAll : list of string in YYYYMMDD for all dates Returns: ex_date_list : list of string in YYYYMMDD for excluded dates ex_dates : list of datetime.datetime objects for excluded dates ex_flag : 1D np.ndarray in size of (num_date), 1/True for kept, 0/False for excluded """ # default value ex_date_list = [] ex_dates = [] ex_flag = np.ones((len(dateListAll)), np.bool_) ex_date_list = ptime.read_date_list(input_ex_date, date_list_all=dateListAll) if ex_date_list: ex_dates = ptime.date_list2vector(ex_date_list)[0] for i in ex_date_list: ex_flag[dateListAll.index(i)] = False vprint('exclude date:'+str(ex_date_list)) return ex_date_list, ex_dates, ex_flag
def exclude_dates(): global inps, dateList if inps.ex_date_list: input_ex_date = list(inps.ex_date_list) inps.ex_date_list = [] if input_ex_date: for ex_date in input_ex_date: if os.path.isfile(ex_date): ex_date = ptime.read_date_list(ex_date) else: ex_date = [ptime.yyyymmdd(ex_date)] inps.ex_date_list += list(set(ex_date) - set(inps.ex_date_list)) # delete dates not existed in input file inps.ex_date_list = sorted(list(set(inps.ex_date_list).intersection(dateList))) inps.ex_dates = ptime.date_list2vector(inps.ex_date_list)[0] inps.ex_idx_list = sorted([dateList.index(i) for i in inps.ex_date_list]) print(('exclude date:' + str(inps.ex_date_list)))
def read_exclude_date(inps, dateListAll): # Merge ex_date/startDate/endDate into ex_date yy_list_all = ptime.yyyymmdd2years(dateListAll) exDateList = [] # 1. template_file if inps.template_file: print('read option from template file: ' + inps.template_file) inps = read_template2inps(inps.template_file, inps) # 2. ex_date exDateList += ptime.read_date_list(list(inps.excludeDate), date_list_all=dateListAll) if exDateList: print('exclude date:' + str(exDateList)) # 3. startDate if inps.startDate: print('start date: ' + inps.startDate) yy_min = ptime.yyyymmdd2years(ptime.yyyymmdd(inps.startDate)) for i in range(len(dateListAll)): date = dateListAll[i] if yy_list_all[i] < yy_min and date not in exDateList: print(' remove date: ' + date) exDateList.append(date) # 4. endDate if inps.endDate: print('end date: ' + inps.endDate) yy_max = ptime.yyyymmdd2years(ptime.yyyymmdd(inps.endDate)) for i in range(len(dateListAll)): date = dateListAll[i] if yy_list_all[i] > yy_max and date not in exDateList: print(' remove date: ' + date) exDateList.append(date) exDateList = list(set(exDateList)) return exDateList