[ https://issues.apache.org/jira/browse/CLIMATE-758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15170667#comment-15170667 ]
Michael Anderson commented on CLIMATE-758: ------------------------------------------ So to fix this: 1. Update local.py to not assume the altitude dimension. 2. Update test_local.py to not over write the file handles. 3. Update test_local.py to either use lon values which don't need to be normalized or to normalize the lon values as part of the comparison in the test. > Fix failing tests in test_local.py > ---------------------------------- > > Key: CLIMATE-758 > URL: https://issues.apache.org/jira/browse/CLIMATE-758 > Project: Apache Open Climate Workbench > Issue Type: Sub-task > Components: tests > Reporter: Lewis John McGibbney > Fix For: 1.1 > > > {code} > ====================================================================== > ERROR: Test adding a custom name to a dataset > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/usr/local/climate/ocw/tests/test_local.py", line 69, in > test_custom_dataset_name > ds = local.load_file(self.file_path, 'value', name='foo') > File "/usr/local/climate/ocw/data_source/local.py", line 283, in load_file > units=variable_unit, name=name, origin=origin) > File "/usr/local/climate/ocw/dataset.py", line 71, in __init__ > self._validate_inputs(lats, lons, times, values) > File "/usr/local/climate/ocw/dataset.py", line 206, in _validate_inputs > raise ValueError(err_msg) > ValueError: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > -------------------- >> begin captured logging << -------------------- > ocw.dataset: ERROR: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > --------------------- >> end captured logging << --------------------- > ====================================================================== > ERROR: test_dataset_origin (ocw.tests.test_local.test_load_file) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/usr/local/climate/ocw/tests/test_local.py", line 73, in > test_dataset_origin > ds = local.load_file(self.file_path, 'value', elevation_index=1) > File "/usr/local/climate/ocw/data_source/local.py", line 283, in load_file > units=variable_unit, name=name, origin=origin) > File "/usr/local/climate/ocw/dataset.py", line 71, in __init__ > self._validate_inputs(lats, lons, times, values) > File "/usr/local/climate/ocw/dataset.py", line 206, in _validate_inputs > raise ValueError(err_msg) > ValueError: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > -------------------- >> begin captured logging << -------------------- > ocw.dataset: ERROR: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > --------------------- >> end captured logging << --------------------- > ====================================================================== > ERROR: To test load_file function for latitudes > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/usr/local/climate/ocw/tests/test_local.py", line 48, in > test_function_load_file_lats > self.assertItemsEqual(local.load_file(self.file_path, "value").lats, > self.latitudes) > File "/usr/local/climate/ocw/data_source/local.py", line 283, in load_file > units=variable_unit, name=name, origin=origin) > File "/usr/local/climate/ocw/dataset.py", line 71, in __init__ > self._validate_inputs(lats, lons, times, values) > File "/usr/local/climate/ocw/dataset.py", line 206, in _validate_inputs > raise ValueError(err_msg) > ValueError: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > -------------------- >> begin captured logging << -------------------- > ocw.dataset: ERROR: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > --------------------- >> end captured logging << --------------------- > ====================================================================== > ERROR: To test load_file function for longitudes > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/usr/local/climate/ocw/tests/test_local.py", line 53, in > test_function_load_file_lons > self.assertItemsEqual(local.load_file(self.file_path, "value").lons, > self.longitudes) > File "/usr/local/climate/ocw/data_source/local.py", line 283, in load_file > units=variable_unit, name=name, origin=origin) > File "/usr/local/climate/ocw/dataset.py", line 71, in __init__ > self._validate_inputs(lats, lons, times, values) > File "/usr/local/climate/ocw/dataset.py", line 206, in _validate_inputs > raise ValueError(err_msg) > ValueError: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > -------------------- >> begin captured logging << -------------------- > ocw.dataset: ERROR: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > --------------------- >> end captured logging << --------------------- > ====================================================================== > ERROR: To test load_file function for times > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/usr/local/climate/ocw/tests/test_local.py", line 59, in > test_function_load_file_times > self.assertItemsEqual(local.load_file(self.file_path, "value").times, > newTimes) > File "/usr/local/climate/ocw/data_source/local.py", line 283, in load_file > units=variable_unit, name=name, origin=origin) > File "/usr/local/climate/ocw/dataset.py", line 71, in __init__ > self._validate_inputs(lats, lons, times, values) > File "/usr/local/climate/ocw/dataset.py", line 206, in _validate_inputs > raise ValueError(err_msg) > ValueError: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > -------------------- >> begin captured logging << -------------------- > ocw.dataset: ERROR: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > --------------------- >> end captured logging << --------------------- > ====================================================================== > ERROR: To test load_file function for values > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/usr/local/climate/ocw/tests/test_local.py", line 65, in > test_function_load_file_values > self.assertTrue(numpy.allclose(local.load_file(self.file_path, > "value").values, new_values)) > File "/usr/local/climate/ocw/data_source/local.py", line 283, in load_file > units=variable_unit, name=name, origin=origin) > File "/usr/local/climate/ocw/dataset.py", line 71, in __init__ > self._validate_inputs(lats, lons, times, values) > File "/usr/local/climate/ocw/dataset.py", line 206, in _validate_inputs > raise ValueError(err_msg) > ValueError: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > -------------------- >> begin captured logging << -------------------- > ocw.dataset: ERROR: Value Array must be of shape (times, lats, lons). > Expected shape (3, 5, 5) but received (2, 5, 5) > --------------------- >> end captured logging << --------------------- > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)