[Paraview] Writing binary files: C/Fortran interface to VTK
XMLfiles.
Stephen Wornom
Stephen.Wornom at sophia.inria.fr
Tue Jan 31 07:56:09 EST 2006
Stéphane Montésino wrote:
> With Asci, all is OK except the size of my file.
> So how to write my data array in binary with my fortran code.
> Does anyone have some details ?
>
> !
> ******************************************************************************
>
> ! **** subrout
> paraview_scalar ****
> !
> ******************************************************************************
>
> ! Export 3D scalar data upon a Non uniform rectilinear Grid
> !
> ! n1m,n2m,n3m: size of the data and the grid
> ! y1,y2,y3: coordinates
> ! scal_data: data to write
> ! name: name of the data
> !
> subroutine paraview_3d_scalar(n1m,n2m,n3m,y1,y2,y3,scal_data,name)
> !
> implicit none
> !
> INTEGER ,INTENT(IN)::n1m,n2m,n3m
> REAL*8,DIMENSION(n1m) ,INTENT(IN)::y1
> REAL*8,DIMENSION(n2m) ,INTENT(IN)::y2
> REAL*8,DIMENSION(n3m) ,INTENT(IN)::y3
> REAL*8,DIMENSION(n1m,n2m,n3m),INTENT(IN)::scal_data
> CHARACTER(LEN=10) ,INTENT(IN)::name
> !
> integer::i,j,k,nfil
> !
> nfil=41
> open(nfil,file=trim(name)//'.vtr')
It is a good question. if want unformatted open as
open(nfil,file=trim(name)//'.vtr',FORM='UNFORMATTED')
and write files as
write(nfil)'<VTKFile type="RectilinearGrid" version="0.1"',
& ' byte_order="LittleEndian">'
But does UNFORMATTED=binary?
Can someone explain the difference between binary and UNFORMATTED?
Stephen
> write(nfil,*)'<VTKFile type="RectilinearGrid" version="0.1"',
> & ' byte_order="LittleEndian">'
> write(nfil,*)' <RectilinearGrid WholeExtent=',
> & '"1 ',n1m,' 1 ',n2m,' 1 ',n3m,'">'
> write(nfil,*)' <Piece Extent=',
> & '"1 ',n1m,' 1 ',n2m,' 1 ',n3m,'">'
> write(nfil,*)' <Coordinates>'
> write(nfil,*)' <DataArray type="Float32"',
> & ' Name="X_COORDINATES"',
> & ' NumberOfComponents="1">'
> write(nfil,*) (y1(i),i=1,n1m)
> write(nfil,*)' </DataArray>'
> write(nfil,*)' <DataArray type="Float32"',
> & ' Name="Y_COORDINATES"',
> & ' NumberOfComponents="1">'
> write(nfil,*) (y2(j),j=1,n2m)
> write(nfil,*)' </DataArray>'
> write(nfil,*)' <DataArray type="Float32"',
> & ' Name="Z_COORDINATES"',
> & ' NumberOfComponents="1">'
> write(nfil,*) (y3(k),k=1,n3m)
> write(nfil,*)' </DataArray>'
> write(nfil,*)' </Coordinates>'
> write(nfil,*)' <PointData Scalars="scalar">'
> write(nfil,*)' <DataArray Name="'//trim(name)//'"',
> & ' type="Float32"',
> & ' NumberOfComponents="1"',
> & ' format="ascii">'
> write(nfil,*) (((scal_data(i,j,k),i=1,n1m),j=1,n2m),k=1,n3m)
> write(nfil,*)' </DataArray>'
> write(nfil,*)' </PointData>'
> write(nfil,*)' </Piece>'
> write(nfil,*)' </RectilinearGrid>'
> write(nfil,*)'</VTKFile>'
> close(nfil)
> !
> return
> end
>
>_______________________________________________
>ParaView mailing list
>ParaView at paraview.org
>http://www.paraview.org/mailman/listinfo/paraview
>
>
More information about the ParaView
mailing list