subroutine kickoff 3,1
use kvar
open (unit=99,file='kick',status='old')
read (99,nml=kick)
close (unit=99)
end subroutine kickoff
subroutine read_namelist_file 2,3
use kvar
; use kcnst
; use kphysmod
open (unit=99,file=trim(namelist_file),status='old')
read (99,nml=kname)
time=tstart
print *, 'opened namelist ',namelist_file
return
end subroutine read_namelist_file
subroutine write_trace 2,1
use kvar
implicit none
real(mrl) :: colwat
colwat=0.
do i=1,nu
colwat=colwat+dmf(i)*qc(i)
end do
! write(trace_unit,'(7es15.5)') time,th(1),hite,dmfold(nu-10)*rdmf(nu-10)-1._mrl,dmfold(nu-11)*rdmf(nu-11)-1._mrl
write(trace_unit,'(7es15.5)') time,th(1),hite,minval(buoyflux),radflux(nf)-radflux(1),maxval(fsmoke),colwat
! write(trace_unit,'(7es15.5)') time,qr(5),qc(5),qv(5),rh(5)
timetrace=timetrace+dttrace
end subroutine write_trace
subroutine write_mon 1,1
use kvar
implicit none
write(*,'(4es15.5)') time,th(1),hite,minval(fth)
timemon=timemon+dtmon
end subroutine write_mon
subroutine write_hist 2,3
use kvar
; use precis
; use kiomod
implicit none
character cn*7,filename*80
real(mrl), allocatable, dimension(:) :: ztemp
integer itime
! allocate (ztemp(nu+2)) !not used here
itime=time
write(cn,'(i7.7)') itime
!filename='../hist/'//trim(case)//cn
filename=trim(casepath)//trim(casename)//'/'//trim(casename)//cn//'.his'
write (*,*) ' will write history file ',trim(filename)
open (unit=hist_unit,file=filename,status='unknown')
write(hist_unit,nml=kname)
the_unit=hist_unit
include '../inc/writeout.inc'
!write(hist_unit,*) 'time=',time
!call write_a_var(hist_unit,'hite:',hite)
!call write_a_var(hist_unit,'zu:',zu)
!call write_a_var(hist_unit,'zf:',zf)
!call write_a_var(hist_unit,'u:',u1)
!call write_a_var(hist_unit,'th:',th1)
!call write_a_var(hist_unit,'smoke:',smoke1)
! deallocate(ztemp)
timehist=timehist+dthist
end subroutine write_hist
subroutine write_restart 2,4
use kvar
; use precis
; use kiomod
implicit none
character cn*7,filename*80
real(mrl), allocatable, dimension(:) :: ztemp
integer itime
itime=time
write(cn,'(i7.7)') itime
filename=trim(casepath)//trim(casename)//'/'//trim(casename)//cn//'.rst'
write (*,*) ' will write restart file ',trim(filename)
open (unit=res_unit,file=filename,status='unknown')
write(res_unit,nml=kname)
the_unit=res_unit
include '../inc/writeout.inc'
call write_a_var
(the_unit,'pres:',pres)
close(unit=the_unit)
end subroutine write_restart
subroutine read_restart 1,6
use kvar
; use kcnst
; use kiomod
; use kphysmod
implicit none
character cn*7,filename*80
real(mrl), allocatable, dimension(:) :: ztemp
integer itime
itime=tstart
write(cn,'(i7.7)') itime
!filename='../case/'//trim(case)//cn//'.rst'
!filename='../case/'//trim(case)//'/'//trim(case)//cn//'.rst'
filename=trim(casepath)//trim(casename)//'/'//trim(casename)//cn//'.rst'
write (*,*) ' will read restart file ',trim(filename)
open (unit=res_unit,file=filename,status='unknown')
read(res_unit,nml=kname)
call allocate_arrays
call repoint
the_unit=res_unit
include '../inc/readin.inc'
print *,' read restart file successful'
close (unit=res_unit)
end subroutine read_restart
subroutine open_trace(iexist) 2,1
use kvar
real (mrl) dummy
integer iexist
character filename*80
filename=trim(casepath)//trim(casename)//'/'//trim(casename)//'.trace'
open (unit=trace_unit,file=filename,status='unknown')
!if (time.gt.0.) then
if (iexist.ne.0) then
dummy=time-1
do while (dummy.lt.time)
read(trace_unit,*,end=800) dummy
end do
goto 900
800 close (unit=77)
open (unit=trace_unit,file=filename,position='append')
900 continue
end if
end subroutine open_trace