def _validate_inputs(self, lats, lons, times, values):
        err_msg = None
        #Setup and Check parameter dimensionality is correct
        lat_dim = len(lats.shape)
        lon_dim = len(lons.shape)
        time_dim = len(times.shape)
        value_dim = len(values.shape)
        lat_count = lats.shape[0]
        lon_count = lons.shape[0]
        
        if lat_dim == 2 and lon_dim == 2:
            lon_count = lons.shape[1]
        time_count = times.shape[0]
        
        if time_dim != 1:
            err_msg = "Time Array should be 1 dimensional.  %s dimensions found." % time_dim
        elif value_dim < 2:
            err_msg = "Value Array should be at least 2 dimensional.  %s dimensions found." % value_dim
        # Finally check that the Values array conforms to the proper shape
        if value_dim == 2:
            if values.shape[0] != time_count and values.shape != (lat_count, lon_count):
                err_msg = """Value Array must be of shape (lats, lons) or (times, locations).
                Expected shape (%s, %s) but received (%s, %s)""" % (lat_count,
                                                                lon_count,
                                                                values.shape[0],
                                                                values.shape[1])
        if value_dim == 3 and values.shape != (time_count, lat_count, lon_count):
            err_msg = """Value Array must be of shape (times, lats, lons).
            Expected shape (%s, %s, %s) but received (%s, %s, %s)""" % (time_count,
                                                                lat_count,
                                                                lon_count,
                                                                values.shape[0],
                                                                values.shape[1],
                                                                values.shape[2])
        if err_msg:
            logger.error(err_msg)
            raise ValueError(err_msg)
Executes an sql query returning (at most) a single row.
dataset/ETHPy150Open apache/climate/ocw/dataset.py/Dataset._validate_inputs--crossover with--dataset/ETHPy150Open GeoscienceAustralia/agdc/src/abstract_ingester/ingest_db_wrapper.py/IngestDBWrapper.execute_sql_single