--- title: RFTs Forecasts emoji: 🐱 colorFrom: pink colorTo: purple sdk: gradio sdk_version: 6.1.0 app_file: app.py pinned: true short_description: RFTs Weather phenomena live forecasts license: other thumbnail: >- https://cdn-uploads.huggingface.co/production/uploads/685edcb04796127b024b4805/6Hp-B0MSDCUoC8dsijWJg.png --- # Rendered Frame Theory — Live Prediction Console (Open Method) This Space runs **live, transparent, recomputed-from-scratch** signals for four domains: - **Atmospheric** (location-based) - **Seismic** (region *or* local-radius, depending on your Seismic Mode) - **Magnetic** (global) - **Solar** (global) No hidden steps. The app surfaces the exact values it computes: **z**, **τ_eff**, **Ω_obs**, **α_R**, **index**, and the **decision rule** that fired. --- ## What changes with location (and what does not) ### Location input - **Used for Atmospheric** (Open-Meteo hourly at the geocoded lat/lon). - **Used for Seismic only in “Local radius” mode** (USGS events within your chosen km radius). - **Not used for Solar** (GOES X-ray flux is global). - **Not used for Magnetic** (Kp index is global). - **Not used for Seismic in “Region” mode** (region selector controls the filter). If you type a different city and Solar/Magnetic stay unchanged: **expected**. --- ## Seismic modes (important) This Space supports two seismic views: ### 1) Region mode Counts earthquakes in the selected region over the last **24 hours** with **M ≄ 2.5**. This is a **regional stress monitor**. It is not “near your city”. ### 2) Local radius mode Counts earthquakes within your chosen **radius (km)** around your typed location over the last **24 hours** with **M ≄ 2.5**. This is still **not** a time/epicenter predictor — it’s an activity density monitor. --- ## What this is / what this is not ### This is - A live multi-domain **regime detector** that turns raw public feeds into an explicit **RFT-style stress coordinate** **z**, maps it to **τ_eff**, then produces an **index**, then assigns labels using **fixed thresholds**. ### This is not - A guaranteed “prediction engine”. - A precipitation model, radar nowcast, or full NWP weather model. - An earthquake time + epicenter predictor. - A CME arrival model or flare timing predictor. - A local magnetometer or grid impact model. When live data is missing or too short, the domain is **DISABLED** instead of guessed. --- ## Forecast Receipts (durability + verification) Each run generates a downloadable **Forecast Receipt** (JSON) to make results inspectable over time. The receipt includes: - **Source URLs + request parameters + timestamps** - **sha256 hashes** of upstream payloads - **Computed intermediates** and the exact **rule_fired** - **Environment snapshot** (versions + constants) Optional durability mode: - Enable **“embed raw upstream payloads”** to include `raw_b64` inside the receipt for stronger offline verification. You can later upload the receipt under the **Verify Receipt** tab to: - Validate receipt structure - Verify embedded payload hashes (if present) - Recompute **z / τ_eff / index / label** and confirm they match the stored outputs --- ## Instant verification links (official sources) Use these to falsify the live status immediately: ### Atmospheric (Open-Meteo) - Docs: https://open-meteo.com/en/docs - Geocoding: https://open-meteo.com/en/docs/geocoding-api ### Seismic (USGS) - USGS Earthquake API: https://earthquake.usgs.gov/fdsnws/event/1/ ### Magnetic (NOAA SWPC Kp) - Kp JSON feed: https://services.swpc.noaa.gov/json/planetary_k_index_1m.json - SWPC data services index: https://services.swpc.noaa.gov/ ### Solar (NOAA SWPC GOES X-ray) - GOES X-ray 1-day JSON: https://services.swpc.noaa.gov/json/goes/primary/xrays-1-day.json - SWPC data services index: https://services.swpc.noaa.gov/ --- ## Open method (equations used in-app) Shared core: - **τ_eff = 1.38 · ln(1 + z)** - **Ω_obs = 2π / T_earth** (T_earth = 365.2422 days) - **α_R = 1.02** - **Index = Ω_obs · τ_eff · α_R** z definitions: - Atmospheric: `z_atm = clamp( clamp(ΔT/10,0..2) + clamp(|ΔP|/12,0..1.5), 0..3 )` - Seismic: `z_seis = clamp( clamp(N/60,0..1.5) + clamp(max(0,Mmax-4)/2.5,0..1.5), 0..3 )` - Magnetic: `z_mag = clamp( (Kp_last/9) + (drift/2) + 2·|slope|, 0..3 )` - Solar: `z_solar = clamp( ln(F_mean/1e-8)/10, 0..3 )` Decision thresholds are printed per-domain in the agent output as `rule_fired`. --- ## Practical note: “Why does my city show X seismic events?” If **Seismic Mode = Region**, the count is for the **selected region** (e.g., EMEA) over the last 24 hours at **M ≄ 2.5**. Switch to **Local radius** mode to make the count location-dependent.