Forrtl severe (43) - file name specification error

99 views
Skip to first unread message

Rahul

unread,
Feb 2, 2023, 6:39:30 AM2/2/23
to FDS and Smokeview Discussions
Hello,

After a few seconds of initial run, I encounter this error in FDS 6.7.9. Can someone tell me what causes it and how can I fix it?

forrtl: severe (43): file name specification error, unit 17, file C:\Users\rk.janardhan\Projects\OngoingProjects\VecchiaRomagna\FireModels\Set4-230104\CompartimentoA\Scenario2_v2\CantinaA-S2_2_-19p**.q
ErrorCase.png

dr_jfloyd

unread,
Feb 2, 2023, 7:00:01 AM2/2/23
to FDS and Smokeview Discussions
The fie name being generated for the .q file has "**" in it. You can't have an * in a filename. In Fortran this will happen when a WRITE statement tries to output a number larger than the defined field width.  For example, if I define an output format that is a two digit number and try to put a three digit number in it, then the resulting output will be **. 

Looking at the source code the issue is we have a bug. The end of the .q name is the time the file is written with the bit after the p being two digits after the decimal point.  The code is defining this using:

   TT   = T_BEGIN + (T-T_BEGIN)*TIME_SHRINK_FACTOR
   ITM  = INT(TT)
   ITM1 = NINT(ABS(TT-ITM)*100)

ITM is the integer seconds. ITM1 is supposed to be the first two decimal places; however, NINT will round up. If ABS(TT-ITM)*100 >= 99.5, then the result will be 100 which won't fit in the two digit field. We should either be using INT which would turn 99.5 to 99 or be checking to see if ITM1=100 and in that case increasing ITM by 1 and setting ITM1 to zero. Surprised we haven't discovered this before.

Have you requested that .q files be written at regular intervals? If so, you could likely avoid this by slightly changing the output interval so you avoid writing a file at this timestep. You could also think about if you really need the .q files (for example you could write 3D slice files for the .q quantities) as not writing the files would also stop this.

If you didn't request that .q files be written, then this file is being opened due to a numerical instability. FDS writes .q files before stopping to try and help you determine where the instability is occuring. If this is the case look at the users guide for Numerical Instability Errors and see if anything there applies. If that all looks OK, if you geometry has thin obtstruction or a lot of sealed pressure zones you can try tightening the pressure solver tolerance.

Rahul

unread,
Feb 2, 2023, 9:19:03 AM2/2/23
to FDS and Smokeview Discussions
Thank you for the explanation. Now, I understand the issue.

I don't think it is a numerical instability as the error occurs in the initialization phase when there is no fire. I had set a T_BEGIN= -30 for initializing the flow in the domain and the error was occurring when simulation reached -20 s.
 I was requesting .q files every 10 seconds and FDS was trying to output the .q file at -20 seconds.
I am running the case without outputting .q files and I haven't encountered the issue this time.

The issue would have popped up sooner than later as it seems like more users are outputting .q files nowadays.
The interesting thing is that when I set T_BEGIN=-10, this issue did not occur. It could be this error is being suppressed by something else.

dr_jfloyd

unread,
Feb 2, 2023, 12:23:58 PM2/2/23
to FDS and Smokeview Discussions
FDS outputs at the timestep closest to your requested interval. Changing T_BEGIN changes which timestep gets written, and, therefore, changes the time value being used for the file name.  With T_BEGIN=-10 you just didn't get lucky.

Rahul

unread,
Feb 2, 2023, 1:37:12 PM2/2/23
to FDS and Smokeview Discussions
Haha, I see!

Sal Marsico

unread,
Nov 2, 2023, 10:55:49 AM11/2/23
to FDS and Smokeview Discussions
Is there a version of FDS where this bug has been fixed?

dr_jfloyd

unread,
Nov 2, 2023, 11:29:56 AM11/2/23
to FDS and Smokeview Discussions
It should have been fixed with this:
Reply all
Reply to author
Forward
0 new messages