Exemple #1
0
class Test_extract__from_point(tests.IrisTest):

    constraint = TimeRangeConstraint(day_of_year=[(3, 1), (9, 30)])

    def test_greg_in(self):
        cube = _point_cube(59, iris.unit.CALENDAR_GREGORIAN)
        result = self.constraint.extract(cube)
        self.assertEqual(result, cube)

    def test_greg_out(self):
        cube = _point_cube(58, iris.unit.CALENDAR_GREGORIAN)
        result = self.constraint.extract(cube)
        self.assertEqual(result, None)

    def test_greg_leap_in(self):
        cube = _point_cube_leap(60, iris.unit.CALENDAR_GREGORIAN)
        result = self.constraint.extract(cube)
        self.assertEqual(result, cube)

    def test_greg_leap_out(self):
        cube = _point_cube_leap(59, iris.unit.CALENDAR_GREGORIAN)
        result = self.constraint.extract(cube)
        self.assertEqual(result, None)

    def test_360_in(self):
        cube = _point_cube(60, iris.unit.CALENDAR_360_DAY)
        result = self.constraint.extract(cube)
        self.assertEqual(result, cube)

    def test_360_out(self):
        cube = _point_cube(59, iris.unit.CALENDAR_360_DAY)
        result = self.constraint.extract(cube)
        self.assertEqual(result, None)
Exemple #2
0
class Test_extract__from_point_wrap(tests.IrisTest):

    constraint = TimeRangeConstraint(day_of_year=[(9, 30), (3, 1)])

    def _cube(self, point, cal):
        cube = iris.cube.Cube(np.arange(5 * 6).reshape(5, 6))
        units = iris.unit.Unit('days since 2001-01-01 00:00:00', calendar=cal)
        cube.add_aux_coord(AuxCoord(point, 'time', units=units))
        return cube

    def _cube_leap(self, point, cal):
        cube = iris.cube.Cube(np.arange(5 * 6).reshape(5, 6))
        units = iris.unit.Unit('days since 2000-01-01 00:00:00', calendar=cal)
        cube.add_aux_coord(AuxCoord(point, 'time', units=units))
        return cube

    def test_greg_in(self):
        cube = _point_cube(59, iris.unit.CALENDAR_GREGORIAN)
        result = self.constraint.extract(cube)
        self.assertEqual(result, cube)

    def test_greg_out(self):
        cube = _point_cube(60, iris.unit.CALENDAR_GREGORIAN)
        result = self.constraint.extract(cube)
        self.assertEqual(result, None)

    def test_greg_leap_in(self):
        cube = _point_cube_leap(60, iris.unit.CALENDAR_GREGORIAN)
        result = self.constraint.extract(cube)
        self.assertEqual(result, cube)

    def test_greg_leap_out(self):
        cube = _point_cube_leap(61, iris.unit.CALENDAR_GREGORIAN)
        result = self.constraint.extract(cube)
        self.assertEqual(result, None)

    def test_360_in(self):
        cube = _point_cube(60, iris.unit.CALENDAR_360_DAY)
        result = self.constraint.extract(cube)
        self.assertEqual(result, cube)

    def test_360_out(self):
        cube = _point_cube(61, iris.unit.CALENDAR_360_DAY)
        result = self.constraint.extract(cube)
        self.assertEqual(result, None)
Exemple #3
0
 def test_no_coord(self):
     cube = _point_cube(59, iris.unit.CALENDAR_GREGORIAN)
     constraint = TimeRangeConstraint(day_of_year=[(3, 1), (9, 30)])
     cube.remove_coord('time')
     with self.assertRaises(AttributeError):
         result = self.constraint.extract(cube)
Exemple #4
0
 def test_360(self):
     cube = _vector_cube_leap(iris.unit.CALENDAR_360_DAY)
     constraint = TimeRangeConstraint(day_of_year=[(9, 1), (3, 1)])
     result = constraint.extract(cube)
     self.assertArrayEqual(result.coord('time').points, [0, 60, 240, 300])
Exemple #5
0
 def test_greg(self):
     cube = _vector_cube(iris.unit.CALENDAR_GREGORIAN)
     constraint = TimeRangeConstraint(day_of_year=[(8, 29), (3, 2)])
     result = constraint.extract(cube)
     self.assertArrayEqual(result.coord('time').points, [0, 60, 240, 300])
Exemple #6
0
 def test_greg_leap_in(self):
     cube = _vector_cube_leap(iris.unit.CALENDAR_GREGORIAN)
     constraint = TimeRangeConstraint(day_of_year=[(3, 1), (8, 28)])
     result = constraint.extract(cube)
     self.assertArrayEqual(result.coord('time').points, [60, 120, 180, 240])