Re: [Ifeffit] Possible bug in atoms files generation by Artemis

2013-03-28 Thread Matt Newville
Hi Matthew,

On Thu, Mar 28, 2013 at 11:04 AM, Matthew Marcus  wrote:
> Many years back, when FEFF stopped being free, I was told that the decision
> was not Rehr's but forced by the university.  Blame them.
> It's always easier and more pleasant for us to blame faceless university
> beauraucrats than scientists anyway :-)

Sure.  I'm not actually trying to assign blame.  The license exists,
and we accept it.  I'm just pointing out that the license and format
are out of our control, and that they have real impacts.  We've
encouraged changes to be made, and would be happy to help in any way
we can.  Complaining further isn't really constructive.

> I agree that FEFF input is broken.  This was, perhaps, inevitable as FEFF
> evolved over the years.  It may be (I haven't studied the matter)
> that the old format, which was perfectly good in its day, simply can't
> accommodate new features just by adding new keywords.  I really
> can't blame the Project very much for changing the format.  Still, the
> formats are documented, so I don't buy the idea that nothing can be
> done with FEFF8 until the Project changes its format or goes open-source.

Well, sure.  In fairness, Bruce has tried to support both "Feff6" and
"Feff8" files for many years.  But it's certainly forgivable to not
support all features of every version, especially when there is no
support code provided for reading the input files, and there is little
communication about changes made.  Again, this is not saying that we
refuse to support versions of Feff until it is released in a way we
prefer, it's saying that we can't support things we don't know how to
support.

> I can understand a reluctance to go open-source because they
> now keep tight control over portability and the embodied physics, such that
> everybody knows exactly what 'we used FEFF8.4' means.  If it
> went open-source, it may be imagined that there'd be a proliferation of
> versions, some of them with dubious hacks.

I'm not worried about dubious hacks myself, but that's one possible
rationale for not choosing an open source model.   At this time, the
number of scientists both interested in X-ray spectroscopy and fluent
in Fortran is rapidly diminishing, so there are very fee people would
able and willing to work on Feff.  The code I've seen is not all that
well commented.   I'm more concerned that no one will be able to
maintain Feff than I am that someone will break it.

> One fix I could imagine the Project doing is to release as open-source an 
> input
> module for FEFF9, which is broken up into separate modules anyway.  That way,
> people could have whatever input format they wanted, but the integrity of FEFF
> would be preserved.

Maybe.  Bruce and I tried to pursue such a process many years ago.  We
begged them to make a library of modular routines that could be tied
together better, and to get rid of the damn control cards.  We tried,
we failed, we've given up and moved on.  We're not Feff developers,
and we don't have any special insight on new versions or any influence
on development.  Indeed, they've reinvented wheels (reading CIF files,
accessing remote servers) where they could have used Bruce's work and
chose not to do so.   When working on Bayesian analysis, they did not
consult with me until well after publishing, then sent a hacked
version of fefft  well after ifeffit was out, as if I should add it to
something.  It sits on my shelf still.   The Feff project very clearly
wants to not work with us.  Again, I don't mean to complain about
this, just trying to set the record straight.

--Matt
___
Ifeffit mailing list
Ifeffit@millenia.cars.aps.anl.gov
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit


Re: [Ifeffit] Possible bug in atoms files generation by Artemis

2013-03-28 Thread Matthew Marcus

Many years back, when FEFF stopped being free, I was told that the decision was 
not Rehr's but forced by the university.  Blame them.
It's always easier and more pleasant for us to blame faceless university 
beauraucrats than scientists anyway :-)

I agree that FEFF input is broken.  This was, perhaps, inevitable as FEFF 
evolved over the years.  It may be (I haven't studied the matter)
that the old format, which was perfectly good in its day, simply can't 
accommodate new features just by adding new keywords.  I really
can't blame the Project very much for changing the format.  Still, the formats 
are documented, so I don't buy the idea that nothing can be
done with FEFF8 until the Project changes its format or goes open-source.  I 
can understand a reluctance to go open-source because they
now keep tight control over portability and the embodied physics, such that 
everybody knows exactly what 'we used FEFF8.4' means.  If it
went open-source, it may be imagined that there'd be a proliferation of 
versions, some of them with dubious hacks.  One fix I could imagine
the Project doing is to release as open-source an input module for FEFF9, which 
is broken up into separate modules anyway.  That way, people
could have whatever input format they wanted, but the integrity of FEFF would 
be preserved.

As to dielectric response, what is the effect of improving that model on EXAFS 
predictions?  Does it affect the self-energy, hence
lifetime broadening and E0?  I knbow it affects XANES, but that's a whole other 
subject not covered by DemLarchTemis discussions.
mam
mam

On 3/27/2013 7:32 PM, Matt Newville wrote:

Hi Matthew, Bruce,


On Wed, Mar 27, 2013 at 10:33 AM, Matthew Marcus  wrote:

Some users do have FEFFx (x>6l) on their own, so it would be useful to
prepare Artemis/Demeter/Larch... for them and provide
methods for using higher versions if an executable is present.


I completely agree that this would be valuable, and that it's not
quite moot because many people do have Feff8 or Feff9 available to
them.

But, I also want to be clear that I totally agree with Bruce's point
on this as well.  It's really hard to support code that is actually
poorly defined and cannot be changed.  The Feff input file format is a
complete mess, and it's not Bruce's (or my) fault.  In fact, this *is*
what the original question was about.  Feff changed form one awful
form to another -- why is this Bruce's problem to solve? There is
no API or library provided for reading feff.inp.  We are forbidden
from changing it or redistributing a changed version of Feff8.   It
is, to be very clear,  the choice of the Feff project to break these
input files.If we had a "Feff8 for EXAFS" that could be relied
upon and redistributed, it would be a totally different story.   We
don't.

We've lobbied (begged) for changes in the i/o and freer access to the
code for many, many years.  I can't explain the restrictions in any
rational terms, fathom why this restriction is a priority for John or
anyone else, or understand how anyone who writes scientific software
would use anything except an open-source license.  I've given up on
pestering them about it.  I was told last summer that a version of
Feff8 for EXAFS that we can distribute would be made, but haven't
heard a thing about it since.  It could happen soon  that would be
great.  The license they use is their choice, and I respect that even
if I don't actually like their choice, and actually have real
reservations about the choice being solely theirs to make.
Ultimately, science will demand that all versions of Feff will be made
free or be forgotten.  It is completely believable that Feff6L will be
what is used twenty years from now.  I expect that Feff8 for XANES
calculations codes will never be made free and will be forgotten in
time.

I actually don't have a copy of Feff9.  Kevin J did a great job with
JFEFF, and emulating or including this approach of using a remote
cluster in the analysis codes would be interesting to think about.

From a practical point of view,  it would be easier to reproduce a

similar system than to have to argue about licensing.  Then again,
without the calculation engine being freely available, running it on a
cluster actually seems like a problem... wouldn't you need a license
key or something?  Right, sorry, the Feff license actually makes no
sense -- it's better to not think about this.


What does the multipole self-energy do?  Is that the thing that requires the
dielectric response?  As you point out, the purpose of
the exercise is to analyze unknowns, so by definition one doesn't have the
dielectric response.  We can't expect a program that runs on
a PC to do a proper, all-electrons, excited-state calculation.


Yes, the multipole self-energy uses a better model for the self-energy
based on the dielectric response of the system in the low (electron)
energy regime -- in short, how a "free" photo-electron will travel
through the multi