[Ifeffit] Larch import error

Matt Newville newville at cars.uchicago.edu
Tue Sep 10 10:11:18 CDT 2019


Hi Chris,


On Tue, Sep 10, 2019 at 6:52 AM Patridge, Christopher <patridgc at dyc.edu>
wrote:

> Good morning,
>
> I have OSX Larch installed and attempting to open XAS data files.  It
> cannot read the file and Larch returns an error:
>
> Error trying to read
> '/Users/DrPatridge/Desktop/2019-03-21/CaVO_50-40-10_vs_Zn.002':
>
>     _tmp_file_ =
> read_xdi('/Users/DrPatridge/Desktop/2019-03-21/CaVO_50-40-10_vs_Zn.002')
>              ^^^
>    File /Users/DrPatridge/.larch/init.lar, line 1
>   File "/xraylarch/share/larch/plugins/io/xdi.py", line 258, in read_xdi
>     xdif = XDIFile(filename, labels=labels)
>   File "/xraylarch/share/larch/plugins/io/xdi.py", line 124, in __init__
>     self.read(self.filename)
>   File "/xraylarch/share/larch/plugins/io/xdi.py", line 165, in read
>     mvals = tostrlist(xdi.meta_values,   self.nmetadata)
>   File "/xraylarch/share/larch/plugins/io/xdi.py", line 65, in Py3tostrlist
>     return [str(i, 'ASCII') for i in
> (nitems*c_char_p).from_address(address)]
>   File "/xraylarch/share/larch/plugins/io/xdi.py", line 65, in <listcomp>
>     return [str(i, 'ASCII') for i in
> (nitems*c_char_p).from_address(address)]
>
> UnicodeDecodeError: ('ascii', b'3.1356369 \xc3\x85', 10, 11, 'ordinal not
> in range(128)’)
>
> Is this a plugin error or something else?  I attached one of the files if
> anyone could test?  I can open it in Athena.
>
>
Oh, yes I see that too.   Oddly enough this file (that contains UTF-8 text)
can be read with `read_ascii()` but fails with `read_xdi()`.

The XDI-reading failure there is basically because the Python wrapper
(stupidly) expects ASCII code.  Even fixing that, `read_xdi()` would fail
because it tries to set a numeric mono d_spacing, and we never tested
against having units on the d-spacing.   That's not due to the text
encoding, as even

   # Mono.d_spacing: 31.356369 Angstroms

would currently fail with `read_xdi()`.  But It would be OK with
`read_ascii()` (and I suspect that Athena isn't parsing that string for a
numerical d_spacing either).  These are all easy to fix (and just now
pushed to git master).

FWIW, we've battle-tested file-reading of many beamline data format
variations in Larch and XAS_Viewer over the summer and the next release
(should be soon, if building the Windows package goes smoothly) will read
many more beamline data files, and support older athena files, and have
this fix.

--Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://millenia.cars.aps.anl.gov/pipermail/ifeffit/attachments/20190910/5de875aa/attachment.html>


More information about the Ifeffit mailing list