Class Seismology

java.lang.Object
org.episteme.natural.earth.seismology.Seismology

public class Seismology extends Object
Seismology calculations for earthquake analysis.

Provides:

  • Magnitude scale conversions (Richter, moment magnitude)
  • Energy release calculations
  • Seismic wave travel times
  • Intensity estimations

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Field Details

    • KILOMETER_PER_SECOND

      public static final Unit<Velocity> KILOMETER_PER_SECOND
    • VP_CRUST

      public static final Quantity<Velocity> VP_CRUST
      P-wave velocity in Earth's crust: ~6.0 km/s
    • VS_CRUST

      public static final Quantity<Velocity> VS_CRUST
      S-wave velocity in Earth's crust: ~3.5 km/s
    • EARTH_RADIUS

      public static final Quantity<Length> EARTH_RADIUS
      Earth's radius (km)
  • Method Details

    • magnitudeToMoment

      public static Real magnitudeToMoment(Real localMagnitude)
      Convert local magnitude (Richter) to seismic moment. log10(M0) = 1.5 * ML + 16.1 (CGS units, dyne-cm)
      Parameters:
      localMagnitude - ML (Richter scale)
      Returns:
      seismic moment in N·m
    • momentToMagnitude

      public static Real momentToMagnitude(Real seismicMoment)
      Convert seismic moment to moment magnitude (Mw). Mw = (2/3) * log10(M0) - 10.7 (SI units, N·m)
    • energyReleased

      public static Quantity<Energy> energyReleased(Real magnitude)
      Estimate energy released by earthquake. log10(E) = 1.5 * M + 4.8 (Joules)
      Parameters:
      magnitude - earthquake magnitude
      Returns:
      energy as Quantity
    • energyRatio

      public static Real energyRatio(Real mag1, Real mag2)
      Compare energy of two magnitudes. Each magnitude step represents ~31.6x energy increase.
    • pWaveTravelTime

      public static Quantity<Time> pWaveTravelTime(Quantity<Length> distance)
      P-wave travel time for crustal path.
      Parameters:
      distance - epicentral distance
      Returns:
      travel time as Quantity
    • sWaveTravelTime

      public static Quantity<Time> sWaveTravelTime(Quantity<Length> distance)
      S-wave travel time for crustal path.
    • spTimeDifference

      public static Quantity<Time> spTimeDifference(Quantity<Length> distance)
      S-P time difference (used for locating earthquakes).
    • distanceFromSpTime

      public static Quantity<Length> distanceFromSpTime(Quantity<Time> spTime)
      Estimate distance from S-P time difference.
    • estimateIntensity

      public static int estimateIntensity(Real magnitude, Quantity<Length> distance)
      Estimate Modified Mercalli Intensity from magnitude and distance. Approximate empirical relationship.
      Parameters:
      magnitude - earthquake magnitude
      distance - epicentral distance
      Returns:
      estimated MMI (I-XII scale)
    • intensityDescription

      public static String intensityDescription(int mmi)
      Get intensity description (Modified Mercalli).
    • classifyMagnitude

      public static String classifyMagnitude(Real magnitude)
      Classify earthquake by magnitude.
    • annualFrequency

      public static Real annualFrequency(Real magnitude)
      Estimate annual frequency of earthquakes at magnitude level. Based on Gutenberg-Richter law: log10(N) = a - bM Using global average: a ≈ 8, b ≈ 1
    • ruptureLength

      public static Quantity<Length> ruptureLength(Real magnitude)
      Estimate fault rupture length from seismic moment. Empirical relationship: log10(L) = 0.5 * M - 1.88 (km)
    • averageSlip

      public static Quantity<Length> averageSlip(Real magnitude)
      Estimate average slip from magnitude. log10(D) = 0.5 * M - 3.58 (meters)