Skip to content

Commit 4e52f7d

Browse files
authored
Merge pull request #32 from sfinkens/fix-ch3-encoding
Fix channel 3 encoding
2 parents ceb31a8 + abc076d commit 4e52f7d

File tree

2 files changed

+27
-7
lines changed

2 files changed

+27
-7
lines changed

pygac_fdr/tests/test_writer.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@
1616
# You should have received a copy of the GNU General Public License along with
1717
# pygac-fdr. If not, see <http://www.gnu.org/licenses/>.
1818

19+
import numpy as np
1920
import unittest
20-
from pygac_fdr.writer import NetcdfWriter
21+
from pygac_fdr.writer import NetcdfWriter, DEFAULT_ENCODING
2122

2223

2324
class NetcdfWriterTest(unittest.TestCase):
@@ -27,3 +28,22 @@ def test_get_integer_version(self):
2728
self.assertEqual(writer._get_integer_version('1.2.3'), 123)
2829
self.assertEqual(writer._get_integer_version('12.3.4'), 1234)
2930
self.assertRaises(ValueError, writer._get_integer_version, '1.10.1')
31+
32+
def test_default_encoding(self):
33+
bt_range = np.arange(170, 330, 1, dtype='f8')
34+
refl_range = np.arange(0, 1.5, 0.1, dtype='f8')
35+
test_data = {
36+
'reflectance_channel_1': refl_range,
37+
'reflectance_channel_2': refl_range,
38+
'brightness_temperature_channel_3': bt_range,
39+
'reflectance_channel_3a': refl_range,
40+
'brightness_temperature_channel_3b': bt_range,
41+
'brightness_temperature_channel_4': bt_range,
42+
'brightness_temperature_channel_5': bt_range
43+
}
44+
for ch, data in test_data.items():
45+
enc = DEFAULT_ENCODING[ch]
46+
data_enc = ((data - enc['add_offset']) / enc['scale_factor']).astype(
47+
enc['dtype'])
48+
data_dec = data_enc * enc['scale_factor'] + enc['add_offset']
49+
np.testing.assert_allclose(data_dec, data, rtol=0.1)

pygac_fdr/writer.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,12 @@
6565
'_FillValue': FILL_VALUE_INT16,
6666
'zlib': True,
6767
'complevel': 4},
68-
'reflectance_channel_3': {'dtype': 'int16',
69-
'scale_factor': 0.01,
70-
'add_offset': 0,
71-
'_FillValue': FILL_VALUE_INT16,
72-
'zlib': True,
73-
'complevel': 4},
68+
'brightness_temperature_channel_3': {'dtype': 'int16',
69+
'scale_factor': 0.01,
70+
'add_offset': 273.15,
71+
'_FillValue': FILL_VALUE_INT16,
72+
'zlib': True,
73+
'complevel': 4},
7474
'reflectance_channel_3a': {'dtype': 'int16',
7575
'scale_factor': 0.01,
7676
'add_offset': 0,

0 commit comments

Comments
 (0)