Usage¶
Run Refresh Jobs¶
Trigger refresh playbooks across your nodes:
dmtri refresh --network HL --station ATH --starttime 2024-01-01
Track Job Status¶
Monitor the status of asynchronous jobs:
dmtri track
Fix Inconsistencies¶
Automatically repair the inconsistencies found in an eida-consistency report. A report lists streams where the availability view and dataselect disagree; dmtri fix reads that report and, for each affected stream, re-runs the WFCatalog collector and rebuilds the availability view for the exact time window.
Point it at a report file or URL:
dmtri fix https://eida-oculus.orfeus-eu.org/consistency/NOA/2026/NOA_2026-06-07_140510.json
Fix only specific entries from the report (by their index):
dmtri fix report.json --index 2 --index 16
After a fix, the availability service keeps cached answers for ~20 minutes, so a stream may still look unfixed for a short while. Re-check once the cache expires — this only verifies, it changes nothing:
dmtri fix --verify-only report.json
Prerequisite: the eida-consistency CLI¶
dmtri fix reads the report through eida-consistency (version 0.5.1 or newer, for its explore --json output). If it isn't already on the machine, install it any one of these ways:
uv tool install eida-consistency # recommended — puts it on your PATH
pipx install eida-consistency
pip install eida-consistency
You don't strictly have to install it: if uv is present, dmtri fix will run it on demand via uvx eida-consistency. And if it's installed somewhere off your PATH, point dmtri at it:
export DMTRI_EIDA_CONSISTENCY='/full/path/to/eida-consistency'
If it's missing (or too old), dmtri fix stops before touching anything and prints the exact install/upgrade command to run.
Fix Missing PSDs¶
Sometimes a day has data but no PSD. eida-consistency finds these days. dmtri fix --psd makes the PSDs again.
You need eida-consistency 0.7.1 or newer.
1. Find the problems
eida-consistency consistency --node NOA
This writes a report, for example reports/noa_20261008.json.
2. Fix them
dmtri fix reports/noa_20261008.json --psd
dmtri shows what it will do and asks Proceed? (y/N). Type y.
3. Check
Wait 20 minutes, then:
eida-consistency rerun reports/noa_20261008.json
RESOLVED means fixed. PERSISTS means still broken. See Troubleshooting.
What dmtri does¶
For each day without a PSD, dmtri takes that day, plus 15 days before and 15 days after. It runs one seedpsd command on those days:
seedpsd-cli data mseed --update --list <files>
dmtri never fixes a whole station at once, because that can take days. If a station has many more broken days, dmtri tells you:
repaired : 7 window(s)
skipped : 2 window(s) (nothing in this archive to compute from)
failed : 0 window(s)
ℹ These channels have more broken days than the window covered.
They need a backfill, not a repair:
HP.EFP..HHZ 2919 missing + 0 invalid day(s) remain
To fill those days, run seedpsd-cli data load on the seedpsd machine when you have time.
Options¶
| Option | What it does |
|---|---|
--psd |
Fix availability first, then PSDs |
--psd-only |
Fix PSDs only |
--psd-window 5 |
Use 5 days before and after, instead of 15 |
--required-only |
Fix only days from 2024-01-01 on, when PSDs became required |
--no-confirm |
Start without asking |
Operation Details¶
dmtri supports two main operations for both metadata and data: refresh and clean. These affect the following components:
Refresh¶
- Metadata
seedpsd: Scans for new metadata.availability: Refreshes the view in MongoDB.
- Data
- Identifies data files in the archive for the specified epoch (by NSLC and time range).
seedpsd: Recalculates seedPSD for new files.wfcatalog: Runs the collector on new data files.
- Identifies data files in the archive for the specified epoch (by NSLC and time range).
Clean¶
- Metadata
seedpsd: Removes the metadata entries.availability: Refreshes the view in MongoDB.
- Data
- Identifies data files in the archive for the specified epoch.
seedpsd: Removes associated seedPSD data (via CLI).wfcatalog: Removes files using the--deleteoption in the collector.
- Identifies data files in the archive for the specified epoch.
Source: EIDA/dmtri (main)