[ncl-talk] Calling binary files

Arka Banerjee arka354deb at gmail.com
Thu Dec 21 01:39:09 MST 2017


Thanks!
Above attached program is ok then?

I have to use 'fn' some where else in this program thats why I am asking.

Arka

On Dec 21, 2017 14:05, "Barry Lynn" <barry.h.lynn at gmail.com> wrote:

> Hi:
>
> You don't need a dot unless you need it in order to choose between files
> with and without.
>
> You can print("all_files = " + all_files) to see if you list is correct.
>
> Barry
>
> On Thu, Dec 21, 2017 at 10:10 AM, Arka Banerjee <arka354deb at gmail.com>
> wrote:
>
>> If I modify according to the example is it correct now for dat files?
>>
>> Datadir=("data/model/result/")
>> diri=Datadir
>> all_files=systemfunc("ls " +dir+ "day*dat")
>> n_files=dimsizes(all_files)
>> do n=0,n_files-1,1
>> filename=all_files(n)
>> fn=addfile(filename,"r")
>>
>> ....
>> ....
>> ....
>> ....
>>
>>
>> end
>>
>> 'addfile' is ok or it will be 'addfiles'?
>> Now above fn is same as below mentioned in case of operation?
>> fn=(/"day1.dat","day2.dat"/)
>>
>>
>> On Dec 21, 2017 12:40, "Arka Banerjee" <arka354deb at gmail.com> wrote:
>>
>>> Yes.
>>> But one thing.
>>> There should not be a dot before grb?
>>>
>>> Code is attached below.
>>>
>>>
>>> On Dec 21, 2017 12:35 PM, "Barry Lynn" <barry.h.lynn at gmail.com> wrote:
>>>
>>>> If you want to access the files within, you need a do loop to indicate
>>>> which file you want to read.
>>>>
>>>> Barry
>>>>
>>>> On Thu, Dec 21, 2017 at 8:54 AM, Arka Banerjee <arka354deb at gmail.com>
>>>> wrote:
>>>>
>>>>> Awesome, thanks!
>>>>>
>>>>> So for this a do loop is required?
>>>>>
>>>>> Arka
>>>>>
>>>>> On Dec 21, 2017 12:22, "Barry Lynn" <barry.h.lynn at gmail.com> wrote:
>>>>>
>>>>>> Hi:
>>>>>>
>>>>>> Here is what you need (example)
>>>>>>
>>>>>>  DATADir = "/data1/wrf/NAM/"
>>>>>>
>>>>>>   diri = DATADir  ; you can add "+ date" if you have files listed in
>>>>>> directories by date.
>>>>>>
>>>>>>  all_files = systemfunc("ls " + diri + "nam*grb")
>>>>>>
>>>>>>  print("all_files = " + all_files)
>>>>>>
>>>>>>  n_files = dimsizes(all_files)
>>>>>>
>>>>>>  print("n_files = " + n_files)
>>>>>>
>>>>>> ;do n=0,n_files -1,1
>>>>>>
>>>>>>
>>>>>>  do n=12,14
>>>>>>
>>>>>>    print("all_files(n) = " + all_files(n))
>>>>>>
>>>>>>    filename = all_files(n)
>>>>>>
>>>>>>    print ("filename" + filename)
>>>>>>
>>>>>>    a = addfile(filename,"r")
>>>>>>
>>>>>> On Thu, Dec 21, 2017 at 8:31 AM, Arka Banerjee via ncl-talk <
>>>>>> ncl-talk at ucar.edu> wrote:
>>>>>>
>>>>>>> If one write the following line what does it mean?
>>>>>>>
>>>>>>> Fn=(/"day1.dat","day2.dat","day3.dat","day4.dat"/)
>>>>>>>
>>>>>>> The above line is not mean that all dat file names are concatenate
>>>>>>> in variable Fn?
>>>>>>> I required the same thing for 100 files but without manually putting
>>>>>>> the file name.
>>>>>>>
>>>>>>> That was the question.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Arka
>>>>>>>
>>>>>>> On Dec 21, 2017 01:37, "Dennis Shea" <shea at ucar.edu> wrote:
>>>>>>>
>>>>>>> @Arka: Please read the
>>>>>>>
>>>>>>> https://www.ncl.ucar.edu/Document/Manuals/
>>>>>>>
>>>>>>>
>>>>>>>    - NCL User Guide, V1.1
>>>>>>>    <https://www.ncl.ucar.edu/Document/Manuals/NCL_User_Guide>
>>>>>>>    - Mini-Language (pdf)
>>>>>>>    <https://www.ncl.ucar.edu/Document/Manuals/language_man.pdf>
>>>>>>>
>>>>>>> ====================================
>>>>>>> NCL does allow a user to specify a *variable *which spans multiple
>>>>>>> netCDF, grib or HDF files to (effectively) be concatenated via *addfiles
>>>>>>> *and the appropriate* ListSetType *options.
>>>>>>> *NOTE: the files are not concatenated ....only the specified
>>>>>>> variable.*
>>>>>>> https://www.ncl.ucar.edu/Document/Functions/Built-in/addfiles.shtml
>>>>>>> https://www.ncl.ucar.edu/Document/Functions/Built-in/ListSet
>>>>>>> Type.shtml
>>>>>>>
>>>>>>> =====
>>>>>>> There is *no *explicit NCL function which concatenates *binary* or
>>>>>>> *text* (ascii)* files*.
>>>>>>> Please Read: https://www.ncl.ucar.edu/Applications/r-binary.shtml
>>>>>>>
>>>>>>> ===
>>>>>>> Some options:
>>>>>>>
>>>>>>> [1] On the {U/Li}nix command line:
>>>>>>>
>>>>>>> %> *cat* LocalBinaryFiles*dat *>!* BigBinary.dat
>>>>>>>
>>>>>>> The *!* will overwrite 'BigBinary.dat' if the file currently exits.
>>>>>>>
>>>>>>> Depending on the binary file type, use:
>>>>>>>
>>>>>>>     Direct Access:            data = *fbindirread* <https://www.ncl.ucar.edu/Document/Functions/Built-in/fbindirread.shtml>("BigBinary.dat",rec,dim,type)
>>>>>>>
>>>>>>>     Sequential Access:        data = *fbinrecread* <https://www.ncl.ucar.edu/Document/Functions/Built-in/fbinrecread.shtml>("BigBinary.dat",rec,dim,type)
>>>>>>>
>>>>>>> *Please read* the documentation for these function:
>>>>>>>
>>>>>>> http://www.ncl.ucar.edu/Document/Functions/Built-in/fbindirread.shtml
>>>>>>> http://www.ncl.ucar.edu/Document/Functions/Built-in/fbinrecread.shtml
>>>>>>>
>>>>>>> also, binary files could be '*BigEndian*" or '*LittleEndian**. *The following allows you to specify
>>>>>>>
>>>>>>> http://www.ncl.ucar.edu/Document/Functions/Built-in/isbigendian.shtml
>>>>>>>
>>>>>>>  if (*isbigendian*() ) then   ; is local machine big or little endian?
>>>>>>>      *setfileoption* <http://www.ncl.ucar.edu/Document/Functions/Built-in/setfileoption.shtml>("bin","ReadByteOrder","LittleEndian")
>>>>>>>  end if
>>>>>>>
>>>>>>>  x = *fbindirread*(...)
>>>>>>>
>>>>>>> or
>>>>>>>
>>>>>>>  c = *fbinrecread*(...)
>>>>>>>
>>>>>>> Sfter you are finished, you may want to delete the 'BigBinary.dat' file
>>>>>>>
>>>>>>> %> rm BigBinary.dat
>>>>>>>
>>>>>>> Or, perhaps the individual binary files and keep the concatenated file:
>>>>>>>
>>>>>>> %> rm LittleBinary*dat
>>>>>>>
>>>>>>>
>>>>>>> [2]
>>>>>>>
>>>>>>> diri = ".../"    ; input dir
>>>>>>>
>>>>>>> if (*.not.fileexists*("BigBinary.dat")) then
>>>>>>>
>>>>>>>     system("cat LocalBinary*dat >! "BigBinary.dat")
>>>>>>>
>>>>>>> end if
>>>>>>>
>>>>>>>
>>>>>>>     Direct Access:            data = *fbindirread* <https://www.ncl.ucar.edu/Document/Functions/Built-in/fbindirread.shtml>("BigBinary.dat",rec,dim,type)
>>>>>>>
>>>>>>>     Sequential Access:        data = *fbinrecread* <https://www.ncl.ucar.edu/Document/Functions/Built-in/fbinrecread.shtml>("BigBinary.dat",rec,dim,type)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Dec 20, 2017 at 10:27 AM, Laura Fowler via ncl-talk <
>>>>>>> ncl-talk at ucar.edu> wrote:
>>>>>>>
>>>>>>>> Hi Arka:
>>>>>>>>
>>>>>>>> I usually use systemfunc, followed with ListSetType, and then
>>>>>>>> addfiles
>>>>>>>> to read a bunch of the same kind of files together. There are lots
>>>>>>>> of
>>>>>>>> examples on how to use systemfun on the ncl web site.
>>>>>>>>
>>>>>>>> Hope this helps,
>>>>>>>> Laura
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Dec 20, 2017 at 9:13 AM, Arka Banerjee via ncl-talk
>>>>>>>> <ncl-talk at ucar.edu> wrote:
>>>>>>>> > Hi all,
>>>>>>>> >
>>>>>>>> > How to concatenate all file names in a single variable in NCL? I
>>>>>>>> have 100 of
>>>>>>>> > .dat files in a directory and I want to call them all in a
>>>>>>>> variable like
>>>>>>>> > below;
>>>>>>>> >
>>>>>>>> > fn=(/"gsmap_nrt.20100805.0600.dat","gsmap_nrt.20100805.0900.
>>>>>>>> dat"/)
>>>>>>>> >
>>>>>>>> > So that 'fn' will be re-structured for 100 of .dat files in the
>>>>>>>> same way of
>>>>>>>> > above line.
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > How to execute this thing? Function 'addfiles' helps in this
>>>>>>>> case? As I have
>>>>>>>> > found it is not for ascii formate.
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > Thanks,
>>>>>>>> >
>>>>>>>> > Arka
>>>>>>>> >
>>>>>>>> > _______________________________________________
>>>>>>>> > ncl-talk mailing list
>>>>>>>> > ncl-talk at ucar.edu
>>>>>>>> > List instructions, subscriber options, unsubscribe:
>>>>>>>> > http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>>> >
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> !-----------------------------------------------------------
>>>>>>>> --------------------------------------------------
>>>>>>>> Laura D. Fowler
>>>>>>>> Mesoscale and Microscale Meteorology Division (MMM)
>>>>>>>> National Center for Atmospheric Research
>>>>>>>> P.O. Box 3000, Boulder CO 80307-3000
>>>>>>>>
>>>>>>>> e-mail: laura at ucar.edu
>>>>>>>> phone: 303-497-1628
>>>>>>>>
>>>>>>>> !-----------------------------------------------------------
>>>>>>>> --------------------------------------------------
>>>>>>>> _______________________________________________
>>>>>>>> ncl-talk mailing list
>>>>>>>> ncl-talk at ucar.edu
>>>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> ncl-talk mailing list
>>>>>>> ncl-talk at ucar.edu
>>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Barry H. Lynn, Ph.D
>>>>>> Senior Lecturer,
>>>>>> The Institute of the Earth Science,
>>>>>> The Hebrew University of Jerusalem,
>>>>>> Givat Ram, Jerusalem 91904, Israel
>>>>>> Tel: 972 547 231 170
>>>>>> Fax: (972)-25662581
>>>>>>
>>>>>> C.E.O, Weather It Is, LTD
>>>>>> Weather and Climate Focus
>>>>>> http://weather-it-is.com
>>>>>> Jerusalem, Israel
>>>>>> Local: 02 930 9525
>>>>>> Cell: 054 7 231 170
>>>>>> Int-IS: x972 2 930 9525
>>>>>> US 914 432 3108 <(914)%20432-3108>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Barry H. Lynn, Ph.D
>>>> Senior Lecturer,
>>>> The Institute of the Earth Science,
>>>> The Hebrew University of Jerusalem,
>>>> Givat Ram, Jerusalem 91904, Israel
>>>> Tel: 972 547 231 170
>>>> Fax: (972)-25662581
>>>>
>>>> C.E.O, Weather It Is, LTD
>>>> Weather and Climate Focus
>>>> http://weather-it-is.com
>>>> Jerusalem, Israel
>>>> Local: 02 930 9525
>>>> Cell: 054 7 231 170
>>>> Int-IS: x972 2 930 9525
>>>> US 914 432 3108 <(914)%20432-3108>
>>>>
>>>
>
>
> --
> Barry H. Lynn, Ph.D
> Senior Lecturer,
> The Institute of the Earth Science,
> The Hebrew University of Jerusalem,
> Givat Ram, Jerusalem 91904, Israel
> Tel: 972 547 231 170
> Fax: (972)-25662581
>
> C.E.O, Weather It Is, LTD
> Weather and Climate Focus
> http://weather-it-is.com
> Jerusalem, Israel
> Local: 02 930 9525
> Cell: 054 7 231 170
> Int-IS: x972 2 930 9525
> US 914 432 3108
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171221/aaa72f28/attachment-0001.html>


More information about the ncl-talk mailing list