def test_accept_atmost_missing(self): series = self.data.copy() series[np.logical_not(self.data.day % 10)] = masked result = accept_atmost_missing(series.convert('M'), 3, True) assert_equal(result._mask.all(-1), [0] * 24) result = accept_atmost_missing(series.convert('M'), 3, False) assert_equal(result._mask.all(-1), [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] * 2) result = accept_atmost_missing(series.convert('M'), 0.1, True) assert_equal(result._mask.all(-1), [0] * 24) result = accept_atmost_missing(series.convert('A'), 35, True) assert_equal(result._mask.all(-1), [0, 0]) result = accept_atmost_missing(series.convert('A'), 35, False) assert_equal(result._mask.all(-1), [1, 1]) result = accept_atmost_missing(series.convert('A'), 0.05, True) assert_equal(result._mask.all(-1), [1, 1])
USGS_SW = np.array(USGS_SW, dtype=ndtype) end_date = climpy.Date('D', '2009-02-28') USGS_data = {} for site_no in itertools.chain(USGS_SE['site_no'], USGS_SW['site_no']): data = usgs.load_usgs_flows(site_no).fill_missing_dates() USGS_data[site_no] = data.adjust_endpoints(end_date=end_date) table_template = [] csc = "*" separator = csc.join(['-'*10, '-'*41, '-'*12, '-'*6, '-'*6, '-'*9]) for region in (USGS_SW, USGS_SE): table_template.append("%s%s%s" % (csc, separator, csc)) for (site_no, desc) in zip(region['site_no'], region['desc']): data = USGS_data[site_no] start_date = data.dates[0].strfmt("%m/%d/%Y") mdata = extras.accept_atmost_missing(data.convert('M'), 0.1) nbtotal = len(mdata) nbvalid = mdata.any(-1).filled(False).sum() row = csc.join([" %8s " % site_no, "%40s " % desc, " %10s " % start_date, " %4i " % nbtotal, " %4i " % nbvalid, " (%03.1f%%) " % (nbvalid*100./nbtotal)]) table_template.append("%s%s%s" % (csc, row, csc)) table_template.append("%s%s%s" % (csc, separator, csc)) if __name__ == "__main__": print "\n".join(table_template)