Matt,
You're right. I was too grouchy. Margaret Anne, I apologize if I was too mean-spirited in my emails over the weekend.I guess I explained it poorly, but it is not a MacPorts-only problem.
On 07/06/2014 05:54 PM, Matt Newville wrote:
Wait, what? What text string is configured to be only 256 characters?
Something must be very wrong with the Macports installation - this file
opens just fine for me, though I haven't tested it with the Macports
version.
The "read_data()" command in ifeffit uses a line length of 2048
characters, and should not crash on a longer line, but truncate lines to
2048 characters (silently, which is irritating when encountered, but not
as bad as crashing). I've written and used thousands of data files
with comment and data lines longer than 256 characters. I believe
there is (and should be) nothing in the code for reading data that sets
a limit as low as 256 characters (File names are allowed to be 512
characters!), and nothing that should cause a crash on larger lines.
Of course it's fine to use a plugin for specific file types, and
probably wise to not rely of ifeffit's read_data() for really big files
(though, again, I regularly read files of 35 to 40 columns without a
plugin). But this seems to me like its a Macports-only problem to me
that should be fixed.
It /opens/ just fine. That's not the problem.
It's a problem with iff_show, which Athena uses to fetch the names of the column labels after ifeffit reads the data file. Here's what happens if you exercise iff_show by hand:
bruce@atropos [demeter] > ifeffit
Ifeffit 1.2.11d Copyright (c) 2008 Matt Newville, Univ of Chicago
command-line shell version 1.1 with GNU Readline
Ifeffit> read_data (file="/home/bruce/Mn0214_7dMnO2_Header_exafsscan1.dat", group=a)
Ifeffit> show @strings
$plot_devices = /png /tpng /null /ps /vps /cps /vcps /xwindow /xserve
$plot_device = /xserve
$group = a
$commentchar = #
$&build = 1.2.11d Copyright (c) 2008 Matt Newville, Univ of Chicago
$&install_dir = /usr/local/share/ifeffit
$column_label = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
$column_label1 = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
$a_title_01 = S 1 exafsscan
$a_title_02 = C exafs_edge_energy 6.539
$a_title_03 = C exafs_region -150 -20 26 1 0 0 0
$a_title_04 = C exafs_region -20 34.1959 108 1 0 0 0
$a_title_05 = C exafs_region 34.1959 972.683 260 1 0 1 1.4
$a_title_06 = D Wed Feb 26 22:19:02 2014
$a_title_07 = T 4.58834 (Seconds)
$a_title_08 = G0 0
$a_title_09 = G1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
$a_title_10 = G3 0 0 0 0 0 0 0 0 0
$a_title_11 = G4 0
$a_title_12 = Q
$a_title_13 = P0 17.707645 -0.3425 33.862069 -0.80317213 -18.366667 0.175013 -0.175013 8.99922
$a_title_14 = P1 8.49884 8.74903 -5.0037582 8.74903 1.7763568e-14 0 3.5002457 9.4148
$a_title_15 = P2 -44.9992 -23.95 -30.75 97.52 19.252 -11.58 8.4175 -2.25125
$a_title_16 = P3 -5.11125 1.4875 0.7325 1.5 85 0 -600
$a_title_17 = N 57bruce@atropos [demeter] >
At line 436 of file iff_show.f
Fortran runtime error: End of record
Line 436 of iff_show is
write(messg,11) s(1:k), ' = ', t(1:j)
messg is defined just above that as character*256. I interpreted this as attempting to put a 330 character string in a character*256 variable. But, in truth, I did not examine the code all that closely.
I suppose I could have worked on fixing Ifeffit, but the plugin took way less time. And my time would be better spent making Demeter use Larch properly.
B
--
Bruce Ravel ------------------------------------ bravel@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
_______________________________________________
Ifeffit mailing list
Ifeffit@millenia.cars.aps.anl.gov
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit