<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Dave<br><br>After I add <br><br>&nbsp;&nbsp;&nbsp; setfileoption("bin","ReadByteOrder","BigEndian")<br>everything seems fine. <br><br>Thanks a lot!<br>Xiaoming <br><br><div><hr id="stopSpelling">From: yuanfangcan@hotmail.com<br>To: dave.allured@noaa.gov<br>Date: Tue, 3 Mar 2015 19:43:47 +0000<br>CC: ncl-talk@ucar.edu<br>Subject: Re: [ncl-talk] how to read a fortran binary file using fbinrecread<br><br>

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}

--></style>
<div dir="ltr">Dave<br><br>I tested what you suggested in NCL:<br>I got<br>&nbsp;NCAR Command Language Version 6.1.2<br>&nbsp;The use of this software is governed by a License Agreement.<br>&nbsp;See http://www.ncl.ucar.edu/ for more details.<br>fatal:NclMalloc Failed:[errno=12]<br>fatal:fbinrecread: an error occurred reading the requested record. Something is wrong with the FORTRAN binary file.<br>fatal:["Execute.c":8128]:Execute: Error occurred at or near line 11 in file conwomap_2.ncl<br><br>two diagnosis:<br><br>&nbsp;od -Ad -i -v -N48 test.dat<br>0000000 -2066740992&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br>0000016&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br>0000032&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br>0000048<br><br>&nbsp;od -Ad -tx1 -v -N48 test.dat<br>0000000 00 09 d0 84 00 00 00 00 00 00 00 00 00 00 00 00<br>0000016 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br>0000032 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br>0000048<br><br>Thanks a lot!<br>Xiaoming <br><br><div><hr id="ecxstopSpelling">Date: Tue, 3 Mar 2015 12:23:21 -0700<br>Subject: Re: [ncl-talk] how to read a fortran binary file using fbinrecread<br>From: dave.allured@noaa.gov<br>To: yuanfangcan@hotmail.com<br>CC: ncl-talk@ucar.edu<br><br><div dir="ltr">Xiaoming,<div><br></div><div>Okay, it looks like your actual fortran program is writing more records than what you originally showed.&nbsp; But you are having a problem with the very first record #0.</div><div><br></div><div>Try this in NCL:</div><div><br></div><div>&nbsp; &nbsp;<span style="font-size:14px;">htest = fbinrecread ("./test.dat", 0, -1, "float")</span></div><div><span style="font-size:14px;">&nbsp; &nbsp;print ("Size of htest = " + diimsizes (htest))</span></div><div><br></div><div>The output of the print statement will show you the actual number of values in the first fortran record.&nbsp; With your numbers, this value should be 401 x 401 = 160801.&nbsp; If it matches, then&nbsp;<span style="font-size:14px;">jde and ide in your original NCL command may have values other than 401.</span></div><div><span style="font-size:14px;"><br></span></div><div><span style="font-size:14px;">If the htest size is different, then record #0 in the file is not what you expected.&nbsp; To debug&nbsp;</span>this further, I would need to look at the binary start of the file with these two <br><br>&nbsp; &nbsp;od -Ad -i -v -N48 test.dat</div><div>&nbsp; &nbsp;od -Ad -tx1 -v -N48 test.dat</div><div><br></div><div>Also, please keep all replies on the NCL user list.</div><div><br>--Dave<br></div></div><div class="ecxgmail_extra"><br><div class="ecxgmail_quote">On Tue, Mar 3, 2015 at 11:44 AM, xiaoming Hu <span dir="ltr">&lt;<a href="mailto:yuanfangcan@hotmail.com" target="_blank">yuanfangcan@hotmail.com</a>&gt;</span> wrote:<br><blockquote class="ecxgmail_quote" style="border-left:1px #ccc solid;padding-left:1ex;">


<div><div dir="ltr">Dave<br><br>Here is the relevant info:<br>&nbsp;&nbsp;&nbsp; ids=1;ide=401<br>&nbsp;&nbsp;&nbsp; jds=1;jde=401<br>-rw-r--r-- 1 xhu caps 617M Mar&nbsp; 3 11:11 test.dat<br><br>real,dimension(:,:),allocatable&nbsp;&nbsp; :: u,v,h<br><br>NCAR Command Language Version 5.2.1<br><br>/usr/local/intel/fc/9.1.040/bin/ifort<br><br>Linux <a href="http://cirrus.caps.ou.edu" target="_blank">cirrus.caps.ou.edu</a> 2.6.18-348.12.1.el5 #1 SMP Mon Jul 1 17:54:12 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux<br><br>I do have close(10) in the fortran code<br><br>Thanks a lot!<br>Xiaoming <br><div><hr>Date: Tue, 3 Mar 2015 11:21:46 -0700<br>Subject: Re: [ncl-talk] how to read a fortran binary file using fbinrecread<br>From: <a href="mailto:dave.allured@noaa.gov" target="_blank">dave.allured@noaa.gov</a><br>To: <a href="mailto:yuanfangcan@hotmail.com" target="_blank">yuanfangcan@hotmail.com</a><br>CC: <a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a><br><br><div dir="ltr">Xiaoming,<br><div><br></div><div>Please tell us the following debug information.</div><div><br></div><div>* The exact values of&nbsp;<span style="font-size:14px;">ids, ide, j</span><span style="font-size:14px;">ds jde.</span></div><div><span style="font-size:14px;">* The exact size of the file, in bytes, from "ls -l".</span></div><div><span style="font-size:14px;">* The fortran data type of the array "h" in the fortran program (real, double, or what?)</span></div><div><span style="font-size:14px;"><br></span></div><div><span style="font-size:14px;">* NCL version number.</span></div><div><span style="font-size:14px;">* Fortran compiler name and version number.</span><br></div><div><span style="font-size:14px;">* The output from system command "uname -a".</span></div><div><span style="font-size:14px;"><br></span></div><div><span style="font-size:14px;">Also, just a guess, try adding close (10) at the end of your fortran program, and see if that helps.</span></div><div><span style="font-size:14px;"><br></span></div><div><span style="font-size:14px;">--Dave</span></div></div><div><br><div>On Tue, Mar 3, 2015 at 11:09 AM, xiaoming Hu <span dir="ltr">&lt;<a href="mailto:yuanfangcan@hotmail.com" target="_blank">yuanfangcan@hotmail.com</a>&gt;</span> wrote:<br><blockquote style="border-left:1px #ccc solid;padding-left:1ex;">


<div><div dir="ltr">Hello <br><br>In fortran I have:<br>&nbsp;&nbsp;&nbsp; ids=1;<br>&nbsp; open(10,file='./test.dat',form='unformatted',access='sequential')<br>&nbsp; write(10)((h(i,j),i=ids,ide),j=jds,jde)<br><br><br>In ncl I tried to use<br>&nbsp;&nbsp; h&nbsp;&nbsp;&nbsp; = fbinrecread ("./test.dat",0, (/jde,ide/),"float")<br>to read<br><br>But I got <br>warning:fbinrecread: size specified is greater than record size, filling with missing values<br>fatal:fbinrecread: an error occurred reading the requested record. Something is wrong with the FORTRAN binary file.<br>fatal:Execute: Error occurred at or near line 11 in file conwomap_2.ncl<br><br>Can anybody help? <br><br>Thanks a lot!<span><font color="#888888"><br><br>Xiaoming <br>                                               </font></span></div></div>
<br>_______________________________________________<br>
ncl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div></div>                                               </div></div>
</blockquote></div><br></div></div>                                               </div>
<br>_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk</div>                                               </div></body>
</html>