Hi, I need to write a binary file exactly as written by fortran code below to be read by another code which is part of a model which is not advisable to edit.I would like to use python for this purpose as python has mode flexibility and easy coding methods. character(40) :: TITLE="122322242" integer :: IWI,JWI real :: XFIN,YFIN,DXIN=0.5,DYIN=0.5,WDAY(6000) XFIN=0.0,YFIN=-90.0,NREC=1461,DXIN=0.5;DYIN=0.5;IWI=720;JWI=361 real,allocatable,dimension(:,:,:) :: VAR1_VAL real,allocatable,dimension(:,:,:) :: VAR2_VAL
open(11,file=outf,form='UNFORMATTED') WRITE(11) TITLE WRITE(11) NX,NY,XFIN,YFIN,DXIN,DYIN,NREC,WDAY write(*,'(A10,2f10.3)') "START=",VAR1_VAL(1,1,1),VAR2_VAL(1,1,1) write(*,'(A10,2f10.3)') "END=",VAR1_VAL(nx,ny,nrec),VAR2_VAL(nx,ny,nrec) do i=1,NREC WRITE(11) VAR1_VAL(:,:,i),VAR2_VAL(:,:,i) WRITE(*,'(2I10,f10.3)') NX,NY,WDAY(i) enddo My trial code with Python (data is read from file here) from netCDF4 import Dataset as nc import numpy as np XFIN=0.0,YFIN=-90.0,NREC=1461,DXIN=0.5;DYIN=0.5 TITLE="NCMRWF 6HOURLY FORCING MKS" nf=nc('ncmrwf_uv.nc') ncv=nf.variables.keys() IWI=len(nf.variables[ncv[0]]) JWI=len(nf.variables[ncv[1]]) WDAY=nf.varlables[ncv[2]][0:NREC] U=nf.variables[ncv[3]][0:NREC,:,:] V=nf.variables[ncv[4]][0:NREC,:,:] bf=open('ncmrwf_uv.bin',"wb") f.write(TITLE) f.write(IWI,JWI,XFIN,YFIN,DXIN,DYIN,NREC,WDAY) for i in np.arange(0,NREC): f.write(U[i,:,:],V[i,:,:]) f.close() But the issue is that f.write do not allow multiple values( it allows one by one so throws an error with above code ) on same write statement like in the fortran code. experts may please advice if there a solution for this? with best regards, Sudheer -- https://mail.python.org/mailman/listinfo/python-list