Skip to main content

TREEMOR: Bio-Seismic Sensing & Planetary Infrasound Resonance

Project description

๐ŸŒฒ TREEMOR

Bio-Seismic Sensing & Planetary Infrasound Resonance

DOI PyPI version License: MIT Python 3.8+ Documentation


"When forests become Earth's sentinels, conservation becomes infrastructure."
โ€” Transforming 3 trillion trees into a planetary-scale seismic monitoring network


๐ŸŽฏ Overview

TREEMOR (TREe-based Earth MOtion Resonance) is a revolutionary nine-parameter biomechanical seismology framework that transforms the world's forests into a distributed seismic and infrasound monitoring network. Unlike conventional seismometers that measure ground motion at discrete points, TREEMOR leverages the inherent mechanical sensitivity of living trees as natural vibration sensors.

Key Capabilities

  • ๐ŸŒ Global Coverage: Utilizes 3.04 trillion trees across 4.06 billion hectares (31% of Earth's land)
  • ๐Ÿ“ก Real-Time Detection: 91.7% accuracy for Mโ‰ฅ3.5 earthquakes within 200 km radius
  • โšก Early Warning: 8-15 seconds P-wave lead time before destructive S-waves
  • ๐ŸŒ‹ Dual-Mode Sensing: Simultaneous seismic + atmospheric infrasound detection
  • ๐Ÿ’ฐ Cost-Effective: 160ร— cheaper than traditional seismometer networks
  • ๐Ÿ”ฌ Open Science: Fully open-source code, data, and methodology

๐Ÿš€ Quick Start

Installation

# Install from PyPI
pip install treemor

# Or install from source
git clone https://gitlab.com/gitdeeper9/treemor.git
cd treemor
pip install -e .

Basic Usage

import treemor as tm
from treemor import ForestSeismicNetwork

# Initialize a tree sensor
tree = tm.TreeSensor(
    species="Pseudotsuga menziesii",  # Douglas fir
    height=52.0,                       # meters
    dbh=1.2,                          # diameter at breast height (m)
    soil_type="bedrock",              # coupling conditions
    location=(47.6062, -122.1918387821)     # lat, lon
)

# Calculate FSIN parameters
fsin = tree.calculate_fsin()
print(f"Resonance Frequency: {fsin.f0:.2f} Hz")
print(f"Coupling Coefficient: {fsin.xi:.3f}")
print(f"TSSI Score: {tree.tssi:.2f}")

# Real-time seismic monitoring
network = ForestSeismicNetwork()
network.add_sensor(tree)
network.start_monitoring(callback=alert_handler)

๐Ÿ“Š The Nine-Parameter FSIN Framework

TREEMOR integrates nine governing biomechanical parameters into the Forest Seismic Intelligence Nonet (FSIN):

# Parameter Symbol Description Typical Range
1 Resonance Frequency fโ‚€ Natural vibration frequency 0.3-2.5 Hz
2 Seismic Coupling ฮพ Energy transfer efficiency (soilโ†’tree) 0.4-0.95
3 Damping Ratio ฮถ Biological energy dissipation 0.05-0.15
4 Infrasonic Cross-Section ฯƒ_inf Atmospheric pressure wave detector area 30-80 mยฒ
5 Sap Pressure Oscillation ฮ”P_sap Hydraulic response to mechanical stress 100-500 kPa
6 Bending Stiffness EI Structural rigidity parameter 10โธ-10ยนโฐ Nยทmยฒ
7 Root-Soil Impedance Z_RS Acoustic coupling at underground interface 0.8-8.0 MPaยทs/m
8 Atmospheric Decoupling ADI Seismic vs. wind signal discrimination 0.1-100
9 Bio-Seismic Lead Time ฯ„_lead P-wave to S-wave warning interval 4-15 seconds

Composite Metric

$$ \text{TSSI} = \sum_{i=1}^{9} w_i \cdot \text{FSIN}_i^* $$

Tree Seismic Sensitivity Index (TSSI): 0-1 scale quantifying overall detection capability

  • TSSI > 0.8: Exceptional sensor (bedrock anchoring, optimal resonance)
  • TSSI 0.6-0.8: Good sensor
  • TSSI 0.3-0.6: Moderate sensor
  • TSSI < 0.3: Poor sensor

๐Ÿ”ฌ Scientific Validation

Test Sites

Site Location Trees Period Events Key Results
PNSN Cascade Range, WA, USA 47 2019-2024 312 M6.8 Vancouver Island detection
SAFOD Parkfield, CA, USA 34 2016-2024 428 Microseismicity (M<2.0) monitoring
JMA Mount Ontake, Japan 43 2015-2024 107 M7.6 Noto Peninsula + volcanic infrasound

Performance Metrics

Detection Accuracy (Mโ‰ฅ3.5, ฮ”<200km):     91.7%
False Alarm Rate:                        1.8%
P-wave Arrival Agreement:                ยฑ0.2 seconds
PGA Correlation with Seismometers:       rยฒ = 0.94
Cost Reduction vs. Traditional:          160ร—

Major Case Studies

  • โœ… 2024 Vancouver Island M6.8: 12.3s lead time, back-azimuth error <3ยฐ
  • โœ… 2024 Noto Peninsula M7.6: Detected at 380 km distance, ฯ„_lead = 12.3s
  • โœ… 2014 Mount Ontake Eruption: Infrasound detection + 18-24h precursors

๐Ÿ—๏ธ Project Structure

treemor/
โ”œโ”€โ”€ README.md                          # This file
โ”œโ”€โ”€ LICENSE                            # MIT License
โ”œโ”€โ”€ setup.py                           # Package installation
โ”œโ”€โ”€ requirements.txt                   # Python dependencies
โ”‚
โ”œโ”€โ”€ treemor/                           # Main Python package
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ core/                          # Core algorithms
โ”‚   โ”‚   โ”œโ”€โ”€ fsin.py                    # FSIN parameter calculations
โ”‚   โ”‚   โ”œโ”€โ”€ resonance.py               # Cantilever beam dynamics
โ”‚   โ”‚   โ”œโ”€โ”€ coupling.py                # Root-soil impedance matching
โ”‚   โ”‚   โ”œโ”€โ”€ damping.py                 # Viscoelastic energy dissipation
โ”‚   โ”‚   โ””โ”€โ”€ tssi.py                    # Composite sensitivity index
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ sensors/                       # Tree sensor models
โ”‚   โ”‚   โ”œโ”€โ”€ tree_sensor.py             # Individual tree instrumentation
โ”‚   โ”‚   โ”œโ”€โ”€ accelerometer.py           # MEMS sensor interface
โ”‚   โ”‚   โ”œโ”€โ”€ fiber_optic.py             # DAS strain sensing
โ”‚   โ”‚   โ””โ”€โ”€ satellite.py               # InSAR canopy displacement
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ network/                       # Distributed monitoring
โ”‚   โ”‚   โ”œโ”€โ”€ forest_network.py          # Multi-tree array management
โ”‚   โ”‚   โ”œโ”€โ”€ consensus.py               # Distributed event detection
โ”‚   โ”‚   โ”œโ”€โ”€ localization.py            # Epicenter triangulation
โ”‚   โ”‚   โ””โ”€โ”€ telemetry.py               # Real-time data streaming
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ signal/                        # Signal processing
โ”‚   โ”‚   โ”œโ”€โ”€ filtering.py               # Bandpass, ADI wind rejection
โ”‚   โ”‚   โ”œโ”€โ”€ waveforms.py               # P-wave, S-wave extraction
โ”‚   โ”‚   โ”œโ”€โ”€ spectral.py                # FFT, power spectral density
โ”‚   โ”‚   โ””โ”€โ”€ infrasound.py              # Atmospheric pressure waves
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ ml/                            # Machine learning
โ”‚   โ”‚   โ”œโ”€โ”€ classifiers.py             # Earthquake vs. explosion vs. wind
โ”‚   โ”‚   โ”œโ”€โ”€ precursors.py              # Deep learning precursor detection
โ”‚   โ”‚   โ”œโ”€โ”€ augmentation.py            # Training data synthesis
โ”‚   โ”‚   โ””โ”€โ”€ transfer_learning.py       # Species/site adaptation
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ species/                       # Tree species database
โ”‚   โ”‚   โ”œโ”€โ”€ conifers.py                # Evergreen species (Douglas fir, cedar)
โ”‚   โ”‚   โ”œโ”€โ”€ deciduous.py               # Seasonal species (oak, maple)
โ”‚   โ”‚   โ”œโ”€โ”€ tropical.py                # Rainforest species
โ”‚   โ”‚   โ””โ”€โ”€ biomechanics.json          # Elastic moduli, densities
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ geology/                       # Site characterization
โ”‚   โ”‚   โ”œโ”€โ”€ soil_types.py              # Impedance lookup tables
โ”‚   โ”‚   โ”œโ”€โ”€ seismic_velocity.py        # V_s, V_p models
โ”‚   โ”‚   โ””โ”€โ”€ site_amplification.py      # Local geology effects
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ utils/                         # Utilities
โ”‚       โ”œโ”€โ”€ coordinates.py             # Geodetic transformations
โ”‚       โ”œโ”€โ”€ time_sync.py               # GPS/NTP synchronization
โ”‚       โ”œโ”€โ”€ validation.py              # Data quality checks
โ”‚       โ””โ”€โ”€ visualization.py           # Plotting, dashboards
โ”‚
โ”œโ”€โ”€ data/                              # Validation datasets
โ”‚   โ”œโ”€โ”€ catalogues/                    # Earthquake event lists
โ”‚   โ”‚   โ”œโ”€โ”€ pnsn_2019_2024.hdf5
โ”‚   โ”‚   โ”œโ”€โ”€ safod_2016_2024.hdf5
โ”‚   โ”‚   โ””โ”€โ”€ jma_2015_2024.hdf5
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ waveforms/                     # Time series recordings
โ”‚   โ”‚   โ”œโ”€โ”€ tree_accelerations/
โ”‚   โ”‚   โ”œโ”€โ”€ reference_seismograms/
โ”‚   โ”‚   โ””โ”€โ”€ infrasound_traces/
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ parameters/                    # FSIN characterization
โ”‚   โ”‚   โ”œโ”€โ”€ site1_fsin.nc              # NetCDF4 format
โ”‚   โ”‚   โ”œโ”€โ”€ site2_fsin.nc
โ”‚   โ”‚   โ””โ”€โ”€ site3_fsin.nc
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ metadata/                      # Site information
โ”‚       โ”œโ”€โ”€ tree_inventory.csv
โ”‚       โ”œโ”€โ”€ soil_properties.json
โ”‚       โ””โ”€โ”€ instrumentation.yaml
โ”‚
โ”œโ”€โ”€ notebooks/                         # Jupyter analysis
โ”‚   โ”œโ”€โ”€ 01_fsin_calculation.ipynb
โ”‚   โ”œโ”€โ”€ 02_resonance_validation.ipynb
โ”‚   โ”œโ”€โ”€ 03_coupling_analysis.ipynb
โ”‚   โ”œโ”€โ”€ 04_event_detection.ipynb
โ”‚   โ”œโ”€โ”€ 05_machine_learning.ipynb
โ”‚   โ”œโ”€โ”€ 06_case_studies.ipynb
โ”‚   โ””โ”€โ”€ 07_deployment_planning.ipynb
โ”‚
โ”œโ”€โ”€ scripts/                           # Command-line tools
โ”‚   โ”œโ”€โ”€ deploy_sensor.py               # Field installation workflow
โ”‚   โ”œโ”€โ”€ calibrate_tree.py              # FSIN characterization
โ”‚   โ”œโ”€โ”€ monitor_network.py             # Real-time operations
โ”‚   โ”œโ”€โ”€ process_events.py              # Batch waveform analysis
โ”‚   โ””โ”€โ”€ generate_reports.py            # Automated documentation
โ”‚
โ”œโ”€โ”€ tests/                             # Unit tests
โ”‚   โ”œโ”€โ”€ test_fsin.py
โ”‚   โ”œโ”€โ”€ test_resonance.py
โ”‚   โ”œโ”€โ”€ test_coupling.py
โ”‚   โ”œโ”€โ”€ test_detection.py
โ”‚   โ””โ”€โ”€ test_network.py
โ”‚
โ”œโ”€โ”€ docs/                              # Documentation
โ”‚   โ”œโ”€โ”€ api/                           # API reference
โ”‚   โ”œโ”€โ”€ tutorials/                     # Step-by-step guides
โ”‚   โ”œโ”€โ”€ theory/                        # Mathematical derivations
โ”‚   โ”œโ”€โ”€ deployment/                    # Field operations manual
โ”‚   โ””โ”€โ”€ publications/                  # Papers, presentations
โ”‚       โ””โ”€โ”€ treemor_paper.pdf
โ”‚
โ”œโ”€โ”€ web/                               # Web dashboard (Netlify)
โ”‚   โ”œโ”€โ”€ index.html                     # Landing page
โ”‚   โ”œโ”€โ”€ dashboard.html                 # Real-time monitoring
โ”‚   โ”œโ”€โ”€ events.html                    # Historical catalogue
โ”‚   โ”œโ”€โ”€ css/
โ”‚   โ”œโ”€โ”€ js/
โ”‚   โ””โ”€โ”€ data/                          # GeoJSON, live feeds
โ”‚
โ””โ”€โ”€ docker/                            # Containerization
    โ”œโ”€โ”€ Dockerfile
    โ”œโ”€โ”€ docker-compose.yml
    โ””โ”€โ”€ config/

๐ŸŒ Use Cases & Applications

1. Earthquake Early Warning Systems

  • Problem: Existing EEW systems face trade-off between warning time and false alarms
  • Solution: Dense tree networks achieve consensus detection (99.2% reliability, 0.4% false alarms)
  • Impact: 8-15 seconds lead time for critical infrastructure shutdown (trains, elevators, gas valves)

2. Volcanic Monitoring

  • Problem: Limited infrasound detector coverage in remote volcanic regions
  • Solution: Trees function as 30-80 mยฒ atmospheric pressure wave detectors
  • Impact: Detected Mount Ontake eruption 35-45 seconds post-explosion, identified 18-24h precursors

3. Nuclear Test Verification

  • Problem: Discriminating underground explosions from natural earthquakes
  • Solution: Combined seismic + infrasound signatures, SVM classifier (94.8% accuracy)
  • Impact: Supports Comprehensive Nuclear-Test-Ban Treaty (CTBTO) monitoring

4. Developing Nation Deployment

  • Problem: $50M cost barrier for regional seismometer network (200 stations)
  • Solution: $10M deploys 31,746 tree sensors (equivalent coverage)
  • Impact: Enables monitoring in Indonesia, Philippines, Central America, Himalayas

๐Ÿ“ก Real-Time Data Access

Live Dashboard

Visit treemor.netlify.app/dashboard for:

  • ๐Ÿ—บ๏ธ Interactive map of active tree sensors
  • ๐Ÿ“Š Real-time TSSI values and network health
  • โšก Live earthquake detections with waveforms
  • ๐Ÿ“ˆ Historical event catalogue and statistics

API Access

import treemor.api as api

# Fetch latest events
events = api.get_events(
    min_magnitude=3.5,
    max_distance=200,  # km
    hours=24
)

# Stream real-time detections
for detection in api.stream_detections():
    print(f"Event: M{detection.magnitude} @ {detection.time}")
    print(f"Trees triggered: {len(detection.sensors)}")

๐Ÿ”ง Advanced Configuration

Custom Species Calibration

from treemor.species import CustomSpecies

# Define new species not in database
my_species = CustomSpecies(
    name="Quercus suber",           # Cork oak
    elastic_modulus=9.5e9,          # Pa
    density=850,                    # kg/mยณ
    typical_height_range=(8, 20),   # meters
    typical_dbh_range=(0.3, 1.0)    # meters
)

tree = tm.TreeSensor(species=my_species, ...)

Multi-Site Network Deployment

from treemor.network import RegionalNetwork

# Create hierarchical network
cascadia = RegionalNetwork(name="Cascadia Subduction Zone")

# Add sub-networks
cascadia.add_site("Olympic Peninsula", trees=78)
cascadia.add_site("Cascade Range", trees=124)
cascadia.add_site("Coast Range", trees=56)

# Configure consensus detection
cascadia.set_consensus_threshold(
    min_sensors=3,           # Require 3+ trees
    max_time_window=2.0,     # Within 2 seconds
    min_tssi=0.6            # Only high-quality sensors
)

๐Ÿ“š Publications & Citations

Primary Reference

Baladi, S. (2026). TREEMOR: Bio-Seismic Sensing & Planetary Infrasound Resonance โ€” A Nine-Parameter Forest-Based Seismological Framework for Real-Time Earthquake Detection. Seismological Research Letters. DOI: 10.5281/zenodo.19183878

BibTeX

@article{baladi2026treemor,
  title={TREEMOR: Bio-Seismic Sensing \& Planetary Infrasound Resonance},
  author={Baladi, Samir},
  journal={Seismological Research Letters},
  year={2026},
  doi={10.5281/zenodo.19183878},
  url={https://treemor.netlify.app}
}

Related Work

  • Baladi, S. (2024). HELIOSICA: Solar Plasma Intelligence & Geomagnetic Flux Mapping. [10.5281/zenodo.19042948]
  • Baladi, S. (2024). INFRAS-CLOUD: Atmospheric Infrasound Monitoring Framework. [10.5281/zenodo.18952438]
  • Baladi, S. (2024). LITHO-SONIC: Poro-Elastic Geomechanical Monitoring. [10.5281/zenodo.18931304]

๐Ÿค Contributing

We welcome contributions from seismologists, foresters, engineers, and citizen scientists!

Areas for Contribution

  • ๐ŸŒฒ Species Database: Add biomechanical parameters for new tree species
  • ๐Ÿ—บ๏ธ Test Sites: Deploy sensors in new geographic regions
  • ๐Ÿง  Machine Learning: Improve earthquake/wind/explosion classifiers
  • ๐Ÿ“ก Instrumentation: Develop low-cost sensor hardware
  • ๐Ÿ“Š Visualization: Enhance web dashboard and real-time displays
  • ๐Ÿ“– Documentation: Tutorials, translations, case studies

Development Workflow

# Fork repository
git clone https://gitlab.com/YOUR_USERNAME/treemor.git
cd treemor

# Create feature branch
git checkout -b feature/amazing-improvement

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/

# Submit merge request
git push origin feature/amazing-improvement

๐Ÿ“ž Contact & Support


๐Ÿ“œ License

This project is licensed under the MIT License - see LICENSE file for details.

MIT License

Copyright (c) 2026 Samir Baladi

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

๐ŸŒŸ Acknowledgments

Data Sources

  • PNSN (Pacific Northwest Seismic Network)
  • USGS Northern California Seismic Network
  • JMA (Japan Meteorological Agency)
  • ESA Sentinel-1 SAR imagery
  • UNAVCO GPS geodetic data

Field Sites

  • US Forest Service (Gifford Pinchot National Forest)
  • California State Parks (Parkfield region)
  • Japan Forestry Agency (Mount Ontake)

Independent Research

This work was conducted independently through the Ronin Institute / Rite of Renaissance framework for scholar-driven science. No external funding was received.


๐Ÿš€ Roadmap

Version 1.0 (Current) โœ…

  • Core FSIN algorithms
  • 847-event validation catalogue
  • Python package (PyPI)
  • Web dashboard
  • Documentation

Version 1.5 (Q2 2026)

  • Satellite InSAR integration
  • Mobile app (iOS/Android)
  • Tropical species database expansion
  • Real-time ML precursor detection

Version 2.0 (Q4 2026)

  • Global deployment planning tool
  • Fiber-optic DAS integration
  • Multi-hazard monitoring (landslides, avalanches)
  • International network partnerships

๐Ÿ“Š Statistics

Total Trees Monitored:         124 (3 sites)
Earthquakes Analyzed:          847 (M0.5-M7.8)
Validation Period:             2010-2025
Detection Accuracy (Mโ‰ฅ3.5):    91.7%
Cost Reduction vs Traditional: 160ร—
GitHub Stars:                  โญ (Be the first!)

๐ŸŒฒ TREEMOR

When forests become Earth's sentinels, conservation becomes infrastructure.

DOI | Website | PyPI

Transforming 3.04 trillion trees into a planetary-scale seismic monitoring network

Website โ€ข Documentation โ€ข Dashboard โ€ข Paper


Built with ๐ŸŒ by Samir Baladi | Ronin Institute 2026

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

treemor-1.0.0.tar.gz (41.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

treemor-1.0.0-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file treemor-1.0.0.tar.gz.

File metadata

  • Download URL: treemor-1.0.0.tar.gz
  • Upload date:
  • Size: 41.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: TREEMOR-Uploader/1.0

File hashes

Hashes for treemor-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f531b06a545d73200911cbd5afc4ee9173ec501469af042cbf08a8c371b893fb
MD5 2e4dd8d3eef8532e632a206067eeee4b
BLAKE2b-256 acaee7c6ba4802d178ce0cbb8392b932920f467cbd87746af1fd3f4be33cb947

See more details on using hashes here.

File details

Details for the file treemor-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: treemor-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: TREEMOR-Uploader/1.0

File hashes

Hashes for treemor-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4de5af1e14fafb522b19639a182c89168433a93d851a6d33471028e3fcdcb20b
MD5 acb18a16d3fc59e187cdf31051d0e48b
BLAKE2b-256 d8efb99353caf6b0f3997733e1020284f76464988cce2782324a62b0951523af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page