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 and inkscape 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 compiling 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.
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:
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 byftnchek
using the-vcg
flag and converted to something useful using a thing called yComp and inkscape to handle conversion to PDF and png. The original README files have been deleted (git rm ...) .doc/
folder, there is ajson/
subfolder which contain dictionaries of the parameters that are passed around via json files (i.e. the parameters that used to be passed around viamodN.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.PAR/
andMATH/
suppress the use of-Wall
. InPAR/
, the filessequential.f
contains a bunch of dummy routines that take arguments but do nothing, so compiling with-Wall
is noisy without being helpful. The routines inMATH/
are all well tested, particularlylu.f
from LAPACK. While a few of them put up warnings, I thought they could be safely suppressed.