This is an automated email from the ASF dual-hosted git repository. fgreg pushed a commit to branch v1.0.0-rc1 in repository https://gitbox.apache.org/repos/asf/incubator-sdap-ningesterpy.git
commit 09986863f2fc4ad68ae45cb731f5e7c4e6604c8b Author: Frank Greguska <[email protected]> AuthorDate: Mon Mar 5 17:56:50 2018 -0800 fixed TimeSeriesReadingProcessor to put a shaped array into the tile time instead of a single value --- sdap/processors/tilereadingprocessor.py | 7 ++----- tests/datafiles/not_empty_wswm.nc | Bin 33119 -> 1041568 bytes tests/tilereadingprocessor_test.py | 22 ++++++++++++---------- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/sdap/processors/tilereadingprocessor.py b/sdap/processors/tilereadingprocessor.py index cc3afef..a483907 100644 --- a/sdap/processors/tilereadingprocessor.py +++ b/sdap/processors/tilereadingprocessor.py @@ -253,11 +253,8 @@ class TimeSeriesReadingProcessor(TileReadingProcessor): tile.meta_data.add().CopyFrom( to_metadata(self.metadata, ds[self.metadata][tuple(ordered_slices.values())])) - timevar = ds[self.time] - # Note assumption is that index of time is start value in dimtoslice - tile.time = to_seconds_from_epoch(timevar[dimtoslice[self.time].start], - timeunits=timevar.getncattr('units'), - timeoffset=self.time_offset) + tile.time.CopyFrom( + to_shaped_array(numpy.ma.filled(ds[self.time][dimtoslice[self.time]], numpy.NaN))) output_tile.tile.time_series_tile.CopyFrom(tile) diff --git a/tests/datafiles/not_empty_wswm.nc b/tests/datafiles/not_empty_wswm.nc index 772bbcb..ce0ebcc 100644 Binary files a/tests/datafiles/not_empty_wswm.nc and b/tests/datafiles/not_empty_wswm.nc differ diff --git a/tests/tilereadingprocessor_test.py b/tests/tilereadingprocessor_test.py index 2700073..927b436 100644 --- a/tests/tilereadingprocessor_test.py +++ b/tests/tilereadingprocessor_test.py @@ -275,7 +275,7 @@ class TestReadWSWMData(unittest.TestCase): input_tile = nexusproto.NexusTile() tile_summary = nexusproto.TileSummary() tile_summary.granule = "file:%s" % test_file - tile_summary.section_spec = "time:0:1,rivid:0:500" + tile_summary.section_spec = "time:0:5832,rivid:0:1" input_tile.summary.CopyFrom(tile_summary) results = list(wswm_reader.process(input_tile)) @@ -287,23 +287,25 @@ class TestReadWSWMData(unittest.TestCase): self.assertTrue(nexus_tile.tile.HasField('time_series_tile')) tile = nexus_tile.tile.time_series_tile - self.assertEqual(500, from_shaped_array(tile.latitude).size) - self.assertEqual(500, from_shaped_array(tile.longitude).size) - self.assertEqual((1, 500), from_shaped_array(tile.variable_data).shape) + self.assertEqual(1, from_shaped_array(tile.latitude).size) + self.assertEqual(1, from_shaped_array(tile.longitude).size) + self.assertEqual((5832, 1), from_shaped_array(tile.variable_data).shape) tile1_data = np.ma.masked_invalid(from_shaped_array(results[0].tile.time_series_tile.variable_data)) - self.assertEqual(500, np.ma.count(tile1_data)) - self.assertAlmostEqual(41.390, + self.assertEqual(5832, np.ma.count(tile1_data)) + self.assertAlmostEqual(45.837, np.ma.min( np.ma.masked_invalid(from_shaped_array(results[0].tile.time_series_tile.latitude))), places=3) - self.assertAlmostEqual(42.071, + self.assertAlmostEqual(-122.789, np.ma.max( - np.ma.masked_invalid(from_shaped_array(results[0].tile.time_series_tile.latitude))), + np.ma.masked_invalid(from_shaped_array(results[0].tile.time_series_tile.longitude))), places=3) - self.assertEqual(852098400, results[0].tile.time_series_tile.time) - self.assertAlmostEqual(0.009, + tile1_times = from_shaped_array(results[0].tile.time_series_tile.time) + self.assertEqual(852098400, tile1_times[0]) + self.assertEqual(915073200, tile1_times[-1]) + self.assertAlmostEqual(1.473, np.ma.masked_invalid(from_shaped_array(results[0].tile.time_series_tile.variable_data))[ 0, 0], places=3)
