[Thread Prev][Thread Next][Index]

Re: [ferret_users] How to read ASCII data accurately

Thanks Russ and Akshay for the suggestions.

It turns out that I need to be mor specific.

The file contains a space delimited list of 28 variables in 28 columns. The first column is the critical time variable.
My command to open the file is:

set data/ez/format=delimited/col=28/skip=1/del=" " "RAW/davis_msm184_30min.dat"
define axis/t/units=day/t0="1-jan-0000 00:00"/from_data time=v1
 *** NOTE: Axis has repeated values -- micro-adjusting ...

This is from the missing accuracy of the time variable in v1. Adding the /type="numeric" argument does not change this.


set data/ez/col=28/skip=1/var=v1,v2,v3,v4.v5,v6.v7.v8.v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28 "RAW/davis_msm184_30min.dat"
 *** NOTE: attempt to initalize 24 variables
 *** NOTE: maximum allowed is 20 variables
However, reading data this way
define axis/t/units=day/t0="1-jan-0000 00:00"/from_data time=v1

generates the desired time axis. Hence, reading the variables separately without a format specifier gives the correct answer. But now I have to split the file.

Generating a testfile with one column only

set data/ez test.dta

reads data correctly.

So my conclusion is, that the missing precision is coupled to the fact, that I open the file in the delimited format.


Russ Fiedler wrote:
Hi Martin,

Version 6.82 RH6 reads this to full precision so it looks like a
difference between OS or a bug has crept in.

russ-hf% ferret -nojnl
         FERRET v6.82
         Linux 2.6.32-279.1.1.el6.x86_64 64-bit - 08/03/12
          3-May-13 09:55
yes? file/var=xx dummy
yes? list/prec=10 xx
              VARIABLE : XX
              FILENAME : dummy
              X        : 1

There also the /TYPE=r8 qualifier which might work or try specifying the
Fortran format explicitly.


On Thu, 2013-05-02 at 17:50 +0200, Martin Schmidt wrote:
I have an ASCII input file. One variable is the Julian day (from 0000)
and looks like


Reading this with set data/ez I find

list/prec=10 v1

1   / 1:  734707.0000

which is not, what I would like to get.

I am using ferret_v6842_rh5, which should use real*8 accuracy for

Is there a way to read ASCII data with the same accuracy?

I do not know, who had the idea to use this far away time origin, the
data are as they are. Possibly
for compatibility with EXCEL.
For sure, I could edit the input file, remove the first four digits of
the time variable and add this
after reading the data. This workaround is fine for my example, but for
a larger project I am interested in a
more general solution with ferret - if it exists.

Many thanks,
Martin Schmidt

[Thread Prev][Thread Next][Index]
Contact Us
Dept of Commerce / NOAA / OAR / PMEL / Ferret

Privacy Policy | Disclaimer | Accessibility Statement