diff --git a/speasy/core/codecs/bundled_codecs/istp_cdf.py b/speasy/core/codecs/bundled_codecs/istp_cdf.py index 8450d7af..7c12a6d3 100644 --- a/speasy/core/codecs/bundled_codecs/istp_cdf.py +++ b/speasy/core/codecs/bundled_codecs/istp_cdf.py @@ -16,7 +16,7 @@ from speasy.products import SpeasyVariable, VariableAxis, VariableTimeAxis, DataContainer log = logging.getLogger(__name__) -_PTR_rx = re.compile(r".*_PTR_\d+") +_PTR_rx = re.compile(r".*_PTR(_\d+)?") def _fix_value_type(value): diff --git a/tests/resources/ge_h0_cpi_00000000_v01.cdf b/tests/resources/ge_h0_cpi_00000000_v01.cdf new file mode 100644 index 00000000..79bd798d Binary files /dev/null and b/tests/resources/ge_h0_cpi_00000000_v01.cdf differ diff --git a/tests/test_codecs.py b/tests/test_codecs.py index e0a416b3..4ec52899 100644 --- a/tests/test_codecs.py +++ b/tests/test_codecs.py @@ -85,3 +85,18 @@ def test_variable_is_loaded(self): def test_variable_shape(self): self.assertEqual(self.v.values.shape, (24, 3)) + + +@ddt +class TestCDFWriterPtrAttributes(unittest.TestCase): + + @data( + (f"{__HERE__}/resources/ge_h0_cpi_00000000_v01.cdf", "cdf", "SW_V"), + ) + @unpack + def test_read_files(self, filename, codec_id, variable): + codec = get_codec(codec_id) + self.assertIsNotNone(codec) + data = codec.load_variable(variable, file=filename) + buffer = codec.save_variables([data]) + self.assertIsNotNone(buffer)