Esempio n. 1
0
    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()
Esempio n. 2
0
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")