def test_acquire_data_by_request_multidim_short(self): dsh_1 = self._dsh_list["DS_BASE"][0] req = ExternalDataRequest() req.name = "shortdata" req.slice = (slice(0), slice(0, 10), slice(0, 10)) name, data, typecode, dims, attrs = dsh_1.acquire_data_by_request( request=req) # raise StandardError(str(name) + "\n" + str(data) + "\n" + str(typecode) + "\n" + str(dims) + "\n" + str(attrs)) self.assertEqual(name, "shortdata") self.assertEqual(typecode, 'h') self.assertEqual(dims, (u'time', u'lat', u'lon')) self.assertEqual( attrs, { u'units': u'short', u'long_name': u'short_data', u'standard_name': u'shorts' }) import numpy arr = numpy.asarray(data).flat.copy() lt_1 = arr < 32767 gt_0 = arr > -32767 self.assertTrue(lt_1.min(), lt_1.max()) self.assertTrue(gt_0.min(), gt_0.max())
def test_acquire_data_by_request_multidim_double(self): dsh_1 = self._dsh_list["DS_BASE"][0] req = ExternalDataRequest() req.name = "doubledata" req.slice = (slice(0), slice(0, 10), slice(0, 10)) name, data, typecode, dims, attrs = dsh_1.acquire_data_by_request( request=req) self.assertEqual(name, "doubledata") self.assertEqual(typecode, 'd') self.assertEqual(dims, (u'time', u'lat', u'lon')) self.assertEqual( attrs, { u'units': u'dbl', u'long_name': u'double_data', u'standard_name': u'doubles' }) import numpy arr = numpy.asarray(data).flat.copy() print arr lt_1 = arr <= 10000 gt_0 = arr >= 0 self.assertTrue(lt_1.min(), lt_1.max()) self.assertTrue(gt_0.min(), gt_0.max())
def test_acquire_data_by_request_with_no_dim_or_var(self): dsh_1 = self._dsh_list["DS_BASE"][0] req = ExternalDataRequest() req.name="no_var_or_dim_with_this_name" req.slice=(slice(0, 10)) with self.assertRaises(DataAcquisitionError) as cm: dsh_1.acquire_data_by_request(request=req) ex = cm.exception self.assertEqual(ex.message, "The name 'no_var_or_dim_with_this_name' does not appear to be available in the dataset, cannot acquire data")
def test_acquire_data_by_request_with_no_dim_or_var(self): dsh_1 = self._dsh_list["DS_BASE"][0] req = ExternalDataRequest() req.name = "no_var_or_dim_with_this_name" req.slice = (slice(0, 10)) with self.assertRaises(DataAcquisitionError) as cm: dsh_1.acquire_data_by_request(request=req) ex = cm.exception self.assertEqual( ex.message, "The name 'no_var_or_dim_with_this_name' does not appear to be available in the dataset, cannot acquire data" )
def test_acquire_data_by_request_with_dim_no_var(self): dsh_1 = self._dsh_list["DS_BASE"][0] req = ExternalDataRequest() req.name="lon" req.slice=(slice(0, 10)) name, data, typecode, dims, attrs = dsh_1.acquire_data_by_request(request=req) # raise StandardError(str(name) + "\n" + str(data) + "\n" + str(typecode) + "\n" + str(dims) + "\n" + str(attrs)) self.assertEqual(name, "lon") self.assertEqual(typecode, 'l') self.assertEqual(dims, ('lon',)) self.assertEqual(attrs, {}) import numpy arr = numpy.asarray(data).flat.copy() self.assertTrue(numpy.array_equiv(arr, numpy.arange(0, 10)))
def test_acquire_data_by_request_onedim(self): dsh_1 = self._dsh_list["DS_BASE"][0] req = ExternalDataRequest() req.name="longitude" req.slice=(slice(0, 10)) name, data, typecode, dims, attrs = dsh_1.acquire_data_by_request(request=req) # raise StandardError(str(name) + "\n" + str(data) + "\n" + str(typecode) + "\n" + str(dims) + "\n" + str(attrs)) self.assertEqual(name, "longitude") self.assertEqual(typecode, 'f') self.assertEqual(dims, (u'lon',)) self.assertEqual(attrs, {u'units': u'degrees_east', u'long_name': u'longitude', u'standard_name': u'longitude'}) import numpy arr = numpy.asarray(data).flat.copy() self.assertTrue(numpy.array_equiv(arr, numpy.arange(-90, -85, 0.5, dtype='float32')))
def test_acquire_data_by_request_with_dim_no_var(self): dsh_1 = self._dsh_list["DS_BASE"][0] req = ExternalDataRequest() req.name = "lon" req.slice = (slice(0, 10)) name, data, typecode, dims, attrs = dsh_1.acquire_data_by_request( request=req) # raise StandardError(str(name) + "\n" + str(data) + "\n" + str(typecode) + "\n" + str(dims) + "\n" + str(attrs)) self.assertEqual(name, "lon") self.assertEqual(typecode, 'l') self.assertEqual(dims, ('lon', )) self.assertEqual(attrs, {}) import numpy arr = numpy.asarray(data).flat.copy() self.assertTrue(numpy.array_equiv(arr, numpy.arange(0, 10)))
def test_acquire_data_by_request_multidim_short(self): dsh_1 = self._dsh_list["DS_BASE"][0] req = ExternalDataRequest() req.name="shortdata" req.slice=(slice(0), slice(0, 10), slice(0, 10)) name, data, typecode, dims, attrs = dsh_1.acquire_data_by_request(request=req) # raise StandardError(str(name) + "\n" + str(data) + "\n" + str(typecode) + "\n" + str(dims) + "\n" + str(attrs)) self.assertEqual(name, "shortdata") self.assertEqual(typecode, 'h') self.assertEqual(dims, (u'time', u'lat', u'lon')) self.assertEqual(attrs, {u'units': u'short', u'long_name': u'short_data', u'standard_name': u'shorts'}) import numpy arr = numpy.asarray(data).flat.copy() lt_1 = arr < 32767 gt_0 = arr > -32767 self.assertTrue(lt_1.min(), lt_1.max()) self.assertTrue(gt_0.min(), gt_0.max())
def test_acquire_data_by_request_multidim_double(self): dsh_1 = self._dsh_list["DS_BASE"][0] req = ExternalDataRequest() req.name="doubledata" req.slice=(slice(0), slice(0, 10), slice(0, 10)) name, data, typecode, dims, attrs = dsh_1.acquire_data_by_request(request=req) self.assertEqual(name, "doubledata") self.assertEqual(typecode, 'd') self.assertEqual(dims, (u'time', u'lat', u'lon')) self.assertEqual(attrs, {u'units': u'dbl', u'long_name': u'double_data', u'standard_name': u'doubles'}) import numpy arr = numpy.asarray(data).flat.copy() print arr lt_1 = arr <= 10000 gt_0 = arr >= 0 self.assertTrue(lt_1.min(), lt_1.max()) self.assertTrue(gt_0.min(), gt_0.max())
def test_acquire_data_by_request_onedim(self): dsh_1 = self._dsh_list["DS_BASE"][0] req = ExternalDataRequest() req.name = "longitude" req.slice = (slice(0, 10)) name, data, typecode, dims, attrs = dsh_1.acquire_data_by_request( request=req) # raise StandardError(str(name) + "\n" + str(data) + "\n" + str(typecode) + "\n" + str(dims) + "\n" + str(attrs)) self.assertEqual(name, "longitude") self.assertEqual(typecode, 'f') self.assertEqual(dims, (u'lon', )) self.assertEqual( attrs, { u'units': u'degrees_east', u'long_name': u'longitude', u'standard_name': u'longitude' }) import numpy arr = numpy.asarray(data).flat.copy() self.assertTrue( numpy.array_equiv(arr, numpy.arange(-90, -85, 0.5, dtype='float32')))