Unfortunately I will most probably not have the time to complete these tasks, but these are some thoughts from a quick code review.
tcsh is a nightmare
Even bash would be a better alternative since it supports functions
Makefiles are fragile
CMake would speed things up and make testing on the CI more trivial
Under the current setup the actions configuration needs to patch the generated Config.mk to test gfortran and friends
Depending on how the first two points are addressed, unit testing on the CI should become much simpler, with a separate job for the long running tests
This will allow PRs which do not modify, say, COMPTON (the slowest) be merged even faster (i.e. without waiting for over an hour to see if it passes)
The code has comments, but they should be formatted for Doxygen (like LAPACK is), which could then be used to generate API documentation
Why?
I was at the Les Houches 2021 School on Multiple Scattering Greens functions (actually The Green’s function approach to multiple scattering theory in electronic structure and spectroscopies) and Prof. John Rehr spoke very highly of FEFF10. Plus it is the only truly FOSS spectroscopy code I came across here so I thought this would be good.
Unfortunately I will most probably not have the time to complete these tasks, but these are some thoughts from a quick code review.
tcsh
is a nightmarebash
would be a better alternative since it supports functionsMakefiles
are fragileCMake
would speed things up and make testing on the CI more trivialactions
configuration needs to patch the generatedConfig.mk
to testgfortran
and friendsDoxygen
(like LAPACK is), which could then be used to generate API documentationWhy?
I was at the Les Houches 2021 School on Multiple Scattering Greens functions (actually
The Green’s function approach to multiple scattering theory in electronic structure and spectroscopies
) and Prof. John Rehr spoke very highly of FEFF10. Plus it is the only truly FOSS spectroscopy code I came across here so I thought this would be good.