I thought I had resolved this but now realise I was wrong.
So, the issue continues.
The variable declarations relevant to this are:
real(DP) :: fsolmass
character(20) :: arg
character(2) :: argAction
character(18) :: argValue
The whole select statement (so far) is…
if (command_argument_count() > 0) then
do i = 1, command_argument_count()
call get_command_argument(i, arg)
argAction = arg(1:2)
if (len(arg) > 2) then
argValue = arg(3:len(arg))
end if
select case (argAction)
case ("-a", "-A")
read(argValue, *) accmethod
case ("-b", "-B")
read(argValue, *) fburst
case ("-c", "-C")
read(argValue, *) corm
case ("-f", "-F")
read(argValue, *) filename
case ("-h", "-H")
call get_help()
stop
case ("-m", "-M")
massonly = .true.
case ("-s", "-S")
read(argValue, *) steps
case ("-t", "-T")
read(argValue, *) fsolmass
case default
print '(a,a,/)', 'Unrecognized CL option: ', argAction
call get_help()
stop
end select
end do
end if
With the -t
/-T
option being the issue.
I thought this was a casting issue, but integer values work in all the above instances, including for fsolmass
. If I put -t1
or -t2
then all works fine. However, if I put -t0.5
it fails.
DP
is defined as integer, parameter :: DP = kind(0d0)
I think that is everything.