<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div>Hi Debasish,<br><br></div><div><br></div></div>Please read the description at:<br><a href="https://www.ncl.ucar.edu/Document/Functions/Built-in/fbinwrite.shtml">https://www.ncl.ucar.edu/Document/Functions/Built-in/fbinwrite.shtml</a><br><br></div>Specifically:<br><br>&quot;By default, the record marker size at the beginning and end of Fortran
sequential files is assumed to be 4 bytes. In V6.1.1 and later, you
can change this to 8 bytes using the &quot;RecordMarkerSize&quot; option in the
<a href="https://www.ncl.ucar.edu/Document/Functions/Built-in/setfileoption.shtml"><strong>setfileoption</strong></a> procedure.&quot;<br><br></div>[1] fortran&#39;s default integer is 4-bytes (signed). The range is -2,147,483,648 to 2,147,483,647</div>[2] by default, fortran sequential records are preceded and postpended by a &#39;hidden&#39; 4-byte value indicating the size of the record.<br></div>              [hidden 4-byte value][data_record][hidden 4-byte value]</div>[3] The max value for a signed 4-byte integer is 2,147,483,647  (think 2GB).<br><br></div>So, in a sense, this is a fortran based issue.<br><br>---<br></div>NCL&#39;s setfileoption allows the hidden record marker to be set to 8-bytes<br><br></div>     setfileoption(&quot;bin&quot;, &quot;RecordMarkerSize&quot;, 8)<b><br></b></div><b>    </b> fbinwrite(file_name, foo)<b>                                 </b>; foo is variable<b><br></b><div><div><br><div><div>This can be read via NCL but you must specify that an 8-byte record separator is needed. </div><div><br><div><div><div>     setfileoption(&quot;bin&quot;, &quot;RecordMarkerSize&quot;, 8)<b><br></b><b>    </b> foo = fbinread(file_name, rec_dims, &quot;float&quot;)<b><br><br>---<br></b></div><div>If reading the binary file in a fortran code, it is likely that either (i) a compiler level option will have to be used so that it recognizes that 8-byte separator is being used or (ii) a language extension function (similar to &#39;setfileoption&#39;) must be used.<br><br></div><div>Cheers<br></div></div></div></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Mar 5, 2016 at 6:40 PM, Debasish Pai Mazumder <span dir="ltr">&lt;<a href="mailto:debasish@ucar.edu" target="_blank">debasish@ucar.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi All,<br>
<br>
I am trying to write more than 2 Gb values to a binary file and I<br>
received following error message<br>
fatal:fbinwrite: cannot write more than 2 Gb values to a file.<br>
<br>
Is there any way to create this binary file without splitting in to two<br>
files.<br>
<br>
with regards<br>
-Debasish<br>
<br>
<br>
<br>
_______________________________________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
</blockquote></div><br></div>