<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Error - input statement requires too much data in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851036#M65923</link>
    <description>RECL= is the number of bytes per record.&amp;nbsp; So, for example, if RECL=10, doing an I/O with REC=5 accesses bytes 40-49 (keep in mind that REC= starts with record 1.)&amp;nbsp; (As a side-note, for FORM='BINARY' the RECL= default is bytes, but for FORM='UNFORMATTED', it's units of 4 bytes by default.)&lt;BR /&gt;&lt;BR /&gt;You may want to consider using the standard syntax FORM='UNFORMATTED', ACCESS='STREAM', and using POS= in your I/O statements.&amp;nbsp; This is better than using the non-standard FORM='BINARY' and better defined.</description>
    <pubDate>Mon, 27 Aug 2012 19:06:13 GMT</pubDate>
    <dc:creator>Steven_L_Intel1</dc:creator>
    <dc:date>2012-08-27T19:06:13Z</dc:date>
    <item>
      <title>Error - input statement requires too much data</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851028#M65915</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I got this error when I try to read the data :&lt;BR /&gt;&lt;BR /&gt;forrtl: severe (67): input statement requires too much data, unit 2, file /home/Results/7/u_value.txt&lt;BR /&gt;&lt;BR /&gt;I did "od -t x4 u_value.txt |head" and got:&lt;BR /&gt;&lt;BR /&gt;0000000 00134100 3f8036d8 3f8089eb 3f80cc25&lt;BR /&gt;0000020 3f80fdd4 3f81258b 3f814646 3f8160c3&lt;BR /&gt;0000040 3f817565 3f8184da 3f81900d 3f8197ef&lt;BR /&gt;0000060 3f819d56 3f81a0f0 3f81a341 3f81a4aa&lt;BR /&gt;0000100 3f81a570 3f81a5c6 3f81a5cf 3f81a5a4&lt;BR /&gt;0000120 3f81a558 3f81a4f6 3f81a488 3f81a414&lt;BR /&gt;0000140 3f81a39d 3f81a328 3f81a2b7 3f81a24a&lt;BR /&gt;0000160 3f81a1e2 3f81a180 3f81a125 3f81a0cf&lt;BR /&gt;0000200 3f81a080 3f81a036 3f819ff2 3f819fb3&lt;BR /&gt;0000220 3f819f79 3f819f44 3f819f13 3f819ee7&lt;BR /&gt;&lt;BR /&gt;What does that mean? I'm suspecting that the file is too large to read in but it's only 60mb of binary data.&lt;BR /&gt;&lt;BR /&gt;Thanks for the help!&lt;BR /&gt;</description>
      <pubDate>Tue, 21 Aug 2012 07:44:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851028#M65915</guid>
      <dc:creator>Wee_Beng_T_</dc:creator>
      <dc:date>2012-08-21T07:44:22Z</dc:date>
    </item>
    <item>
      <title>Error - input statement requires too much data</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851029#M65916</link>
      <description>It means that you did an unformatted READ but the file record was shorter than the list of variables to be read into.&amp;nbsp;&amp;nbsp;&amp;nbsp; The file itself isn't "too big to read in".&amp;nbsp; If I am interpreting this right, you have a record that is 1261824 bytes long, which would be 315456 REAL(4) values.&amp;nbsp; How big is the array you are reading into?&lt;BR /&gt;</description>
      <pubDate>Tue, 21 Aug 2012 14:31:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851029#M65916</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2012-08-21T14:31:09Z</dc:date>
    </item>
    <item>
      <title>Error - input statement requires too much data</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851030#M65917</link>
      <description>Was the data written by a fortran program? As Steve alluded, Fortran unformatted IO is written with record identifiers that bound each record and specify the length of the record in bytes. If you try to read in a variable that is longer than the record length in one read statement you'll get this error. Chances are that if you want to read data written with another programming language, then likely you want to be using stream IO which will read binary data directly without record identifiers, as C like languages do.&lt;BR /&gt;&lt;BR /&gt;If you have the code that wrote the file this is the easiest way to figure out how to read it in.</description>
      <pubDate>Thu, 23 Aug 2012 13:46:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851030#M65917</guid>
      <dc:creator>Izaak_Beekman</dc:creator>
      <dc:date>2012-08-23T13:46:07Z</dc:date>
    </item>
    <item>
      <title>Error - input statement requires too much data</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851031#M65918</link>
      <description>Given the od output, I'm fairly certain that the file was written by Fortran as a sequential unformatted file. Your advice is still good in general terms.</description>
      <pubDate>Thu, 23 Aug 2012 14:30:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851031#M65918</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2012-08-23T14:30:16Z</dc:date>
    </item>
    <item>
      <title>Error - input statement requires too much data</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851032#M65919</link>
      <description>It's only 60mb of binary files. I found that the problem occurs when I running on more than 4 procs. On 4, sometimes it work, sometimes it doesn't. However, I switch to using direct access and now there's no problem. Thanks anyway.</description>
      <pubDate>Fri, 24 Aug 2012 11:36:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851032#M65919</guid>
      <dc:creator>Wee_Beng_T_</dc:creator>
      <dc:date>2012-08-24T11:36:15Z</dc:date>
    </item>
    <item>
      <title>Error - input statement requires too much data</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851033#M65920</link>
      <description>Hi, I found my problem. 1st, I was using "unformatted" instead "binary". 2ndly, I'm now dividing my grid size into different values for each procs. The error occurs when I use MPI_SCATTER to redistribute the values into each procs. Should have used MPI_SCATTERV instead.&lt;BR /&gt;&lt;BR /&gt;However, if I still used "unformatted" instead "binary" after solving the 2nd error, I still get the "Error - input statement requires too much data" why is that so? Is there is difference between "unformatted" and "binary"?&lt;BR /&gt;&lt;BR /&gt;I also tried to solve my problem using direct access. It works for 1 procs. However, increasing procs to 2 results in very big file size (from 94k to 274mb), although it still seems to work (not thoroughly tested). I wonder why.&lt;BR /&gt;&lt;BR /&gt;My code is:&lt;BR /&gt;&lt;BR /&gt;TO SAVE&lt;BR /&gt;&lt;BR /&gt;1st, I save the in sequence, starting from the 1st procs:&lt;BR /&gt;&lt;BR /&gt;size_x*size_y is the total amt of data, jsta/jend is the start/end index for each procs in the y direction&lt;BR /&gt;&lt;BR /&gt;&lt;I&gt;do ij=0,num_procs-1&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call MPI_Barrier(MPI_COMM_WORLD,ierr)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (ij==myid) then&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (myid==0) then&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;open (unit = 2 , file = "u_value.txt" , status = "replace", iostat = openstatus(2), form='binary',&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; access='direct', recl = size_x*size_y)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;open (unit = 2 , file = "u_value.txt" , status = "old", iostat = openstatus(2), form='binary',&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; access='direct', recl = size_x*size_y)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write (2, rec = (jsta-1)*size_x+1) ((real(u(i,j),4),i=1,size_x),j=jsta,jend)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;close(2)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;&lt;BR /&gt;end do&lt;/I&gt;&lt;BR /&gt;&lt;BR /&gt;TO READ&lt;BR /&gt;&lt;BR /&gt;&lt;I&gt;do ij=0,num_procs-1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call MPI_Barrier(MPI_COMM_WORLD,ierr)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (ij == myid) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; open (unit = 2 , file = "u_value.txt" , status = "old", iostat = openstatus(2), form='binary',&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; access='direct', recl = size_x*size_y)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read (2, rec = (jsta-1)*size_x+1) ((u(i,j),i=1,size_x),j=jsta,jend)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; close(2)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;&lt;BR /&gt;end do&lt;/I&gt;&lt;BR /&gt;&lt;BR /&gt;So what's wrong with my code? I thought recl should be the total data size while rec is the location to start the data retrival.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sun, 26 Aug 2012 10:26:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851033#M65920</guid>
      <dc:creator>Wee_Beng_T_</dc:creator>
      <dc:date>2012-08-26T10:26:16Z</dc:date>
    </item>
    <item>
      <title>Error - input statement requires too much data</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851034#M65921</link>
      <description>&amp;gt;&amp;gt;&lt;EM&gt; read (2, rec = (&lt;STRONG&gt;jsta&lt;/STRONG&gt;-1)*size_x+1) ((u(i,j),i=1,size_x),j=jsta,jend)&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;What is jsta?&lt;BR /&gt;Is it setup right __for each image__?&lt;BR /&gt;&lt;BR /&gt;e.g. jsta = ij+1&lt;BR /&gt;&lt;BR /&gt;Or did you intend to use:&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&amp;nbsp;read (2, rec = &lt;STRONG&gt;ij&lt;/STRONG&gt;*size_x+1) ((u(i,j),i=1,size_x),j=jsta,jend)&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey</description>
      <pubDate>Mon, 27 Aug 2012 12:36:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851034#M65921</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2012-08-27T12:36:04Z</dc:date>
    </item>
    <item>
      <title>Error - input statement requires too much data</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851035#M65922</link>
      <description>Let me clarify, i'm reading/writing to a 2d u data. &lt;BR /&gt;&lt;BR /&gt;my total grid size is size_x*size_y

I divide my grid in the y direction, with jsta/jend denoting the start/end index in the y direction. &lt;BR /&gt;&lt;BR /&gt;Hence for a size of 4*8, using 4 procs, i will get :

&lt;BR /&gt;&lt;BR /&gt;proc : jsta/end

&lt;BR /&gt;0: 1/2
&lt;BR /&gt;1: 3/4
&lt;BR /&gt;2: 5/6
&lt;BR /&gt;3: 7/8&lt;BR /&gt;&lt;BR /&gt;My understanding of the "rec" is the starting position to read in the u data.

hence, my "rec" =  (jsta-1)*size_x+1), which varies for each procs

Is my usage and reasoning correct? I guess I've made a mistake somewhere.</description>
      <pubDate>Mon, 27 Aug 2012 18:50:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851035#M65922</guid>
      <dc:creator>Wee_Beng_T_</dc:creator>
      <dc:date>2012-08-27T18:50:14Z</dc:date>
    </item>
    <item>
      <title>Error - input statement requires too much data</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851036#M65923</link>
      <description>RECL= is the number of bytes per record.&amp;nbsp; So, for example, if RECL=10, doing an I/O with REC=5 accesses bytes 40-49 (keep in mind that REC= starts with record 1.)&amp;nbsp; (As a side-note, for FORM='BINARY' the RECL= default is bytes, but for FORM='UNFORMATTED', it's units of 4 bytes by default.)&lt;BR /&gt;&lt;BR /&gt;You may want to consider using the standard syntax FORM='UNFORMATTED', ACCESS='STREAM', and using POS= in your I/O statements.&amp;nbsp; This is better than using the non-standard FORM='BINARY' and better defined.</description>
      <pubDate>Mon, 27 Aug 2012 19:06:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851036#M65923</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2012-08-27T19:06:13Z</dc:date>
    </item>
    <item>
      <title>Error - input statement requires too much data</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851037#M65924</link>
      <description>Thanks Steve. I didn't know about "stream" until now. I will give it a try with the new suggestion.</description>
      <pubDate>Tue, 28 Aug 2012 16:00:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Error-input-statement-requires-too-much-data/m-p/851037#M65924</guid>
      <dc:creator>Wee_Beng_T_</dc:creator>
      <dc:date>2012-08-28T16:00:58Z</dc:date>
    </item>
  </channel>
</rss>

