Example #1
0
    def test_valid(self):
        cf_name = 'mercator'
        cf_grid_var = mock.Mock(spec=[],
                                longitude_of_projection_origin=-90,
                                false_easting=0,
                                false_northing=0,
                                scale_factor_at_projection_origin=1,
                                semi_major_axis=6377563.396,
                                semi_minor_axis=6356256.909)
        engine = _engine(cf_grid_var, cf_name)

        is_valid = has_supported_mercator_parameters(engine, cf_name)

        self.assertTrue(is_valid)
    def test_valid(self):
        cf_name = 'mercator'
        cf_grid_var = mock.Mock(
            spec=[],
            longitude_of_projection_origin=-90,
            false_easting=0,
            false_northing=0,
            scale_factor_at_projection_origin=1,
            semi_major_axis=6377563.396,
            semi_minor_axis=6356256.909)
        engine = _engine(cf_grid_var, cf_name)

        is_valid = has_supported_mercator_parameters(engine, cf_name)

        self.assertTrue(is_valid)
Example #3
0
    def test_invalid_standard_parallel(self):
        # Iris does not yet support standard parallels other than zero for
        # Mercator projections
        cf_name = 'mercator'
        cf_grid_var = mock.Mock(spec=[],
                                longitude_of_projection_origin=0,
                                false_easting=0,
                                false_northing=0,
                                standard_parallel=30,
                                semi_major_axis=6377563.396,
                                semi_minor_axis=6356256.909)
        engine = _engine(cf_grid_var, cf_name)

        with warnings.catch_warnings(record=True) as warns:
            warnings.simplefilter("always")
            is_valid = has_supported_mercator_parameters(engine, cf_name)

        self.assertFalse(is_valid)
        self.assertEqual(len(warns), 1)
        six.assertRegex(self, str(warns[0]), 'Standard parallel')
    def test_invalid_standard_parallel(self):
        # Iris does not yet support standard parallels other than zero for
        # Mercator projections
        cf_name = 'mercator'
        cf_grid_var = mock.Mock(
            spec=[],
            longitude_of_projection_origin=0,
            false_easting=0,
            false_northing=0,
            standard_parallel=30,
            semi_major_axis=6377563.396,
            semi_minor_axis=6356256.909)
        engine = _engine(cf_grid_var, cf_name)

        with warnings.catch_warnings(record=True) as warns:
            warnings.simplefilter("always")
            is_valid = has_supported_mercator_parameters(engine, cf_name)

        self.assertFalse(is_valid)
        self.assertEqual(len(warns), 1)
        six.assertRegex(self, str(warns[0]), 'Standard parallel')
    def test_invalid_scale_factor(self):
        # Iris does not yet support scale factors other than one for
        # Mercator projections
        cf_name = "mercator"
        cf_grid_var = mock.Mock(
            spec=[],
            longitude_of_projection_origin=0,
            false_easting=0,
            false_northing=0,
            scale_factor_at_projection_origin=0.9,
            semi_major_axis=6377563.396,
            semi_minor_axis=6356256.909,
        )
        engine = _engine(cf_grid_var, cf_name)

        with warnings.catch_warnings(record=True) as warns:
            warnings.simplefilter("always")
            is_valid = has_supported_mercator_parameters(engine, cf_name)

        self.assertFalse(is_valid)
        self.assertEqual(len(warns), 1)
        self.assertRegexpMatches(str(warns[0]), "Scale factor")