def test_auxiliary_coordinates(self):
        """
        Ensures variables are classified as auxiliary coordinate variables
        """
        with Dataset(resources.STATIC_FILES["bad_units"]) as nc:
            coordinate_variables = util.get_coordinate_variables(nc)
            assert set(["time"]) == set(coordinate_variables)

            aux_coord_vards = util.get_auxiliary_coordinate_variables(nc)
            assert set(["lat", "lon"]) == set(aux_coord_vards)
    def test_auxiliary_coordinates(self):
        '''
        Ensures variables are classified as auxiliary coordinate variables
        '''
        with Dataset(resources.STATIC_FILES['bad_units']) as nc:
            coordinate_variables = util.get_coordinate_variables(nc)
            assert set(['time']) == set(coordinate_variables)

            aux_coord_vards = util.get_auxiliary_coordinate_variables(nc)
            assert set(['lat', 'lon']) == set(aux_coord_vards)
    def test_auxiliary_coordinates(self):
        '''
        Ensures variables are classified as auxiliary coordinate variables
        '''
        with Dataset(resources.STATIC_FILES['bad_units']) as nc:
            coordinate_variables = util.get_coordinate_variables(nc)
            assert set(['time']) == set(coordinate_variables)

            aux_coord_vards = util.get_auxiliary_coordinate_variables(nc)
            assert set(['lat', 'lon']) == set(aux_coord_vards)
    def test_forecast_reference_metadata(self):
        """
        Tests variables used for forecast reference metadata to ensure they are
        not misclassified as geophysical variables.
        """
        with Dataset(resources.STATIC_FILES["forecast_reference"]) as nc:
            self.assertFalse(util.is_geophysical(nc, "forecast_reference_time"))
            self.assertFalse(util.is_geophysical(nc, "forecast_hour"))
            self.assertTrue(util.is_geophysical(nc, "air_temp"))
            self.assertFalse(util.is_geophysical(nc, "time"))

            assert len(util.get_coordinate_variables(nc)) == 3
            assert len(util.get_geophysical_variables(nc)) == 1
    def test_grid_mapping(self):
        '''
        Ensures that grid mapping variables are properly identified
        '''
        with Dataset(resources.STATIC_FILES['rotated_pole_grid']) as nc:
            grid_mapping = util.get_grid_mapping_variables(nc)
            coordinate_variables = util.get_coordinate_variables(nc)
            axis_variables = util.get_axis_variables(nc)

            assert 'rotated_pole' in grid_mapping
            assert set(['rlon', 'rlat', 'lev']) == set(coordinate_variables)
            assert set(['rlon', 'rlat', 'lev']) == set(axis_variables)
            assert 'lat' == util.get_lat_variable(nc)
            assert 'lon' == util.get_lon_variable(nc)
    def test_grid_mapping(self):
        """
        Ensures that grid mapping variables are properly identified
        """
        with Dataset(resources.STATIC_FILES["rotated_pole_grid"]) as nc:
            grid_mapping = util.get_grid_mapping_variables(nc)
            coordinate_variables = util.get_coordinate_variables(nc)
            axis_variables = util.get_axis_variables(nc)

            assert "rotated_pole" in grid_mapping
            assert set(["rlon", "rlat", "lev"]) == set(coordinate_variables)
            assert set(["rlon", "rlat", "lev"]) == set(axis_variables)
            assert "lat" == util.get_lat_variable(nc)
            assert "lon" == util.get_lon_variable(nc)
    def test_grid_mapping(self):
        '''
        Ensures that grid mapping variables are properly identified
        '''
        with Dataset(resources.STATIC_FILES['rotated_pole_grid']) as nc:
            grid_mapping = util.get_grid_mapping_variables(nc)
            coordinate_variables = util.get_coordinate_variables(nc)
            axis_variables = util.get_axis_variables(nc)

            assert 'rotated_pole' in grid_mapping
            assert set(['rlon', 'rlat', 'lev']) == set(coordinate_variables)
            assert set(['rlon', 'rlat', 'lev']) == set(axis_variables)
            assert 'lat' == util.get_lat_variable(nc)
            assert 'lon' == util.get_lon_variable(nc)