Example #1
0
    def test_convert_kp_to_ap_bad_input(self):
        """ Test conversion of Kp to ap with bad input"""

        self.testInst.data.rename(columns={"Kp": "bad"}, inplace=True)

        with pytest.raises(ValueError):
            kp_ap.convert_3hr_kp_to_ap(self.testInst)
Example #2
0
    def test_convert_kp_to_ap(self):
        """ Test conversion of Kp to ap"""

        kp_ap.convert_3hr_kp_to_ap(self.testInst)

        assert '3hr_ap' in self.testInst.data.columns
        assert '3hr_ap' in self.testInst.meta.keys()
        assert self.testInst['3hr_ap'].min() >= self.testInst.meta[
            '3hr_ap'][self.testInst.meta.labels.min_val]
        assert self.testInst['3hr_ap'].max() <= self.testInst.meta[
            '3hr_ap'][self.testInst.meta.labels.max_val]
Example #3
0
    def test_convert_ap_to_kp(self):
        """ Test conversion of ap to Kp"""

        kp_ap.convert_3hr_kp_to_ap(self.testInst)
        kp_out, kp_meta = kp_ap.convert_ap_to_kp(self.testInst['3hr_ap'])

        # Assert original and coverted there and back Kp are equal
        assert all(abs(kp_out - self.testInst.data['Kp']) < 1.0e-4)

        # Assert the converted Kp meta data exists and is reasonable
        assert 'Kp' in kp_meta.keys()
        assert kp_meta['Kp'][kp_meta.labels.fill_val] == -1

        del kp_out, kp_meta
Example #4
0
    def test_convert_kp_to_ap_fill_val(self):
        """ Test conversion of Kp to ap with fill values"""

        # Set the first value to a fill value, then calculate ap
        fill_val = self.testInst.meta.labels.fill_val
        self.testInst['Kp'][0] = self.testInst.meta['Kp'][fill_val]
        kp_ap.convert_3hr_kp_to_ap(self.testInst)

        # Test non-fill ap values
        assert '3hr_ap' in self.testInst.data.columns
        assert '3hr_ap' in self.testInst.meta.keys()
        assert self.testInst['3hr_ap'][1:].min() >= self.testInst.meta[
            '3hr_ap'][self.testInst.meta.labels.min_val]
        assert self.testInst['3hr_ap'][1:].max() <= self.testInst.meta[
            '3hr_ap'][self.testInst.meta.labels.max_val]

        # Test the fill value in the data and metadata
        assert np.isnan(self.testInst['3hr_ap'][0])
        assert np.isnan(self.testInst.meta['3hr_ap'][fill_val])

        del fill_val
Example #5
0
    def test_convert_ap_to_kp_fill_val(self):
        """ Test conversion of ap to Kp with fill values"""

        # Set the first Kp value to a fill value
        fill_val = self.testInst.meta.labels.fill_val
        self.testInst['Kp'][0] = self.testInst.meta['Kp', fill_val]

        # Calculate ap
        kp_ap.convert_3hr_kp_to_ap(self.testInst)

        # Recalculate Kp from ap
        kp_out, kp_meta = kp_ap.convert_ap_to_kp(
            self.testInst['3hr_ap'],
            fill_val=self.testInst.meta['Kp', fill_val])

        # Test non-fill ap values
        assert all(abs(kp_out[1:] - self.testInst.data['Kp'][1:]) < 1.0e-4)

        # Test the fill value in the data and metadata
        assert np.isnan(kp_out[0])
        assert np.isnan(kp_meta['Kp'][fill_val])

        del fill_val, kp_out, kp_meta