previous up next print clean
Next: TRANSLATED FORTRAN90 CODE Up: REFERENCES Previous: REFERENCES

RATFOR90 CODE

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



Stanford Exploration Project
10/9/1997