Example #1
0
def stats_cmd(main_arguments):
    """
    Main routine for handling calls to the statistics command.

    :param main_arguments: The command line arguments (minus the stats command)
    """
    from cis.stats import StatsAnalyzer
    from cis.data_io.gridded_data import GriddedDataList
    data_reader = DataReader()
    data_list = data_reader.read_datagroups(main_arguments.datagroups)
    analyzer = StatsAnalyzer(*data_list)
    results = analyzer.analyze()
    header = "RESULTS OF STATISTICAL COMPARISON:"
    note = "Compared all points which have non-missing values in both variables"
    header_length = max(len(header), len(note))
    print(header_length * '=')
    print(header)
    print(header_length * '-')
    print(note)
    print(header_length * '=')
    for result in results:
        print(result.pprint())
    if main_arguments.output:
        cubes = GriddedDataList([result.as_cube() for result in results])
        variables = []
        filenames = []
        for datagroup in main_arguments.datagroups:
            variables.extend(datagroup['variables'])
            filenames.extend(datagroup['filenames'])
        history = "Statistical comparison performed using CIS version " + __version__ + \
                  "\n variables: " + str(variables) + \
                  "\n from files: " + str(set(filenames))
        cubes.add_history(history)
        cubes.save_data(main_arguments.output)
Example #2
0
 def test_GIVEN_missing_values_WHEN_analyze_THEN_original_data_unchanged(self):
     # We perform some manipulation on the data masks, but we don't want the
     # original data to be changed.
     stats = StatsAnalyzer(self.missing1, self.missing2)
     results = stats.analyze()
     assert_that(len(self.missing1.data.compressed()), is_(7))
     assert_that(len(self.missing2.data.compressed()), is_(7))
Example #3
0
def stats_cmd(main_arguments):
    """
    Main routine for handling calls to the statistics command.

    :param main_arguments: The command line arguments (minus the stats command)
    """
    from cis.stats import StatsAnalyzer
    from cis.data_io.gridded_data import GriddedDataList
    data_reader = DataReader()
    data_list = data_reader.read_datagroups(main_arguments.datagroups)
    analyzer = StatsAnalyzer(*data_list)
    results = analyzer.analyze()
    header = "RESULTS OF STATISTICAL COMPARISON:"
    note = "Compared all points which have non-missing values in both variables"
    header_length = max(len(header), len(note))
    print(header_length * '=')
    print(header)
    print(header_length * '-')
    print(note)
    print(header_length * '=')
    for result in results:
        print(result.pprint())
    if main_arguments.output:
        cubes = GriddedDataList([result.as_cube() for result in results])
        variables = []
        filenames = []
        for datagroup in main_arguments.datagroups:
            variables.extend(datagroup['variables'])
            filenames.extend(datagroup['filenames'])
        history = "Statistical comparison performed using CIS version " + __version__ + \
                  "\n variables: " + str(variables) + \
                  "\n from files: " + str(set(filenames))
        cubes.add_history(history)
        cubes.save_data(main_arguments.output)
Example #4
0
 def test_GIVEN_missing_values_WHEN_analyze_THEN_original_data_unchanged(
         self):
     # We perform some manipulation on the data masks, but we don't want the
     # original data to be changed.
     stats = StatsAnalyzer(self.missing1, self.missing2)
     results = stats.analyze()
     assert_that(len(self.missing1.data.compressed()), is_(7))
     assert_that(len(self.missing2.data.compressed()), is_(7))
Example #5
0
 def test_GIVEN_flattened_and_unflattened_datasets_WHEN_analyze_THEN_StatisticsResults_returned(self):
     data1 = mock.make_regular_2d_ungridded_data()
     data2 = mock.make_regular_2d_ungridded_data()
     data2._data = data2.data_flattened
     for coord in data2.coords():
         coord._data = coord.data_flattened
     stats = StatsAnalyzer(data1, data2)
     results = stats.analyze()
     assert_that(len(results), is_(14))
Example #6
0
 def test_GIVEN_flattened_and_unflattened_datasets_WHEN_analyze_THEN_StatisticsResults_returned(
         self):
     data1 = mock.make_regular_2d_ungridded_data()
     data2 = mock.make_regular_2d_ungridded_data()
     data2._data = data2.data_flattened
     for coord in data2.coords():
         coord._data = coord.data_flattened
     stats = StatsAnalyzer(data1, data2)
     results = stats.analyze()
     assert_that(len(results), is_(14))
Example #7
0
 def test_GIVEN_datasets_WHEN_analyze_THEN_StatisticsResults_returned(self):
     stats = StatsAnalyzer(self.data1, self.data2)
     results = stats.analyze()
     assert_that(len(results), is_(14))
Example #8
0
 def test_GIVEN_datasets_WHEN_analyze_THEN_StatisticsResults_returned(self):
     stats = StatsAnalyzer(self.data1, self.data2)
     results = stats.analyze()
     assert_that(len(results), is_(14))