treemor 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. treemor-1.0.0/.env.example +172 -0
  2. treemor-1.0.0/AUTHORS.md +60 -0
  3. treemor-1.0.0/CHANGELOG.md +108 -0
  4. treemor-1.0.0/CITATION.cff +38 -0
  5. treemor-1.0.0/LICENSE +21 -0
  6. treemor-1.0.0/MANIFEST.in +28 -0
  7. treemor-1.0.0/NOTICE +58 -0
  8. treemor-1.0.0/PKG-INFO +547 -0
  9. treemor-1.0.0/README.md +529 -0
  10. treemor-1.0.0/SECURITY.md +118 -0
  11. treemor-1.0.0/pyproject.toml +22 -0
  12. treemor-1.0.0/setup.cfg +19 -0
  13. treemor-1.0.0/setup.py +7 -0
  14. treemor-1.0.0/tests/__init__.py +1 -0
  15. treemor-1.0.0/tests/unit/__init__.py +1 -0
  16. treemor-1.0.0/tests/unit/test_forest_network.py +191 -0
  17. treemor-1.0.0/tests/unit/test_fsin.py +163 -0
  18. treemor-1.0.0/tests/unit/test_tree_sensor.py +140 -0
  19. treemor-1.0.0/tests/unit/test_tssi.py +139 -0
  20. treemor-1.0.0/treemor/__init__.py +32 -0
  21. treemor-1.0.0/treemor/cli.py +239 -0
  22. treemor-1.0.0/treemor/core/__init__.py +9 -0
  23. treemor-1.0.0/treemor/core/fsin.py +228 -0
  24. treemor-1.0.0/treemor/core/tssi.py +180 -0
  25. treemor-1.0.0/treemor/dashboard/__init__.py +5 -0
  26. treemor-1.0.0/treemor/dashboard/app.py +115 -0
  27. treemor-1.0.0/treemor/engine/__init__.py +5 -0
  28. treemor-1.0.0/treemor/engine/engine.py +46 -0
  29. treemor-1.0.0/treemor/geology/__init__.py +3 -0
  30. treemor-1.0.0/treemor/ml/__init__.py +3 -0
  31. treemor-1.0.0/treemor/network/__init__.py +5 -0
  32. treemor-1.0.0/treemor/network/forest_network.py +239 -0
  33. treemor-1.0.0/treemor/sensors/__init__.py +5 -0
  34. treemor-1.0.0/treemor/sensors/tree_sensor.py +274 -0
  35. treemor-1.0.0/treemor/signal/__init__.py +3 -0
  36. treemor-1.0.0/treemor/species/__init__.py +3 -0
  37. treemor-1.0.0/treemor/utils/__init__.py +3 -0
  38. treemor-1.0.0/treemor.egg-info/PKG-INFO +547 -0
  39. treemor-1.0.0/treemor.egg-info/SOURCES.txt +40 -0
  40. treemor-1.0.0/treemor.egg-info/dependency_links.txt +1 -0
  41. treemor-1.0.0/treemor.egg-info/top_level.txt +1 -0
@@ -0,0 +1,172 @@
1
+ # TREEMOR Environment Configuration
2
+ # Copy this file to .env and modify as needed
3
+
4
+ # ============================================
5
+ # API Keys & External Services
6
+ # ============================================
7
+ # USGS Earthquake API
8
+ USGS_API_KEY=your_usgs_key_here
9
+ USGS_BASE_URL=https://earthquake.usgs.gov/fdsnws/event/1/
10
+
11
+ # IRIS Seismological Data
12
+ IRIS_API_KEY=your_iris_key_here
13
+ IRIS_BASE_URL=https://service.iris.edu/fdsnws/
14
+
15
+ # Copernicus / Sentinel Hub (for InSAR)
16
+ SENTINEL_CLIENT_ID=your_client_id
17
+ SENTINEL_CLIENT_SECRET=your_client_secret
18
+
19
+ # OpenWeatherMap (for wind noise filtering)
20
+ OPENWEATHER_API_KEY=your_openweather_key
21
+
22
+ # ============================================
23
+ # Database Configuration
24
+ # ============================================
25
+ # PostgreSQL for event catalog
26
+ DB_HOST=localhost
27
+ DB_PORT=5432
28
+ DB_NAME=treemor
29
+ DB_USER=treemor_user
30
+ DB_PASSWORD=changeme_secure_password
31
+
32
+ # TimescaleDB for time-series data
33
+ TIMESCALE_HOST=localhost
34
+ TIMESCALE_PORT=5432
35
+ TIMESCALE_DB=treemor_ts
36
+ TIMESCALE_USER=treemor_user
37
+ TIMESCALE_PASSWORD=changeme_secure_password
38
+
39
+ # ============================================
40
+ # Data Storage Paths
41
+ # ============================================
42
+ # Root directory for all TREEMOR data
43
+ TREEMOR_DATA_DIR=/data/treemor
44
+
45
+ # Seismic event catalog
46
+ EVENT_CATALOG_PATH=${TREEMOR_DATA_DIR}/catalog
47
+
48
+ # Tree sensor data
49
+ SENSOR_DATA_PATH=${TREEMOR_DATA_DIR}/sensors
50
+
51
+ # FSIN parameter time series
52
+ FSIN_DATA_PATH=${TREEMOR_DATA_DIR}/fsin
53
+
54
+ # Validation datasets
55
+ VALIDATION_DATA_PATH=${TREEMOR_DATA_DIR}/validation
56
+
57
+ # InSAR derived canopy displacement
58
+ INSAR_DATA_PATH=${TREEMOR_DATA_DIR}/insar
59
+
60
+ # ============================================
61
+ # TREEMOR Engine Configuration
62
+ # ============================================
63
+ # FSIN parameter weights (comma-separated)
64
+ FSIN_WEIGHTS=0.21,0.19,0.16,0.14,0.12,0.08,0.05,0.03,0.02
65
+
66
+ # Detection thresholds
67
+ TSSI_THRESHOLD_GOOD=0.6
68
+ TSSI_THRESHOLD_EXCELLENT=0.8
69
+
70
+ # P-wave detection sensitivity (Hz)
71
+ P_WAVE_FREQ_MIN=0.5
72
+ P_WAVE_FREQ_MAX=5.0
73
+
74
+ # Wind noise filter (Hz)
75
+ WIND_FREQ_MAX=0.3
76
+ ADI_THRESHOLD=2.0
77
+
78
+ # Lead time calculation
79
+ P_WAVE_VELOCITY=6.0 # km/s
80
+ S_WAVE_VELOCITY=3.5 # km/s
81
+
82
+ # ============================================
83
+ # Dashboard Configuration
84
+ # ============================================
85
+ DASHBOARD_HOST=0.0.0.0
86
+ DASHBOARD_PORT=8050
87
+ DASHBOARD_DEBUG=false
88
+ DASHBOARD_THEME=dark
89
+
90
+ # Mapbox for interactive maps
91
+ MAPBOX_TOKEN=your_mapbox_token_here
92
+
93
+ # ============================================
94
+ # Machine Learning
95
+ # ============================================
96
+ # Model storage path
97
+ MODEL_PATH=${TREEMOR_DATA_DIR}/models
98
+
99
+ # Earthquake detection model
100
+ DETECTION_MODEL=fsin_xgboost_v1.pkl
101
+
102
+ # Event discrimination (earthquake vs explosion)
103
+ DISCRIMINATION_MODEL=svm_discriminator_v1.pkl
104
+
105
+ # ============================================
106
+ # Logging & Monitoring
107
+ # ============================================
108
+ LOG_LEVEL=INFO
109
+ LOG_FILE=${TREEMOR_DATA_DIR}/logs/treemor.log
110
+
111
+ # Prometheus metrics
112
+ METRICS_ENABLED=true
113
+ METRICS_PORT=9090
114
+
115
+ # ============================================
116
+ # Deployment
117
+ # ============================================
118
+ # Docker image tag
119
+ DOCKER_TAG=treemor:1.0.0
120
+
121
+ # Kubernetes namespace (if applicable)
122
+ K8S_NAMESPACE=treemor
123
+
124
+ # Netlify site ID
125
+ NETLIFY_SITE_ID=treomor-netlify-app
126
+
127
+ # ============================================
128
+ # Notification Settings
129
+ # ============================================
130
+ # Email alerts (SMTP)
131
+ SMTP_HOST=smtp.gmail.com
132
+ SMTP_PORT=587
133
+ SMTP_USER=alerts@treomor.net
134
+ SMTP_PASSWORD=your_smtp_password
135
+ ALERT_EMAIL=recipient@example.com
136
+
137
+ # Slack webhook for event notifications
138
+ SLACK_WEBHOOK_URL=https://hooks.slack.com/services/your/webhook
139
+
140
+ # Telegram bot
141
+ TELEGRAM_BOT_TOKEN=your_bot_token
142
+ TELEGRAM_CHAT_ID=your_chat_id
143
+
144
+ # ============================================
145
+ # Research & Validation
146
+ # ============================================
147
+ # Validation dataset URLs
148
+ PNSN_DATA_URL=https://pnsn.org/data
149
+ SAFOD_DATA_URL=https://safe.ucsd.edu/data
150
+ JMA_DATA_URL=https://www.data.jma.go.jp/eq/event
151
+
152
+ # Zenodo DOI
153
+ ZENODO_DOI=10.5281/zenodo.19183878
154
+ ZENODO_TOKEN=your_zenodo_token
155
+
156
+ # ============================================
157
+ # Performance Tuning
158
+ # ============================================
159
+ # Parallel processing
160
+ N_JOBS=4
161
+ CHUNK_SIZE=10000
162
+
163
+ # Caching
164
+ CACHE_SIZE_MB=1024
165
+ CACHE_TTL_SECONDS=3600
166
+
167
+ # ============================================
168
+ # Security
169
+ # ============================================
170
+ # JWT secret for API authentication
171
+ JWT_SECRET_KEY=changeme_strong_secret_key_32chars_minimum
172
+ API_RATE_LIMIT=100
@@ -0,0 +1,60 @@
1
+ # TREEMOR Authors and Contributors
2
+
3
+ ## Lead Author & Creator
4
+
5
+ **Samir Baladi**
6
+ - **Role:** Principal Investigator, Creator, and Lead Developer
7
+ - **Affiliation:** Ronin Institute / Rite of Renaissance
8
+ - **Email:** gitdeeper@gmail.com
9
+ - **ORCID:** 0009-0003-8903-0029
10
+ - **Contributions:**
11
+ - Conceptualization of bio-seismic sensing framework
12
+ - Development of FSIN (Forest Seismic Intelligence Nonet) nine-parameter model
13
+ - Mathematical derivation of cantilever beam resonance equations
14
+ - Root-soil coupling impedance theory
15
+ - Validation methodology and experimental design
16
+ - Open-source software architecture
17
+ - Research paper writing and editing
18
+ - Dashboard and visualization development
19
+
20
+ ## Contributing Scientists & Advisors
21
+
22
+ *Contributors are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for how to participate.*
23
+
24
+ ### Field Validation Partners
25
+
26
+ - **Pacific Northwest Seismic Network (PNSN)** - Washington State test site instrumentation and data access
27
+ - **USGS Northern California Seismic Network** - SAFOD region earthquake catalogue
28
+ - **Japan Meteorological Agency (JMA)** - Mount Ontake test site and earthquake data
29
+
30
+ ### Data Providers
31
+
32
+ - **European Space Agency (ESA)** - Sentinel-1 SAR imagery for InSAR analysis
33
+ - **UNAVCO** - GPS geodetic data for ground motion validation
34
+ - **IRIS (Incorporated Research Institutions for Seismology)** - Global seismograph network data
35
+
36
+ ## How to Cite
37
+
38
+ If you use TREEMOR in your research, please cite:
39
+
40
+ ```
41
+
42
+ Baladi, S. (2026). TREEMOR: Bio-Seismic Sensing & Planetary Infrasound Resonance
43
+ (Version 1.0.0). Zenodo. https://doi.org/10.5281/zenodo.19183878
44
+
45
+ ```
46
+
47
+ ## Acknowledgments
48
+
49
+ This research was conducted independently through the Ronin Institute / Rite of Renaissance framework for scholar-driven science. No external funding was received.
50
+
51
+ Special thanks to:
52
+ - Forest rangers and land managers who facilitated field site access
53
+ - Open-source scientific computing community (NumPy, SciPy, ObsPy, Xarray)
54
+ - US Forest Service (Gifford Pinchot National Forest)
55
+ - California Department of Parks and Recreation (Parkfield region)
56
+ - Japan Forestry Agency (Mount Ontake plantation forests)
57
+
58
+ ---
59
+
60
+ *For questions about authorship, contributions, or collaboration opportunities, please contact gitdeeper@gmail.com*
@@ -0,0 +1,108 @@
1
+ # Changelog
2
+
3
+ All notable changes to TREEMOR will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.0.0] - 2026-03-23
9
+
10
+ ### 🎉 Initial Release - TREEMOR: Bio-Seismic Sensing & Planetary Infrasound Resonance
11
+
12
+ #### Added
13
+ - **FSIN Framework (Forest Seismic Intelligence Nonet)**
14
+ - 9 biomechanical parameters for tree-based seismic sensing
15
+ - TSSI (Tree Seismic Sensitivity Index) composite metric
16
+ - Mathematical models for each parameter
17
+
18
+ - **Core Engine (`treemor.engine`)**
19
+ - Cantilever beam resonance model (Equation 1)
20
+ - Root-soil coupling coefficient calculation (Equation 2)
21
+ - Damping ratio estimation from free decay (Equation 3)
22
+ - Infrasonic cross-section computation (Equation 4)
23
+ - Sap pressure oscillation model (Equation 5)
24
+ - Bending stiffness from trunk geometry (Equation 6)
25
+ - Root-soil impedance matching (Equation 7)
26
+ - ADI (Atmospheric Decoupling Index) wind filter (Equation 8)
27
+ - P-wave lead time calculator (Equation 9)
28
+
29
+ - **Validation Datasets**
30
+ - 847 seismic events (M0.5-M7.8) from 2010-2025
31
+ - Three test sites: PNSN (WA), SAFOD (CA), JMA (Japan)
32
+ - HDF5 format event catalog
33
+ - NetCDF4 time-series data
34
+
35
+ - **Dashboard Application**
36
+ - Real-time tree sensor network visualization
37
+ - TSSI map with color-coded sensitivity
38
+ - Live event detection feed
39
+ - Historical event browser
40
+ - FSIN parameter analyzer
41
+
42
+ - **Command Line Interface**
43
+ - `treemor` - Main CLI entry point
44
+ - `treomor-engine` - Run seismic detection
45
+ - `treomor-dashboard` - Launch web dashboard
46
+
47
+ - **Machine Learning Models**
48
+ - XGBoost classifier for event detection (91.7% accuracy M≥3.5)
49
+ - SVM for earthquake vs explosion discrimination (94.8% accuracy)
50
+ - Wind noise filter with ADI threshold
51
+
52
+ - **Documentation**
53
+ - Complete API reference
54
+ - Tutorial notebooks (24 Jupyter notebooks)
55
+ - Installation guide
56
+ - Deployment guide (Docker, Kubernetes, Netlify)
57
+ - Contributing guidelines
58
+
59
+ - **Open Science Infrastructure**
60
+ - Zenodo DOI: 10.5281/zenodo.19183878
61
+ - GitHub repository: github.com/gitdeeper9/treemor
62
+ - GitLab mirror: gitlab.com/gitdeeper9/treemor
63
+ - Live dashboard: treemor.netlify.app
64
+ - PyPI package: pip install treemor
65
+
66
+ #### Validation Results
67
+ - 91.7% detection rate for M≥3.5 earthquakes within 200 km
68
+ - P-wave arrival time agreement: ±0.2 seconds vs seismometers
69
+ - Peak ground acceleration correlation: r² = 0.94
70
+ - 160x cost reduction vs traditional seismometers
71
+ - 8-15 second lead time for early warning
72
+
73
+ #### Known Limitations
74
+ - Requires forested terrain (~31% of Earth's land surface)
75
+ - Deciduous trees show seasonal frequency variation (30-50%)
76
+ - Wind speeds >8 m/s can obscure small events (M<3.0)
77
+ - Initial calibration requires per-tree characterization (~45 min)
78
+
79
+ #### Research Paper
80
+ - Submitted to: Seismological Research Letters (SRL)
81
+ - Manuscript type: Original Research Article
82
+ - DOI: 10.5281/zenodo.19183878
83
+ - Full paper available at: treemor.netlify.app/research-paper
84
+
85
+ ---
86
+
87
+ ## [Unreleased] - Future Plans
88
+
89
+ ### Planned for v1.1.0
90
+ - [ ] InSAR satellite integration for remote canopy monitoring
91
+ - [ ] Distributed Acoustic Sensing (DAS) fiber-optic support
92
+ - [ ] Real-time data streaming API
93
+ - [ ] Mobile app for field data collection
94
+ - [ ] Additional validation sites: Indonesia, Chile, Turkey
95
+ - [ ] Deep learning earthquake precursor detection (RNN/Transformer)
96
+ - [ ] Tropical rainforest deployment pilot
97
+ - [ ] Integration with ShakeAlert and J-ALERT systems
98
+
99
+ ### Planned for v2.0.0
100
+ - [ ] Global forest sensor network
101
+ - [ ] Real-time tsunami warning integration
102
+ - [ ] Volcanic unrest precursor detection
103
+ - [ ] Nuclear test monitoring (CTBTO integration)
104
+ - [ ] Carbon offset verification through seismic monitoring
105
+
106
+ ---
107
+
108
+ *For detailed changes per commit, see the [GitHub repository](https://github.com/gitdeeper9/treomor).*
@@ -0,0 +1,38 @@
1
+ cff-version: 1.2.0
2
+ message: "If you use TREEMOR in your research, please cite it using these metadata."
3
+ title: "TREEMOR: Bio-Seismic Sensing & Planetary Infrasound Resonance"
4
+ authors:
5
+ - family-names: "Baladi"
6
+ given-names: "Samir"
7
+ orcid: "https://orcid.org/0009-0003-8903-0029"
8
+ email: "gitdeeper@gmail.com"
9
+ affiliation: "Ronin Institute / Rite of Renaissance"
10
+ doi: 10.5281/zenodo.19183878
11
+ date-released: 2026-03-23
12
+ version: 1.0.0
13
+ repository-code: "https://github.com/gitdeeper9/treemor"
14
+ url: "https://treemor.netlify.app"
15
+ abstract: "TREEMOR (Tree-Based Earth Motion Resonance) is a revolutionary nine-parameter biomechanical seismology framework that transforms the world's forests into a planetary-scale distributed seismic monitoring network. It leverages the inherent mechanical sensitivity of living trees as natural vibration sensors, capable of detecting seismic P-waves, S-waves, surface waves, and atmospheric infrasound events through their structural resonance response."
16
+ keywords:
17
+ - seismology
18
+ - earthquake detection
19
+ - infrasound
20
+ - forest monitoring
21
+ - bio-seismic sensing
22
+ - early warning system
23
+ - TREEMOR
24
+ - FSIN
25
+ license: MIT
26
+ type: software
27
+ license-url: "https://opensource.org/licenses/MIT"
28
+ commit: "v1.0.0"
29
+ preferred-citation:
30
+ type: article
31
+ title: "TREEMOR: A Nine-Parameter Forest-Based Seismological Framework for Real-Time Earthquake Detection & Infrasonic Event Monitoring"
32
+ authors:
33
+ - family-names: "Baladi"
34
+ given-names: "Samir"
35
+ year: 2026
36
+ journal: "Seismological Research Letters"
37
+ doi: 10.5281/zenodo.19183878
38
+ url: "https://treemor.netlify.app/research-paper"
treemor-1.0.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Samir Baladi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,28 @@
1
+ include README.md
2
+ include LICENSE
3
+ include NOTICE
4
+ include CITATION.cff
5
+ include AUTHORS.md
6
+ include CHANGELOG.md
7
+ include SECURITY.md
8
+ include .env.example
9
+
10
+ recursive-include treemor *.py
11
+ recursive-include treomor *.pyi
12
+ recursive-include treomor/config *.yaml
13
+ recursive-include treomor/data *.nc *.h5
14
+
15
+ recursive-include tests *.py
16
+ recursive-include docs *.rst *.md
17
+
18
+ exclude .gitlab-ci.yml
19
+ exclude .pre-commit-config.yaml
20
+ exclude .readthedocs.yaml
21
+ exclude .dockerignore
22
+ exclude Dockerfile
23
+ exclude docker-compose.yml
24
+
25
+ prune docs/_build
26
+ prune __pycache__
27
+ prune .pytest_cache
28
+ prune .mypy_cache
treemor-1.0.0/NOTICE ADDED
@@ -0,0 +1,58 @@
1
+ TREEMOR - Tree-Based Earth Motion Resonance
2
+ Copyright (c) 2026 Samir Baladi
3
+
4
+ This software includes third-party components:
5
+
6
+ 1. NumPy (BSD License)
7
+ Copyright (c) 2005-2024, NumPy Developers
8
+ https://numpy.org/
9
+
10
+ 2. SciPy (BSD License)
11
+ Copyright (c) 2001-2024, SciPy Developers
12
+ https://scipy.org/
13
+
14
+ 3. Pandas (BSD License)
15
+ Copyright (c) 2008-2024, AQR Capital Management, LLC, Lambda Foundry, Inc.
16
+ https://pandas.pydata.org/
17
+
18
+ 4. Xarray (Apache License 2.0)
19
+ Copyright (c) 2014-2024, Xarray Developers
20
+ https://xarray.dev/
21
+
22
+ 5. ObsPy (GNU Lesser General Public License v3)
23
+ Copyright (c) 2008-2024, ObsPy Developers
24
+ https://obspy.org/
25
+
26
+ 6. Scikit-learn (BSD License)
27
+ Copyright (c) 2007-2024, scikit-learn Developers
28
+ https://scikit-learn.org/
29
+
30
+ 7. Dash (MIT License)
31
+ Copyright (c) 2017-2024, Plotly
32
+ https://dash.plotly.com/
33
+
34
+ 8. Plotly (MIT License)
35
+ Copyright (c) 2012-2024, Plotly
36
+ https://plotly.com/
37
+
38
+ 9. Matplotlib (Matplotlib License - BSD-compatible)
39
+ Copyright (c) 2012-2024, Matplotlib Development Team
40
+ https://matplotlib.org/
41
+
42
+ 10. Click (BSD License)
43
+ Copyright (c) 2014, Armin Ronacher
44
+ https://click.palletsprojects.com/
45
+
46
+ 11. TQDM (MIT License)
47
+ Copyright (c) 2013, Noam Yorav-Raphael, et al.
48
+ https://tqdm.github.io/
49
+
50
+ This software is distributed under the MIT License.
51
+ See LICENSE for full terms.
52
+
53
+ The TREEMOR research paper (DOI: 10.5281/zenodo.19183878) is licensed separately
54
+ under Creative Commons Attribution 4.0 International (CC BY 4.0).
55
+
56
+ For additional attributions and acknowledgments, see:
57
+ - AUTHORS.md
58
+ - CITATION.cff