[Ifeffit] Reading individual data columns with ifeffit
Matt Newville
newville at cars.uchicago.edu
Fri Apr 4 16:53:10 CDT 2008
Hi Matt,
Like Bruce said, ifeffit always reads in the whole data file into data
arrays. We could change that....
If you're running out of data space, you can remove temporary arrays:
macro readbigfile file group
read_data($1, group=_tmp_, label='c1 c2 c3 c4')
set $2.energy = _tmp_.c1
set $2.i0 = _tmp_.c2
set $2.fe_01 = _tmp_.c3
# etc
erase @group _tmp_
end macro
readbigfile 'mydatafile.dat' 'mygroup'
(which will read everything and save what you want). This will
potentially use up a lot of space, which should then be freed. I
think that athena does this sort of trick (read to temporary
variables, then erase most of it) when reading in data for
multi-element detectors. (If you work hard at this and have large
enough data sets, you'll eventually bring ifeffit's crude data
management to its knees).
For what it's worth, the 'narrays' argument is for weirdly formatted
datafiles where 1 line / row does not correspond to 1 data point.
Oddly enough, it happens that data sometimes gets written to ASCII
files like this:
energy1 i01 it2 energy2 i02 it2 energy3 i03 it3
energy4 i04 it4 energy5 i05 it5 energy5 i05 it5
Apparently, that's from back in the days when newline characters were
considered wasteful.
--Matt
More information about the Ifeffit
mailing list