I just ran into this issue and honestly, I consider it to be
very dangerous that the SPheno version generated by SARAH silently reads incorrect values from the SLHA input files if not every line follows the format “index, value, comment”, especially since this isn’t documented anywhere! This does not just affect matrices (like “BLOCK YUKAWA”), but every block, such as SPhenoInput. I just spent several days wondering why my settings in SPhenoInput didn’t work. The dangerous part is that every third index/value is
swallowed “at random” so that arbitrary entries are set to arbitrary values, potentially messing up important settings like conventions for other tools. If you’re unlucky, the results calculated in the end may be completely meaningless!
Note that as of version 4.0.3, SPheno itself (src/InputOutput.F90) does not have this issue. For example, in the subroutine Read_SPhenoInput (line 2092), there is
Code: Select all
Read(io,*,End=200) i_par,wert ! ,read_line
while in the SARAH-generated version, there is
Code: Select all
Read(io,*,End=200) i_par,wert,read_line
The additional “read_line” is commented out in src/InputOutput.F90, which leads to the correct behavior, while its presence in the SARAH version causes the problems explained above. The same goes for all the other subroutines in that file. So all I’m asking here is that the behavior of SARAH-generated SPheno versions should align with the current original SPheno.
One can easily get bitten by this problem when using other tools (such as
pySLHA) to process the SLHA files, which often strip or don’t insert any comments in the file.