#< #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