Re: Question on NCL reading binary file

From: guangshan chen <gchen9_at_nyahnyahspammersnyahnyah>
Date: Fri, 29 May 2009 15:32:29 -0500

Hi Dennis,

Thanks. It works.

Guangshan

On May 29, 2009, at 2:59 PM, Dennis Shea wrote:

> I think the following is what would be needed
>
> NCL can only read a variable of one type.
> So, maybe,
>
> AI = fbinrecread (fili, 0, -1, "integer")
> a = AI(0:4)
> delete(AI)
>
> nx = 100
> ny = 399
> nlat = 64
> mlon = 128
> nz = nlat*mlon
>
> AF = fbinrecread (fili, 0, -1, "float")
> nStrt = 5
> nLast = nStrt+nx-1
> x = AF(nStrt:nLast) nStrt = nLast+1
> nLast = nStrt+ny-1
> y = AF(nStrt:nLast)
> nStrt = nLast+1
> nLast = nStrt+nz-1
>
> z = onedtond(AF(nStrt:nLast), (/nlat,mlon/) )
>
> delete(AF)
>
>
>
> a = fbinrecread (fili, 0, 5, "integer")
>
>
> guangshan chen wrote:
>> Hi all,
>>
>> I have a question for fbinrecread:
>> On this page: http://www.ncl.ucar.edu/Document/Functions/Built-in/
>> fbinrecread.shtml
>> There is the example 1. It says that: if a binary file written in
>> this way using fortran:
>> integer a(5)
>> real x(100), y(399), z(128,64)
>>
>> open (11,file="example01",form="unformatted")
>>
>> write (11) a ! 1st record [rec_num=0]
>> write (11) x ! 2nd record [rec_num=1]
>> write (11) y ! 3rd record [rec_num=2]
>> write (11) z ! 4th record [rec_num=3]
>>
>> This binary file can be read by NCL in this way:
>> fili = "example01" ; input file
>> a = fbinrecread (fili, 0, 5, "integer") ; 1st
>> record is zero
>> x = fbinrecread (fili, 1, 100, "float") ;
>> 2nd one
>> y = fbinrecread (fili, 2, 399, "float") ; 3rd
>> record is two
>> z = fbinrecread (fili, 3, (/ 64,128 /), "float") ; 4th
>> record is three
>>
>> My question is that If I write a binary file in this way:
>> open (12,file="example02", form="unformatted")
>> write (12) a,x,y,z
>>
>> then how to use NCL to read "example02" binary file?
>>
>> Thanks.
>>
>> Guangshan
>>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>
>
> --
> ======================================================
> Dennis J. Shea tel: 303-497-1361 |
> P.O. Box 3000 fax: 303-497-1333 |
> Climate Analysis Section |
> Climate & Global Dynamics Div. |
> National Center for Atmospheric Research |
> Boulder, CO 80307 |
> USA email: shea 'at' ucar.edu |
> ======================================================
>

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Fri May 29 2009 - 14:32:29 MDT

This archive was generated by hypermail 2.2.0 : Mon Jun 01 2009 - 07:47:28 MDT