≡ GMRA-System

Global Seismic Monitoring and Risk Assessment System
GLOBAL TENSION
--:--:--

Average depth (by Earth)

Global magnitude (sum M1+)

Moon: average speed (km/h)

Moon distance: 0

GMRA Mathematical Core & Predictive Engine

Welcome to the mathematical core of the Global Seismic Monitoring and Risk Assessment System (GMRA v1.0). This page details the open-source mathematical model, descriptions of the active triggers, variables, and formulas used to estimate stress accumulation in tectonic faults. Please note that the algorithms of the program operate exclusively on completed one-day cycles (24-hour). Therefore, the historical seismic window used for "today's" forecast physically ends "yesterday". The resulting calculated data narrows the possible event corridor, paving the way for more accurate forecasting (laying the groundwork for a potential GMRA-System v2.0 with a transition to shorter intervals).

The system is based on a dual-tier approach: identifying astronomical gravitational extremes and detecting global seismic anomalies. Instead of relying on static thresholds, GMRA uses dynamic backtesting calibration on events with a magnitude $\ge 6.9$ (a customizable parameter) to assign precise weights to various precursors based on historical data. Please note that GMRA version 1.0 is an experimental test model. It serves as a data-driven "sandbox" for validating geophysical theories, testing hypotheses, and calibrating predictive weights. To capture sustained energy accumulation trends, the algorithm evaluates data matrices across three distinct time windows: 3, 7, and 14 days (a customizable parameter).

I. Data Parsing & Fundamental Metrics

The foundational data are updated and processed daily via the ISC Data Calculator parser IscDataCalculator which calculates cumulative global metrics for seismic events worldwide.

1. Cumulative Benioff Strain

To track the accumulation and release of tectonic energy, we calculate the Benioff Strain for every recorded earthquake. The seismic energy ($E$) is first derived from the magnitude ($M$):

$$E=10^{1.5M+4.8}$$

The Benioff Strain is the square root of this energy release:

$$Strain=\sqrt{E}$$

In the system, sudden drops in the daily strain delta $\Delta$ (Quiescence) or exponential accelerations (AMR) act as critical precursors. Below is an excerpt of the calculated data from the GMRA-System database table (sorted by the 'max_magnitude' field).

stat_date avg_depth sum_mag. max_mag. event_count b_value benioff_strain
2013.05.24 72.119 2250.2 7.3 944 0.920 183447648.383
2012.04.11 24.559 3569.8 7.2 1287 0.908 356511878.789
2012.12.07 32.417 2742.7 7.2 1019 0.900 225990185.043
2011.03.11 23.478 8457.3 7.1 2557 0.601 1735703313.041
2012.08.31 28.988 2698.2 7.1 1075 0.950 170081256.829
2011.07.06 28.024 2836.1 7.0 1183 1.137 131111901.637
2013.04.16 31.660 1962.1 7.0 886 0.847 98442822.572
2013.04.19 30.459 2038.0 7.0 922 0.927 100265691.084
2011.06.24 25.082 2445.1 6.9 1039 0.879 100981400.241
2011.01.18 30.221 1968.9 6.8 808 1.110 90833762.045

In the Java-based backend, the mathematical logic for the calculations and table population is implemented as follows:

// IscDataCalculator.java: Benioff Strain & Aggregation
private static final double MC_THRESHOLD = 4.0; // Magnitude of Completeness

// ... Inside the parsing loop ...
if (magnitude > 0) {
    // E = 10^(1.5 * M + 4.8)
    double energy = Math.pow(10, 1.5 * magnitude + 4.8);
    double strain = Math.sqrt(energy);
    // Add to daily sum
    benioffByDate.put(date, benioffByDate.get(date) + strain); 
}

// Aggregating global data for the day
countByDate.put(date, countByDate.get(date) + 1);
sumDepth.put(date, sumDepth.get(date) + depth);
sumMagnitude.put(date, sumMagnitude.get(date) + magnitude);

if (magnitude > maxMagnitude.get(date)) {
    maxMagnitude.put(date, magnitude);
}

// Aggregate data ONLY for significant earthquakes (for b-value)
if (magnitude >= MC_THRESHOLD) {
    sumMagnitudeAboveMc.put(date, sumMagnitudeAboveMc.get(date) + magnitude);
    countAboveMc.put(date, countAboveMc.get(date) + 1);
}

2. Gutenberg-Richter b-value (Aki-Utsu Method)

The b-value represents the ratio of small to large earthquakes. We calculate this dynamically using the Maximum Likelihood Estimation (Aki-Utsu method) applied only to events at or above our Magnitude of Completeness ($M_c=4.0$).

$$b=\frac{\log_{10}(e)}{\bar{M}-M_c}$$

Where $\bar{M}$ is the average magnitude of all events $\ge 4.0$. A dropping b-value (approaching the $0.5 - 1.0$ zone) indicates severe crustal locking, while a sudden rebound velocity ($\ge 0$) triggers a critical alarm.

// IscDataCalculator.java: Calculating b-value by Aki-Utsu method
int countMc = countAboveMc.getOrDefault(date, 0);
double sumMc = sumMagnitudeAboveMc.getOrDefault(date, 0.0);
 
if (countMc >= 3) { // Minimum 3 events ≥ 4.0
    double avgMagnitudeMc = sumMc / countMc;
    if (avgMagnitudeMc > MC_THRESHOLD) {
        double b = Math.log10(Math.E) / (avgMagnitudeMc - MC_THRESHOLD);
        bValueByDate.put(date, b);
    }
    else { 
        bValueByDate.put(date, 1.0); // Default norm
    }
} 
else { 
    bValueByDate.put(date, 1.0); // Background normal if countMc < 3
}

3. Dynamic Calibration & Statistical Baselines

Every 24 hours, the system parses new global data, performs a full backtesting recalibration of the scoring weights, and dynamically updates the Statistical baselines. These baselines establish the mathematical norm (mean and standard deviation, $\sigma$) for all metrics.

name mean sigma
Benioff Strain 59825353.883 102885372.380
Event count 819.628 385.098
Global depth 31.904 6.394
Sum magnitude 1833.972 772.641
Moon speed 129.722 69.050
Speed derivative 28.197 17.538

II. Seismic Anomaly Detection

The program algorithms serve as an analytical engine, processing the acquired data through various mathematical methods.

1. Tectonic Lock-In (Pearson & Spearman Correlation)

We measure the statistical coupling (interaction) between global seismic magnitudes and depths. A high correlation combined with a sharp change in the delta is used as an indicator of tectonic changes in the Earth's crust.

$$r=\frac{\sum(x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum(x_i-\bar{x})^2\sum(y_i-\bar{y})^2}}$$
// PredictionCalculator.java: Pearson Gradient Tracking
double pearsonToday = Math.abs(mathService.getPearsonCorrelation(windowMagnitudes, windowDepths));
double pearsonDelta = pearsonToday - pearsonYesterday;

if (pearsonToday >= 0.85 && Math.abs(pearsonDelta) >= 0.1) {
    currentScore += mathService.cachedWeights.weightPearsonMD;
    result.activeTriggers.add("Pearson: Mag vs Depth ≥ 0.85⬆️");
}

2. Depth Sigma Anomaly (Upward Migration)

Analyzing the vertical migration of global seismic stress and tracking the 1-day velocity vector where the depth delta $\Delta$ is strictly negative, the program identifies an upward-directed pressure (energy) buildup toward the Earth's crust ($\text{depthDelta} < 0$). The intensity of this upward movement is measured relative to the historical global standard deviation of depth $\sigma$.

// PredictionCalculator.java: Depth Vector Analysis
double depthDelta = depthToday - depthYesterday; 
            
if (depthDelta < 0) { // ONLY if the pressure upwards
    double normalDepthSigma = mathService.baselineSigma.get("global_depth");            
    double depthAccelerationRatio = Math.abs(depthDelta) / normalDepthSigma;

    if (depthAccelerationRatio > 0.5) { 
        currentScore += mathService.cachedWeights.weightDepthAnomaly;
        result.activeTriggers.add("Depth Anomaly: Violent Shift⬆️");
    }
}

3. Seismic Event Acceleration (ETAS)

To differentiate between random daily noise and true epidemic-type aftershock sequences (ETAS) or foreshock swarms, we use a two-level mathematical approach combining Macro-Trends (6-day linear regression slope) and Micro-Deltas (1-day acceleration ratio).

$$m=\frac{n(\sum xy)-(\sum x)(\sum y)}{n(\sum x^2)-(\sum x)^2}$$
// PredictionCalculator.java: Two-level ETAS Regression
double currentEventSpeed = currentCount - windowEventCounts[windowEventCounts.length - 2];
double overallTrend = mathService.calculateTrendSlope(macroEventCounts); // subwindow linear regression

if (currentEventSpeed > 0) {
    // Sustained Swarm Acceleration
    boolean isSustainedSwarm = overallTrend > 0;
    // ... score processing
} else if (currentEventSpeed <= 0) {
    // Seismic silence (A sharp break in Up-trend or abnormally strong decline)
    double dropRatio = Math.abs(currentEventSpeed) / normalEventCountSigma;
    if (overallTrend > 0 || dropRatio > 0.07) {
        currentScore += mathService.cachedWeights.weightEventSwarm;
        result.activeTriggers.add("ETAS Swarm: U-turn / Lock-in");
    }
}

// MathCalculationService.java: Macro-Trend Linear Regression
public double calculateTrendSlope(double[] data) {
    if (data == null || data.length < 2) return 0.0;
    double sumX = 0, sumY = 0, sumXY = 0, sumX2 = 0;
    int n = data.length;
    
    for (int i = 0; i < n; i++) {
        sumX += i;
        sumY += data[i];
        sumXY += (i * data[i]);
        sumX2 += (i * i);
    }
    return (n * sumXY - sumX * sumY) / (n * sumX2 - sumX * sumX);
}

III. The Synergy Engine & Red Zone Override

The final layer where all triggers are synthesized. The probability of an earthquake or volcanic eruption is not just the sum of its parts; it is driven by non-linear synergy. Please note that the program cannot yet distinguish between volcanoes and earthquakes. If the algorithm detects a highly specific alignment—a critical Pearson lock-in, a violent upward depth strike, and a b-value anomaly — it initiates a red zone override, setting the risk probability to 85.0% or adding a percentage, forcing the risk probability.

// PredictionCalculator.java: Red Zone Override
boolean hasCriticalPearson = false;
boolean hasCriticalDepth = false;
boolean hasCriticalBValue = false;

for (String t : result.activeTriggers) {
    if (t.contains("Pearson: Mag vs Depth ≥ 0.85⬆️")) hasCriticalPearson = true;
    if (t.contains("Depth Anomaly: Violent Shift⬆️")) hasCriticalDepth = true;
    if (t.contains("b-value Anomaly (0.5 - 1.0)")) hasCriticalBValue = true;
}

// RED ZONE OVERRIDE
if (hasCriticalPearson && hasCriticalDepth && hasCriticalBValue && currentScore <= 75.0) {
    result.activeTriggers.add("⚡ SYNERGY: Multi-Seismic Alignment ("+currentScore+"% ⇄ 85%)"); 
    currentScore = 85.0; 
}

IV. System Triggers & Pointers

Active Triggers

  • Proximity to Earth's Apsides (Aphelion / Perihelion) ≤16d or ≤35d
  • Proximity to Equinoxes (Vernal / Autumnal) ≤16d
  • Lunar Orbital Speed Extremum (Perigee / Apogee Proximity) ≤3d
  • Lunar Acceleration Extremum (Peak Momentum Derivatives) ≤3d
  • Phase Shift of the Moon's Orbital Swept Area ≤15d
  • Linear & Monotonic Correlation (Pearson & Spearman): Magnitude vs. Depth
  • Global Earthquake Depth Dispersion Anomaly (σ Deviation)
  • b-value Anomaly (Gutenberg-Richter Law Stress Indicator)
  • Accelerated Moment Release (AMR / Benioff's Energy Trend)
  • Seismic Quiescence (Unnatural Benioff Energy Calm)
  • ETAS Seismic Swarm (Event Count σ Anomaly)

Pointers

  • ⬆️ Unidirectional upward movement
  • ⬇️ Unidirectional downward movement
  • ⇅ Change of direction movement
  • 〽️ Tectonic Fluctuations: volatility (vector undefined).
  • ⚡ Suspicious silence: Total absence of standard markers.
  • ⚡ SYNERGY: Multi-Seismic Alignment: simultaneous coincidence of specified anomalies.
  • ⚡ SYNERGY: Astro + Multi-Seismic: Gravitational extremes combined seismic anomalies.
  • 🤖 AI Detection (ML - Weka): The platform utilizes an ensemble of three independent models optimized for different time horizons. The models target M6.0+ events (or swarm ≥ 3, M5.3+ and M5.5 must).

    AI Performance Metrics

    • Today (24h): F0.5: 36.39% | Precision: 32.78% | Recall: 65.12%
    • Tomorrow (48h): F0.5: 55.10% | Precision: 52.16% | Recall: 71.18%
    • 3 Days (72h): F0.5: 82.26% | Precision: 78.77% | Recall: 100.00%

The AI ensemble analyzes a 10-parameter vector (including seismic energy, depth shifts, and gravitational triggers), with the following core markers proving most effective in the Explainable AI (XAI) layer:

  • ETAS Swarm Ratio (Ogata Model / Omori–Utsu Law)
  • Gutenberg–Richter b-value (Aki–Utsu Method)
  • Pearson Correlation (Magnitude vs. Depth anomaly)

It should also be noted that the scientific community currently has no universally accepted or reliable methods for short-term earthquake and volcanic eruption forecasting. For this reason, GMRA-System v1.0 employs a proprietary multi-level approach across different forecasting stages, using AI as an auxiliary filter.

📊 Final System Accuracy (Red Zone)

  • M5.5+ (24h): F0.5: 71.28% | Precision: 82.57% | Recall: 46.08%
  • M6.0+ (24h): F0.5: 66.25% | Precision: 61.67% | Recall: 94.24%
  • M6.5+ (24h): F0.5: 18.90% | Precision: 15.75% | Recall: 95.08%
* Accuracy may change with the introduction of new detection methods and system updates.

AI Status Messages:

  • ⚠️ VOTING ENSEMBLE: The mathematical scoring system (using manual calibration with fixed weighted multipliers) indicates a >75% probability of an M6.0 - 6.5+ earthquake; the 3ML cascade cross-validation (24h, 48h, 72h horizons) forecasts jointly confirm increasing stress accumulation, or they vote independently.
  • 🤖 Not confirmed: The scoring system indicates a >75% probability of an M6.0 - M6.5+ earthquake, but the AI cascade (the 3 ML models) does not support the alert (0 or only 1 model triggered). In this scenario, the ML acts as a safeguard, suppressing the mathematical false alarm and automatically downgrading the threat level to the orange or yellow zone.
Informational messages in the "Active triggers" section, including ML notices, reflect information for "today’s" forecast (i.e., calculated using data recorded through yesterday). ML can generate a forecast for tomorrow if the 24-hour model is not triggered.

Weight Coefficients (Primary Calibration)

Historical data (2011 - 2026) Max. = 1.0; $M \ge 6.9$
GMRA-System v1.1 Source code on GitHub

Trigger / Parameter Weight
Aphelion / Perihelion Proximity 0.3761
Equinox Proximity 0.2201
Moon Orbital Phase Shift 0.1467
Moon Acceleration Extremum 0.2477
Moon Speed Extremum 0.7431
Pearson: Mag vs Depth 0.6789
Spearman: Mag vs Depth 0.5596
Depth Anomaly (Surface Strike) 0.4220
b-value Anomaly 0.5872
ETAS Swarm / Event Acceleration 0.5963
Benioff's Active Energy Accel. 0.0275
Benioff's Sharp Energy Drop (Quiescence) 0.3211

Volcanoes & earthquakes ≥ М6

Today0%
Tomorrow0%
7 days0%

Active triggers

  • Waiting for data...