It sees to me that the radial grid is quite useless except for the atomic code
and maybe PAW: the rest of QE may use only the grid in upf% and variable "msh"
Uninitialized variable when old PP formats are read was leading to a segfault
in parallel execution. It had gone unnoticed until now because upf% was a
pointer and was nullified at the beginning. Happens only on compilers that do
not set uninitialized logical variables to F (e.g., intel, but not gfortran)
The old restriction on allocatable arrays in derived type no longer applies,
so all pointers in the derived-type upf variables are converted to allocatable
1. Some upf variables, unused with old formats, explicitly set to false when old formats are read
2. Leftover debug printout removed
3. Test updated to prevent yet another bogus error in test-suite
questionable usefulness) in upf%grid%, and finally another one in module atom,
pointing to the former, or vice versa. The latter was set when the pseudo file
were read. I don't think this makes sense, so I removed upf%grid and set up the
grid in module atom after the upf variable is read.
BEWARE: not sure I correctly decyphered the (il)logic of grids in atomic/src/.
Additionally: fixed a few more glitches in the broadcast of upf%.
Most of the changes consist in small updates to Makefile and make.depend and
in the replacement of module "parameters" with "upf_params" whenever variables
lmaxx and lqmax are USEd. Routine "read_pseudo" moved back to Modules/;
"simpsn" moved to upflib/; a copy of "matches" temporarily added to upflib/
Note that everything compiles (except EPW) but nothing has been tested yet!