Example #1
0
 def test_timeseries_profile_multi_ortho_time(self):
     '''
     Ensures timeseries profile multi station ortho time detection works
     '''
     with Dataset(resources.STATIC_FILES['timeseries-profile-multi-ortho-time']) as nc:
         for variable in util.get_geophysical_variables(nc):
             assert util.is_timeseries_profile_multi_ortho_time(nc, variable), "{} is timeseries-profile-multi-ortho-time".format(variable)
    def check_dimensions(self, dataset):
        '''
        Checks that the feature types of this dataset are consistent with a timeseries-profile-orthogonal dataset.

        :param netCDF4.Dataset dataset: An open netCDF dataset
        '''
        results = []
        required_ctx = TestCtx(
            BaseCheck.HIGH,
            'All geophysical variables are timeseries-profile-ortho-time-incomplete-depth feature types'
        )

        message = '{} must be a valid timeseries-profile-ortho-time-incomplete-depth feature type.'
        message += ' If it\'s multiple stations, it must have dimensions (station, time, z).'
        message += ' If it\'s a single station, it must have dimensions (time, z). x and y dimensions must be scalar or have'
        message += ' dimensions (station). time must be a coordinate variable with dimension (time) and z must'
        message += ' have dimensions (time, z) or (station, time, z) if it\'s a multi-station dataset.'

        for variable in util.get_geophysical_variables(dataset):
            is_valid = util.is_timeseries_profile_single_ortho_time(
                dataset, variable)
            is_valid = is_valid or util.is_timeseries_profile_multi_ortho_time(
                dataset, variable)
            required_ctx.assert_true(is_valid, message.format(variable))
        results.append(required_ctx.to_result())
        return results
    def check_dimensions(self, dataset):
        '''
        Checks that the feature types of this dataset are consistent with a timeseries-profile-orthogonal dataset.

        :param netCDF4.Dataset dataset: An open netCDF dataset
        '''
        results = []
        required_ctx = TestCtx(BaseCheck.HIGH, 'All geophysical variables are timeseries-profile-ortho-time-incomplete-depth feature types')

        message = '{} must be a valid timeseries-profile-ortho-time-incomplete-depth feature type.'
        message += ' If it\'s multiple stations, it must have dimensions (station, time, z).'
        message += ' If it\'s a single station, it must have dimensions (time, z). x and y dimensions must be scalar or have'
        message += ' dimensions (station). time must be a coordinate variable with dimension (time) and z must'
        message += ' have dimensions (time, z) or (station, time, z) if it\'s a multi-station dataset.'

        for variable in util.get_geophysical_variables(dataset):
            is_valid = util.is_timeseries_profile_single_ortho_time(dataset, variable)
            is_valid = is_valid or util.is_timeseries_profile_multi_ortho_time(dataset, variable)
            required_ctx.assert_true(
                is_valid,
                message.format(variable)
            )
        results.append(required_ctx.to_result())
        return results