示例#1
0
文件: test_math.py 项目: wk1984/ocgis
    def test_execute(self):
        field = self.get_field(with_value=True, month_count=2)
        field.add_variable(
            Variable(value=field['tmax'].get_value() + 5,
                     name='tmin',
                     dimensions=field['tmax'].dimensions))
        dv = Divide(field=field, parms={'arr1': 'tmax', 'arr2': 'tmin'})
        ret = dv.execute()
        self.assertNumpyAllClose(
            ret['divide'].get_value(),
            field['tmax'].get_value() / field['tmin'].get_value())

        with self.assertRaises(SampleSizeNotImplemented):
            Divide(field=field,
                   parms={
                       'arr1': 'tmax',
                       'arr2': 'tmin'
                   },
                   calc_sample_size=True)
示例#2
0
文件: test_math.py 项目: wk1984/ocgis
 def test_execute_temporal_grouping(self):
     field = self.get_field(with_value=True, month_count=2)
     field.add_variable(
         Variable(value=field['tmax'].get_value() + 5,
                  name='tmin',
                  dimensions=field['tmax'].dimensions))
     grouping = ['month']
     tgd = field.temporal.get_grouping(grouping)
     dv = Divide(field=field,
                 parms={
                     'arr1': 'tmax',
                     'arr2': 'tmin'
                 },
                 tgd=tgd)
     ret = dv.execute()
     self.assertEqual(ret['divide'].get_value().shape, (2, 2, 2, 3, 4))
     self.assertNumpyAllClose(
         ret['divide'].get_masked_value()[0, 1, 1, :, 2],
         np.ma.array([0.0833001563436, 0.0940192653632, 0.0916398919876],
                     mask=False,
                     fill_value=1e20))