ladisk / pyuff

This module defines an UFF class to manipulate with the UFF (Universal File Format) files.
Other
58 stars 40 forks source link

(UFF58 file)ValueError: could not convert string to float: '000E+00 0.000000000' #52

Closed Sunshinera closed 3 years ago

Sunshinera commented 3 years ago

Hi, When I use the statements like: _data = uff_file.readsets() data.items() print(data.items())

I have got the error as: _File ".site-packages\pyuff.py", line 1562, in _extract58 [float(line[13 (i + j) + 20 (i):13 (i + 1) + 20 (i + j)]) \ File ".site-packages\pyuff.py", line 1562, in [float(line[13 (i + j) + 20 (i):13 (i + 1) + 20 (i + j)]) \ ValueError: could not convert string to float: '000E+00 0.000000000'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File ".site-packages\pyuff.pypyuff.py", line 441, in read_sets dset.append(self._read_set(ii)) File "site-packages\pyuff.py", line 545, in _read_set dset = self._extract58(blockData) File ".site-packages\pyuff.py", line 1600, in extract58 raise UFFException('Error reading data-set #58b') pyuff.UFFException: Error reading data-set #58b

image

image

And the uff files shows like this -1 58 v2;227935 RML-03M4071-20200401-CYC-00003 21-06-03T03:21:06Z 227935-WTG01 NacDirAct;deg 0         0    0         0 AP                 0   0 NONE               0   0 4         1         0  0.00000E+00  0.00000E+00  0.00000E+00 17    0    0    0 Time                 s 1    0    0    0 NacDirAct            deg 0    0    0    0 NONE                 NONE 0    0    0    0 NONE                 NONE 0.000000000000E+00  1.848999938965E+02

And I don't know what I should do next. Pls give me a hand! Thank you very much.

jankoslavic commented 3 years ago

The data does not look ok. With regard to the header there should be uneven data (double precision) real double uneven 2(E13.5,E20.12)

For details see the standard: https://www.ceas3.uc.edu/sdrluff/view.php

Sunshinera commented 3 years ago

Thanks a lot!