def test_Query_datetime1(self): d = cf.Data([[1., 5.], [6, 2]], 'days since 2000-12-29 21:00:00', calendar='standard') message = 'Diff =' + str( (d - cf.Data(cf.dt('2001-01-03 21:00:00', calendar='standard'))).array) self.assertTrue((d == cf.eq(cf.dt('2001-01-03 21:00:00'))).equals( cf.Data([[False, True], [False, False]]), verbose=2), message) self.assertTrue((d == cf.ne(cf.dt('2001-01-03 21:00:00'))).equals( cf.Data([[True, False], [True, True]])), message) self.assertTrue((d == cf.ge(cf.dt('2001-01-03 21:00:00'))).equals( cf.Data([[False, True], [True, False]])), message) self.assertTrue((d == cf.gt(cf.dt('2001-01-03 21:00:00'))).equals( cf.Data([[False, False], [True, False]])), message) self.assertTrue((d == cf.le(cf.dt('2001-01-03 21:00:00'))).equals( cf.Data([[True, True], [False, True]])), message) self.assertTrue((d == cf.lt(cf.dt('2001-01-03 21:00:00'))).equals( cf.Data([[True, False], [False, True]])), message) self.assertTrue((d == cf.wi(cf.dt('2000-12-31 21:00:00'), cf.dt('2001-01-03 21:00:00'))).equals( cf.Data([[False, True], [False, True]])), message) self.assertTrue((d == cf.wo(cf.dt('2000-12-31 21:00:00'), cf.dt('2001-01-03 21:00:00'))).equals( cf.Data([[True, False], [True, False]])), message) self.assertTrue((d == cf.set([ cf.dt('2000-12-31 21:00:00'), cf.dt('2001-01-03 21:00:00') ])).equals(cf.Data([[False, True], [False, True]])), message) _ = cf.seasons() [ cf.seasons(n, start) for n in [1, 2, 3, 4, 6, 12] for start in range(1, 13) ] with self.assertRaises(Exception): cf.seasons(13) with self.assertRaises(Exception): cf.seasons(start=8.456) _ = cf.mam() _ = cf.djf() _ = cf.jja() _ = cf.son()
c &= cf.Query('set', [1, 3, 5]) c c == 2 c == 3 upper_bounds_ge_minus4 = cf.Query('ge', -4, attr='upper_bounds') X = t.dimension_coordinate('X') X print(X.bounds.array) print((upper_bounds_ge_minus4 == X).array) cf.contains(4) cf.Query('lt', 4, attr='lower_bounds') & cf.Query('ge', 4, attr='upper_bounds') cf.ge(3) cf.ge(cf.dt('2000-3-23')) cf.year(1999) cf.month(cf.wi(6, 8)) cf.jja() cf.contains(4) cf.cellsize(cf.lt(10, 'degrees')) print("\n**Assignment by condition**\n") t = cf.read('file.nc')[1] print(t.array) u = t.where(cf.lt(273.15), x=cf.masked) print(u.array) u = t.where(cf.lt(273.15), x=0, y=1) print(u.array) print(t.where(u, x=-t, y=-99).array) print(t.where(cf.gt(0.5), x=cf.masked, construct='grid_latitude').array) print("\n**Field creation**\n")