Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28459 Discussions

forrtl: severe (64): input conversion error

shere__inderdip
Beginner
948 Views

Hello!
This may be a simple obstacle but I am clueless to resolve it.
Thank you in advance to help me to fix it.

Below is my section of code, I am getting the  error in line 2 of which I have no idea of its origin.

!-----------------------------------------------------------------------------------
1.   READ(14,*) IFRAME ! !.. Actual # of MC moves
2.   READ(14,*) N_Si      ! !.. Number of Si atoms
3.   READ(14,*) N_O2     ! !.. Number of Bridging oxygens (BO)
4.   READ(14,*) N_Ox     ! !.. Number of Non-reactive OH

!----------------------------------------------------------------------------------------------

Integer is defined in the program previously as

!--------------------------------------------------------------------------
    INTEGER::N_MC, N_Si, N_Ox, O2LABI, N_O2

!---------------------------------------------------------------------------

     File 14 from which I read the data is

!------------------------------------------------------------------------

       508 !.. Actual # of MC moves
      1000 !.. Number of Si atoms
           0 !.. Number of Bridging oxygens (BO)
           0 !.. Number of Non-reactive OH

!-------------------------------------------------------------------------

 I have compiled the code as

 ifort code.f90 -fpe0 -traceback -CB -O0 -o a.out

And running the code using pbs on 64 bit linux based cluster.

The program runs fine and there is also no run time error. However in between suddenly this error is flagged and program is suspended.

Your suggests of any kind is highly valuable.
Thank you

 

0 Kudos
2 Replies
TimP
Honored Contributor III
948 Views

You may need to use specific formats including an integer field (I),  in order to ignore the text comments.

0 Kudos
JVanB
Valued Contributor II
948 Views

You are describing your impression of the problem rather than showing what the problem is. If you understood the problem enough to describe it, you wouldn't have to ask for help with it. For example, maybe there is another READ statement that gets executed in your program that moves past the line you actually thought was being read, or there could be some data in your file that seems irrelevant but is actually being read in lieu of line 2.

But since your program and data file are likely too big or contain too much I.P. to post in this forum, one thing you could do is to place some code such as:

      BLOCK
         character(20) test_input
         integer i
         read(14,'(a)') test_input
         write(*,'(a)') 'Data read = ',test_input
         write(*,'(a,20(i3:1x))') 'ASCII = ',(iachar(test_input(i:i)),i=1,20)
         STOP
      END BLOCK

just before the line that reads N_Si and report what that BLOCK outputs so that we can see what's actually being read and if there are any garbage characters there in the file.

 

0 Kudos
Reply