c ML Magnitude (JCL 4/5/2005) real ml 1 print *, 'Compute local magnitude, ML, given distance (km),', * ' depth (km),', * ' maximum peak-to-peak amplitude (microns) and period', * ' (seconds) of earthquake signal.' print *, 'What is the distance, depth, amplitude & period?' read(5, *) dist, depth, amp, t c first find the magnification of a Wood-Anderson seismograph at this period. f = 1/t fzero = 1.25 b = 0.8 staticmag = 2080. wamagnif = staticmag * (f)**2 / * sqrt((fzero**2 - f**2)**2 + 4*(b*fzero*f)**2) write(6, '(a, f5.1, a, f6.0)') * ' Wood-Anderson magnification at ', f, 'Hz = ', wamagnif c computer the amplitude in mm that would have been measured on a W-A a = amp * wamagnif / 1000 c although depth was not used in the original formulation because the c earthquakes in California are shallow (for the most part), depth is c used here to allow for large depths in other areas, as is the c practice in Alaska. d = sqrt(dist**2 + depth**2) c select the correct values for b1 and b2 c allow d to be as large at 1000 km, even though the original ML limit was 600 km. if (d .lt. 1) then print *, 'Distance must be larger than 1 km.' stop else if(d .lt. 200.) then b1 = 0.15 b2 = 0.80 else if(d .gt. 1000.) then print *, 'Distance must be less than 1000 km.' stop else b1 = 3.38 b2 = 1.50 endif ml = alog10(a/2.) -b1 + b2*alog10(d**2) write(6, '(a, f5.1)') ' ML = ', ml goto 1 stop end