subroutine writedriverfile
use modglobal, only : timee,tdriverstart,ib,ie,ih,jb,je,jh,kb,ke,kh,cexpnr,ifoutput,nstore,ltempeq,lmoist,driverstore,nsv,lsdriver
use modfields, only : u0, v0, w0, e120, thl0, qt0, um, sv0
use modmpi, only : cmyid,myid
use modinletdata, only : storetdriver,storeu0driver,storev0driver,storew0driver,storethl0driver,storeqt0driver,&
storesv0driver,nfile,nstepreaddriver
implicit none
integer :: fileid, IOS
integer :: i,j,k,n
integer :: filesizet, filesizev, filesizetest1, filesizetest2, filesizes
character(15) :: name
logical :: lexist
real, allocatable :: arraysizetest(:,:)
allocate(arraysizetest(jb-jh:je+jh,kb-kh:ke+kh))
inquire(iolength=filesizet)(timee-tdriverstart)
! inquire(iolength=filesizetest1)(timee)
! inquire(iolength=filesizetest2)u0(1,1,1)
inquire(iolength=filesizev)u0(irecydriver,:,:)
inquire(iolength=filesizes)sv0(irecydriver,:,:,:)
!!
! if((myid==0) .and. (nstepreaddriver==1)) then
! write(6,*) 'inquire iolength ', filesizet
! write(6,*) 'inquire iolength test', filesizetest1
! write(6,*) 'inquire iolength test u', filesizetest2
! end if
! inquire(iolength=filesizetest1)arraysizetest(:,:)
! filesizetest2 = (je-jb+2*jh)*(ke-kb+2*kh)
! if((myid==0) .and. (nstepreaddriver==1)) then
! write(6,*) 'je,jb,jh,ke,kb,kh', je,jb,jh,ke,kb,kh
! write(6,*) 'inquire iolength test 1 ', filesizetest1
! write(6,*) 'inquire iolength test 2', filesizetest2
! write(6,*) 'inquire iolength', filesizev
! end if
if(myid==0) then
write(6,*) '============ Writing driver files ============'
write(*,*) 'Driver timestep: ', nstepreaddriver
end if
if(myid==0) then
name = 'tdriver_ .'
name(9:11)= cmyid
name(13:15)= cexpnr
! name(15:18)= '.txt'
inquire(file=name,exist=lexist)
if (lexist) then
! write(6,*) 'Writing Time stamp to file: ', name
open (unit=11,file=name,form='unformatted',status='old',access='direct',recl=filesizet,action='write')
else
! write(6,*) 'Creating Time stamp driver file: ', name
open (unit=11,file=name,form='unformatted',status='replace',access='direct',recl=filesizet,action='write',IOSTAT=IOS)
! if (IOS > 0) then
! write(6,*) 'IOS = ',IOS
! endif
end if
! write(*,*) 'filesizet', filesizet
! write(ifoutput) ( storetdriver (n), n=1,nstore)
! write(6,'(A,F9.2)') 'Writing time stamp to file: ', timee-tdriverstart
write(11,rec=nstepreaddriver) ( timee-tdriverstart)
close (unit=11)
write(*,*) 'Driver time:' , timee-tdriverstart
end if
name = 'udriver_ .'
! write (name(13:16) ,'(i4.4)') nfile
name(9:11)= cmyid
name(13:15)= cexpnr
! name(15:18)= '.txt'
inquire(file=name,exist=lexist)
if (lexist) then
! write(6,*) 'Writing Inlet u-velocity to file: ', name
open (unit=11,file=name,form='unformatted',status='old',access='direct',recl=filesizev,action='write')
else
! write(6,*) 'Creating Inlet u-velocity inlet file: ', name
open (unit=11,file=name,form='unformatted',status='replace',access='direct',recl=filesizev,action='write')
end if
! write(ifoutput) (((storeu0driver (j,k,n),j=jb,je),k=kb,ke), n=1,nstore) ! Nested implied do-loop
!if(myid==0) then
!write(6,'(A,e20.12)') 'Writing u0 to file. u0(irecydriver,je,ke)', u0(irecydriver,je,ke)
!write(6,'(A,e20.12)') 'u0(irecydriver,jb,kb)', u0(irecydriver,jb,kb)
!write(6,'(A,e20.12)') 'Writing thl0 to file. thl0(irecydriver-1,je,ke)', thl0(irecydriver-1,je,ke)
!write(6,'(A,e20.12)') 'thl0(irecydriver-1,jb,kb)', thl0(irecydriver-1,jb,kb)
! write(6,*) 'irecydriver, je, ke, ib, jb, kb', irecydriver, je, ke, ib, jb, kb
!end if
write(11,rec=nstepreaddriver) (u0(irecydriver,:,:))
close (unit=11)
name = 'vdriver_ .'
! write (name(13:16) ,'(i4.4)') nfile
name(9:11)= cmyid
name(13:15)= cexpnr
! name(15:18)= '.txt'
inquire(file=name,exist=lexist)
if (lexist) then
! write(6,*) 'Writing Inlet v-velocity to file: ', name
open (unit=11,file=name,form='unformatted',status='old',action='write',access='direct',recl=filesizev)
else
! write(6,*) 'Creating v-velocity inlet file: ', name
open (unit=11,file=name,form='unformatted',status='replace',access='direct',recl=filesizev,action='write')
end if
! write(ifoutput) (((storev0driver (j,k,n),j=jb,je),k=kb,ke), n=1,nstore)
! '(F8.4)'
write(11,rec=nstepreaddriver) (v0(irecydriver,:,:)) !tg3315 removed irecydriver-1
close (unit=11)
name = 'wdriver_ .'
! write (name(13:16) ,'(i4.4)') nfile
name(9:11)= cmyid
name(13:15)= cexpnr
! name(15:18)= '.txt'
inquire(file=name,exist=lexist)
if (lexist) then
! write(6,*) 'Writing Inlet w-velocity to file: ', name
open (unit=11,file=name,form='unformatted',status='old',action='write',access='direct',recl=filesizev)
else
! write(6,*) 'Creating w-velocity inlet file: ', name
open (unit=11,file=name,form='unformatted',status='replace',access='direct',recl=filesizev,action='write')
end if
! write(ifoutput) (((storew0driver (j,k,n),j=jb,je),k=kb,ke+1),n=1,nstore)
write(11,rec=nstepreaddriver) (w0(irecydriver,:,:)) !tg3315 removed irecydriver-1
close (unit=11)
! name = 'edriver_ .'
! write (name(13:16) ,'(i4.4)') nfile
! name(9:11)= cmyid
! name(13:15)= cexpnr
! name(15:18)= '.txt'
! inquire(file=name,exist=lexist)
! if (lexist) then
! write(6,*) 'Writing Inlet w-velocity to file: ', name
! open(unit=11,file=name,form='unformatted',status='old',action='write',access='direct',recl=filesizev)
! else
! write(6,*) 'Creating w-velocity inlet file: ', name
! open(unit=11,file=name,form='unformatted',status='replace',access='direct',recl=filesizev,action='write')
! end if
! write(ifoutput) (((storew0driver (j,k,n),j=jb,je),k=kb,ke+1),n=1,nstore)
! write(11,rec=nstepreaddriver) (e120(irecydriver,:,:)) !tg3315 removed irecydriver-1
! close (unit=11)
if (ltempeq ) then
name = 'hdriver_ .'
! write (name(13:16) ,'(i4.4)') nfile
name(9:11)= cmyid
name(13:15)= cexpnr
! name(15:18)= '.txt'
inquire(file=name,exist=lexist)
if (lexist) then
! write(6,*) 'Writing Inlet temperature to file: ', name
open (unit=11,file=name,form='unformatted',status='old',action='write',access='direct',recl=filesizev)
else
! write(6,*) 'Creating temperature inlet file: ', name
! write(6,*) 'Creating w-velocity inlet file: ', name
open (unit=11,file=name,form='unformatted',status='replace',access='direct',recl=filesizev,action='write')
end if
! write(ifoutput) (((storew0driver (j,k,n),j=jb,je),k=kb,ke+1),n=1,nstore)
write(11,rec=nstepreaddriver) (thl0(irecydriver,:,:)) !tg3315 removed irecydriver-1
close (unit=11)
end if
if (lmoist ) then
name = 'qdriver_ .'
! write (name(13:16) ,'(i4.4)') nfile
name(9:11)= cmyid
name(13:15)= cexpnr
! name(15:18)= '.txt'
inquire(file=name,exist=lexist)
if (lexist) then
! write(6,*) 'Writing Inlet temperature to file: ', name
open (unit=11,file=name,form='unformatted',status='old',action='write',access='direct',recl=filesizev)
else
! write(6,*) 'Creating temperature inlet file: ', name
! write(6,*) 'Creating w-velocity inlet file: ', name
open (unit=11,file=name,form='unformatted',status='replace',access='direct',recl=filesizev,action='write')
end if
! write(ifoutput) (((storew0driver (j,k,n),j=jb,je),k=kb,ke+1),n=1,nstore)
write(11,rec=nstepreaddriver) (qt0(irecydriver,:,:)) !tg3315 removed irecydriver-1
close (unit=11)
end if
if (nsv>0 ) then
name = 'sdriver_ .'
! write (name(13:16) ,'(i4.4)') nfile
name(9:11)= cmyid
name(13:15)= cexpnr
! name(15:18)= '.txt'
inquire(file=name,exist=lexist)
if (lexist) then
! write(6,*) 'Writing Inlet temperature to file: ', name
open (unit=11,file=name,form='unformatted',status='old',action='write',access='direct',recl=filesizes)
else
! write(6,*) 'Creating temperature inlet file: ', name
! write(6,*) 'Creating w-velocity inlet file: ', name
open (unit=11,file=name,form='unformatted',status='replace',access='direct',recl=filesizes,action='write')
end if
! write(ifoutput) (((storew0driver (j,k,n),j=jb,je),k=kb,ke+1),n=1,nstore)
write(11,rec=nstepreaddriver) (sv0(irecydriver,:,:,:)) !tg3315 removed irecydriver-1
close (unit=11)
end if
end subroutine writedriverfile