Dominique, The standard format should have a leading blank in every record of output; two leading blanks if the first number in the output record is positive. Although I cannot document it, I suspect that not all FORTRANs the world over are consistent in how they generate repeated formatted floating point records in statement combinations such as write(lun,'6(1x,1pe13.6)') (data(i),i=1,10000) I seem to remember that some Fortrans (e.g. maybe the IBM at JET?) will put a leading blank in the first record of such an output but not in subsequent records. Anyway, I have circumvented this possibility in the "official" Ufiles code that I maintain, by using a subroutine that carefully writes out vectors one record (six numbers) at a time. In the next two messages I will send first an "official" example and second, a subroutine that does this kind of one record at a time write. Regards .............. Doug McCune ******************************************************************* 45950TFTR 1 0 6 ;-SHOT #- F(X) DATA -UF1DWR- 8-FEB-95 90/01/24 ;-SHOT DATE- UFILES ASCII FILE SYSTEM 1 ;-NUMBER OF ASSOCIATED SCALAR QUANTITIES- 2.0000E+00 ;-SCALAR, LABEL FOLLOWS: RTCON: R_t cntrl Time seconds ;-INDEPENDENT VARIABLE LABEL- R_t (fit) cm ;-DEPENDENT VARIABLE LABEL- 2 ;-PROC CODE- 0:RAW 1:AVG 2:SM. 3:AVG+SM 86 ;-# OF PTS- X, F(X) DATA FOLLOW: 1.000000E-01 2.000000E-01 3.000000E-01 4.000000E-01 5.000000E-01 6.000000E-01 7.000000E-01 8.000000E-01 9.000000E-01 1.000000E+00 1.100000E+00 1.200000E+00 1.220000E+00 1.240000E+00 1.260000E+00 1.280000E+00 1.300000E+00 1.320000E+00 1.350000E+00 1.400000E+00 1.500000E+00 1.600000E+00 1.700000E+00 1.800000E+00 1.900000E+00 2.000000E+00 2.100000E+00 2.200000E+00 2.300000E+00 2.400000E+00 2.500000E+00 2.600000E+00 2.700000E+00 2.800000E+00 2.900000E+00 2.984600E+00 3.024600E+00 3.058600E+00 3.108600E+00 3.158600E+00 3.208600E+00 3.258600E+00 3.308600E+00 3.358600E+00 3.408600E+00 3.458600E+00 3.508600E+00 3.558600E+00 3.608600E+00 3.658600E+00 3.708600E+00 3.758600E+00 3.808600E+00 3.858600E+00 3.908600E+00 3.958600E+00 4.008600E+00 4.058600E+00 4.108600E+00 4.158600E+00 4.208600E+00 4.258600E+00 4.308600E+00 4.358600E+00 4.408600E+00 4.458600E+00 4.508600E+00 4.558600E+00 4.608600E+00 4.658600E+00 4.708600E+00 4.758600E+00 4.808600E+00 4.858600E+00 4.908600E+00 4.958600E+00 4.980400E+00 5.020400E+00 5.054400E+00 5.112200E+00 5.210500E+00 5.310500E+00 5.410500E+00 5.510500E+00 5.610500E+00 5.710500E+00 2.866400E+02 2.893800E+02 2.916400E+02 2.925800E+02 2.927900E+02 2.925300E+02 2.904900E+02 2.885700E+02 2.865100E+02 2.843400E+02 2.831500E+02 2.798400E+02 2.702600E+02 2.586100E+02 2.458400E+02 2.438500E+02 2.445000E+02 2.450100E+02 2.450300E+02 2.450800E+02 2.449700E+02 2.449600E+02 2.449200E+02 2.449500E+02 2.450400E+02 2.450400E+02 2.451700E+02 2.454800E+02 2.456500E+02 2.458400E+02 2.459200E+02 2.459300E+02 2.460200E+02 2.460900E+02 2.461600E+02 2.462200E+02 2.467500E+02 2.467700E+02 2.468700E+02 2.470600E+02 2.472200E+02 2.473900E+02 2.474700E+02 2.474900E+02 2.476000E+02 2.475600E+02 2.476500E+02 2.475900E+02 2.475800E+02 2.476100E+02 2.475600E+02 2.476200E+02 2.476100E+02 2.476000E+02 2.476000E+02 2.475300E+02 2.475900E+02 2.475900E+02 2.475900E+02 2.475900E+02 2.475800E+02 2.475500E+02 2.475700E+02 2.475800E+02 2.475700E+02 2.475500E+02 2.475800E+02 2.475900E+02 2.475400E+02 2.475600E+02 2.475300E+02 2.475800E+02 2.476000E+02 2.475500E+02 2.475900E+02 2.475500E+02 2.475400E+02 2.470800E+02 2.471400E+02 2.469700E+02 2.470200E+02 2.473500E+02 2.475100E+02 2.478200E+02 2.479400E+02 2.482700E+02 ;----END-OF-DATA-----------------COMMENTS:----------- Ufile copy written by TRDAT. Written by MFAN on 9-FEB-90 R_t calculation control parameter: 2 *********************************************************************** subroutine ufascio(lun,f,n,code,iend,ierr) C 08/22/94 TBT Put in internal read to buffer to decide input format. C Some lines have a blank in the first position (1st line) C others have no blank. C portable 1PE13.6 decode routine -- 6 fp#s per line C C -- experience has shown that format statement loops that span C multiple lines work differently on different machines; to C avoid this portability problem UFLIB uses this routine, based C on line by line decoding C C arguments: integer lun ! fortran i/o unit number real f(n) ! data to read or write character*1 code ! "W" to write, "R" to read integer iend ! set to 1 if EOF occurs on read integer ierr ! set to 1 if i/o error occurs C Character*80 Zbuffer C--------------------------------- C C iend=0 ierr=0 C ilines=(n-1)/6 + 1 do il=1,ilines iadr1=(il-1)*6 + 1 iadr2=min(n,(iadr1+5)) if(code.eq.'W') then write(lun,3009) (f(iadr),iadr=iadr1,iadr2) else read(lun,3001,end=8000,err=9000) Zbuffer Ir=0 Do 50 Ia=1,80 C Find first period (.) If (Zbuffer(Ia:Ia) .eq. '.') Then Ir=Ia Go to 51 End If 50 Continue 51 Continue If (Ir .Eq. 4) Then C Decimal point in column 4 - leading blank. read(Zbuffer,3009,end=8000,err=9000) 1 (f(iadr),iadr=iadr1,iadr2) Else If (Ir .Eq. 3) Then C Decimal point in column 3 read(Zbuffer,3010,end=8000,err=9000) 1 (f(iadr),iadr=iadr1,iadr2) Else C .Unrecognized Format Go to 9000 End If endif enddo C 3001 Format(A80) 3009 format(1x,6(1pe13.6)) ! Old First line in data read 3010 Format( 6(1pe13.6)) ! Subsequent lines in data read C return C 8000 continue iend=1 return C 9000 continue ierr=1 return C end ********************************************************  Judging by the comments in the routine just sent, there has been some variability in Ufiles. I would consider "official" Ufiles data records to always have the format 3009 format(1x,6(1pe13.6)) ! Old First line in data read but it would not surprise me to find that some records exist with format 3010 Format( 6(1pe13.6)) ! Subsequent lines in data read Currently we are writing new Ufiles always with the format 3009. If I had to read a lot of ufiles I would use something like ufascio.for (the routine just sent) to correctly read Ufiles with either type of record. ........... hope that helps ..................... Doug