Re: idl writeu and fortran... [message #35724] |
Fri, 11 July 2003 07:00  |
Paul Van Delst[1]
Messages: 1157 Registered: April 2002
|
Senior Member |
|
|
j oishi wrote:
>
> hi,
>
> i know i'm stepping into murky waters here, but i have a question about
> using idl to write unformatted binary files for fortran. when i write a
> single record, ie
>
> openw,unit,'blah.dat',/f77_unformatted,/get_lun
> d=fltarr(10)
> writeu,unit,d
> free_lun(unit)
>
> and then read it in in f77, everything is fine. when i try to add multiple
> records to the same file, everything goes to hell:
>
> openw,unit,'blah2.dat',/f77_unformatted,/get_lun
> d=fltarr(10)
> e=fltarr(10,10)
> writeu,unit,d
> writeu,unit,e
> free_lun(unit)
>
> now, in this second example, i can read the first record out of blah2.dat,
> but trying to get e (the second record) out, causes the following error:
>
> data [14:14]$ ./readbin
> start: end of file
> apparent state: unit 12 named aa0000.D
> lately reading sequential unformatted external IO
> Abort trap
>
> i've tried this using two versions of idl on two different architectures,
> compilers, etc. (reading and writing, that is...not trying to cross
> platform with binary files)
>
> can anyone provide insight?
You need to post your Fortran code showing how you a) have dimensioned your arrays, b) how
you've opened the file, and c) how you actually read the data. I use Fortran/IDL to
write/read unformatted sequential and direct access files every day... all the time... no
problems. Across many different unix platforms using different Fortran compilers too.
paulv
--
Paul van Delst
CIMSS @ NOAA/NCEP/EMC
Ph: (301)763-8000 x7748
Fax:(301)763-8545
|
|
|
Re: idl writeu and fortran... [message #35729 is a reply to message #35724] |
Fri, 11 July 2003 01:42   |
wmconnolley
Messages: 106 Registered: November 2000
|
Senior Member |
|
|
j oishi <jo8c@astsun.astro.virginia.edu> wrote:
> and then read it in in f77, everything is fine. when i try to add multiple
> records to the same file, everything goes to hell:
> openw,unit,'blah2.dat',/f77_unformatted,/get_lun
> d=fltarr(10)
> e=fltarr(10,10)
> writeu,unit,d
> writeu,unit,e
> free_lun(unit)
> now, in this second example, i can read the first record out of blah2.dat,
> but trying to get e (the second record) out, causes the following error:
> data [14:14]$ ./readbin
> start: end of file
> apparent state: unit 12 named aa0000.D
> lately reading sequential unformatted external IO
> Abort trap
How are you doing the reading?
Why does you paste above say "data [14:14]" when e is 10,10?
-W.
--
William M Connolley | wmc@bas.ac.uk | http://www.antarctica.ac.uk/met/wmc/
Climate Modeller, British Antarctic Survey | Disclaimer: I speak for myself
I'm a .signature virus! copy me into your .signature file & help me spread!
|
|
|
Re: idl writeu and fortran... [message #35818 is a reply to message #35724] |
Sun, 13 July 2003 18:01  |
j oishi
Messages: 2 Registered: July 2003
|
Junior Member |
|
|
> you've opened the file, and c) how you actually read the data. I use Fortran/IDL to
> write/read unformatted sequential and direct access files every day... all the time... no
> problems. Across many different unix platforms using different Fortran compilers too.
for example, the fortran code looks like:
real d(10),e(10,10)
open(12,file='blah.dat',form='unformatted')
read(12) d
read(12) e
[stuff]
stop
end
incidentally, "data [14:14]$ " is my prompt...
thanks again,
j
|
|
|