Happy New Year Everyone, I've just posted a new release of Ifeffit: 1.0076. This has many small fixes and added features, including: - fixed plotting bug in which all legends were not always shown - added 'unguess' command - added 'window' command (generate an FT window without actually doing the FT) - fixed a bug in reading 1-row data files - allow (consistently) '&', ':', and '?' in variable and group names - added the math functions nofx(), join(), and slice() for array manipulations - further tweaks to configuration procedure. There are a few more details are in the ChangeLog. I hope to get changes to the Reference Manual posted within a week. The Windows installer now includes the current versions of Athena, Artemis, Atoms, SixPack, and GIFEFFIT. I have not tried this version on Mac OS X. The installation using Fink and PGPLOT (not to mention Perl/Tk for Athena and Artemis) on Mac OS 10.2 seems especially fragile. For future work, the changes at the top of my list include: - adding an automated way to have feffit() apply more than 1 k-weight at a time, to help overcome the k-dependent biases due to the high correlations of XAFS parameters. - trying to improve the pre-edge subtraction and normalization algorithms. - getting the docs up-to-date. - working on changing the interface of Feff6 so that it can be included in Ifeffit. The still seem to be unresolved issues with QEXAFS data, and probably other things that should be done. Suggestions for improvements or added features are welcome. In fact, I'd like to ask everyone to think about what features you'd like to see added or changed. Thanks, --Matt Newville
Matt: I have had a problem install in the perl wrappers in ifeffit 1.0076. It seems to have a problem in the "perl Makefile.pl" command. This breaks athena. Right now I am not at a computer that has an installation but I can send more info later if you like. Carlo On Wed, 22 Jan 2003, Matt Newville wrote:
Happy New Year Everyone,
I've just posted a new release of Ifeffit: 1.0076. This has many small fixes and added features, including: - fixed plotting bug in which all legends were not always shown - added 'unguess' command - added 'window' command (generate an FT window without actually doing the FT) - fixed a bug in reading 1-row data files - allow (consistently) '&', ':', and '?' in variable and group names - added the math functions nofx(), join(), and slice() for array manipulations - further tweaks to configuration procedure.
There are a few more details are in the ChangeLog. I hope to get changes to the Reference Manual posted within a week.
The Windows installer now includes the current versions of Athena, Artemis, Atoms, SixPack, and GIFEFFIT.
I have not tried this version on Mac OS X. The installation using Fink and PGPLOT (not to mention Perl/Tk for Athena and Artemis) on Mac OS 10.2 seems especially fragile.
For future work, the changes at the top of my list include: - adding an automated way to have feffit() apply more than 1 k-weight at a time, to help overcome the k-dependent biases due to the high correlations of XAFS parameters. - trying to improve the pre-edge subtraction and normalization algorithms. - getting the docs up-to-date. - working on changing the interface of Feff6 so that it can be included in Ifeffit.
The still seem to be unresolved issues with QEXAFS data, and probably other things that should be done. Suggestions for improvements or added features are welcome. In fact, I'd like to ask everyone to think about what features you'd like to see added or changed.
Thanks,
--Matt Newville
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
-- Carlo U. Segre -- Professor of Physics Associate Dean for Research, Armour College Illinois Institute of Technology Voice: 312.567.3498 Fax: 312.567.3494 Carlo.Segre@iit.edu http://www.iit.edu/~segre
On Fri, 24 Jan 2003, "Carlo U. Segre"
said:
CUS> Matt: CUS> I have had a problem install in the perl wrappers in ifeffit CUS> 1.0076. It seems to have a problem in the "perl Makefile.pl" CUS> command. CUS> This breaks athena. Right now I am not at a computer that has CUS> an installation but I can send more info later if you like. Carlo, What happens if you reinstall Athena after upgrading ifeffit? That is, unpack an horae tarball, and do the standard perl Makefile.PL; make; make install incantation. B -- Bruce Ravel ----------------------------------- ravel@phys.washington.edu Code 6134, Building 3, Room 222 Naval Research Laboratory phone: (1) 202 767 5947 Washington DC 20375, USA fax: (1) 202 767 1697 NRL Synchrotron Radiation Consortium (NRL-SRC) Beamlines X11a, X11b, X23b, X24c, U4b National Synchrotron Light Source Brookhaven National Laboratory, Upton, NY 11973 My homepage: http://feff.phys.washington.edu/~ravel EXAFS software: http://feff.phys.washington.edu/~ravel/software/exafs/
that is when I had the problems. I reinstalled 1.0075a without reinstalling horae and it worked again. Carlo On Fri, 24 Jan 2003, Bruce Ravel wrote:
On Fri, 24 Jan 2003, "Carlo U. Segre"
said: CUS> Matt:
CUS> I have had a problem install in the perl wrappers in ifeffit CUS> 1.0076. It seems to have a problem in the "perl Makefile.pl" CUS> command.
CUS> This breaks athena. Right now I am not at a computer that has CUS> an installation but I can send more info later if you like.
Carlo,
What happens if you reinstall Athena after upgrading ifeffit? That is, unpack an horae tarball, and do the standard perl Makefile.PL; make; make install incantation.
B
-- Carlo U. Segre -- Professor of Physics Associate Dean for Research, Armour College Illinois Institute of Technology Voice: 312.567.3498 Fax: 312.567.3494 Carlo.Segre@iit.edu http://www.iit.edu/~segre
Bruce: I have had a chance to try the reinstallation and I was able to avoid the errors by first doing an unistall of ifeffit and the perl wrappers. It worked fine even when I installed ifeffit 1.0075a, horae and ifeffit-1.0076 in that order. I also tried it on a computer where I had the perl wrappers installed from a previous version of ifeffit and it worked OK. I guess taht the only case in which it fails is when the perl wrappers from 1.0076 are installed and not uninstalled. By the way, I really like the horae_install script. I am not an expert in shell scripting but if I can help keeping it working, I would be happy to. Carlo On Fri, 24 Jan 2003, Bruce Ravel wrote:
On Fri, 24 Jan 2003, "Carlo U. Segre"
said: CUS> Matt:
CUS> I have had a problem install in the perl wrappers in ifeffit CUS> 1.0076. It seems to have a problem in the "perl Makefile.pl" CUS> command.
CUS> This breaks athena. Right now I am not at a computer that has CUS> an installation but I can send more info later if you like.
Carlo,
What happens if you reinstall Athena after upgrading ifeffit? That is, unpack an horae tarball, and do the standard perl Makefile.PL; make; make install incantation.
B
-- Carlo U. Segre -- Professor of Physics Associate Dean for Research, Armour College Illinois Institute of Technology Voice: 312.567.3498 Fax: 312.567.3494 Carlo.Segre@iit.edu http://www.iit.edu/~segre
CS> By the way, I really like the horae_install script. I am not an
CS> expert in shell scripting but if I can help keeping it working, I
CS> would be happy to.
Glad it worked out for you.
It currently works by my making sure to symlink "horae-latest.tar.gz"
to whatever the latest version of the tarball is and by making sure to
extract the HORAE file from the tar ball and place it, too, on the
server. I am a little worried about my actually remembering to do the
things each time!
Attached is an improvement (even though I said I wasn't going to work
on it -- I get obsessed and can't really help myself ;-) It uses wget
to fetch a listing of the directory where the tarballs live and
determines the most recent version to download. That seems easier for
me.
The script is highly dependent on wget. That could be a problem on
non-linux unix machines. One obvious improvement would be to allow
using some other program to grab the file. Another possibility would
be to write a similar script in perl or python so you could build a
web client right into the script.
Let me know if this works for you and I'll post it on the web site.
B
#!/bin/sh
#
# This file will attempt to download the Horae tarball
# and then build it for a linux system. This was cribbed
# from Matt Newville's PGPLOT_install script
#
# syntax: HORAE_install
#
# This may need customization for some systems
#
# verified on: linux
#
dir=`pwd`
logfile=$dir/HORAE_install.log
wget=/usr/bin/wget
ncftp=/usr/bin/ncftp
ftp=/usr/bin/ftp
do_log=0
# set horae file locales
#
horae_site='feff.phys.washington.edu'
horae_url="http://$horae_site/~ravel/"
horae_dir='software/exafs/packages/'
horae_file='horae-latest.tar.gz'
horae_version='HORAE'
horae_index="$horae_site/%7Eravel/$horae_dir/index.html"
if [ ! -f $wget ] ; then
echo "This script requires wget for downloading the horae package"
echo "you can grab the source code tarball for wget from"
echo " ftp://ftp.gnu.org/pub/gnu/wget/"
exit 1
fi
# # get command line options
# for opt
# do
# option=''
# case "$opt" in
# -*=*)
# optarg=`echo "$opt" | sed 's/[-_a-zA-Z0-9]*=//'`
# option=`echo "$opt" | sed 's/=.*//' | sed 's/-*//'`
# ;;
# *)
# option=`echo "$opt" | sed 's/^-*//'`
# optarg=
# ;;
# esac
# case "$option" in
# prefix) prefix=$optarg ;;
# system) system=$optarg ;;
# no-clean) do_clean=0 ;;
# no-log) do_log=0 ;;
# with-png) with_png=1 ;;
# with-gif) with_gif=1 ;;
# no-png) with_png=0 ;;
# no-gif) with_gif=0 ;;
# -help | --help | help) cat<
Hi Bruce, Horae_install is very nice. As Tsu-Chien originally suggested, making an installer similar to PGPLOT_install will make installation easier on everyone. Like you pointed out, using wget is a possible problem. I see a few possible improvements. First, since leonardo has no ftp support and wget is not installed everywhere, we could use a cars.aps.anl.gov machine that is open for anonymous ftp. That would mean a script here to mirror the directory on leonardo, but that isn't difficult and only has to work between two machines. If I did this, I'd probably also keep a local copy of the latest SixPACK. Second, since installing the horae implies that perl is installed and working, Horae_install could be a perl script. Then it wouldn't have to rely on the wget, ncftp, or ftp system programs, just standard perl modules (NET::HTTP or something similar). PGPLOT_install is in shell-script because it needs to work on systems without perl or python (there are some!). By convention, installation scripts used by configure and make use the 'sh' shell because it works everywhere. I don't have a strong preference for these two choices (shell script and an ftp mirror, or an installer that doesn't need wget). The 'do it in perl' variation has another potential benefit: automated update notices when athena/artemis are run. That is, athena could try to check the web page, and if there's a newer version, ask if you'd like to install it. That's more work for the application, but might even work for windows binaries.... --Matt
Hi Carlo, Like Bruce suggests, I think the recommended install procedure for athena, and the perl modules is now 1. install the ifeffit library -- but not the perl module -- from ifeffit-1.0076.tar.gz configure ; make ; make install 2. download horae-latest.tar.gz and install using perl Makefile.PL ; make ; make install It is OK if I just remove the perl module from the source kit so there's no potential conflict with horae? If not, I should probably keep the perl module in the distribution up to date with the horae!! --Matt
On Fri, 24 Jan 2003, Matt Newville
said:
MN> It is OK if I just remove the perl module from the source kit so MN> there's no potential conflict with horae? If not, I should MN> probably keep the perl module in the distribution up to date with MN> the horae!! As you wish. I actually would suggest leaving the perl wrapper in the ifeffit distro for the sake of anyone who wants to use perl and ifeffit but does not want to use athena. However, you definately should make sure that ifeffit keeps up to date with horae. And you should make it so that the perl wrapper is not built by default. Indeed, you may want the Makefile to spit out a message either after "make" or "make install" giving the user a hint about perl and python goodies. I don't think I made any changes to Ifeffit.pm or the wrapper program since I started including them in the harae tarball, so I don't think it is an issue this time. I think the problem Carlo saw was some kind of library version skew. B -- Bruce Ravel ----------------------------------- ravel@phys.washington.edu Code 6134, Building 3, Room 222 Naval Research Laboratory phone: (1) 202 767 5947 Washington DC 20375, USA fax: (1) 202 767 1697 NRL Synchrotron Radiation Consortium (NRL-SRC) Beamlines X11a, X11b, X23b, X24c, U4b National Synchrotron Light Source Brookhaven National Laboratory, Upton, NY 11973 My homepage: http://feff.phys.washington.edu/~ravel EXAFS software: http://feff.phys.washington.edu/~ravel/software/exafs/
Hi Dr. Newville,
MN> It is OK if I just remove the perl module from the source kit so MN> there's no potential conflict with horae? If not, I should MN> probably keep the perl module in the distribution up to date with MN> the horae!!
ifeffit but does not want to use athena. However, you definately should make sure that ifeffit keeps up to date with horae. And you should make it so that the perl wrapper is not built by default.
Will it be easier to create a HORAE_install script like PGPLOT_install than keeping it up-to-date? Just an idea... Tsu-Chien <Chien>001000</Chien>
On Fri, 24 Jan 2003, Tsu-Chien Weng
said:
TW> Hi Dr. Newville, MN> It is OK if I just remove the perl module from the source kit so MN> there's no potential conflict with horae? If not, I should MN> probably keep the perl module in the distribution up to date with MN> the horae!!
ifeffit but does not want to use athena. However, you definately should make sure that ifeffit keeps up to date with horae. And you should make it so that the perl wrapper is not built by default.
TW> Will it be easier to create a HORAE_install script like TW> PGPLOT_install than keeping it up-to-date? Just an idea... My codes and PGPLOT do not occupy similar places in the Ifeffit universe. PGPLOT is the plotting backend that Ifeffit uses. It typically only needs to be installed once, prior to the first time that you install any version of Ifeffit. When you upgrade Ifeffit, you should normally not need to touch PGPLOT. Horae, on the other hand, is my package of wrappers around Ifeffit's core of functionality. That is, it is a front end to Ifeffit. What's more, I tend to release new versions of the horae package a couple times a month, whereas Matt has been releasing new versions of the Ifeffit library only every few months. It is, therefore, the case that you will want to upgrade horae much more often that ifeffit. This is contrast to pgplot, which you will upgrade much less often than Ifeffit. Matt and I made a considered decision to have horae be separate from the ifeffit package. Part of that decision was due to a bug in perl's build system which was making it difficult to install ifeffit and horae in one fell swoop, but part of the decision was that my upgrade cycle is so very much faster. I really want to encourage people to keep up with my releases rather than waiting for Matt to get around to releasing a new version of the whole thing. In any case, a script like you suggest could be made, but it really is not very necessary. It is not so difficult to find, download, and build my stuff. This is another difference from PGPLOT, which is quite a chore to correctly build. B -- Bruce Ravel ----------------------------------- ravel@phys.washington.edu Code 6134, Building 3, Room 222 Naval Research Laboratory phone: (1) 202 767 5947 Washington DC 20375, USA fax: (1) 202 767 1697 NRL Synchrotron Radiation Consortium (NRL-SRC) Beamlines X11a, X11b, X23b, X24c, U4b National Synchrotron Light Source Brookhaven National Laboratory, Upton, NY 11973 My homepage: http://feff.phys.washington.edu/~ravel EXAFS software: http://feff.phys.washington.edu/~ravel/software/exafs/
Hi,
TW> Will it be easier to create a HORAE_install script like TW> PGPLOT_install than keeping it up-to-date? Just an idea...
This is a fine idea. Sure, horae may get updated more frequently than the ifeffit library, but a script to grab the latest horae and install it would mean that I wouldn't have to keep the perl module up-to-date and could allow the latest athena, artemis to be easily installed and upgraded at any time. Of course, Athena/Artemis could also notify when updates are available or use the perl package manager. Such a script doesn't seem very hard to me. --Matt
Hi folks, Following Tsu-Chien's and Matt's suggestions, I threw together an "HORAE_install" script. I cribbed this together by hacking at Matt's PGPLOT_install script for about an hour this afternoon. I offer this for the unix people on this list to play around with. It seems to work for me on my linux machine, but I make no promises that it will work for anyone else. It uses wget to fetch the horae tarball, then unpacks and builds the goods. If you are root, it also installs athena and artemis. Otherwise, you need to become root and do the "make install" step by hand. Because the horae tarball is on a web site and not an ftp site, the HORAE_install script does not have the option of falling back on ncftp and ftp (as does PGPLOT_install) if wget is not installed on your system. No wget, and it won't work. In principle, I could use lynx or even mozilla as a fallback, but as I said I only spent an hour hacking at this. I may or may not work anymore on this script, so I would be thrilled if someone else wanted to maintain it. If so, contact me. I'll see to it that this script continues to work as I make new releases of the horae tarball. (That is, I'll update the symlink and the small file that the installation script looks for on my website.) Here's the URL: http://leonardo.phys.washington.edu/~ravel/software/exafs/packages/HORAE_ins... B -- Bruce Ravel ----------------------------------- ravel@phys.washington.edu Code 6134, Building 3, Room 222 Naval Research Laboratory phone: (1) 202 767 5947 Washington DC 20375, USA fax: (1) 202 767 1697 NRL Synchrotron Radiation Consortium (NRL-SRC) Beamlines X11a, X11b, X23b, X24c, U4b National Synchrotron Light Source Brookhaven National Laboratory, Upton, NY 11973 My homepage: http://feff.phys.washington.edu/~ravel EXAFS software: http://feff.phys.washington.edu/~ravel/software/exafs/
I see now. I guess that I wasn't paying attention to the new instructions. I will try this againi and see what happens. Carlo On Fri, 24 Jan 2003, Matt Newville wrote:
Hi Carlo,
Like Bruce suggests, I think the recommended install procedure for athena, and the perl modules is now
1. install the ifeffit library -- but not the perl module -- from ifeffit-1.0076.tar.gz configure ; make ; make install 2. download horae-latest.tar.gz and install using perl Makefile.PL ; make ; make install
It is OK if I just remove the perl module from the source kit so there's no potential conflict with horae? If not, I should probably keep the perl module in the distribution up to date with the horae!!
--Matt
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
-- Carlo U. Segre -- Professor of Physics Associate Dean for Research, Armour College Illinois Institute of Technology Voice: 312.567.3498 Fax: 312.567.3494 Carlo.Segre@iit.edu http://www.iit.edu/~segre
participants (4)
-
Bruce Ravel
-
Carlo U. Segre
-
Matt Newville
-
Tsu-Chien Weng