[Ifeffit] a caveat for Demeter 0.9.18 and Athena project files

Bruce Ravel bravel at bnl.gov
Tue Aug 27 13:24:28 CDT 2013


Hi everyone,

There is one feature of the new version of Athena that requires some
explanation.  I discovered a programming error in Athena that has
existed for a long time and which made it difficult to add new
features to Athena.

In order to accommodate three features in this release (as well as
future improvements), I had to make a change to the contents of the
Athena project file and a corresponding change to how Athena reads
them.

The result of this is that a project file written by version 0.9.18
cannot be read by earlier versions of Athena.

To manage a situation where you need to send a project file to someone
who has not yet upgraded to 0.9.18, it is possible to explicitly ask
Athena to write a project file that is backwards compatible.  This is
done by checking the "Backwards compatibility" check button in the File
menu, as shown in the attached screenshot.  Check that button, then
re-save the project file.

Athena project files exported this way will lose a small amount of
information, but they will be imported without trouble by earlier
versions of Athena.

I apologize in advance for any confusion.  I would not have made this
decision were I not convinced that the new functionality was worth the
potential confusion.

Regards,
B

PS: For the technical-minded, I'll explain the situation in more
detail.  The change involves dropping the use of this Perl module:

   https://metacpan.org/module/MooseX::StrictConstructor

I had been using that module to restrict the creation of new attributes
for the objects that contain a data group.  The effect of that module
is to terminate the program when it encounters an unknown attribute.
I don't quite recall why I decided that was the preferred behavior, but
it has been in place since the early releases of Demeter.

In 0.9.18 I needed to add three new attributes: an uncertainty in
energy shift after aligning, a normalization parameter that is in
Larch but not Ifeffit, and a flag related to processing dispersive XAS
data.  As I integrate Larch into Demeter, there will be more new Data
attributes.  Having made this change for this release, I do not
anticipate a similar problem in the future.

So, I had to bite the bullet and make this change that affects
backwards compatibility.  The check button for backwards compatible
project files simply filters out the three new attributes before
writing the project file, hence the small amount of information loss.


-- 
  Bruce Ravel  ------------------------------------ bravel at bnl.gov

  National Institute of Standards and Technology
  Synchrotron Science Group at NSLS --- Beamlines U7A, X24A, X23A2
  Building 535A
  Upton NY, 11973

  Homepage:    http://xafs.org/BruceRavel
  Software:    https://github.com/bruceravel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Athena [XAS data processing]_242.png
Type: image/png
Size: 88278 bytes
Desc: not available
URL: <http://millenia.cars.aps.anl.gov/pipermail/ifeffit/attachments/20130827/c5666437/attachment.png>


More information about the Ifeffit mailing list