xraypy/feff85exafs — pull request #15 by bruceravel (2014-09-09 20:22:31+00:00)
Title: quelch compiler warnings, versioning, call graphs

This is another big pull request. The most significant change in this PR is that many dozens of compiler warnings (under gfortran) have been squelched. Most importantly, all warnings about unused variables or dummy parameters have been removed. Given that one of our goals is to replace use of common blocks with long argument lists so as to simplify the problem of writing a C wrapper, it seemed prudent to sanitize unused and dummy variable warnings.

Along the way, I removed lots of other compiler warnings. Currently, and under gfortran, there are still 41 warnings. Of these 18 pertain to uninitialized variables and 23 warn about possible reduction in precision due to implicit type changes.

All unit tests pass after these changes, both with and without SCF.

Among other changes:

* output files now identify the version of feff as "Feff 8.50 for EXAFS" and also use a release number, currently set to 0.1.

* I made README.md files for each of the folders under `src/`. Some of the text was taken from the README files that came with the code dump from the FP. Each README.md displays a call graph for the code in that folder. The call graph was generated by `ftnchek` using the `-vcg` flag and converted to something useful using a thing called [yComp](http://pp.ipd.kit.edu/firm/yComp) and [inkscape](http://www.inkscape.org/) to handle conversion to PDF and png. The original README files have been deleted (git rm ...) .

* In the `doc/` folder, there is a `json/` subfolder which contain dictionaries of the parameters that are passed around via json files (i.e. the parameters that used to be passed around via `modN.inp`, `geom.dat`, `global.dat`, etc). I am not sure whether these will prove useful, but it seemed prudent to write down some notes on what all those parameters actually mean and do.

* Slight modification to the build scripts: in `PAR/` and `MATH/` suppress the use of `-Wall`. In `PAR/`, the files `sequential.f` contains a bunch of dummy routines that take arguments but do nothing, so sompiling with `-Wall` is noisy without being helpful. The routines in `MATH/` are all well tested, particularly `lu.f` from LAPACK. While a few of them put up warnings, I thought they could be safely suppressed.

* Removed a few other files that served no purpose.