[Ifeffit] energy scale when averaging data

Bruce Ravel bravel at anl.gov
Fri Sep 7 11:47:35 CDT 2007

On Friday 07 September 2007, Matthew Ginder-Vogel wrote:
> I have a very large number of data files (>10,000) that I'm trying to
> average using Ifeffit. However, I'm having trouble coming up with the
> energy scale for the averaged file. The energy scale for each individual
> file is very similar, but not identical, so I'm not sure if it is the best
> idea to use the energy scale of a single file as the energy scale for the
> averaged file.  I'm sure that I'm not the first person to deal with this
> problem, so I'm interested to hear how other people deal with this problem.
> I'm also sure that Bruce has already come up with a clever way of dealing
> with this problem in Athena, but unfortunately loading 50 files at a time
> into Athena to average is a too slow a process. So I'd rather do them 50 at
> a time from the command line.

Hi Matt,

Any strategy will involve interpolating onto the energy grid that you
decide is *the* energy grid.  Two sensible choices include: (1) the
energy grid of the first file in the list, and (2) an arbitrary energy
grid that you establish ahead of time with grid spacings that make you
happy.  You then need to interpolate each file onto that grid before
adding it to the merge.  

That is exactly what happens in Athena when you merge.  You are, of
course, correct in your conclusion that Athena is not the right tool
for the job of merging thousands of files.  Writing an ifeffit script
or (probably better) a python or perl script using the swig wrapper is
definately the way to go.

Load a few files into Athena and merge them while looking at the
ifeffit buffer (Edit menu).  The ifeffit commands for doing the merge
will go flying by.  That might help short-circuit the problem of
figuring out all the kooky ifeffit commands.

And be careful about Ifeffit's memory.  You most certainly do not want
to use a separate ifeffit group for each data set in an ensemble of
that tize.  You *will* run out of memory.  Much better would be to
keep a running average and to use the same ifeffit group every time
you read in a data file.

Good luck!

 Bruce Ravel  ---------------------------------------------- bravel at anl.gov

 Molecular Environmental Science Group, Building 203, Room E-165
 MRCAT, Sector 10, Advanced Photon Source, Building 433, Room B007

 Argonne National Laboratory         phone and voice mail: (1) 630 252 5033
 Argonne IL 60439, USA                                fax: (1) 630 252 9793

 My homepage:    http://cars9.uchicago.edu/~ravel 
 EXAFS software: http://cars9.uchicago.edu/~ravel/software/

More information about the Ifeffit mailing list