[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FEFF Output File Headers



Hi All,

In principle, any convention should be OK and a convention does
already exist.  And unless something can be done about updating
previous versions, analysis programs will have to accept the old
format for a long time.  Still, I vote against 'do nothing'.

I find the '@#' convention hard to deal with.  First, it comes at
the end of the comment lines, signaling that all the lines read
so far were comments, even if there were lines of numbers-only
columns seen (as some xmu.dat files do). Second, it means looking
at the end of line instead of the beginning, which can be tricky
when files move between Unix, Windows, and Mac.  I don't know of
any plotting programs (gnuplot, Kaleidagraph, IGOR, SigmaPlot,
Origin, or Excel) that has anything like the '@#' convention.

Putting # (or %, ;, !, ...)  in column 1 of output files should be
easy.  Any program that already uses feff.dat could easily be
modified to ignore column 1, I think.  If the license changes,
I'll donate fortran and C routines that reads these feff.dat
files with or without these characters in column 1.

Having other options to tailor the output files for plotting
program could be nice.  That's more work, but if the i/o were well
isolated it would be easy to add additional output formats.  For
example, some programs (Excel, Kaleidagraph) seem to work best
when a predictable number of lines are 'headers to ignore'.  So
letting the user specify the exact number of comment lines
(including none) would be a nice option, and easy to do, assuming
Feff had well isolated i/o.

Beyond that, Feff should be converted into a library of 'high
level functions' that can be used within customized applications.
This would allow Feff calculations to be done directly by analysis
programs that already have plotting capabilities, or used as parts
of Excel macros, VB script, Perl or Hypercard programs, etc.  In
that scenario, Feff doesn't need fancy i/o and can let the calling
program customize i/o (column labels in French, say), or provide a
simple routine to 'write a regular xmu.dat file'.

Again, my view is that putting '#' or something else in column 1
and simplifying the column labels is worthwhile, but I do not have
a strong preference for which details are adopted.  Whatever the
convention is (including the present), it should be documented,
and routines to read the files should be provided.  More than
that, and Feff should be converted from a a monolithic program
that attempts to satisfy everyone into a library of tools.

--Matt

|= Matthew Newville        mailto:newville@cars.uchicago.edu
|= GSECARS, Bldg 434A      voice: (630) 252-0431 / 1713
|= Argonne Natl Lab        fax:   (630) 252-0443
|= 9700 South Cass Ave     http://cars9.uchicago.edu/~newville/
|= Argonne, IL 60439 USA