Page 1 of 1

Non-zero Exit Code flag doesn't work

Posted: 23. Jan 2018, 06:57
by JPEllis
Hi,

Flag 80 in the SPHENOINPUT block should, I believe, ensure that SPheno exits with a non-zero exit code if a failure is encountered when the flag is set to 1. SPheno keeps giving a zero exit code, despite the having an error.

Checking through the source, a common way of terminating the program when an error is found is by calling the TerminateProgram subroutine; however, this subroutine does not ever check the value of Non_Zero_Exit (which is true when Flag 80 above is 1).

I'm not really familiar with Fortran, but I suspect that replacing

Code: Select all

  Stop "Subroutine TerminateProgram"
with

Code: Select all

  If (Non_Zero_Exit) Then
     Error Stop "Subroutine TerminateProgram"
  Else
     Stop "Subroutine TerminateProgram"
  End If
should fix it.

Josh