53 xx_elev, yy_elev, zz_elev, vs_elev, sediments, &
54 node1_elem, node2_elem, node3_elem, &
55 cs_nnz_loc, cs_loc, nm, tm, sd, &
56 nn_s, xx_s, yy_s, zz_s, &
57 zz_elevation, zz_alluvial, vs, thickness, &
62 integer*4 :: im,ie,i,j,k,nn,ip,isn,ic
63 integer*4 :: nn_elev, nn_elem, cs_nnz_loc, nm, ne, nn_s
67 integer*4,
dimension(nn_s) :: loc_n_num
68integer*4,
dimension(nn_elem) :: node1_elem,node2_elem,node3_elem
69 integer*4,
dimension(nm) :: tm
70 integer*4,
dimension(nm) :: sd
71 integer*4,
dimension(0:cs_nnz_loc) :: cs_loc
76 real*8 :: ux,uy,uz,vx,vy,vz
80 real*8 :: v0x,v0y,v1x,v1y,v2x,v2y
81 real*8 :: dot00,dot01,dot02,dot11,dot12
82 real*8 :: invdenom,u,v
85 real*8 :: dx,dy,dz,tol, dist, dist_min
87 real*8,
dimension(:),
allocatable :: ct,ww
88 real*8,
dimension(nn_elev) :: xx_elev,yy_elev,zz_elev
89 real*8,
dimension(nn_elem) :: vs_elev,sediments
90 real*8,
dimension(nn_s) :: xx_s,yy_s,zz_s
91 real*8,
dimension(nn_s) :: zz_elevation
92 real*8,
dimension(nn_s) :: zz_alluvial
93 real*8,
dimension(nn_s) :: vs, thickness
95 real*8,
dimension(:,:),
allocatable :: dd
97 d2min = (5 * max_es)**2
99 zz_elev_min = zz_elev(1)
101 if (zz_elev(i).lt.zz_elev_min)
then
102 zz_elev_min = zz_elev(i)
112 im = cs_loc(cs_loc(ie -1) +0)
114 if (im .eq. tagmat)
then
117 allocate(ct(nn),ww(nn),dd(nn,nn))
125 ip = nn*nn*(k -1) +nn*(j -1) +i
126 isn = cs_loc(cs_loc(ie -1) + ip)
134 x1 = xx_elev(node1_elem(h))
135 y1 = yy_elev(node1_elem(h))
136 z1 = zz_elev(node1_elem(h))
138 dist = (x1 - xx_s(ic))**2 + (y1 - yy_s(ic))*
139 if (dist .le. dist_min)
then
147 x1 = xx_elev(node1_elem(h_sel))
148 y1 = yy_elev(node1_elem(h_sel))
149 z1 = zz_elev(node1_elem(h_sel))
151 x2 = xx_elev(node2_elem(h_sel))
152 y2 = yy_elev(node2_elem(h_sel))
153 z2 = zz_elev(node2_elem(h_sel))
155 x3 = xx_elev(node3_elem(h_sel))
156 y3 = yy_elev(node3_elem(h_sel))
157 z3 = zz_elev(node3_elem(h_sel))
160 zz_interp = (z1 + z2 + z3)/3.d0
161 zz_elevation(ic) = ( zz_interp - zz_s(ic) )
162 vs(ic) = vs_elev(h_sel)
163 thickness(ic) = sediments(h_sel)
165 if(zz_elevation(ic) .le. tol)
then
166 zz_elevation(ic) = 0.0d0
167 vs(ic) = vs_elev(h_sel)
168 thickness(ic) = sediments(h_sel)