VLF Radio Source Feasibility
This document consolidates feasibility findings, receiver stations, endpoints, acquisition/capture manifests, and coverage status for Italy-relevant Very Low Frequency (VLF) radio data.
1. Core Feasibility Findings
- VLF.it Homepage: Reachable over HTTP, serving as a static library of articles and amateur radio experiments, rather than a documented web service. Open Lab guidelines allow non-commercial use, but commercial rights are reserved by the authors.
- Cumiana Station: Confirmed machine-fetchable live spectrograms (JPEG) and status summaries.
- Abelian Natural Radio: Exposes Cumiana Ogg streaming and a retrieval PHP form. However, early probes returned zero usable bytes, and the archive returns
no databaseerrors. - Modeling Readiness: Image-derived parameters are used as proxy features until raw waveforms or numeric trace endpoints are established.
2. Cumiana VLF Monitoring Station
- Location: Cumiana, Torino, NW Italy (
44.95609N,7.42123E approximate) - Maintainer: Renato Romero / Openlab
- Page:
http://www.vlf.it/cumiana/livedata.html(requirescurl --http1.1 --rawconfiguration).
Live Spectrogram Endpoints
Spectrogams are updated roughly every 30 or 60 minutes:
| Endpoint ID | URL | Content | Cadence |
|---|---|---|---|
last_E_VLF |
http://www.vlf.it/cumiana/last_E-VLF.jpg |
Last 8 hours vertical electric-field spectrogram (Marconi antenna) | 30 mins |
last-geomar |
http://www.vlf.it/cumiana/last-geomar.jpg |
Geophone (1–30 Hz) + electric-field (1–105 Hz) spectrogram | 30 mins |
last-marconi-multistrip-slow |
http://www.vlf.it/cumiana/last-marconi-multistrip-slow.jpg |
Electric-field daily multistrip (110s scroll) | 30 mins |
last-geophone-multistrip-slow |
http://www.vlf.it/cumiana/last-geophone-multistrip-slow.jpg |
Geophone daily multistrip (4.6s scroll) | 60 mins |
last-plotted |
http://www.vlf.it/cumiana/last-plotted.jpg |
Last 30 hours of plotted traces | 30 mins |
3. Abelian VLF Archive and Live Streams
- Live Stream:
http://abelian.org/vlf/live-stream.php?stream=vlf15(Cumiana live Ogg stream). - Archive Form:
http://abelian.org/vlf/retrieve.php- Parameters:
ts(UTC start,YYYY-MM-DD HH:MM:SS),len(seconds,0.05to120.0),vlf15=on(Cumiana filter),format(wav,vt,sg,td).
- Parameters:
- Findings: Archive requests submitted for June/July 2026 timestamps returned HTTP 200 but were empty, reporting
no databaseand declaring download size0. Do not rely on historical Abelian data until a nonempty download is successfully verified.
4. Ingestion and Capture Manifest
The Cumiana image capture pipeline is configured via:
* Manifest Path: data/raw/vlf/cumiana/manifest.csv
* Storage Directory Structure:
data/raw/vlf/cumiana/captures/YYYY-MM-DD/<endpoint_id>_<last_modified_utc>.jpg
data/raw/vlf/cumiana/captures/YYYY-MM-DD/<endpoint_id>_<last_modified_utc>.metadata.json
.metadata.json stores the response headers (Date, Last-Modified, ETag, Content-Length, Content-Type).
Capture Rules
- Do not overwrite existing files with the same timestamp.
- Politely respect the cadence (poll no faster than every 30 or 60 minutes).
- The supervised loop command rejects repeated runs under 60 seconds.
5. Feature Extraction and Coverage
Because raw waveforms are not yet available, we extract proxy features by cropping and analyzing the Marconi spectrogram JPEG pixels.
Extracted Image Features
- Overall availability and stale/missing flags for each window.
- Mean and variance within specific cropped time-frequency bands.
- Hot-color ratio and vertical streak count (indicator of impulse noise or sferics).
- Simple anomaly scores relative to the running baseline of the past week.
Table Coverage Status
- Historical June Labeled Windows: Have
quality_missing_vlf=1since active image captures only began after those windows. - Prospective Labeled Windows: Rebuilt image-window tables (e.g.
central_italy.prospective_vlf_image_windows.labeled.csv) contain 247 consecutive rows starting from2026-06-29, with0missing VLF image features. - We use the
update-prospective-vlf-tablescript to periodically append new rows on a systemd timer.
6. Acquisition and Verification Commands
Record short live audio stream from Abelian:
PYTHONPATH=src python3 -m elfquake.cli record-vlf-abelian-cumiana --duration-seconds 10 --max-bytes 1048576
Request and retrieve an Abelian archive WAV segment:
PYTHONPATH=src python3 -m elfquake.cli fetch-vlf-abelian-cumiana-archive --start 2026-07-05T10:38:11Z --duration-seconds 5 --format wav
Audit the Abelian archive database for availability:
PYTHONPATH=src python3 -m elfquake.cli probe-vlf-abelian-cumiana-archive --start 2026-07-05T10:38:11Z --duration-seconds 0.05 --format wav --out data/derived/vlf/abelian_cumiana_archive_probe.csv
Extract visual features from a folder of captures:
PYTHONPATH=src python3 -m elfquake.cli extract-vlf-image-features --image-root data/raw/vlf/cumiana/captures --out data/derived/multimodal/cumiana_last_E_VLF.image_features.csv