25 xs, ys, zs, Depth, zs_all,&
26 vs30, thickness, sub_tag_all)
28 real*8,
intent(out) :: rho, lambda, mu, gamma, qs, qp
29 real*8,
intent(in) :: xs, ys, zs, depth, zs_all,&
31 integer*4 :: sub_tag_all
32 real*8 :: ni, vs, vp, depth_real
41 if(zs .lt. -2000)
then
45 lambda = rho * (vp**2.d0 - 2.d0*vs**2.d0);
48 gamma = 4.d0*datan(1.d0)/qs;
50 if( vs30 .gt. 600.d0)
then
51 vs = vs30 + 5*dsqrt(depth)
53 rho = 1800.d0 + 5.d0*dsqrt(depth);
54 lambda = rho * (vp**2.d0 - 2.d0*vs**2.d0);
57 gamma = 4.d0*datan(1.d0)/qs;
59 elseif( vs30 .le. 600.d0 .and. zs_all .ge. 0.d0)
then
60 vs = vs30 + 10*dsqrt(depth);
62 rho = 1530.d0 + 5.d0*dsqrt(depth);
65 gamma = 4.d0*datan(1.d0)/qs;
67 elseif( vs30 .le. 600.d0 .and. zs_all .lt. 0.d0)
then
68 vs = 800 + 10*dsqrt(depth);
69 vp = 2000.d0 + 15.d0*dsqrt(depth);
70 rho = 1800.d0 + 5.d0*dsqrt(depth);
73 gamma = 4.d0*datan(1.d0)/qs;
78 if(dabs(xs - 415552) .le. 2000.d0)
then
82 lambda = rho * (vp**2.d0 - 2.d0*vs**2.d0);
85 gamma = 4.d0*datan(1.d0)/qs;
87 elseif(dabs(xs - 484516) .le. 2000.d0)
then
91 lambda = rho * (vp**2.d0 - 2.d0*vs**2.d0);
94 gamma = 4.d0*datan(1.d0)/qs;
96 elseif(dabs(ys - 4447869) .le. 2000.d0)
then
100 lambda = rho * (vp**2.d0 - 2.d0*vs**2.d0);
103 gamma = 4.d0*datan(1.d0)/qs;
105 elseif(dabs(ys - 4379160) .le. 2000.d0)
then
109 lambda = rho * (vp**2.d0 - 2.d0*vs**2.d0);
112 gamma = 4.d0*datan(1.d0)/qs;
subroutine make_mech_prop_case_021(rho, lambda, mu, gamma, qs, qp, xs, ys, zs, depth, zs_all, vs30, thickness, sub_tag_all)
Makes not-honoring technique.