#<
#dix
#
#Usage:
#dix <in.H >out.H
#
#Description
# Converts from interval to RMS velocity
#>
#%end of self-documentation
program dix{
integer i1,i2,i3,n1,n2,n3
real,allocatable,dimension(:,:) :: array
real time,val,dt,dx
from history: integer n1,n2,n3 #grab the size of the dataset
#from the history file
from history: real d1:dx #get the sampling interval, store in dx
allocate(array(n1,n2))
do i3=1,n3{
call sreed("in",array,n1*n2*4)
array=1./array #Fortran90 array manipulation
do i2=1,n2{
time=0.;val=0.
do i1=1,n1{
dt=dx/array(i1,i2)
val+=dt*array(i1,i2)**2 #add sum Ratfor90 feature
time+=dt
array(i1,i2)=sqrt(val/time)
}
}
call srite("out",array,n1*n2*4)
}
} #bracketed programs