{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "isi7Z_SJoobn"
   },
   "source": [
    "## Acknowledgements\n",
    "\n",
    " Seisbench (Woollam et al.,2022) and specifically parts of the notebook examples publicly provided by the Github page of the toolbox (https://github.com/seisbench/seisbench) were re-purposed for this demo, for which we are grateful.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 6945,
     "status": "ok",
     "timestamp": 1772019072837,
     "user": {
      "displayName": "Vasilis",
      "userId": "11438822185670716821"
     },
     "user_tz": -120
    },
    "id": "lJqNNbnIjuYb",
    "outputId": "c137414a-2f83-4bd3-e716-b5c228854b68"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: seisbench in /usr/local/lib/python3.12/dist-packages (0.11.0)\n",
      "Requirement already satisfied: pyocto in /usr/local/lib/python3.12/dist-packages (0.1.9)\n",
      "Requirement already satisfied: numpy in /usr/local/lib/python3.12/dist-packages (1.26.4)\n",
      "Requirement already satisfied: matplotlib in /usr/local/lib/python3.12/dist-packages (3.10.0)\n",
      "Requirement already satisfied: xdas in /usr/local/lib/python3.12/dist-packages (0.2.4)\n",
      "Requirement already satisfied: pandas>=1.1 in /usr/local/lib/python3.12/dist-packages (from seisbench) (2.2.2)\n",
      "Requirement already satisfied: h5py>=3.1 in /usr/local/lib/python3.12/dist-packages (from seisbench) (3.15.1)\n",
      "Requirement already satisfied: obspy>=1.3.1 in /usr/local/lib/python3.12/dist-packages (from seisbench) (1.4.2)\n",
      "Requirement already satisfied: tqdm>=4.52 in /usr/local/lib/python3.12/dist-packages (from seisbench) (4.67.3)\n",
      "Requirement already satisfied: torch>=1.10.0 in /usr/local/lib/python3.12/dist-packages (from seisbench) (2.10.0+cpu)\n",
      "Requirement already satisfied: scipy>=1.9 in /usr/local/lib/python3.12/dist-packages (from seisbench) (1.16.3)\n",
      "Requirement already satisfied: nest_asyncio>=1.5.3 in /usr/local/lib/python3.12/dist-packages (from seisbench) (1.6.0)\n",
      "Requirement already satisfied: bottleneck>=1.3 in /usr/local/lib/python3.12/dist-packages (from seisbench) (1.4.2)\n",
      "Requirement already satisfied: typing_extensions>=4.0 in /usr/local/lib/python3.12/dist-packages (from seisbench) (4.15.0)\n",
      "Requirement already satisfied: pyproj in /usr/local/lib/python3.12/dist-packages (from pyocto) (3.7.2)\n",
      "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (1.3.3)\n",
      "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (0.12.1)\n",
      "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (4.61.1)\n",
      "Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (1.4.9)\n",
      "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (26.0)\n",
      "Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (11.3.0)\n",
      "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (3.3.2)\n",
      "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (2.9.0.post0)\n",
      "Requirement already satisfied: dask<2025.4.0 in /usr/local/lib/python3.12/dist-packages (from xdas) (2025.3.1)\n",
      "Requirement already satisfied: h5netcdf in /usr/local/lib/python3.12/dist-packages (from xdas) (1.8.1)\n",
      "Requirement already satisfied: hdf5plugin in /usr/local/lib/python3.12/dist-packages (from xdas) (6.0.0)\n",
      "Requirement already satisfied: msgpack in /usr/local/lib/python3.12/dist-packages (from xdas) (1.1.2)\n",
      "Requirement already satisfied: numba in /usr/local/lib/python3.12/dist-packages (from xdas) (0.60.0)\n",
      "Requirement already satisfied: plotly in /usr/local/lib/python3.12/dist-packages (from xdas) (5.24.1)\n",
      "Requirement already satisfied: watchdog in /usr/local/lib/python3.12/dist-packages (from xdas) (6.0.0)\n",
      "Requirement already satisfied: xarray in /usr/local/lib/python3.12/dist-packages (from xdas) (2025.12.0)\n",
      "Requirement already satisfied: xinterp in /usr/local/lib/python3.12/dist-packages (from xdas) (0.1.3)\n",
      "Requirement already satisfied: pyzmq in /usr/local/lib/python3.12/dist-packages (from xdas) (26.2.1)\n",
      "Requirement already satisfied: click>=8.1 in /usr/local/lib/python3.12/dist-packages (from dask<2025.4.0->xdas) (8.3.1)\n",
      "Requirement already satisfied: cloudpickle>=3.0.0 in /usr/local/lib/python3.12/dist-packages (from dask<2025.4.0->xdas) (3.1.2)\n",
      "Requirement already satisfied: fsspec>=2021.09.0 in /usr/local/lib/python3.12/dist-packages (from dask<2025.4.0->xdas) (2025.3.0)\n",
      "Requirement already satisfied: partd>=1.4.0 in /usr/local/lib/python3.12/dist-packages (from dask<2025.4.0->xdas) (1.4.2)\n",
      "Requirement already satisfied: pyyaml>=5.3.1 in /usr/local/lib/python3.12/dist-packages (from dask<2025.4.0->xdas) (6.0.3)\n",
      "Requirement already satisfied: toolz>=0.10.0 in /usr/local/lib/python3.12/dist-packages (from dask<2025.4.0->xdas) (0.12.1)\n",
      "Requirement already satisfied: lxml in /usr/local/lib/python3.12/dist-packages (from obspy>=1.3.1->seisbench) (6.0.2)\n",
      "Requirement already satisfied: setuptools in /usr/local/lib/python3.12/dist-packages (from obspy>=1.3.1->seisbench) (75.2.0)\n",
      "Requirement already satisfied: sqlalchemy<2 in /usr/local/lib/python3.12/dist-packages (from obspy>=1.3.1->seisbench) (1.4.54)\n",
      "Requirement already satisfied: decorator in /usr/local/lib/python3.12/dist-packages (from obspy>=1.3.1->seisbench) (4.4.2)\n",
      "Requirement already satisfied: requests in /usr/local/lib/python3.12/dist-packages (from obspy>=1.3.1->seisbench) (2.32.4)\n",
      "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.1->seisbench) (2025.2)\n",
      "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.1->seisbench) (2025.3)\n",
      "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.12/dist-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)\n",
      "Requirement already satisfied: filelock in /usr/local/lib/python3.12/dist-packages (from torch>=1.10.0->seisbench) (3.24.2)\n",
      "Requirement already satisfied: sympy>=1.13.3 in /usr/local/lib/python3.12/dist-packages (from torch>=1.10.0->seisbench) (1.14.0)\n",
      "Requirement already satisfied: networkx>=2.5.1 in /usr/local/lib/python3.12/dist-packages (from torch>=1.10.0->seisbench) (3.6.1)\n",
      "Requirement already satisfied: jinja2 in /usr/local/lib/python3.12/dist-packages (from torch>=1.10.0->seisbench) (3.1.6)\n",
      "Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in /usr/local/lib/python3.12/dist-packages (from numba->xdas) (0.43.0)\n",
      "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.12/dist-packages (from plotly->xdas) (9.1.4)\n",
      "Requirement already satisfied: certifi in /usr/local/lib/python3.12/dist-packages (from pyproj->pyocto) (2026.1.4)\n",
      "Requirement already satisfied: locket in /usr/local/lib/python3.12/dist-packages (from partd>=1.4.0->dask<2025.4.0->xdas) (1.0.0)\n",
      "Requirement already satisfied: greenlet!=0.4.17 in /usr/local/lib/python3.12/dist-packages (from sqlalchemy<2->obspy>=1.3.1->seisbench) (3.3.1)\n",
      "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.12/dist-packages (from sympy>=1.13.3->torch>=1.10.0->seisbench) (1.3.0)\n",
      "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.12/dist-packages (from jinja2->torch>=1.10.0->seisbench) (3.0.3)\n",
      "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/dist-packages (from requests->obspy>=1.3.1->seisbench) (3.4.4)\n",
      "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.12/dist-packages (from requests->obspy>=1.3.1->seisbench) (3.11)\n",
      "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/dist-packages (from requests->obspy>=1.3.1->seisbench) (2.5.0)\n"
     ]
    }
   ],
   "source": [
    "!pip install obspy seisbench cartopy pyocto numpy matplotlib pandas torch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "id": "T2QVAdZrkG00"
   },
   "outputs": [],
   "source": [
    "# imports\n",
    "\n",
    "import obspy\n",
    "import os\n",
    "import json\n",
    "import logging\n",
    "from pathlib import Path\n",
    "from concurrent.futures import ThreadPoolExecutor, as_completed\n",
    "from obspy.clients.fdsn import Client\n",
    "from obspy import UTCDateTime\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import torch\n",
    "import pyocto\n",
    "import seisbench\n",
    "import seisbench.models as sbm\n",
    "import cartopy.crs as ccrs\n",
    "import cartopy.feature as cfeature\n",
    "import pandas as pd\n",
    "import math\n",
    "from obspy.geodetics.base import gps2dist_azimuth\n",
    "from obspy.signal.invsim import simulate_seismometer\n",
    "import gc\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "CYYfnEYtkO9M"
   },
   "source": [
    "### ML-based picking with PhaseNet\n",
    "\n",
    "This notebook applies **PhaseNet** (Zhu and Beroza, 2019)through **Seisbench** to detect and pick earthquakes on traces downloaded from EIDA via obspy. We use the pre-trained model weights from the **INSTANCE** database  (Michelini et al.,2021). The model predicts P and S phase probabilities on each trace, which we then convert to discrete picks. In this example, we will download traces from 23 stations located on the Central Ionian Islands and the surrounding mainland Greece areas, for 2 days, starting on March 1st, 2026.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "id": "ZyfI9VttkLeM"
   },
   "outputs": [],
   "source": [
    "\n",
    "# ========================\n",
    "# Parameters (edit me)\n",
    "# ========================\n",
    "\n",
    "# Waveforms are stored in one folder per day and each component as a\n",
    "# full-day MiniSEED file (86400 s)\n",
    "\n",
    "# ------------------------\n",
    "# Download scope\n",
    "# ------------------------\n",
    "START_DATE = UTCDateTime(\"2026-03-01 00:00:00\")\n",
    "NDAYS = 2  #\n",
    "TB = 0\n",
    "TE = 86400  # full-day files\n",
    "SAMPLING_RATE = 100\n",
    "\n",
    "# FDSN request\n",
    "PROVIDERS = [\"NOA\", \"EIDA\"]\n",
    "networks = \"HT,HL,HP,HA\"\n",
    "stations = \"ATHR,HAVD,LKD2,FSK,VLS,LTHK,PSDA,RTZL,EVGI,ITHC,DMLN,NYDR,TSLK,RLS,DRAG,KEF3,KEF4,ORTH,VLMS,PLEV,AXS,PDO,KSTR\"\n",
    "location = \"*\"\n",
    "channel = \"HH?\"\n",
    "\n",
    "# Parallel download settings (if possbile)\n",
    "MAX_DOWNLOAD_THREADS = 8\n",
    "USE_CACHE = True\n",
    "WRITE_DOWNLOAD_MANIFEST = True\n",
    "\n",
    "# Response removal parameters used during download.\n",
    "\n",
    "pre_filt = [0.001, 0.002, 25, 30]\n",
    "water_level = 60\n",
    "taper_fraction = 0.00001\n",
    "resp_output = \"VEL\"  # \"DISP\", \"VEL\", or \"ACC\"\n",
    "DOWNLOAD_STATIONXML = True\n",
    "\n",
    "# PhaseNet picking parameters\n",
    "BATCH_SIZE = 128\n",
    "P_THRESHOLD = 0.30\n",
    "S_THRESHOLD = 0.30\n",
    "\n",
    "# Association / search area\n",
    "LAT_BOUNDS = (37.5, 39.0)\n",
    "LON_BOUNDS = (20.0, 22.0)\n",
    "ZLIM_KM = (0.0, 100.0)\n",
    "TIME_BEFORE_S = 20\n",
    "N_PICKS = 8\n",
    "N_P_AND_S_PICKS = 4\n",
    "\n",
    "\n",
    "# Association runtime controls\n",
    "# I had some crashes during association are often caused by PyOcto memory/threading pressure.\n",
    "# Start conservative inside notebooks and increase later if needed.\n",
    "ASSOCIATION_TIME_SLICING_S = 600.0\n",
    "ASSOCIATION_THREADS = 1\n",
    "\n",
    "# Simplified velocity model (km/s)\n",
    "P_VELOCITY = 6.2\n",
    "S_VELOCITY = 3.3\n",
    "TOLERANCE_S = 2.0\n",
    "ASSOCIATION_CUTOFF_DISTANCE_KM = 150\n",
    "\n",
    "# Plotting style\n",
    "plt.rcParams.update({\n",
    "    \"figure.dpi\": 120,\n",
    "    \"axes.grid\": True,\n",
    "    \"grid.alpha\": 0.25,\n",
    "    \"axes.spines.top\": False,\n",
    "    \"axes.spines.right\": False,\n",
    "})\n",
    "\n",
    "# Outputs\n",
    "SAVE_OUTPUTS = True\n",
    "OUTPUT_DIR = \"outputs\"\n",
    "RESULTS_DIR = os.path.join(OUTPUT_DIR, \"results_daily\")\n",
    "SAVE_PER_DAY_OUTPUTS = True\n",
    "SAVE_MERGED_OUTPUTS = True\n",
    "\n",
    "# Processing controls\n",
    "PROCESS_ALL_DAYS = True\n",
    "STOP_ON_DAY_ERROR = False\n",
    "\n",
    "# It is possible to only test one day after downloading. Set PROCESS_ALL_DAYS=False\n",
    "# and choose the day index below.\n",
    "DAY_TO_LOAD_FOR_ANALYSIS = 0\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### Large-scale daily download workflow\n",
    "\n",
    "This notebook now follows a **daily batch workflow** designed for larger datasets:\n",
    "\n",
    "- waveform files are downloaded into **one folder per day** (`YYYYMMDD`)\n",
    "- each component is written as a **full-day 86400 s MiniSEED file**\n",
    "- instrument response is removed **during the download step** (not in the Magnitude step)\n",
    "- one StationXML file is cached in `metadata/stations.xml` (this is station metadata)\n",
    "- the processing stage then iterates over **all downloaded day folders**\n",
    "\n",
    "The waveforms saved on disk are already corrected, so the magnitude helper works directly on the stored traces.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ========================\n",
    "# Large-scale daily download helpers\n",
    "# ========================\n",
    "\n",
    "logger = logging.getLogger(\"homeros_demo\")\n",
    "if not logger.handlers:\n",
    "    logging.basicConfig(level=logging.INFO, format=\"%(asctime)s | %(levelname)s | %(message)s\")\n",
    "logger.setLevel(logging.INFO)\n",
    "\n",
    "output_root = Path(OUTPUT_DIR)\n",
    "waveform_root = output_root / \"waveforms_daily\"\n",
    "metadata_dir = waveform_root / \"metadata\"\n",
    "manifest_dir = waveform_root / \"manifests\"\n",
    "\n",
    "for _p in [output_root, waveform_root, metadata_dir, manifest_dir]:\n",
    "    _p.mkdir(parents=True, exist_ok=True)\n",
    "\n",
    "stationxml_path = metadata_dir / \"stations.xml\"\n",
    "\n",
    "\n",
    "def _split_csv_like(value):\n",
    "    if value is None:\n",
    "        return []\n",
    "    if isinstance(value, (list, tuple)):\n",
    "        return [str(v).strip() for v in value if str(v).strip()]\n",
    "    return [item.strip() for item in str(value).split(\",\") if item.strip()]\n",
    "\n",
    "\n",
    "def read_station_requests_from_inventory(inv):\n",
    "    \"\"\"Expand wildcard notebook requests into exact component requests.\n",
    "\n",
    "    Each returned item contains the station coordinates and the exact 3-component\n",
    "    channel triplet built from the inventory. \n",
    "    \"\"\"\n",
    "    station_rows = {}\n",
    "    requested_nets = set(_split_csv_like(networks))\n",
    "    requested_stas = set(_split_csv_like(stations))\n",
    "\n",
    "    for net in inv:\n",
    "        if requested_nets and net.code not in requested_nets:\n",
    "            continue\n",
    "        for sta in net:\n",
    "            if requested_stas and sta.code not in requested_stas:\n",
    "                continue\n",
    "\n",
    "            available = sorted({cha.code for cha in sta.channels if len(cha.code) == 3})\n",
    "            families = {}\n",
    "            for code in available:\n",
    "                families.setdefault(code[:2], set()).add(code[2])\n",
    "\n",
    "            chosen = None\n",
    "            for prefix, comps in sorted(families.items()):\n",
    "                if {\"E\", \"N\", \"Z\"}.issubset(comps):\n",
    "                    chosen = [prefix + comp for comp in [\"E\", \"N\", \"Z\"]]\n",
    "                    break\n",
    "\n",
    "            if chosen is None:\n",
    "                continue\n",
    "\n",
    "            key = (net.code, sta.code)\n",
    "            station_rows[key] = (\n",
    "                net.code,\n",
    "                sta.code,\n",
    "                chosen,\n",
    "                float(sta.latitude),\n",
    "                float(sta.longitude),\n",
    "                float(sta.elevation),\n",
    "            )\n",
    "\n",
    "    return list(station_rows.values())\n",
    "\n",
    "\n",
    "def download_stationxml_once(clients, station_rows):\n",
    "    \"\"\"Download one response-level StationXML file for all the stations involved.\"\"\"\n",
    "    if USE_CACHE and stationxml_path.exists():\n",
    "        logger.info(f\"StationXML already exists: {stationxml_path}\")\n",
    "        return obspy.read_inventory(str(stationxml_path))\n",
    "\n",
    "    nets = sorted({net for net, sta, chs, *_ in station_rows})\n",
    "    stas = sorted({sta for net, sta, chs, *_ in station_rows})\n",
    "\n",
    "    t0_meta = START_DATE\n",
    "    t1_meta = START_DATE + NDAYS * 86400\n",
    "\n",
    "    for client in clients:\n",
    "        try:\n",
    "            inv = client.get_stations(\n",
    "                network=\",\".join(nets) if nets else \"*\",\n",
    "                station=\",\".join(stas) if stas else \"*\",\n",
    "                location=\"*\",\n",
    "                channel=\"*\",\n",
    "                starttime=t0_meta,\n",
    "                endtime=t1_meta,\n",
    "                level=\"response\",\n",
    "            )\n",
    "            inv.write(str(stationxml_path), format=\"STATIONXML\")\n",
    "            logger.info(f\"Downloaded StationXML: {stationxml_path} from {client.base_url}\")\n",
    "            return inv\n",
    "        except Exception as exc:\n",
    "            logger.warning(f\"StationXML failed from {client.base_url}: {exc}\")\n",
    "\n",
    "    logger.warning(\"Could not download StationXML from any provider.\")\n",
    "    return None\n",
    "\n",
    "\n",
    "def download_waveform(clients, net, sta, chan1, tbeg, tend, stla, stlo, elev, trace_path):\n",
    "    \"\"\"Download, preprocess, and write one full-day component file.\"\"\"\n",
    "    if USE_CACHE and trace_path.exists():\n",
    "        logger.info(f\"Already downloaded: {trace_path.name}\")\n",
    "        return {\"status\": \"cached\", \"provider\": None, \"file\": str(trace_path)}\n",
    "\n",
    "    for client in clients:\n",
    "        try:\n",
    "            st = client.get_waveforms(\n",
    "                network=net,\n",
    "                station=sta,\n",
    "                channel=chan1,\n",
    "                starttime=tbeg,\n",
    "                endtime=tend,\n",
    "                location=location,\n",
    "                attach_response=True,\n",
    "            )\n",
    "\n",
    "            st.merge(method=1, fill_value=\"interpolate\")\n",
    "            st = st.trim(tbeg, tend, pad=True, fill_value=0)\n",
    "            st.interpolate(sampling_rate=SAMPLING_RATE, starttime=tbeg)\n",
    "            st.detrend(\"demean\")\n",
    "            st.detrend(\"linear\")\n",
    "            st.remove_response(\n",
    "                output=resp_output,\n",
    "                pre_filt=pre_filt,\n",
    "                water_level=water_level,\n",
    "                taper=True,\n",
    "                taper_fraction=taper_fraction,\n",
    "            )\n",
    "\n",
    "            if any(not np.isfinite(tr.data).all() for tr in st):\n",
    "                raise RuntimeError(\"Non-finite (NaN/Inf) data after processing\")\n",
    "\n",
    "            for tr in st:\n",
    "                tr.stats.coordinates = {\n",
    "                    \"latitude\": stla,\n",
    "                    \"longitude\": stlo,\n",
    "                    \"elevation\": elev,\n",
    "                }\n",
    "                tr.data = tr.data.astype(\"float32\", copy=False)\n",
    "                tr.stats.mseed = {\"encoding\": \"FLOAT32\"}\n",
    "\n",
    "            st.write(filename=str(trace_path), format=\"MSEED\")\n",
    "            logger.info(f\"Downloaded: {net}.{sta}.{chan1} from {client.base_url}\")\n",
    "            return {\"status\": \"downloaded\", \"provider\": client.base_url, \"file\": str(trace_path)}\n",
    "\n",
    "        except Exception as exc:\n",
    "            logger.debug(f\"Failed from {client.base_url} for {net}.{sta}.{chan1}: {exc}\")\n",
    "\n",
    "    logger.warning(f\"Failed: {net}.{sta}.{chan1}\")\n",
    "    return {\"status\": \"failed\", \"provider\": None, \"file\": str(trace_path)}\n",
    "\n",
    "\n",
    "def process_day(day_index, station_rows, clients):\n",
    "    \"\"\"Create one folder per day and fill it with one file per component.\"\"\"\n",
    "    origin = START_DATE + day_index * 86400\n",
    "    tbeg = origin + TB\n",
    "    tend = origin + TE\n",
    "    day_dir = waveform_root / origin.strftime(\"%Y%m%d\")\n",
    "    day_dir.mkdir(parents=True, exist_ok=True)\n",
    "\n",
    "    logger.info(f\"Processing {origin.strftime('%Y-%m-%d')} -> {day_dir}\")\n",
    "\n",
    "    manifest_rows = []\n",
    "    tasks = []\n",
    "\n",
    "    with ThreadPoolExecutor(max_workers=MAX_DOWNLOAD_THREADS) as executor:\n",
    "        for net, sta, channels, stla, stlo, elev in station_rows:\n",
    "            for chan1 in channels:\n",
    "                trace_path = day_dir / f\"{net}.{sta}.{chan1}\"\n",
    "                tasks.append(\n",
    "                    executor.submit(\n",
    "                        download_waveform,\n",
    "                        clients,\n",
    "                        net,\n",
    "                        sta,\n",
    "                        chan1,\n",
    "                        tbeg,\n",
    "                        tend,\n",
    "                        stla,\n",
    "                        stlo,\n",
    "                        elev,\n",
    "                        trace_path,\n",
    "                    )\n",
    "                )\n",
    "\n",
    "        for future in as_completed(tasks):\n",
    "            result = future.result()\n",
    "            manifest_rows.append(result)\n",
    "\n",
    "    if WRITE_DOWNLOAD_MANIFEST:\n",
    "        manifest_path = manifest_dir / f\"{origin.strftime('%Y%m%d')}.json\"\n",
    "        with open(manifest_path, \"w\", encoding=\"utf-8\") as f:\n",
    "            json.dump(manifest_rows, f, indent=2)\n",
    "        logger.info(f\"Wrote manifest: {manifest_path}\")\n",
    "\n",
    "    return day_dir\n",
    "\n",
    "\n",
    "def run_daily_download_workflow():\n",
    "    \"\"\"Main entry point used by the notebook.\n",
    "\n",
    "    Returns\n",
    "    -------\n",
    "    stream : obspy.Stream\n",
    "        The selected analysis day loaded back into memory for later notebook cells.\n",
    "    inv : obspy.Inventory or None\n",
    "        Inventory for mapping / association / magnitude steps.\n",
    "    \"\"\"\n",
    "    clients = [Client(provider) for provider in PROVIDERS]\n",
    "\n",
    "    # Get a preview inventory first so we can expand wildcard requests into\n",
    "    # exact station-channel-component triplets.\n",
    "    preview_inventory = None\n",
    "    preview_errors = []\n",
    "    for client in clients:\n",
    "        try:\n",
    "            preview_inventory = client.get_stations(\n",
    "                network=networks,\n",
    "                station=stations,\n",
    "                location=location,\n",
    "                channel=channel,\n",
    "                starttime=START_DATE,\n",
    "                endtime=START_DATE + NDAYS * 86400,\n",
    "                level=\"response\",\n",
    "            )\n",
    "            logger.info(f\"Preview inventory fetched from {client.base_url}\")\n",
    "            break\n",
    "        except Exception as exc:\n",
    "            preview_errors.append(f\"{client.base_url}: {exc}\")\n",
    "\n",
    "    if preview_inventory is None:\n",
    "        raise RuntimeError(\"Could not fetch preview inventory from any provider.\\n\" + \"\\n\".join(preview_errors))\n",
    "\n",
    "    station_rows = read_station_requests_from_inventory(preview_inventory)\n",
    "    if not station_rows:\n",
    "        raise RuntimeError(\"No stations/channels matching the current request were found in the inventory.\")\n",
    "\n",
    "    inv = preview_inventory\n",
    "    if DOWNLOAD_STATIONXML:\n",
    "        stationxml_inv = download_stationxml_once(clients, station_rows)\n",
    "        if stationxml_inv is not None:\n",
    "            inv = stationxml_inv\n",
    "\n",
    "    for day_index in range(NDAYS):\n",
    "        process_day(day_index, station_rows, clients)\n",
    "\n",
    "    analysis_day = START_DATE + DAY_TO_LOAD_FOR_ANALYSIS * 86400\n",
    "    analysis_day_dir = waveform_root / analysis_day.strftime(\"%Y%m%d\")\n",
    "    if not analysis_day_dir.exists():\n",
    "        raise RuntimeError(f\"Analysis day directory does not exist: {analysis_day_dir}\")\n",
    "\n",
    "    stream = obspy.Stream()\n",
    "    for filepath in sorted(analysis_day_dir.iterdir()):\n",
    "        if filepath.is_file():\n",
    "            try:\n",
    "                stream += obspy.read(str(filepath))\n",
    "            except Exception as exc:\n",
    "                logger.warning(f\"Could not read {filepath}: {exc}\")\n",
    "\n",
    "    if len(stream) == 0:\n",
    "        raise RuntimeError(f\"No readable waveform files were found in {analysis_day_dir}\")\n",
    "\n",
    "    logger.info(f\"Loaded {len(stream)} traces from {analysis_day_dir} for downstream analysis.\")\n",
    "    return stream, inv\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 30627,
     "status": "ok",
     "timestamp": 1772019182942,
     "user": {
      "displayName": "Vasilis",
      "userId": "11438822185670716821"
     },
     "user_tz": -120
    },
    "id": "2UinOFInkmTG",
    "outputId": "1a976bcc-5f19-4170-f508-32ebdc3dfea8"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2026-04-23 14:26:21,277 | INFO | Preview inventory fetched from http://eida.gein.noa.gr\n",
      "2026-04-23 14:26:21,278 | INFO | StationXML already exists: outputs/waveforms_daily/metadata/stations.xml\n",
      "2026-04-23 14:26:21,558 | INFO | Processing 2026-03-01 -> outputs/waveforms_daily/20260301\n",
      "2026-04-23 14:26:21,559 | INFO | Already downloaded: HP.KSTR.HHE\n",
      "2026-04-23 14:26:21,560 | INFO | Already downloaded: HP.AXS.HHE\n",
      "2026-04-23 14:26:21,559 | INFO | Already downloaded: HP.KSTR.HHZ\n",
      "2026-04-23 14:26:21,559 | INFO | Already downloaded: HP.PDO.HHE\n",
      "2026-04-23 14:26:21,559 | INFO | Already downloaded: HP.PDO.HHN\n",
      "2026-04-23 14:26:21,560 | INFO | Already downloaded: HP.PDO.HHZ\n",
      "2026-04-23 14:26:21,559 | INFO | Already downloaded: HP.KSTR.HHN\n",
      "2026-04-23 14:26:21,565 | INFO | Already downloaded: HP.LTHK.HHZ\n",
      "2026-04-23 14:26:21,562 | INFO | Already downloaded: HP.AXS.HHZ\n",
      "2026-04-23 14:26:21,563 | INFO | Already downloaded: HP.PLEV.HHE\n",
      "2026-04-23 14:26:21,563 | INFO | Already downloaded: HP.PLEV.HHN\n",
      "2026-04-23 14:26:21,564 | INFO | Already downloaded: HP.PLEV.HHZ\n",
      "2026-04-23 14:26:21,564 | INFO | Already downloaded: HP.LTHK.HHE\n",
      "2026-04-23 14:26:21,565 | INFO | Already downloaded: HP.LTHK.HHN\n",
      "2026-04-23 14:26:21,561 | INFO | Already downloaded: HP.AXS.HHN\n",
      "2026-04-23 14:26:21,566 | INFO | Already downloaded: HP.FSK.HHE\n",
      "2026-04-23 14:26:21,567 | INFO | Already downloaded: HP.FSK.HHN\n",
      "2026-04-23 14:26:21,567 | INFO | Already downloaded: HP.FSK.HHZ\n",
      "2026-04-23 14:26:21,568 | INFO | Already downloaded: HL.VLS.HHE\n",
      "2026-04-23 14:26:21,568 | INFO | Already downloaded: HL.VLS.HHN\n",
      "2026-04-23 14:26:21,569 | INFO | Already downloaded: HL.VLS.HHZ\n",
      "2026-04-23 14:26:21,569 | INFO | Already downloaded: HL.RLS.HHE\n",
      "2026-04-23 14:26:21,570 | INFO | Already downloaded: HL.RLS.HHN\n",
      "2026-04-23 14:26:21,571 | INFO | Already downloaded: HL.RLS.HHZ\n",
      "2026-04-23 14:26:21,571 | INFO | Already downloaded: HL.ORTH.HHE\n",
      "2026-04-23 14:26:21,571 | INFO | Already downloaded: HL.ORTH.HHN\n",
      "2026-04-23 14:26:21,572 | INFO | Already downloaded: HL.ORTH.HHZ\n",
      "2026-04-23 14:26:21,572 | INFO | Already downloaded: HT.PSDA.HHE\n",
      "2026-04-23 14:26:21,573 | INFO | Already downloaded: HT.PSDA.HHN\n",
      "2026-04-23 14:26:21,573 | INFO | Already downloaded: HT.PSDA.HHZ\n",
      "2026-04-23 14:26:21,577 | INFO | Already downloaded: HT.LKD2.HHE\n",
      "2026-04-23 14:26:21,578 | INFO | Already downloaded: HT.LKD2.HHN\n",
      "2026-04-23 14:26:21,578 | INFO | Already downloaded: HT.LKD2.HHZ\n",
      "2026-04-23 14:26:21,580 | INFO | Already downloaded: HT.DMLN.HHE\n",
      "2026-04-23 14:26:21,583 | INFO | Already downloaded: HT.ITHC.HHZ\n",
      "2026-04-23 14:26:21,581 | INFO | Already downloaded: HT.DMLN.HHZ\n",
      "2026-04-23 14:26:21,583 | INFO | Already downloaded: HT.ITHC.HHE\n",
      "2026-04-23 14:26:21,583 | INFO | Already downloaded: HT.ITHC.HHN\n",
      "2026-04-23 14:26:21,581 | INFO | Already downloaded: HT.DMLN.HHN\n",
      "2026-04-23 14:26:21,587 | INFO | Already downloaded: HT.NYDR.HHE\n",
      "2026-04-23 14:26:21,587 | INFO | Already downloaded: HT.NYDR.HHN\n",
      "2026-04-23 14:26:21,588 | INFO | Already downloaded: HT.NYDR.HHZ\n",
      "2026-04-23 14:26:21,589 | INFO | Already downloaded: HT.TSLK.HHE\n",
      "2026-04-23 14:26:21,589 | INFO | Already downloaded: HT.TSLK.HHN\n",
      "2026-04-23 14:26:21,590 | INFO | Already downloaded: HT.TSLK.HHZ\n",
      "2026-04-23 14:26:21,590 | INFO | Already downloaded: HT.RTZL.HHE\n",
      "2026-04-23 14:26:21,591 | INFO | Already downloaded: HT.RTZL.HHZ\n",
      "2026-04-23 14:26:22,872 | WARNING | Failed: HT.DRAG.HHZ\n",
      "2026-04-23 14:26:23,850 | WARNING | Failed: HT.DRAG.HHN\n",
      "2026-04-23 14:26:23,858 | WARNING | Failed: HT.DRAG.HHE\n",
      "2026-04-23 14:26:23,859 | INFO | Already downloaded: HA.ATHR.HHE\n",
      "2026-04-23 14:26:23,860 | INFO | Already downloaded: HA.ATHR.HHN\n",
      "2026-04-23 14:26:23,860 | INFO | Already downloaded: HA.ATHR.HHZ\n",
      "2026-04-23 14:26:30,248 | WARNING | Failed: HT.EVGI.HHE\n",
      "2026-04-23 14:26:30,468 | WARNING | Failed: HT.EVGI.HHN\n",
      "2026-04-23 14:26:33,354 | WARNING | Failed: HT.EVGI.HHZ\n",
      "2026-04-23 14:26:35,065 | WARNING | Failed: HA.HAVD.HHE\n",
      "2026-04-23 14:26:35,069 | WARNING | Failed: HT.RTZL.HHN\n",
      "2026-04-23 14:26:35,081 | WARNING | Failed: HA.HAVD.HHN\n",
      "2026-04-23 14:26:37,453 | WARNING | Failed: HA.HAVD.HHZ\n",
      "2026-04-23 14:26:37,503 | INFO | Wrote manifest: outputs/waveforms_daily/manifests/20260301.json\n",
      "2026-04-23 14:26:37,505 | INFO | Processing 2026-03-02 -> outputs/waveforms_daily/20260302\n",
      "2026-04-23 14:26:37,509 | INFO | Already downloaded: HP.KSTR.HHE\n",
      "2026-04-23 14:26:37,511 | INFO | Already downloaded: HP.KSTR.HHZ\n",
      "2026-04-23 14:26:37,511 | INFO | Already downloaded: HP.KSTR.HHN\n",
      "2026-04-23 14:26:37,516 | INFO | Already downloaded: HP.PLEV.HHN\n",
      "2026-04-23 14:26:37,512 | INFO | Already downloaded: HP.PDO.HHZ\n",
      "2026-04-23 14:26:37,512 | INFO | Already downloaded: HP.AXS.HHE\n",
      "2026-04-23 14:26:37,513 | INFO | Already downloaded: HP.AXS.HHN\n",
      "2026-04-23 14:26:37,513 | INFO | Already downloaded: HP.PDO.HHE\n",
      "2026-04-23 14:26:37,514 | INFO | Already downloaded: HP.AXS.HHZ\n",
      "2026-04-23 14:26:37,515 | INFO | Already downloaded: HP.PLEV.HHE\n",
      "2026-04-23 14:26:37,512 | INFO | Already downloaded: HP.PDO.HHN\n",
      "2026-04-23 14:26:37,517 | INFO | Already downloaded: HP.PLEV.HHZ\n",
      "2026-04-23 14:26:37,518 | INFO | Already downloaded: HP.LTHK.HHE\n",
      "2026-04-23 14:26:37,519 | INFO | Already downloaded: HP.LTHK.HHN\n",
      "2026-04-23 14:26:37,520 | INFO | Already downloaded: HP.LTHK.HHZ\n",
      "2026-04-23 14:26:37,521 | INFO | Already downloaded: HP.FSK.HHE\n",
      "2026-04-23 14:26:37,521 | INFO | Already downloaded: HP.FSK.HHN\n",
      "2026-04-23 14:26:37,522 | INFO | Already downloaded: HP.FSK.HHZ\n",
      "2026-04-23 14:26:37,522 | INFO | Already downloaded: HL.VLS.HHE\n",
      "2026-04-23 14:26:37,523 | INFO | Already downloaded: HL.VLS.HHN\n",
      "2026-04-23 14:26:37,523 | INFO | Already downloaded: HL.VLS.HHZ\n",
      "2026-04-23 14:26:37,524 | INFO | Already downloaded: HL.RLS.HHE\n",
      "2026-04-23 14:26:37,525 | INFO | Already downloaded: HL.RLS.HHN\n",
      "2026-04-23 14:26:37,525 | INFO | Already downloaded: HL.RLS.HHZ\n",
      "2026-04-23 14:26:37,525 | INFO | Already downloaded: HL.ORTH.HHE\n",
      "2026-04-23 14:26:37,526 | INFO | Already downloaded: HL.ORTH.HHN\n",
      "2026-04-23 14:26:37,526 | INFO | Already downloaded: HL.ORTH.HHZ\n",
      "2026-04-23 14:26:37,531 | INFO | Already downloaded: HT.LKD2.HHN\n",
      "2026-04-23 14:26:37,527 | INFO | Already downloaded: HT.PSDA.HHN\n",
      "2026-04-23 14:26:37,528 | INFO | Already downloaded: HT.PSDA.HHZ\n",
      "2026-04-23 14:26:37,528 | INFO | Already downloaded: HT.EVGI.HHE\n",
      "2026-04-23 14:26:37,529 | INFO | Already downloaded: HT.EVGI.HHZ\n",
      "2026-04-23 14:26:37,530 | INFO | Already downloaded: HT.LKD2.HHE\n",
      "2026-04-23 14:26:37,527 | INFO | Already downloaded: HT.PSDA.HHE\n",
      "2026-04-23 14:26:37,531 | INFO | Already downloaded: HT.LKD2.HHZ\n",
      "2026-04-23 14:26:37,532 | INFO | Already downloaded: HT.DMLN.HHE\n",
      "2026-04-23 14:26:37,532 | INFO | Already downloaded: HT.DMLN.HHN\n",
      "2026-04-23 14:26:37,533 | INFO | Already downloaded: HT.DMLN.HHZ\n",
      "2026-04-23 14:26:37,533 | INFO | Already downloaded: HT.ITHC.HHE\n",
      "2026-04-23 14:26:37,534 | INFO | Already downloaded: HT.ITHC.HHN\n",
      "2026-04-23 14:26:37,534 | INFO | Already downloaded: HT.ITHC.HHZ\n",
      "2026-04-23 14:26:37,537 | INFO | Already downloaded: HT.NYDR.HHE\n",
      "2026-04-23 14:26:37,537 | INFO | Already downloaded: HT.NYDR.HHN\n",
      "2026-04-23 14:26:37,538 | INFO | Already downloaded: HT.NYDR.HHZ\n",
      "2026-04-23 14:26:37,539 | INFO | Already downloaded: HT.TSLK.HHE\n",
      "2026-04-23 14:26:37,539 | INFO | Already downloaded: HT.TSLK.HHN\n",
      "2026-04-23 14:26:37,540 | INFO | Already downloaded: HT.TSLK.HHZ\n",
      "2026-04-23 14:26:37,540 | INFO | Already downloaded: HT.RTZL.HHE\n",
      "2026-04-23 14:26:37,541 | INFO | Already downloaded: HT.RTZL.HHN\n",
      "2026-04-23 14:26:39,086 | WARNING | Failed: HT.DRAG.HHN\n",
      "2026-04-23 14:26:39,089 | INFO | Already downloaded: HA.ATHR.HHE\n",
      "2026-04-23 14:26:39,091 | INFO | Already downloaded: HA.ATHR.HHN\n",
      "2026-04-23 14:26:39,092 | INFO | Already downloaded: HA.ATHR.HHZ\n",
      "2026-04-23 14:26:39,698 | WARNING | Failed: HT.DRAG.HHE\n",
      "2026-04-23 14:26:40,550 | WARNING | Failed: HT.DRAG.HHZ\n",
      "2026-04-23 14:26:44,518 | WARNING | Failed: HT.EVGI.HHN\n",
      "2026-04-23 14:26:45,458 | WARNING | Failed: HA.HAVD.HHZ\n",
      "2026-04-23 14:26:46,768 | WARNING | Failed: HT.RTZL.HHZ\n",
      "2026-04-23 14:26:51,201 | WARNING | Failed: HA.HAVD.HHE\n",
      "2026-04-23 14:26:51,776 | WARNING | Failed: HA.HAVD.HHN\n",
      "2026-04-23 14:26:51,803 | INFO | Wrote manifest: outputs/waveforms_daily/manifests/20260302.json\n",
      "2026-04-23 14:27:08,435 | INFO | Loaded 50 traces from outputs/waveforms_daily/20260301 for downstream analysis.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloaded daily waveform folders under: outputs/waveforms_daily\n",
      "Discovered 2 daily folders for downstream processing.\n",
      "First few day folders: ['20260301', '20260302']\n",
      "Inventory is available for association, mapping, and magnitude estimation.\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# ========================\n",
    "# Run the daily batch download and discover day folders\n",
    "# ========================\n",
    "\n",
    "try:\n",
    "    _, inv = run_daily_download_workflow()\n",
    "    day_dirs = sorted(\n",
    "        [p for p in waveform_root.iterdir() if p.is_dir() and p.name.isdigit() and len(p.name) == 8]\n",
    "    )\n",
    "\n",
    "    print(f\"Downloaded daily waveform folders under: {waveform_root}\")\n",
    "    print(f\"Discovered {len(day_dirs)} daily folders for downstream processing.\")\n",
    "    if day_dirs:\n",
    "        print(\"First few day folders:\", [p.name for p in day_dirs[:5]])\n",
    "    if inv is None:\n",
    "        print(\"Inventory is missing, so association/magnitude/mapping may be limited.\")\n",
    "    else:\n",
    "        print(\"Inventory is available for association, mapping, and magnitude estimation.\")\n",
    "except Exception as e:\n",
    "    day_dirs = []\n",
    "    inv = None\n",
    "    print(\"Could not complete the daily download workflow.\")\n",
    "    print(f\"Details: {type(e).__name__}: {e}\")\n",
    "    print(\"Tip: try fewer stations, fewer days, fewer threads, or a different provider order.\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 3962,
     "status": "ok",
     "timestamp": 1772019207897,
     "user": {
      "displayName": "Vasilis",
      "userId": "11438822185670716821"
     },
     "user_tz": -120
    },
    "id": "EWsi2DctkpFV",
    "outputId": "4af602d0-ff8d-4bb6-9ec5-d545921e5716"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2026-04-23 14:27:08,452 | seisbench | WARNING | Setting remote root to: https://seisbench.gfz-potsdam.de/mirror/\n",
      "Please note that this can affect your download speed.\n",
      "2026-04-23 14:27:08,452 | WARNING | Setting remote root to: https://seisbench.gfz-potsdam.de/mirror/\n",
      "Please note that this can affect your download speed.\n"
     ]
    }
   ],
   "source": [
    "# ========================\n",
    "# Run PhaseNet picker\n",
    "# ========================\n",
    "#Using the backup repository to avoid server troubles\n",
    "seisbench.use_backup_repository()\n",
    "picker = sbm.PhaseNet.from_pretrained(\"instance\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 19,
     "status": "ok",
     "timestamp": 1772019209659,
     "user": {
      "displayName": "Vasilis",
      "userId": "11438822185670716821"
     },
     "user_tz": -120
    },
    "id": "Zppv5KjykrSo",
    "outputId": "1ec71d45-6878-4c69-e858-7fa667610ef2"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using GPU: NVIDIA GeForce GTX 1650\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# In case a GPU is available, it will be prioritized for more efficient picking.\n",
    "if torch.cuda.is_available():\n",
    "    picker.cuda()\n",
    "    print(\"Using GPU:\", torch.cuda.get_device_name(0))\n",
    "else:\n",
    "    print(\"Running on CPU\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "sCBfvZGCkvYG"
   },
   "source": [
    "### Association step\n",
    "\n",
    "In this section we use **Pyocto** (Münchmeyer, 2023) to associate phases into events. We use a simplified generalized velocity model for this example, and then the associate_seisbench function of SeisBench."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "id": "aPVRqn4UktqW"
   },
   "outputs": [],
   "source": [
    "# ========================\n",
    "# Association step\n",
    "# ========================\n",
    "velocity_model = pyocto.VelocityModel0D(\n",
    "    p_velocity=P_VELOCITY,\n",
    "    s_velocity=S_VELOCITY,\n",
    "    tolerance=TOLERANCE_S,\n",
    "    association_cutoff_distance=ASSOCIATION_CUTOFF_DISTANCE_KM,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 69,
     "status": "ok",
     "timestamp": 1772019230738,
     "user": {
      "displayName": "Vasilis",
      "userId": "11438822185670716821"
     },
     "user_tz": -120
    },
    "id": "aCTAoTjak3GI",
    "outputId": "ec244daa-7d10-469b-a43d-26227a007710"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2026-04-23 14:27:10,451 | WARNING | The required number of P picks per event (3) is lower than the number of stations with both P and S pick (4). The effective number of P picks required will be 4.\n",
      "2026-04-23 14:27:10,451 | WARNING | The required number of S picks per event (3) is lower than the number of stations with both P and S pick (4). The effective number of S picks required will be 4.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "PyOcto configured with time_slicing=600.0s and n_threads=1\n"
     ]
    }
   ],
   "source": [
    "associator = pyocto.OctoAssociator.from_area(\n",
    "    lat=LAT_BOUNDS,\n",
    "    lon=LON_BOUNDS,\n",
    "    zlim=ZLIM_KM,\n",
    "    time_before=TIME_BEFORE_S,\n",
    "    velocity_model=velocity_model,\n",
    "    n_picks=N_PICKS,\n",
    "    n_p_and_s_picks=N_P_AND_S_PICKS,\n",
    "    time_slicing=ASSOCIATION_TIME_SLICING_S,\n",
    "    n_threads=ASSOCIATION_THREADS,\n",
    ")\n",
    "\n",
    "print(f\"PyOcto configured with time_slicing={ASSOCIATION_TIME_SLICING_S}s and n_threads={ASSOCIATION_THREADS}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 7237,
     "status": "ok",
     "timestamp": 1772019219132,
     "user": {
      "displayName": "Vasilis",
      "userId": "11438822185670716821"
     },
     "user_tz": -120
    },
    "id": "3nMzx6heksXO",
    "outputId": "0ba40213-14c7-429c-9c96-4f3180b23dc2"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Global station rows available to associator: 20\n",
      "Processing 2 day(s) through PhaseNet + association...\n",
      "Notebook-safe mode: per-day processing, filtered station table, conservative PyOcto threading.\n",
      "Loaded 50 traces for 20260301\n",
      "Produced 1671 picks\n",
      "Association will use 17 matching station rows\n",
      "Associated 10 events\n",
      "Loaded 52 traces for 20260302\n",
      "Produced 1823 picks\n",
      "Association will use 18 matching station rows\n",
      "Associated 18 events\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>n_traces</th>\n",
       "      <th>n_picks</th>\n",
       "      <th>n_events</th>\n",
       "      <th>n_station_rows</th>\n",
       "      <th>status</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20260301</td>\n",
       "      <td>50</td>\n",
       "      <td>1671</td>\n",
       "      <td>10</td>\n",
       "      <td>17</td>\n",
       "      <td>ok</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20260302</td>\n",
       "      <td>52</td>\n",
       "      <td>1823</td>\n",
       "      <td>18</td>\n",
       "      <td>18</td>\n",
       "      <td>ok</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        day  n_traces  n_picks  n_events  n_station_rows status\n",
       "0  20260301        50     1671        10              17     ok\n",
       "1  20260302        52     1823        18              18     ok"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Total picks across all processed days: 3494\n",
      "Total associated events across all processed days: 28\n",
      "Total assignments across all processed days: 501\n"
     ]
    }
   ],
   "source": [
    "# ========================\n",
    "# Batch processing over all downloaded day folders\n",
    "# ========================\n",
    "\n",
    "def list_daily_waveform_dirs(root_dir):\n",
    "    root_path = Path(root_dir)\n",
    "    return sorted([p for p in root_path.iterdir() if p.is_dir() and p.name.isdigit() and len(p.name) == 8])\n",
    "\n",
    "\n",
    "def load_day_stream(day_dir):\n",
    "    \"\"\"Load all component files from one daily folder into an ObsPy Stream.\"\"\"\n",
    "    st = obspy.Stream()\n",
    "    day_path = Path(day_dir)\n",
    "    for trace_file in sorted(day_path.iterdir()):\n",
    "        if not trace_file.is_file():\n",
    "            continue\n",
    "        try:\n",
    "            st += obspy.read(str(trace_file))\n",
    "        except Exception:\n",
    "            continue\n",
    "\n",
    "    if len(st) == 0:\n",
    "        return st\n",
    "\n",
    "    st.merge(method=1, fill_value=\"interpolate\")\n",
    "    return st\n",
    "\n",
    "\n",
    "def pick_list_to_dataframe(pick_list, day_label=None):\n",
    "    rows = []\n",
    "    for i, pick in enumerate(pick_list):\n",
    "        row = {\n",
    "            \"pick_index\": i,\n",
    "            \"day\": day_label,\n",
    "            \"trace_id\": getattr(pick, \"trace_id\", None),\n",
    "            \"phase\": getattr(pick, \"phase\", None),\n",
    "            \"peak_value\": getattr(pick, \"peak_value\", np.nan),\n",
    "        }\n",
    "\n",
    "        start_time = getattr(pick, \"start_time\", None)\n",
    "        peak_time = getattr(pick, \"peak_time\", None)\n",
    "        end_time = getattr(pick, \"end_time\", None)\n",
    "\n",
    "        def _to_epoch_seconds(val):\n",
    "            if val is None:\n",
    "                return np.nan\n",
    "            try:\n",
    "                return float(UTCDateTime(val))\n",
    "            except Exception:\n",
    "                return np.nan\n",
    "\n",
    "        row[\"start_time\"] = _to_epoch_seconds(start_time)\n",
    "        row[\"time\"] = _to_epoch_seconds(peak_time)\n",
    "        row[\"end_time\"] = _to_epoch_seconds(end_time)\n",
    "        rows.append(row)\n",
    "    return pd.DataFrame(rows)\n",
    "\n",
    "\n",
    "def inventory_to_stations_df(inv, associator):\n",
    "    \"\"\"Use PyOcto's own converter so the station table matches the associator's expectations.\"\"\"\n",
    "    if inv is None or associator is None:\n",
    "        return pd.DataFrame()\n",
    "    df = associator.inventory_to_df(inv)\n",
    "    if df is None:\n",
    "        return pd.DataFrame()\n",
    "    return df.reset_index(drop=True)\n",
    "\n",
    "\n",
    "def filter_stations_for_day(stations_df, day_picks):\n",
    "    \"\"\"Keep only stations that actually appear in the current day's picks.\"\"\"\n",
    "    if stations_df is None or len(stations_df) == 0 or day_picks is None or len(day_picks) == 0:\n",
    "        return pd.DataFrame() if stations_df is None else stations_df.iloc[0:0].copy()\n",
    "\n",
    "    trace_ids = sorted({\n",
    "        str(getattr(pick, \"trace_id\", \"\")).strip()\n",
    "        for pick in day_picks\n",
    "        if getattr(pick, \"trace_id\", None) is not None\n",
    "    })\n",
    "    if not trace_ids:\n",
    "        return stations_df.iloc[0:0].copy()\n",
    "\n",
    "    return stations_df[stations_df[\"id\"].astype(str).isin(trace_ids)].copy().reset_index(drop=True)\n",
    "\n",
    "\n",
    "def run_picking_for_day(day_stream, picker):\n",
    "    if len(day_stream) == 0:\n",
    "        return []\n",
    "    return picker.classify(\n",
    "        day_stream,\n",
    "        batch_size=BATCH_SIZE,\n",
    "        P_threshold=P_THRESHOLD,\n",
    "        S_threshold=S_THRESHOLD,\n",
    "    ).picks\n",
    "\n",
    "\n",
    "def run_association_for_day(day_picks, associator, stations_df):\n",
    "    if associator is None or stations_df is None or len(stations_df) == 0 or len(day_picks) == 0:\n",
    "        return pd.DataFrame(), pd.DataFrame()\n",
    "\n",
    "    day_events, day_assignments = associator.associate_seisbench(day_picks, stations_df)\n",
    "\n",
    "    if day_events is None:\n",
    "        day_events = pd.DataFrame()\n",
    "    elif len(day_events) > 0:\n",
    "        transformed = associator.transform_events(day_events.copy())\n",
    "        if transformed is not None:\n",
    "            day_events = transformed\n",
    "\n",
    "    if day_assignments is None:\n",
    "        day_assignments = pd.DataFrame()\n",
    "\n",
    "    return day_events, day_assignments\n",
    "\n",
    "\n",
    "def get_day_label_from_dir(day_dir):\n",
    "    return Path(day_dir).name\n",
    "\n",
    "\n",
    "# Build the station dataframe once from the inventory using PyOcto's own helper.\n",
    "if inv is not None:\n",
    "    stations_df = inventory_to_stations_df(inv, associator)\n",
    "else:\n",
    "    stations_df = pd.DataFrame()\n",
    "\n",
    "print(f\"Global station rows available to associator: {len(stations_df)}\")\n",
    "\n",
    "all_picks = []\n",
    "all_events = []\n",
    "all_assignments = []\n",
    "processing_summary = []\n",
    "\n",
    "if PROCESS_ALL_DAYS:\n",
    "    processing_day_dirs = day_dirs\n",
    "else:\n",
    "    processing_day_dirs = day_dirs[DAY_TO_LOAD_FOR_ANALYSIS:DAY_TO_LOAD_FOR_ANALYSIS+1]\n",
    "\n",
    "day_dir_lookup = {get_day_label_from_dir(day_dir): str(day_dir) for day_dir in processing_day_dirs}\n",
    "\n",
    "print(f\"Processing {len(processing_day_dirs)} day(s) through PhaseNet + Pyocto...\")\n",
    "\n",
    "\n",
    "for day_dir in processing_day_dirs:\n",
    "    day_label = get_day_label_from_dir(day_dir)\n",
    "    day_stream = None\n",
    "    day_picks = None\n",
    "    day_events = None\n",
    "    day_assignments = None\n",
    "    day_picks_df = None\n",
    "\n",
    "    try:\n",
    "        day_stream = load_day_stream(day_dir)\n",
    "        print(f\"Loaded {len(day_stream)} traces for {day_label}\")\n",
    "\n",
    "        if len(day_stream) == 0:\n",
    "            processing_summary.append({\"day\": day_label, \"n_traces\": 0, \"n_picks\": 0, \"n_events\": 0, \"n_station_rows\": 0, \"status\": \"empty\"})\n",
    "            continue\n",
    "\n",
    "        day_picks = run_picking_for_day(day_stream, picker)\n",
    "        print(f\"Produced {len(day_picks)} picks\")\n",
    "\n",
    "        day_stations_df = filter_stations_for_day(stations_df, day_picks)\n",
    "        print(f\"Association will use {len(day_stations_df)} matching station rows\")\n",
    "\n",
    "        day_events, day_assignments = run_association_for_day(day_picks, associator, day_stations_df)\n",
    "        print(f\"Associated {len(day_events)} events\")\n",
    "\n",
    "        if len(day_picks) > 0:\n",
    "            day_picks_df = pick_list_to_dataframe(day_picks, day_label=day_label)\n",
    "            all_picks.append(day_picks_df)\n",
    "        else:\n",
    "            day_picks_df = pd.DataFrame()\n",
    "\n",
    "        if len(day_events) > 0:\n",
    "            day_events = day_events.copy().reset_index(drop=True)\n",
    "            if \"idx\" not in day_events.columns:\n",
    "                day_events[\"idx\"] = np.arange(len(day_events))\n",
    "            day_events[\"day\"] = day_label\n",
    "            day_events[\"day_event_idx\"] = day_events[\"idx\"]\n",
    "            day_events[\"event_uid\"] = [f\"{day_label}_{int(idx)}\" for idx in day_events[\"idx\"]]\n",
    "            all_events.append(day_events)\n",
    "\n",
    "        if len(day_assignments) > 0:\n",
    "            day_assignments = day_assignments.copy().reset_index(drop=True)\n",
    "            day_assignments[\"day\"] = day_label\n",
    "            if \"event_idx\" in day_assignments.columns:\n",
    "                day_assignments[\"event_uid\"] = day_assignments[\"event_idx\"].apply(\n",
    "                    lambda x: f\"{day_label}_{int(x)}\" if pd.notna(x) else None\n",
    "                )\n",
    "            all_assignments.append(day_assignments)\n",
    "\n",
    "        processing_summary.append({\n",
    "            \"day\": day_label,\n",
    "            \"n_traces\": len(day_stream),\n",
    "            \"n_picks\": len(day_picks),\n",
    "            \"n_events\": len(day_events),\n",
    "            \"n_station_rows\": len(day_stations_df),\n",
    "            \"status\": \"ok\",\n",
    "        })\n",
    "    except Exception as exc:\n",
    "        print(f\"Failed processing day {day_label}: {type(exc).__name__}: {exc}\")\n",
    "        processing_summary.append({\n",
    "            \"day\": day_label,\n",
    "            \"n_traces\": np.nan,\n",
    "            \"n_picks\": np.nan,\n",
    "            \"n_events\": np.nan,\n",
    "            \"n_station_rows\": np.nan,\n",
    "            \"status\": f\"error: {type(exc).__name__}\",\n",
    "        })\n",
    "        if STOP_ON_DAY_ERROR:\n",
    "            raise\n",
    "    finally:\n",
    "        del day_stream, day_picks, day_events, day_assignments, day_picks_df\n",
    "        gc.collect()\n",
    "        try:\n",
    "            if torch.cuda.is_available():\n",
    "                torch.cuda.empty_cache()\n",
    "        except Exception:\n",
    "            pass\n",
    "\n",
    "processing_summary = pd.DataFrame(processing_summary)\n",
    "display(processing_summary)\n",
    "\n",
    "picks = pd.concat(all_picks, ignore_index=True) if all_picks else pd.DataFrame()\n",
    "prelim_events = pd.concat(all_events, ignore_index=True) if all_events else pd.DataFrame()\n",
    "assignments = pd.concat(all_assignments, ignore_index=True) if all_assignments else pd.DataFrame()\n",
    "\n",
    "# Keep one representative stream in the `stream` variable for any cells that still expect it.\n",
    "if processing_day_dirs:\n",
    "    stream = load_day_stream(processing_day_dirs[0])\n",
    "else:\n",
    "    stream = obspy.Stream()\n",
    "\n",
    "events = prelim_events.copy()\n",
    "\n",
    "print(f\"\\nTotal picks across all processed days: {len(picks)}\")\n",
    "print(f\"Total associated events across all processed days: {len(events)}\")\n",
    "print(f\"Total assignments across all processed days: {len(assignments)}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 12379,
     "status": "ok",
     "timestamp": 1772019249921,
     "user": {
      "displayName": "Vasilis",
      "userId": "11438822185670716821"
     },
     "user_tz": -120
    },
    "id": "NL4t6tvfk6t5",
    "outputId": "7225e2f7-4357-4fe5-c98b-d4352771deb3"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Associated events across all processed days: 28\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# Association summary from the multi-day processing loop above\n",
    "if isinstance(events, pd.DataFrame) and len(events) > 0:\n",
    "    print(f\"Associated events across all processed days: {len(events)}\")\n",
    "else:\n",
    "    print(\"No events were associated across the processed day folders.\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "kdSswDEIk9UH"
   },
   "source": [
    "\n",
    "## Approximate Local Magnitude (ML) Estimation\n",
    "\n",
    "This section computes an approximate local magnitude (ML) for **all detected events across all processed daily folders** and then produces summary outputs. Because the waveform download step already removes the instrument response, the magnitude code below works directly on the stored traces and does **not** remove the response again.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "id": "v0ZW9pWOk-f_"
   },
   "outputs": [],
   "source": [
    "\n",
    "# Magnitude helper functions live here\n",
    "\n",
    "paz_wa = {\n",
    "    \"poles\": [-6.283 + 4.7124j, -6.283 - 4.7124j],\n",
    "    \"zeros\": [0 + 0j],\n",
    "    \"gain\": 1,\n",
    "    \"sensitivity\": 2080,\n",
    "}\n",
    "\n",
    "\n",
    "def _safe_station_latlon(inv, net, sta):\n",
    "    \"\"\"Return (lat, lon) for a given network/station from the inventory.\"\"\"\n",
    "    try:\n",
    "        sel = inv.select(network=net, station=sta)\n",
    "        st = sel.networks[0].stations[0]\n",
    "        return float(st.latitude), float(st.longitude)\n",
    "    except Exception:\n",
    "        return None\n",
    "\n",
    "\n",
    "def _get_horizontal_traces(tr_list):\n",
    "    \"\"\"From a list of Traces for one station, return (E/1, N/2) traces.\"\"\"\n",
    "    tr_E, tr_N = None, None\n",
    "    for tr in tr_list:\n",
    "        comp = tr.stats.channel[-1]\n",
    "        if comp in (\"E\", \"1\") and tr_E is None:\n",
    "            tr_E = tr\n",
    "        elif comp in (\"N\", \"2\") and tr_N is None:\n",
    "            tr_N = tr\n",
    "    return tr_E, tr_N\n",
    "\n",
    "\n",
    "def _simulate_wood_anderson(tr, tb, te):\n",
    "    \"\"\"\n",
    "    Trim a Trace to [tb, te] and simulate Wood-Anderson.\n",
    "\n",
    "    The daily download step already removed the instrument response, so we do\n",
    "    not remove response again here.\n",
    "    \"\"\"\n",
    "    if tr is None:\n",
    "        return None\n",
    "\n",
    "    tr = tr.copy().trim(tb, te)\n",
    "    if tr.stats.npts < 10:\n",
    "        return None\n",
    "\n",
    "    tr.detrend(\"demean\")\n",
    "    tr.detrend(\"linear\")\n",
    "\n",
    "    try:\n",
    "        wa = simulate_seismometer(\n",
    "            tr.data.astype(np.float64),\n",
    "            tr.stats.sampling_rate,\n",
    "            paz_remove=None,\n",
    "            paz_simulate=paz_wa,\n",
    "            taper=True,\n",
    "            taper_fraction=0.02,\n",
    "        )\n",
    "    except Exception:\n",
    "        return None\n",
    "\n",
    "    if wa is None or len(wa) == 0:\n",
    "        return None\n",
    "\n",
    "    return wa\n",
    "\n",
    "\n",
    "def station_ml_calc_mag_phase(\n",
    "    tr_list,\n",
    "    ev_lat,\n",
    "    ev_lon,\n",
    "    ev_depth_km,\n",
    "    sta_lat,\n",
    "    sta_lon,\n",
    "    picks_df_for_station,\n",
    "):\n",
    "    \"\"\"Compute local magnitude for one station using already corrected traces.\"\"\"\n",
    "    if picks_df_for_station is None or len(picks_df_for_station) == 0:\n",
    "        return np.nan\n",
    "\n",
    "    df = picks_df_for_station.copy()\n",
    "    df[\"phase\"] = df[\"phase\"].astype(str).str.upper().str.strip()\n",
    "\n",
    "    s_rows = df[df[\"phase\"] == \"S\"]\n",
    "    p_rows = df[df[\"phase\"] == \"P\"]\n",
    "\n",
    "    if len(s_rows) > 0:\n",
    "        row = s_rows.sort_values(\"time\").iloc[0]\n",
    "    elif len(p_rows) > 0:\n",
    "        row = p_rows.sort_values(\"time\").iloc[0]\n",
    "    else:\n",
    "        return np.nan\n",
    "\n",
    "    phase = row[\"phase\"]\n",
    "    pick_time = row[\"time\"]\n",
    "\n",
    "    try:\n",
    "        t_pick = pick_time if isinstance(pick_time, UTCDateTime) else UTCDateTime(float(pick_time))\n",
    "    except Exception:\n",
    "        return np.nan\n",
    "\n",
    "    dist_m, _, _ = gps2dist_azimuth(ev_lat, ev_lon, sta_lat, sta_lon)\n",
    "    epi_km = dist_m / 1000.0\n",
    "    dist_km = math.sqrt(epi_km**2 + float(ev_depth_km) ** 2)\n",
    "    if dist_km <= 0:\n",
    "        return np.nan\n",
    "\n",
    "    if phase == \"S\":\n",
    "        tb = t_pick - 0.5\n",
    "        te = tb + 3.0\n",
    "    else:\n",
    "        tb = t_pick - 0.5 + 0.73 * (dist_km / 6.0)\n",
    "        te = tb + 3.0\n",
    "\n",
    "    tr_E, tr_N = _get_horizontal_traces(tr_list)\n",
    "    wa_E = _simulate_wood_anderson(tr_E, tb, te)\n",
    "    wa_N = _simulate_wood_anderson(tr_N, tb, te)\n",
    "\n",
    "    if wa_E is None and wa_N is None:\n",
    "        return np.nan\n",
    "\n",
    "    maxE = float(np.max(wa_E)) if wa_E is not None and len(wa_E) > 0 else 0.0\n",
    "    minE = float(np.min(wa_E)) if wa_E is not None and len(wa_E) > 0 else 0.0\n",
    "    maxN = float(np.max(wa_N)) if wa_N is not None and len(wa_N) > 0 else 0.0\n",
    "    minN = float(np.min(wa_N)) if wa_N is not None and len(wa_N) > 0 else 0.0\n",
    "\n",
    "    amp_mm = (maxE + abs(minE) + maxN + abs(minN)) / 4.0 * 1000.0\n",
    "\n",
    "    if (not np.isfinite(amp_mm)) or amp_mm <= 0:\n",
    "        return np.nan\n",
    "\n",
    "    ml = (\n",
    "        math.log10(amp_mm)\n",
    "        + 1.110 * math.log10(dist_km / 100.0)\n",
    "        + 0.00189 * (dist_km - 100.0)\n",
    "        + 3.0\n",
    "    )\n",
    "\n",
    "    return ml\n",
    "\n",
    "\n",
    "def build_trace_lookup(day_stream):\n",
    "    traces_by_key = {}\n",
    "    for tr in day_stream:\n",
    "        key = (tr.stats.network, tr.stats.station)\n",
    "        traces_by_key.setdefault(key, []).append(tr)\n",
    "    return traces_by_key\n",
    "\n",
    "\n",
    "def resolve_assignment_station(sta_val, day_stream, stations_df=None):\n",
    "    station_is_numeric = pd.api.types.is_number(sta_val)\n",
    "\n",
    "    if station_is_numeric and stations_df is not None:\n",
    "        net_col, sta_col = None, None\n",
    "        for col in stations_df.columns:\n",
    "            lc = str(col).lower()\n",
    "            if (\"net\" in lc) and net_col is None:\n",
    "                net_col = col\n",
    "            if (\"sta\" in lc or \"station\" in lc) and sta_col is None:\n",
    "                sta_col = col\n",
    "        if net_col is not None and sta_col is not None:\n",
    "            try:\n",
    "                sta_id = int(sta_val)\n",
    "                net = str(stations_df.iloc[sta_id][net_col])\n",
    "                sta = str(stations_df.iloc[sta_id][sta_col])\n",
    "                return net, sta\n",
    "            except Exception:\n",
    "                return None\n",
    "\n",
    "    raw = str(sta_val).strip()\n",
    "    parts = [p for p in raw.split(\".\") if p]\n",
    "    if len(parts) == 2:\n",
    "        return parts[0], parts[1]\n",
    "    if len(parts) == 1:\n",
    "        sta = parts[0]\n",
    "        nets_for_sta = {tr.stats.network for tr in day_stream if tr.stats.station == sta}\n",
    "        if len(nets_for_sta) == 1:\n",
    "            return list(nets_for_sta)[0], sta\n",
    "    return None\n",
    "\n",
    "\n",
    "def compute_magnitudes_for_day(day_events, day_assignments, day_stream, inv, stations_df=None):\n",
    "    if inv is None or len(day_events) == 0 or len(day_assignments) == 0:\n",
    "        out = day_events.copy()\n",
    "        if len(out) > 0:\n",
    "            out[\"ML\"] = np.nan\n",
    "            out[\"Stations_used\"] = 0\n",
    "        return out\n",
    "\n",
    "    traces_by_key = build_trace_lookup(day_stream)\n",
    "    MLs = []\n",
    "    nsta_used = []\n",
    "\n",
    "    for _, ev in day_events.iterrows():\n",
    "        ev_idx = ev[\"idx\"]\n",
    "        ev_lat = float(ev[\"latitude\"])\n",
    "        ev_lon = float(ev[\"longitude\"])\n",
    "        ev_depth_km = float(ev[\"depth\"]) if pd.notna(ev[\"depth\"]) else 0.0\n",
    "\n",
    "        ev_ass = day_assignments[day_assignments[\"event_idx\"] == ev_idx]\n",
    "        if len(ev_ass) == 0:\n",
    "            MLs.append(np.nan)\n",
    "            nsta_used.append(0)\n",
    "            continue\n",
    "\n",
    "        station_mls = []\n",
    "        for sta_val in ev_ass[\"station\"].unique().tolist():\n",
    "            resolved = resolve_assignment_station(sta_val, day_stream, stations_df=stations_df)\n",
    "            if resolved is None:\n",
    "                continue\n",
    "            net, sta = resolved\n",
    "\n",
    "            tr_list = traces_by_key.get((net, sta), [])\n",
    "            if not tr_list:\n",
    "                continue\n",
    "\n",
    "            sta_ll = _safe_station_latlon(inv, net, sta)\n",
    "            if sta_ll is None:\n",
    "                continue\n",
    "            sta_lat, sta_lon = sta_ll\n",
    "\n",
    "            picks_sta = ev_ass[ev_ass[\"station\"] == sta_val]\n",
    "            ml = station_ml_calc_mag_phase(\n",
    "                tr_list,\n",
    "                float(ev_lat),\n",
    "                float(ev_lon),\n",
    "                ev_depth_km,\n",
    "                sta_lat,\n",
    "                sta_lon,\n",
    "                picks_sta,\n",
    "            )\n",
    "            if np.isfinite(ml):\n",
    "                station_mls.append(ml)\n",
    "\n",
    "        if station_mls:\n",
    "            MLs.append(float(np.nanmedian(station_mls)))\n",
    "            nsta_used.append(int(len(station_mls)))\n",
    "        else:\n",
    "            MLs.append(np.nan)\n",
    "            nsta_used.append(0)\n",
    "\n",
    "    out = day_events.copy()\n",
    "    out[\"ML\"] = MLs\n",
    "    out[\"Stations_used\"] = nsta_used\n",
    "    out[\"datetime\"] = pd.to_datetime(out[\"time\"], unit=\"s\", utc=True).dt.tz_convert(None)\n",
    "    out[\"datetime\"] = out[\"datetime\"].dt.round(\"10ms\")\n",
    "    return out\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "p_D3uPUNlD8Y"
   },
   "source": [
    "\n",
    "### Magnitude estimation and catalog finalization\n",
    "\n",
    "Using the already response-corrected daily waveforms, we estimate **local magnitude (ML)** for each detected event. The resulting ML values are meant as an educational example rather than a fully calibrated magnitude scale. The output is a merged dataframe containing origin time information, epicenter location, depth, magnitude, and number of stations used.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 834
    },
    "executionInfo": {
     "elapsed": 13530,
     "status": "ok",
     "timestamp": 1772019277836,
     "user": {
      "displayName": "Vasilis",
      "userId": "11438822185670716821"
     },
     "user_tz": -120
    },
    "id": "9Z9zqBetlBhJ",
    "outputId": "c4457a3b-f6af-45e7-e5f5-f58f45666342"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>idx</th>\n",
       "      <th>event_uid</th>\n",
       "      <th>datetime</th>\n",
       "      <th>latitude</th>\n",
       "      <th>longitude</th>\n",
       "      <th>depth</th>\n",
       "      <th>ML</th>\n",
       "      <th>Stations_used</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20260301</td>\n",
       "      <td>0</td>\n",
       "      <td>20260301_0</td>\n",
       "      <td>2026-03-01 01:18:56.940</td>\n",
       "      <td>37.7525</td>\n",
       "      <td>21.1960</td>\n",
       "      <td>19.14</td>\n",
       "      <td>1.5</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20260301</td>\n",
       "      <td>1</td>\n",
       "      <td>20260301_1</td>\n",
       "      <td>2026-03-01 03:29:31.700</td>\n",
       "      <td>38.0578</td>\n",
       "      <td>20.6773</td>\n",
       "      <td>12.89</td>\n",
       "      <td>1.0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>20260301</td>\n",
       "      <td>2</td>\n",
       "      <td>20260301_2</td>\n",
       "      <td>2026-03-01 04:31:03.490</td>\n",
       "      <td>38.9984</td>\n",
       "      <td>20.9920</td>\n",
       "      <td>37.89</td>\n",
       "      <td>1.9</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>20260301</td>\n",
       "      <td>3</td>\n",
       "      <td>20260301_3</td>\n",
       "      <td>2026-03-01 09:23:33.360</td>\n",
       "      <td>38.0320</td>\n",
       "      <td>20.1895</td>\n",
       "      <td>12.89</td>\n",
       "      <td>1.8</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>20260301</td>\n",
       "      <td>4</td>\n",
       "      <td>20260301_4</td>\n",
       "      <td>2026-03-01 12:36:51.500</td>\n",
       "      <td>37.9172</td>\n",
       "      <td>20.9764</td>\n",
       "      <td>13.67</td>\n",
       "      <td>1.3</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>20260301</td>\n",
       "      <td>5</td>\n",
       "      <td>20260301_5</td>\n",
       "      <td>2026-03-01 17:18:36.210</td>\n",
       "      <td>38.4453</td>\n",
       "      <td>20.5806</td>\n",
       "      <td>6.64</td>\n",
       "      <td>2.2</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>20260301</td>\n",
       "      <td>6</td>\n",
       "      <td>20260301_6</td>\n",
       "      <td>2026-03-01 17:55:10.450</td>\n",
       "      <td>38.2337</td>\n",
       "      <td>20.5502</td>\n",
       "      <td>15.23</td>\n",
       "      <td>1.4</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>20260301</td>\n",
       "      <td>7</td>\n",
       "      <td>20260301_7</td>\n",
       "      <td>2026-03-01 17:56:17.540</td>\n",
       "      <td>38.1165</td>\n",
       "      <td>20.6297</td>\n",
       "      <td>14.45</td>\n",
       "      <td>1.2</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>20260301</td>\n",
       "      <td>8</td>\n",
       "      <td>20260301_8</td>\n",
       "      <td>2026-03-01 18:19:54.570</td>\n",
       "      <td>38.3830</td>\n",
       "      <td>22.0041</td>\n",
       "      <td>12.89</td>\n",
       "      <td>1.6</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>20260301</td>\n",
       "      <td>9</td>\n",
       "      <td>20260301_9</td>\n",
       "      <td>2026-03-01 22:52:58.810</td>\n",
       "      <td>38.0916</td>\n",
       "      <td>21.6694</td>\n",
       "      <td>19.92</td>\n",
       "      <td>1.2</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>20260302</td>\n",
       "      <td>0</td>\n",
       "      <td>20260302_0</td>\n",
       "      <td>2026-03-02 01:34:54.360</td>\n",
       "      <td>38.2679</td>\n",
       "      <td>21.6710</td>\n",
       "      <td>33.98</td>\n",
       "      <td>2.0</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>20260302</td>\n",
       "      <td>1</td>\n",
       "      <td>20260302_1</td>\n",
       "      <td>2026-03-02 01:42:48.810</td>\n",
       "      <td>38.4098</td>\n",
       "      <td>20.5017</td>\n",
       "      <td>6.64</td>\n",
       "      <td>0.5</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>20260302</td>\n",
       "      <td>2</td>\n",
       "      <td>20260302_2</td>\n",
       "      <td>2026-03-02 02:59:51.890</td>\n",
       "      <td>38.3980</td>\n",
       "      <td>20.5018</td>\n",
       "      <td>0.39</td>\n",
       "      <td>0.5</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>20260302</td>\n",
       "      <td>3</td>\n",
       "      <td>20260302_3</td>\n",
       "      <td>2026-03-02 03:49:37.750</td>\n",
       "      <td>38.3958</td>\n",
       "      <td>21.8778</td>\n",
       "      <td>0.39</td>\n",
       "      <td>1.5</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>20260302</td>\n",
       "      <td>4</td>\n",
       "      <td>20260302_4</td>\n",
       "      <td>2026-03-02 04:13:13.410</td>\n",
       "      <td>38.0914</td>\n",
       "      <td>20.2991</td>\n",
       "      <td>25.39</td>\n",
       "      <td>1.1</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>20260302</td>\n",
       "      <td>5</td>\n",
       "      <td>20260302_5</td>\n",
       "      <td>2026-03-02 07:04:20.110</td>\n",
       "      <td>38.7039</td>\n",
       "      <td>20.5950</td>\n",
       "      <td>5.86</td>\n",
       "      <td>1.7</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>20260302</td>\n",
       "      <td>6</td>\n",
       "      <td>20260302_6</td>\n",
       "      <td>2026-03-02 07:54:25.180</td>\n",
       "      <td>38.3980</td>\n",
       "      <td>20.5018</td>\n",
       "      <td>7.42</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>20260302</td>\n",
       "      <td>7</td>\n",
       "      <td>20260302_7</td>\n",
       "      <td>2026-03-02 08:44:09.350</td>\n",
       "      <td>38.7275</td>\n",
       "      <td>20.6107</td>\n",
       "      <td>8.20</td>\n",
       "      <td>1.1</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>20260302</td>\n",
       "      <td>8</td>\n",
       "      <td>20260302_8</td>\n",
       "      <td>2026-03-02 10:15:29.470</td>\n",
       "      <td>38.0698</td>\n",
       "      <td>20.7717</td>\n",
       "      <td>8.98</td>\n",
       "      <td>1.1</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>20260302</td>\n",
       "      <td>9</td>\n",
       "      <td>20260302_9</td>\n",
       "      <td>2026-03-02 11:12:36.180</td>\n",
       "      <td>38.9278</td>\n",
       "      <td>21.1673</td>\n",
       "      <td>30.08</td>\n",
       "      <td>2.1</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20260302</td>\n",
       "      <td>10</td>\n",
       "      <td>20260302_10</td>\n",
       "      <td>2026-03-02 12:55:58.430</td>\n",
       "      <td>38.9984</td>\n",
       "      <td>20.9920</td>\n",
       "      <td>38.67</td>\n",
       "      <td>1.5</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>20260302</td>\n",
       "      <td>11</td>\n",
       "      <td>20260302_11</td>\n",
       "      <td>2026-03-02 12:56:39.980</td>\n",
       "      <td>38.9984</td>\n",
       "      <td>20.9282</td>\n",
       "      <td>50.39</td>\n",
       "      <td>1.3</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>20260302</td>\n",
       "      <td>12</td>\n",
       "      <td>20260302_12</td>\n",
       "      <td>2026-03-02 12:57:33.590</td>\n",
       "      <td>38.9514</td>\n",
       "      <td>20.9920</td>\n",
       "      <td>38.67</td>\n",
       "      <td>1.1</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>20260302</td>\n",
       "      <td>13</td>\n",
       "      <td>20260302_13</td>\n",
       "      <td>2026-03-02 15:25:08.920</td>\n",
       "      <td>38.2217</td>\n",
       "      <td>20.4872</td>\n",
       "      <td>8.98</td>\n",
       "      <td>1.2</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>20260302</td>\n",
       "      <td>14</td>\n",
       "      <td>20260302_14</td>\n",
       "      <td>2026-03-02 17:29:38.850</td>\n",
       "      <td>38.3980</td>\n",
       "      <td>20.5018</td>\n",
       "      <td>7.42</td>\n",
       "      <td>0.6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>20260302</td>\n",
       "      <td>15</td>\n",
       "      <td>20260302_15</td>\n",
       "      <td>2026-03-02 19:18:18.870</td>\n",
       "      <td>38.1039</td>\n",
       "      <td>20.4250</td>\n",
       "      <td>12.11</td>\n",
       "      <td>0.9</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>20260302</td>\n",
       "      <td>16</td>\n",
       "      <td>20260302_16</td>\n",
       "      <td>2026-03-02 23:28:31.770</td>\n",
       "      <td>37.6581</td>\n",
       "      <td>20.6320</td>\n",
       "      <td>12.89</td>\n",
       "      <td>1.2</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>20260302</td>\n",
       "      <td>17</td>\n",
       "      <td>20260302_17</td>\n",
       "      <td>2026-03-02 23:56:37.040</td>\n",
       "      <td>38.4097</td>\n",
       "      <td>20.4859</td>\n",
       "      <td>5.86</td>\n",
       "      <td>0.8</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         day  idx    event_uid                datetime  latitude  longitude  \\\n",
       "0   20260301    0   20260301_0 2026-03-01 01:18:56.940   37.7525    21.1960   \n",
       "1   20260301    1   20260301_1 2026-03-01 03:29:31.700   38.0578    20.6773   \n",
       "2   20260301    2   20260301_2 2026-03-01 04:31:03.490   38.9984    20.9920   \n",
       "3   20260301    3   20260301_3 2026-03-01 09:23:33.360   38.0320    20.1895   \n",
       "4   20260301    4   20260301_4 2026-03-01 12:36:51.500   37.9172    20.9764   \n",
       "5   20260301    5   20260301_5 2026-03-01 17:18:36.210   38.4453    20.5806   \n",
       "6   20260301    6   20260301_6 2026-03-01 17:55:10.450   38.2337    20.5502   \n",
       "7   20260301    7   20260301_7 2026-03-01 17:56:17.540   38.1165    20.6297   \n",
       "8   20260301    8   20260301_8 2026-03-01 18:19:54.570   38.3830    22.0041   \n",
       "9   20260301    9   20260301_9 2026-03-01 22:52:58.810   38.0916    21.6694   \n",
       "10  20260302    0   20260302_0 2026-03-02 01:34:54.360   38.2679    21.6710   \n",
       "11  20260302    1   20260302_1 2026-03-02 01:42:48.810   38.4098    20.5017   \n",
       "12  20260302    2   20260302_2 2026-03-02 02:59:51.890   38.3980    20.5018   \n",
       "13  20260302    3   20260302_3 2026-03-02 03:49:37.750   38.3958    21.8778   \n",
       "14  20260302    4   20260302_4 2026-03-02 04:13:13.410   38.0914    20.2991   \n",
       "15  20260302    5   20260302_5 2026-03-02 07:04:20.110   38.7039    20.5950   \n",
       "16  20260302    6   20260302_6 2026-03-02 07:54:25.180   38.3980    20.5018   \n",
       "17  20260302    7   20260302_7 2026-03-02 08:44:09.350   38.7275    20.6107   \n",
       "18  20260302    8   20260302_8 2026-03-02 10:15:29.470   38.0698    20.7717   \n",
       "19  20260302    9   20260302_9 2026-03-02 11:12:36.180   38.9278    21.1673   \n",
       "20  20260302   10  20260302_10 2026-03-02 12:55:58.430   38.9984    20.9920   \n",
       "21  20260302   11  20260302_11 2026-03-02 12:56:39.980   38.9984    20.9282   \n",
       "22  20260302   12  20260302_12 2026-03-02 12:57:33.590   38.9514    20.9920   \n",
       "23  20260302   13  20260302_13 2026-03-02 15:25:08.920   38.2217    20.4872   \n",
       "24  20260302   14  20260302_14 2026-03-02 17:29:38.850   38.3980    20.5018   \n",
       "25  20260302   15  20260302_15 2026-03-02 19:18:18.870   38.1039    20.4250   \n",
       "26  20260302   16  20260302_16 2026-03-02 23:28:31.770   37.6581    20.6320   \n",
       "27  20260302   17  20260302_17 2026-03-02 23:56:37.040   38.4097    20.4859   \n",
       "\n",
       "    depth   ML  Stations_used  \n",
       "0   19.14  1.5             15  \n",
       "1   12.89  1.0              7  \n",
       "2   37.89  1.9             15  \n",
       "3   12.89  1.8             14  \n",
       "4   13.67  1.3             13  \n",
       "5    6.64  2.2             17  \n",
       "6   15.23  1.4             16  \n",
       "7   14.45  1.2             13  \n",
       "8   12.89  1.6             13  \n",
       "9   19.92  1.2             11  \n",
       "10  33.98  2.0             18  \n",
       "11   6.64  0.5              7  \n",
       "12   0.39  0.5              7  \n",
       "13   0.39  1.5             15  \n",
       "14  25.39  1.1              8  \n",
       "15   5.86  1.7             16  \n",
       "16   7.42  1.0              8  \n",
       "17   8.20  1.1              6  \n",
       "18   8.98  1.1              9  \n",
       "19  30.08  2.1             14  \n",
       "20  38.67  1.5             12  \n",
       "21  50.39  1.3              9  \n",
       "22  38.67  1.1             10  \n",
       "23   8.98  1.2             11  \n",
       "24   7.42  0.6              6  \n",
       "25  12.11  0.9              7  \n",
       "26  12.89  1.2              8  \n",
       "27   5.86  0.8             10  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>n_events</th>\n",
       "      <th>n_events_with_ml</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20260301</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20260302</td>\n",
       "      <td>18</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        day  n_events  n_events_with_ml\n",
       "0  20260301        10                10\n",
       "1  20260302        18                18"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# --- Compute local magnitude (ML) for all processed days ---\n",
    "\n",
    "if inv is None:\n",
    "    print(\"Inventory not available — cannot compute magnitudes.\")\n",
    "    magnitude_summary = pd.DataFrame()\n",
    "elif len(events) == 0 or len(assignments) == 0:\n",
    "    print(\"No events/assignments available — cannot compute magnitudes.\")\n",
    "    magnitude_summary = pd.DataFrame()\n",
    "else:\n",
    "    os.makedirs(RESULTS_DIR, exist_ok=True)\n",
    "\n",
    "    events_with_ml_all = []\n",
    "    magnitude_summary_rows = []\n",
    "\n",
    "    for day_label in sorted(events[\"day\"].unique()):\n",
    "        day_events = events[events[\"day\"] == day_label].copy().reset_index(drop=True)\n",
    "        day_assignments = assignments[assignments[\"day\"] == day_label].copy().reset_index(drop=True)\n",
    "\n",
    "        day_dir = day_dir_lookup.get(day_label)\n",
    "        if day_dir is None:\n",
    "            print(f\"Skipping magnitude calculation for {day_label}: waveform folder not found in lookup.\")\n",
    "            continue\n",
    "\n",
    "        day_stream = load_day_stream(day_dir)\n",
    "\n",
    "        day_events_ml = compute_magnitudes_for_day(\n",
    "            day_events,\n",
    "            day_assignments,\n",
    "            day_stream,\n",
    "            inv,\n",
    "            stations_df=stations_df,\n",
    "        )\n",
    "\n",
    "        if len(day_events_ml) > 0:\n",
    "            events_with_ml_all.append(day_events_ml)\n",
    "            magnitude_summary_rows.append({\n",
    "                \"day\": day_label,\n",
    "                \"n_events\": len(day_events_ml),\n",
    "                \"n_events_with_ml\": int(day_events_ml[\"ML\"].notna().sum()) if \"ML\" in day_events_ml.columns else 0,\n",
    "            })\n",
    "\n",
    "            if SAVE_PER_DAY_OUTPUTS:\n",
    "                day_out = os.path.join(RESULTS_DIR, day_label)\n",
    "                os.makedirs(day_out, exist_ok=True)\n",
    "                day_events_ml.to_csv(os.path.join(day_out, \"events_with_magnitude.csv\"), index=False)\n",
    "                day_assignments.to_csv(os.path.join(day_out, \"assignments.csv\"), index=False)\n",
    "                day_picks_df = picks[picks[\"day\"] == day_label].copy() if isinstance(picks, pd.DataFrame) and len(picks) > 0 else pd.DataFrame()\n",
    "                if len(day_picks_df) > 0:\n",
    "                    day_picks_df.to_csv(os.path.join(day_out, \"picks.csv\"), index=False)\n",
    "\n",
    "        # Release large daily waveform data after each day.\n",
    "        try:\n",
    "            del day_stream\n",
    "        except Exception:\n",
    "            pass\n",
    "        gc.collect()\n",
    "        try:\n",
    "            if torch.cuda.is_available():\n",
    "                torch.cuda.empty_cache()\n",
    "        except Exception:\n",
    "            pass\n",
    "\n",
    "    events = pd.concat(events_with_ml_all, ignore_index=True) if events_with_ml_all else pd.DataFrame()\n",
    "    magnitude_summary = pd.DataFrame(magnitude_summary_rows)\n",
    "\n",
    "    if SAVE_MERGED_OUTPUTS and len(events) > 0:\n",
    "        events.to_csv(os.path.join(RESULTS_DIR, \"all_events_with_magnitude.csv\"), index=False)\n",
    "        assignments.to_csv(os.path.join(RESULTS_DIR, \"all_assignments.csv\"), index=False)\n",
    "        if isinstance(picks, pd.DataFrame) and len(picks) > 0:\n",
    "            picks.to_csv(os.path.join(RESULTS_DIR, \"all_picks.csv\"), index=False)\n",
    "        if len(processing_summary) > 0:\n",
    "            processing_summary.to_csv(os.path.join(RESULTS_DIR, \"processing_summary.csv\"), index=False)\n",
    "        if len(magnitude_summary) > 0:\n",
    "            magnitude_summary.to_csv(os.path.join(RESULTS_DIR, \"magnitude_summary.csv\"), index=False)\n",
    "\n",
    "    if len(events) > 0:\n",
    "        events_display = events.copy()\n",
    "        events_display = events_display.round({\"latitude\": 4, \"longitude\": 4, \"depth\": 2, \"ML\": 1})\n",
    "        display(events_display[[c for c in [\"day\", \"idx\", \"event_uid\", \"datetime\", \"latitude\", \"longitude\", \"depth\", \"ML\", \"Stations_used\"] if c in events_display.columns]])\n",
    "    else:\n",
    "        print(\"Magnitude computation finished, but no events remained in the merged catalog.\")\n",
    "\n",
    "    if len(magnitude_summary) > 0:\n",
    "        display(magnitude_summary)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Iv_Iu6HzljtK"
   },
   "source": [
    "### Visualization\n",
    "\n",
    "In the final section, we map the detected earthquakes as well as the stations used for the detection and picking procedure"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "executionInfo": {
     "elapsed": 25593,
     "status": "ok",
     "timestamp": 1772019322029,
     "user": {
      "displayName": "Vasilis",
      "userId": "11438822185670716821"
     },
     "user_tz": -120
    },
    "id": "596vyF1MlHsB",
    "outputId": "d09e37d3-aca0-42c0-9fcd-14e76956bbb0"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Saved outputs to 'outputs/results_daily/'.\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9gAAAO0CAYAAABeHJ5QAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAASdAAAEnQB3mYfeAABAABJREFUeJzs3Xd4VMUax/HvpveQkIQSQg9dujSlCQKi9Kr0JkVAsGFBBRUFQapKsSBVqiIgKEVAelFAeu8dEggJqbt7/8glEhNgkyzZbPh97rPPJXtm57xn95Xw7syZMZjNZjMiIiIiIiIikiEOtg5AREREREREJDtQgS0iIiIiIiJiBSqwRURERERERKxABbaIiIiIiIiIFajAFhEREREREbECFdgiIiIiIiIiVqACW0RERERERMQKVGCLiIiIiIiIWIEKbBERERERERErUIEtIiIiIiIiYgVOtg5ARERERETkcXbx4kXCw8NtHUaa+fn5kTdvXluHkaWowBYREREREbGRixcvUqJ4CLcjTbYOJc28vb05fPiwiux7qMAWERERERGxkfDwcG5Hmvhpeh6KFnK2dTgWO34qnpbdLhEeHp6mAnv9+vXUrVs31WNbt26lWrVqST9v2bKFt956i7///hsfHx/atm3Lp59+ipeXV4bjf1RUYIuIiIiIiNhY0ULOlC7uauswMs3AgQN58sknkz1XtGjRpD/v2bOHevXqUbJkScaOHcv58+cZM2YMx44dY+XKlZkdrsVUYIuIiIiIiEimqlmzJq1bt77v8XfffRc/Pz/Wr1+Pj48PAAULFqRXr16sWrWKBg0aZFaoaaJVxEVERERERGzMhBmTXf3PnOFrvn37NgkJCSmej4iIYPXq1XTs2DGpuAbo3LkzXl5eLFiwIMPnflRUYIuIiIiIiEim6tatGz4+Pri5uVG3bl127dqVdGzfvn0kJCRQuXLlZK9xcXGhfPny7N69O7PDtZimiIuIiIiIiEi6HD9+PMVzgYGBBAUFpdrexcWFVq1a0bhxYwICAjh48CBjxoyhZs2abNmyhQoVKnDp0iUA8uTJk+L1efLkYePGjda9CCtSgS0iIiIiImJjJrMJo9l+tuoy/T/W5s2bpzj24YcfMmzYsFRfV6NGDWrUqJH0c9OmTWndujVly5blnXfe4bfffiM6OhoAV9eUi765ubklHc+KVGCLiIiIiIhIuixZsiTZ6t+QOIKdFkWLFqVZs2b89NNPGI1G3N3dAYiNjU3RNiYmJul4VqQCW0RERERERNKlaNGilC5dOsP9hISEEBcXR1RUVNLU8LtTxe916dKlNO27ndm0yJmIiIiIiIjY1MmTJ3Fzc8PLy4syZcrg5OSUbOEzgLi4OPbs2UP58uVtE6QFVGCLiIiIiIjYWOI2Xfb1SI9r166leG7v3r0sXbqUBg0a4ODggK+vL/Xr12f27Nncvn07qd2sWbOIjIykTZs26X6fHzVNERcREREREZFM0a5dO9zd3alRowZBQUEcPHiQadOm4eHhwciRI5PajRgxgho1alC7dm1efvllzp8/zxdffEGDBg1o1KiRDa/gwTSCLSIiIiIiIpmiefPmXL9+nbFjx9KvXz/mz59Py5Yt2bVrFyVLlkxqV7FiRdasWYO7uzuDBw9m2rRp9OjRg0WLFtkw+oczmM3m9I3ti4iIiIiISIYcOHCAMmXKsGNdbkoVd7F1OBY7eCSOKnUvs3//fqsscpZdaARbRERERERExApUYIuIiIiIiIhYgQpsERERERERESvQKuIiIiIiIiI2ZjKD0Y6WxzLZT6iZSiPYIiIiIiIiIlagAltERERERETEClRgi4iIiIiIiFiB7sEWERERERGxMRNmTNjPjc32FGtm0gi2iIiIiIiIiBWowBYRERERERGxAk0RFxERERERsTETZox2NO1aU8RTpxFsEREREREREStQgS0iIiIiIiJiBSqwRURERERERKxA92CLiIiIiIjYmLbpyh40gi0iIiIiIiJiBSqwRURERERERKxAU8RFRERERERszGQ2YzTbz7Rrkx3Fmpk0gi0iIiIiIiJiBSqwRURERERERKxABbaIiIiIiIiIFegebBERERERERsz/f9hL+wp1sykEWwRERERERERK1CBLSIiIiIiImIFKrBFRERERERErED3YIuIiIiIiNiYETNG7GdvaXuKNTNpBFtERERERETEClRgi4iIiIiIiFiBpoiLiIiIiIjYmMkMRjuadW2yo1gzk0awRURERERERKxABbaIiIiIiIiIFajAFhEREREREbEC3YMtIiIiIiJiY6b/P+yFPcWamTSCLSIiIiIiImIFKrBFRERERERErEAFtoiIiIiIiIgV6B5sERERERERGzNhwIjB1mFYzGRHsWYmjWCLiIiIiIiIWIEKbBEREREREREr0BRxERERERERGzOZEx/2wp5izUwawRYRERERERGxAhXYIiIiIiIiIlagAltERERERETECnQPtoiIiIiIiI1pm67sQSPYIiIiIiIiIlagAltERERERETECjRFXERERERExMaMdjZF3J5izUwawRYRERERERGxAhXYIiIiIiIiIlagAltERERERETECnQPtoiIiIiIiI2ZMGAy2899zdqmK3UawRYRERERERGxAhXYIiIiIiIiIlagAltERERERETECnQPtoiIiIiIiI2Z7GwfbN2DnTqNYIuIiIiIiIhYgQpsERERERERESvQFHEREREREREbM2LAaEfjn/Y0nT0z2c8nKCIiIiIiIpKFqcAWERERERERsQIV2CIiIiIiIiJWoHuwRUREREREbMxsNmAy2899zWY7ijUzaQRbRERERERExApUYIuIiIiIiIhYgaaIi4iIiIiI2FjiNl32M+3anmLNTBrBFhEREREREbECFdgiIiIiIiIiVqACW0RERERERMQKdA+2iIiIiIiIjZnMDhjN9jP+abKjWDOT3hURERERERERK1CBLSIiIiIiImIFKrBFRERERERErED3YIuIiIiIiNiYCQMmOxr/NGkf7FTZzycoIiIiIiIikoWpwBYRERERERGxAk0RFxERERERsTETBox2NO1aU8RTpxFsEREREREREStQgS0iIiIiIiJiBSqwRURERERERKxA92CLiIiIiIjYmNHsgNFsP+Of9hRrZtK7IiIiIiIiImIFKrBFRERERERErEBTxEVERERERGzMhMGutr6yp1gzk0awRURERERERKxABbaIiIiIiIiIFajAFhEREREREbEC3YMtIiIiIiJiYyYMGO1o/FP3YKfOfj5BERERERERkSxMBbaIiIiIiIiIFajAFhEREREREbEC3YMtIiIiIiJiYyazA0az/Yx/muwo1sykd0VERERERETEClRgi4iIiIiIiFiBpoiLiIiIiIjYmAkHTHY0/mlPsWYmvSsiIiIiIiIiVqACW0RERERERMQKVGCLiIiIiIiIWIHuwRYREREREbExoxmMZoOtw7CY0WzrCLImjWCLiIiIiIiIWIEKbBERERERERErUIEtIiIiIiIiYgW6B1tERERERMTGTDhgtKPxT+2DnTq9KyIiIiIiIiJWoAJb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",
      "text/plain": [
       "<Figure size 1200x1200 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# ========================\n",
    "#  Map visualization\n",
    "# ========================\n",
    "\n",
    "\n",
    "if SAVE_OUTPUTS:\n",
    "    os.makedirs(OUTPUT_DIR, exist_ok=True)\n",
    "\n",
    "if hasattr(events, \"__len__\") and len(events) > 0:\n",
    "    fig = plt.figure(figsize=(10, 10))\n",
    "    ax = plt.axes(projection=ccrs.PlateCarree())\n",
    "\n",
    "    # Add coastlines and terrain\n",
    "    ax.add_feature(cfeature.COASTLINE)\n",
    "    ax.add_feature(cfeature.BORDERS, linestyle=\":\")\n",
    "    ax.add_feature(cfeature.LAND, facecolor=\"lightgray\")\n",
    "    ax.add_feature(cfeature.OCEAN, facecolor=\"lightblue\")\n",
    "\n",
    "    # Plot stations with labels (if available)\n",
    "    if inv is not None:\n",
    "        for network in inv:\n",
    "            for station in network.stations:\n",
    "                ax.plot(\n",
    "                    station.longitude,\n",
    "                    station.latitude,\n",
    "                    \"^\",\n",
    "                    color=\"red\",\n",
    "                    markersize=8,\n",
    "                    transform=ccrs.PlateCarree(),\n",
    "                )\n",
    "                ax.text(\n",
    "                    station.longitude + 0.02,\n",
    "                    station.latitude + 0.02,\n",
    "                    station.code,\n",
    "                    fontsize=9,\n",
    "                    color=\"darkred\",\n",
    "                    transform=ccrs.PlateCarree(),\n",
    "                )\n",
    "    else:\n",
    "        print(\"Warning: Station inventory missing → stations not plotted on the map.\")\n",
    "\n",
    "    # Plot events (marker size scales with Magnitude, color shows depth)\n",
    "    sizes = 80\n",
    "    try:\n",
    "        if hasattr(events, \"columns\") and (\"ML\" in events.columns) and events[\"ML\"].notna().any():\n",
    "            ml = events[\"ML\"].astype(float)\n",
    "            ml_min = float(np.nanmin(ml.values))\n",
    "            ml_max = float(np.nanmax(ml.values))\n",
    "            if np.isfinite(ml_min) and np.isfinite(ml_max) and (ml_max > ml_min):\n",
    "                norm = (ml - ml_min) / (ml_max - ml_min)\n",
    "                sizes = 40 + 240 * norm  # points^2\n",
    "            else:\n",
    "                sizes = 120\n",
    "    except Exception:\n",
    "        sizes = 80\n",
    "\n",
    "    sc = ax.scatter(\n",
    "        events.longitude,\n",
    "        events.latitude,\n",
    "        c=events.depth,\n",
    "        cmap=\"viridis\",\n",
    "        s=sizes,\n",
    "        edgecolor=\"black\",\n",
    "        transform=ccrs.PlateCarree(),\n",
    "    )\n",
    "\n",
    "    # Map extent based on configured bounds with padding (to show all stations)\n",
    "    pad = 0.35\n",
    "    ax.set_extent(\n",
    "        [LON_BOUNDS[0] - pad, LON_BOUNDS[1] + pad,\n",
    "         LAT_BOUNDS[0] - pad, LAT_BOUNDS[1] + pad],\n",
    "        crs=ccrs.PlateCarree(),\n",
    "    )\n",
    "\n",
    "\n",
    "    gl = ax.gridlines(\n",
    "        draw_labels=True,\n",
    "        linewidth=0.5,\n",
    "        color=\"gray\",\n",
    "        alpha=0.5,\n",
    "        linestyle=\"--\",\n",
    "    )\n",
    "    gl.top_labels = False\n",
    "    gl.right_labels = False\n",
    "\n",
    "    plt.colorbar(sc, label=\"Depth (km)\")\n",
    "    plt.title(\"Detected Events\")\n",
    "\n",
    "    if SAVE_OUTPUTS:\n",
    "        out_png = os.path.join(RESULTS_DIR, \"detected_events_map.png\")\n",
    "        fig.savefig(out_png, dpi=200, bbox_inches=\"tight\")\n",
    "        # Save events table if possible\n",
    "        out_csv = os.path.join(RESULTS_DIR, \"detected_events.csv\")\n",
    "        try:\n",
    "            events.to_csv(out_csv, index=False)\n",
    "        except Exception:\n",
    "            try:\n",
    "                import pandas as pd\n",
    "                pd.DataFrame(events).to_csv(out_csv, index=False)\n",
    "            except Exception as e:\n",
    "                print(f\"Could not save events CSV: {type(e).__name__}: {e}\")\n",
    "        print(f\"Saved outputs to '{RESULTS_DIR}/'.\")\n",
    "\n",
    "    plt.show()\n",
    "else:\n",
    "    print(\"No events detected in this short demo window (or association was skipped).\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "usO_7H6ylNGR"
   },
   "source": [
    "### Picks per station\n",
    "\n",
    "Histogram of associated picks per station (split by phase when available)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 485
    },
    "executionInfo": {
     "elapsed": 584,
     "status": "ok",
     "timestamp": 1772019325591,
     "user": {
      "displayName": "Vasilis",
      "userId": "11438822185670716821"
     },
     "user_tz": -120
    },
    "id": "M8ZK9XVDlLzC",
    "outputId": "5a133dc0-5147-405c-88c1-5cfdfac99a18"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKMAAAHUCAYAAADm5evPAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAASdAAAEnQB3mYfeAAAzC9JREFUeJzs3Xd4FNXbxvF7kpCEEFLovUtv0jvSQaVIEQSkqaAoRUTFDiigIggWUEQUKQoivUhRQJCuKEUQAkTpoYWekHLeP3izP0ISSNjNJhm/n+vi0p05c+Z5dmcnu8+eOWMZY4wAAAAAAAAAN/BI6wAAAAAAAADw30ExCgAAAAAAAG5DMQoAAAAAAABuQzEKAAAAAAAAbkMxCgAAAAAAAG5DMQoAAAAAAABuQzEKAAAAAAAAbkMxCgAAAAAAAG5DMQoAAAAAAABuQzEKAAAAAAAAbkMxCgAAAAAAAG5DMQoAkKqGDx8uy7K0bt26tA4l2UJDQ2VZlnr16pVq+3DF82JZlh544AGXxYTUsW7dOlmWpeHDh6d1KEgFX3/9tSzL0tdffx1veZEiRVSkSJE0iQkpl9TreC94zwPA3VGMAoB0YtSoUbIsS5Zl6e+//07rcNKdXr16ybIshYaGpnUoyOBc+aVTck/xEgAAwE4oRgFAOmCM0dSpU2VZliTpiy++SOOIXOe5557Tvn37VKNGjbQOJV3hefnvqFGjhvbt26fnnnsurUMBAABIFyhGAUA6sGrVKoWGhqpnz57KkyePpk+frhs3bqR1WC6RI0cOlS5dWn5+fmkdSrrC8/Lf4efnp9KlSytHjhxpHQoAAEC6QDEKANKBuJFQTz31lLp166azZ89qwYIFiba9fPmy3n77bZUvX14BAQHKmjWrihcvrs6dO+u3336L13bx4sVq0qSJ8ubNKx8fH+XLl08NGzbUpEmTEvR78OBB9ejRQ/nz55e3t7fy5cunHj166ODBg4nGERMTo88++0x169ZVYGCgMmfOrBIlSujJJ5+Mt01ScyMtXLhQ3bt3V8mSJZUlSxZlyZJFVatW1UcffaTY2Nh4bS3L0vTp0yVJRYsWdVzOePt8LOfPn9crr7yiMmXKKHPmzAoMDFSTJk20atWqJJ/LIUOGqECBAvL19VXp0qU1fvz4BPu/m1vnB9m8ebOaNm2qwMBAZc2aVS1atNCOHTsSbHOnOaP279+vPn36qEiRIvLx8VGuXLlUv359TZ48OVnxjB07Vh4eHqpbt67Onz8vSbpx44Y++ugjValSRcHBwfLz81ORIkXUtm1brVmzJln9xl0qefjwYY0fP16lS5eWr6+vChQooOeff16XLl1KdLtjx47pueeeU7FixeTj46Ps2bOrTZs22r59+x2fl9mzZ6tmzZry9/dP1tw7hw8fVt++fVWiRAllzpxZ2bJlU4UKFfT000/r3LlzkqQHHnhAvXv3liT17t3bcSzdegnoiRMnNHLkSNWtW1d58uRxvB+6du2qv/76K0G8RYsWlSRNnz49Xn9xlwHeaf6YlLzvbn1u5s2bpxo1asjPz0/ZsmVTly5ddPz48bs+R3EuXryosWPHqnHjxipQoIC8vb2VM2dOtWnTRps3b05yu+Qem3HzmZ06dUpPPvmk8ufPL09Pz3iXRs6dO1cNGjRwnD8qVKigMWPGKDIyMsF+d+3apccee8yx35w5c6pKlSoaPHiwoqKiHO1Scn5Mym+//aZBgwapUqVKypYtm3x9fXXffffphRde0IULF5LVx72Ie85OnDihxx9/XLly5VLmzJlVtWpVzZ49O0H7W4+rbdu26aGHHlK2bNniHcuRkZF69913VaFCBfn5+SkgIED169fX3Llzk4xj27Zt6ty5s/Lnzy8fHx/lzZtXzZs3T3SbrVu3qmPHjo73ScGCBdWvXz+dOHEiQdvkvD+llJ+r9u/fr169eqlgwYLy9vZW7ty51bVr1yQvdw8JCVGnTp0UHBysLFmyqE6dOlq2bFmSz8ednD59Wk888YRy586tzJkzq3Llyo6/VYlJybH1+eefy7IsjRgxItG+Tp06pUyZMqlChQqOZa44/gHAXbzSOgAA+K87ffq0Fi9erJIlS6pOnToKCAjQuHHjNGXKFHXu3DleW2OMWrZsqU2bNql27dp68skn5eXlpWPHjmnt2rWqX7++qlatKkmaMmWK+vXrpzx58qh169bKkSOHwsLCtGvXLn311Vfq37+/o9/t27eradOmunz5stq0aaOyZctq//79mjlzphYtWqQ1a9aoevXqjvY3btzQww8/rNWrV6tgwYLq2rWrAgICFBoaqgULFqhevXq677777pj3sGHD5OHhoZo1ayp//vy6ePGifv75Zw0aNEjbt2/XjBkzHG3feustLVy4UH/++acGDRqkoKAgSXL8V5L++ecfPfDAAwoNDVX9+vXVsmVLXb16VUuXLlXLli31+eef66mnnnK0j4yMVJMmTbR9+3ZVqlRJ3bp1U3h4uN5++22tX78+xa+jdPOL2ZgxY9S0aVM9++yzCgkJ0fz58/XLL79o1apVql+//l37WLZsmTp16qTIyEi1bNlSjz32mMLDw/Xnn3/q/fff1zPPPJPktrGxsRo8eLA+/vhjtW/fXrNmzZKvr6+km4Wkb7/9VuXLl1ePHj2UOXNmnThxQhs3btSPP/6opk2bJjvP559/Xr/88oseffRRtW3bVitXrtSECRO0YcMGbdy40bFPSfr999/VvHlznT9/Xi1atFD79u119uxZLVy4UPXq1dOCBQv04IMPJtjHuHHjtHr1arVu3VqNGjXSxYsX7xjTyZMnVb16dV26dEkPPvigOnTooIiICB05ckQzZszQc889p+zZs6tXr14KCgrSokWL1LZtW1WuXNnRR9zx9Msvv+jdd99Vo0aN1KFDB/n7++vgwYOaN2+eFi9erF9//VWVKlWSdLO4FR4erokTJ6pSpUpq166do79b+05MSt93cSZNmqTFixerTZs2atiwobZu3ao5c+bozz//1B9//CEfH5877leS9u3bp9dee00NGjTQQw89pODgYP37779avHixVqxYoSVLlqhly5bxtknpsXn+/HnVqlVL/v7+at++vTw8PJQ7d25J0quvvqoxY8YoR44c6tq1q/z9/bVixQq9+uqrWrlypVatWiVvb29JNwtRNWvWlGVZatOmjYoWLapLly4pJCREkyZN0jvvvKNMmTKl6Px4J1988YUWLFighg0bqmnTpoqNjdVvv/2m8ePHa8WKFdq6dauyZs16137uxYULF1SnTh0FBQWpd+/eCg8P19y5c9WtWzcdP35cL774YoJtNm/erDFjxqhevXrq06ePzp49K29vb924cUMtWrTQ+vXrVbp0aT377LO6du2a5s2bp86dO+uPP/7Q6NGjE+T+zDPPyNPTU23atNF9992nsLAw7dixQ5MmTdKjjz7qaDtt2jT17dtXPj4+atOmjQoWLKiDBw9q6tSpWrJkibZs2aJChQpJSv77U0rZuerHH39U+/btFRUVpdatW6tEiRI6duyY5s+fr2XLlmnt2rWqUqWKo/3BgwdVu3ZtnTt3Tq1atVLlypUVEhKi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gYGqUaOGNmzYoFGjRmnevHmO0UGlSpXSW2+9pccee0xSys6Pd9K5c2ctWLBAxYoVU9u2bZUnTx7HCNAJEyY4/drfyb2cQxJ7nu/l+ErJaxz33h47duwd28W9t1Py/kzuuSouhqRGEN8egyvP+/fa170cW/3799cvv/yiqVOnasSIETp16pQWL16sypUrxytEuur4BwB3oRgFAGnkzJkzWrhwoSTpsccec3yhut2UKVMcxSjp5mUpH374oT788EOFhIRo/fr1+vzzz/XJJ58oPDw83mUcPXr0UI8ePRQeHq5NmzZpwYIFmjZtmlq0aKH9+/crZ86cjl91T506lej+T548KUmOdnFfhJ0ZHTB16lQdOXJEb731VoJftDdv3qyJEyemqL+42CZOnJisokNc+9OnTye6Pqnn4m7u1l9iv6Df6tbn9vbLsJJSqVIlPfnkk+rVq5caNGign3/+WcWKFUvQLnPmzBo+fLiGDx+uo0eP6pdfftHXX3+tmTNnKjQ09K6XEN7q9OnTKlWqVILlt+cZ999FixapTZs2ye5f0j2NZipTpozmzJmj6Oho/fnnn1qzZo0+/vhjDRo0SFmyZNETTzxx1z6io6M1fPhw5cmTR7///nuCL/N3utNcSqT0fedqb7zxhry9vbVjxw6VKVMm3rp+/folGCFyL8dmUq/hrbknNjIxsdxr166tpUuXKjIyUr/99pt+/PFHffzxx+rataty5szpmNQ6JefHxOzYsUMLFixQ06ZNtWLFiniXt8XGxur9999PVu736l7OIYk9z/dyfN36Gic2miqx/i9evKiAgIA7to2T3Pdncs9VcTH8+eefqlix4l3378rz/r30da/HVvv27ZU7d259+eWXevPNNxNMXH4rZ49/AHAn5owCgDQyffp03bhxQ1WrVtUTTzyR6L+cOXNqzZo1OnLkSKJ9lChRQk888YTWr18vf39/LVq0KNF2QUFBevDBB/XFF1+oV69eOn/+vH755RdJcszLs27dukS3Xbt2rSQ57khUunRpBQUFadeuXYnevjs5QkJCJEkdOnRIsC6pyyTiLqtIbORHrVq1JCnZBZWsWbOqRIkSOn78uA4dOpRgfVLPxd1s3Lgx3iUXt/d3tzmQ4vJYsWJFivbbvXt3fffddzpx4oQaNGjguDwlKQULFlS3bt20cuVKlShRQhs3box3a/W7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ALiLQ4cOqVy5cgkKUZKUK1euu27/wAMPqHz58vrtt99Up04dZc6cWUWLFtVnn30Wr11Sc0bt379fjz76qHLmzKnMmTOrVKlSeu211+64z3/++UclSpRQ+fLldfr0aUnSwYMH1aFDB+XJk0e+vr4qUKCAunTpoosX771Ql1KMjAIAAAAAALiLwoULa/PmzdqzZ4/Kly9/T31cuHBBDz74oB599FE99thjmjt3rp555hl5e3urT58+SW63a9cu1a9fX5kyZVLfvn1VpEgRHTp0SEuWLNGoUaMS3ebQoUNq3LixsmXLptWrVytHjhy6ceOGWrRoocjISA0YMEB58uTR8ePHtXTpUoWHhysw0D2j1yhGAQAAAAAA3MULL7ygBx98UJUrV1aNGjVUv359NWnSRI0aNUr2/E4nTpzQuHHjNGTIEElSv379VLNmTb3yyit6/PHHk+xnwIABMsbo999/V6FChRzL33333UTb79+/X02aNFH+/Pm1cuVKBQcHS5L++usvHTlyRN9//706duzoaP/mm28mK35XoRiFjC21rjn28Jb8iknXDkuxN1zbtxPXKAMAAAAA0kazZs20efNmjRkzRitXrtTmzZv1/vvvK2fOnJo6daratGlz1z68vLzUr18/x2Nvb2/169dPzzzzjH777TfVqlUrwTZnzpzRL7/8okGDBsUrREk355e63Z49e9S5c2eVKFFCK1asUEBAgGNd3MinlStX6sEHH5Sfn1+y83cl5owCAAAAAABIhurVq2v+/Pm6cOGCtm3bpldeeUWXL19Wx44d9ddff911+3z58ilLlizxlpUsWVLSzbmiEnP48GFJSvalga1bt1bWrFm1cuXKeIUoSSpatKiGDBmiqVOnKkeOHGrRooU+/fRTt84XJVGMAgAAAAAASBFvb29Vr15do0eP1uTJkxUVFaXvv/8+rcOSJHXo0EGHDh3SrFmzEl0/btw47dq1S6+++qquX7+ugQMHqly5cjp27JjbYqQYBQAAAAAAcI+qVasmSTp58uRd2544cUJXr16Nt+zAgQOSpCJFiiS6TbFixSTdvPwuOcaOHasnnnhC/fv31+zZsxNtU6FCBb3++uv65ZdftGHDBh0/fjzBXf1SE8UoAAAAAACAu1i7dq2MMQmWL1++XJJUqlSpu/YRHR2tzz//3PH4xo0b+vzzz5UzZ05VrVo10W1y5sypBg0aaNq0afr333/jrUssHsuyNGXKFHXs2FE9e/bU4sWLHesuXbqk6OjoeO0rVKggDw8PRUZG3jV+V2ECcwAAAAAAgLsYOHCgrl27pkceeUSlS5fWjRs3tGnTJs2ZM0dFihRR796979pHvnz59N577yk0NFQlS5bUnDlz9Mcff2jKlCl3vCPfRx99pHr16qlKlSrq27evihYtqtDQUC1btkx//PFHgvYeHh6aOXOm2rVrp0cffVTLly9X48aN9fPPP+u5555Tp06dVLJkSUVHR2vGjBny9PRUhw4dnHl6UoRiFAAAAAAAwF2MHTtW8+bN0/LlyzVlyhTduHFDhQoVUv/+/fX6668rKCjorn0EBwdr+vTpGjBggL744gvlzp1bn3zyiZ566qk7blepUiVt2bJFb7zxhiZPnqyIiAgVLlxYjz76aJLbZMqUSfPmzVOrVq3Utm1brVmzRpUqVVKLFi20ZMkSHT9+XH5+fqpUqZJWrFiR6J38UgvFKAAAAAAAkPqGu/eOba7WsmVLtWrVyul+qlatqk2bNiW5vkiRIolefleuXDnNnz8/ye2GDx+u4cOHx1uWOXNmrVu3Lt6yL7/8MkXxpgbmjAIAAAAAAIDbUIwCAAAAAACA21CMAgAAAAAAgNswZxQAAAAAAEAqu33upv8yRkYBAAAAAADAbShGAQAAAAAAwG0oRgEAAAAAACBJxhiX9kcxCgAAAAAAOM3Dw0PR0dEuL1wgbRljFBMTI8uyXNYnxSgAAAAAAOC0LFmyKCYmRidPnlR0dHRahwMXiI6O1smTJxUTEyN/f3+X9cvd9AAAAAAAgNOCgoIUERGhixcv6uLFi/Ly8pKHh4dLR9SkBWOMjDGyLCvD55JcxhjFxsY6iop+fn4KDg52Wf8UowAAAAAAgNM8PT1VqFAhXb58WZcuXVJUVJQtLtkzxigqKkqZMmX6zxSjLMuSl5eXMmfOrICAAGXNmtWluWeoYtSoUaP0+uuvq1y5ctqzZ0+8dZs2bdJLL72k33//XQEBAXr00Uc1evRolw4jAwAAAAAASbMsSwEBAQoICEjrUFwmOjpa4eHhCgoKkpdXhiqjpFsZ5lk8duyYRo8erSxZsiRY98cff6hJkyYqU6aMxo8fr2PHjumDDz7QwYMHtWLFijSIFgAAAAAAAInJMMWooUOHqlatWoqJidHZs2fjrXv11VcVHBysdevWOaqvRYoU0VNPPaVVq1apefPmaREyAAAAAAAAbpMh7qb3yy+/aN68eZowYUKCdZcuXdLq1avVvXv3eMMAe/ToIX9/f82dO9eNkQIAAAAAAOBO0n0xKiYmRgMGDNCTTz6pChUqJFi/e/duRUdHq1q1avGWe3t7q3Llytq5c6e7QgUAAAAAAMBdpPvL9D777DP9888/WrNmTaLrT548KUnKmzdvgnV58+bVhg0bkuw7LCxMZ86cibcsJCRE0s0JyuJuYZiheXi7vMtoD2/FWJkUnQp939xBCp73VIohVXNMB8dVdHS0YmJi7HGMJ8HuOdo9P8n+Odo9P8n+Odo9P8n+Odo9P4kc7cDu+Un2z9Hu+Un2z9Hu+blKSiZ3T9fFqHPnzunNN9/UG2+8oZw5cyba5vr165IkHx+fBOt8fX0d6xMzadIkjRgxItF1ly9fVnh4eMqDTm/8irm8yxgrk6743iz+eZool/evlDzvqZCflMo5poPjKiYmRleuXJF08/ardmT3HO2en2T/HO2en2T/HO2en2T/HO2en0SOdmD3/CT752j3/CT752j3/FwlR44cyW6brotRr7/+urJly6YBAwYk2SZz5sySpMjIyATrIiIiHOsT079/f3Xq1CnespCQELVr105Zs2ZVUFDQvQWenlw77PIu40YLBV4/Iq/YGy7vXyl53lMhPymVc0wHx1VcRT8wMNC2tya1e452z0+yf452z0+yf452z0+yf452z08iRzuwe36S/XO0e36S/XO0e35pId0+iwcPHtSUKVM0YcIEnThxwrE8IiJCUVFRCg0NVUBAgOPyvLjL9W518uRJ5cuXL8l95MqVS7ly5Up0nZeXlz0OstQoFunmaCGv2BupU4xKyfOeSvlJqZhjOjmuPD097XOcJ8HuOdo9P8n+Odo9P8n+Odo9P8n+Odo9P4kc7cDu+Un2z9Hu+Un2z9Hu+blbup3A/Pjx44qNjdXAgQNVtGhRx7+tW7fqwIEDKlq0qEaOHKny5cvLy8tLO3bsiLf9jRs39Mcff6hy5cppkwAAAAAAAAASSLclvfLly2vBggUJlr/++uu6fPmyJk6cqOLFiyswMFBNmzbVzJkz9cYbbyhr1qySpBkzZujKlSsJLsMDAAAAAABA2km3xagcOXKoXbt2CZZPmDBBkuKtGzVqlOrUqaOGDRuqb9++OnbsmMaNG6fmzZurZcuW7gkYAAAAAAAAd5VuL9NLiSpVqmjNmjXKnDmznn/+eU2ZMkVPPPGE5s2bl9ahAQAAAAAA4BbpdmRUUtatW5fo8nr16unXX391bzCAOwwPdH2fHt6SX7GbdyNMjUngh190fZ8AAAAAAFuwxcgoAAAAAAAAZAwUowAAAAAAAOA2FKMAAAAAAADgNhSjAAAAAAAA4DYUowAAAAAAAOA2FKMAAAAAAADgNhSjAAAAAAAA4DYUowAAAAAAAOA2FKMAAAAAAADgNhSjAAAAAAAA4DYUowAAAAAAAOA2XmkdAID/uOGBqdOvh7fkV0y6dliKveH6/odfTEHbVMgxPeUHAAAAACnAyCgAAAAAAAC4DcUoAAAAAAAAuA3FKAAAAAAAALhNqhSjDh8+rH379qVG1wAAAAAAAMjAnCpGffTRR+rSpUu8Zb1799Z9992n8uXLq1q1agoLC3MqQAAAAAAAANiHU8WoqVOnKnfu3I7HK1eu1PTp09W3b199/PHHOnz4sEaMGOF0kAAAAAAAALAHL2c2/ueff1SmTBnH47lz56po0aKaPHmyJOnUqVOaMWOGcxECAAAAAADANpwaGWWMifd41apVatWqleNxkSJFdOrUKWd2AQAAAAAAABtxqhhVsmRJLViwQNLNS/ROnDgRrxh17NgxBQUFORUgAAAAAAAA7MOpy/SGDh2qrl27Kjg4WFevXlWZMmXUokULx/qff/5ZlStXdjZGAAAAAAAA2IRTxaguXbooe/bsWr58uYKCgtS/f395ed3s8vz588qWLZsef/xxlwQKAAAAAACAjM+pYpQkNWvWTM2aNUuwPFu2bJo/f74iIyOd3QUAAAAAAABswqli1Msvv6z33nsvyfWXL19WmzZttHbtWmd2AwBIz4YHpk6/Ht6SXzHp2mEp9obr+x9+0fV9AgAAALgrpyYwHz9+vN56661E1124cEGNGzfWzp07ndkFAAAAAAAAbMSpkVFTp05Vnz595Ovrq1deecWx/NSpU2rWrJlOnjyp1atXOx0kAAAAAAAA7MGpYlTPnj0VGRmpZ555Rj4+PhoyZIhCQ0PVpEkTXb9+XevWrVP58uVdFSsAAAAAAAAyOKcnMO/bt68iIiI0ePBgnT17VjNmzJCXl5c2bNig4sWLuyJGAAAAAAAA2ITTxShJGjhwoCIjI/Xyyy+rdOnSWrNmjfLly+eKrgEAAAAAAGAjKSpGtWnT5o7r/f39FRQUpKefftqxzLIsLVq06N6iAwAAAAAAgK2kqBi1a9cuWZaV5Prs2bPr5MmTOnnypGPZndoDAAAAAADgvyVFxajQ0NBUCgMAAAAAAAD/BR5pHQAAAAAAAAD+O5wqRq1evVqvvvpqkutfe+01/fzzz87sAgAAAAAAADbiVDHqnXfe0dGjR5Ncf/z4cb3zzjvO7AIAAAAAAAA24lQxavfu3apZs2aS66tXr65du3Y5swsAAAAAAADYiFPFqMjISN24ceOO669du+bMLgAAAAAAAGAjThWjypcvrwULFiS6zhij+fPnq2zZss7sAgAAAAAAADbiVDFqwIAB+vXXX9WpUyft3r1b0dHRio6O1q5du9SpUydt3rxZAwYMcFWsAAAAAAAAyOC8nNm4e/fuOnTokN5++23Nnz9fHh43a1uxsbGyLEuvv/66evbs6ZJAAQAAAAAAkPE5VYySpLfeekvdu3fXggULdPjwYUlS8eLF1a5dOxUvXtzpAAEAAAAAAGAfThejpJvFp6FDh7qiKwAAAAAAANiYS4pRAADY2vBA1/fp4S35FZOuHZZik74z7T0bftH1fQIAAAAukKJilIeHhzw8PHTt2jV5e3vLw8NDlmXdcRvLshQdHe1UkAAAAAAAALCHFBWj3nzzTVmWJS8vr3iPAQAAAAAAgORIUTFq+PDhd3wMAAAAAAAA3IlHWgcAAAAAAACA/w6ni1FnzpzR0KFDVbZsWfn5+cnPz09ly5bV0KFDdfr0aVfECAAAAAAAAJtwqhi1d+9eVahQQePHj1dgYKA6deqkTp06KTAwUOPHj1fFihW1Z88eV8UKAAAAAACADM6pYtSzzz6rmJgYbd26VZs3b9b06dM1ffp0bd68WVu2bFFMTIwGDBhwT33v3btXnTp1UrFixeTn56ccOXKoQYMGWrJkSYK2+/btU8uWLeXv769s2bLp8ccf15kzZ5xJDQAAAAAAAKnAqWLUtm3bNGjQIFWvXj3Buho1amjQoEHaunXrPfX9zz//6PLly+rZs6cmTpyoN954Q5LUpk0bTZkyxdHu2LFjatCggUJCQjR69GgNHTpUy5YtU7NmzXTjxo17SwwAAAAAAACpIkV307tdrly55Ovrm+R6X19f5cqV6576fvDBB/Xggw/GW/bcc8+patWqGj9+vPr27StJGj16tK5evarffvtNhQoVknSzENasWTN9/fXXjnYAAAAAAABIe06NjBo8eLAmT56sU6dOJVh34sQJTZ48WYMHD3ZmF/F4enqqYMGCCg8Pdyz74Ycf9PDDDzsKUZLUtGlTlSxZUnPnznXZvgEAAAAAAOA8p0ZGxcbGyt/fXyVKlNAjjzyiEiVKSJIOHjyohQsXqkSJEoqNjdX48eMd21iWpeeffz7Z+7h69aquX7+uixcvavHixVqxYoU6d+4sSTp+/LjCwsJUrVq1BNvVqFFDy5cvdyY9AAAAAAAAuJhTxaihQ4c6/n/WrFkJ1u/atSteGynlxagXXnhBn3/+uSTJw8ND7du31yeffCJJOnnypCQpb968CbbLmzevzp8/r8jISPn4+CTad1hYWIKJzkNCQiRJ0dHRio6OTnac6ZaHt8u7jPbwVoyVSdGp0PfNHaTgeU+lGFI1x5QeV7yG9xaCzXO0e36S/XNMV/mlkujoaMXExNjj72ki7J6fZP8c7Z6fRI52YPf8JPvnaPf8JPvnaPf8XMXLK/klJqeKUUeOHHFm82QZPHiwOnbsqBMnTmju3LmKiYlxTEx+/fp1SUq02BQ3l9X169eTLEZNmjRJI0aMSHTd5cuX410OmGH5FXN5lzFWJl3xvVkA9DRRLu9fKXneUyE/KZVzTOlxxWt4T+yeo93zk+yfY7rKL5XExMToypUrkm5eam83ds9Psn+Ods9PIkc7sHt+kv1ztHt+kv1ztHt+rpIjR45kt3WqGFW4cGFnNk+W0qVLq3Tp0pKkHj16qHnz5mrdurW2bt2qzJkzS5IiIyMTbBcRESFJjjaJ6d+/vzp16hRvWUhIiNq1a6esWbMqKCjIRVmkoWuHXd5l3K/4gdePyCs2Fe5YmJLnPRXyk1I5x5QeV7yG98TuOdo9P8n+Oaar/FJJ3K+HgYGBKfqlLKOwe36S/XO0e34SOdqB3fOT7J+j3fOT7J+j3fNLCxnuWezYsaP69eunAwcOOC7Pi7tc71YnT55UtmzZkhwVJd28G2BSd/vz8vKyx0GWGl9wdPNXfK/YG6nzBSolz3sq5SelYo4pPa54De+Z3XO0e36S/XNMN/mlIk9PT/v8TU2E3fOT7J+j3fOTyNEO7J6fZP8c7Z6fZP8c7Z6fuzl1N720EHdp3sWLF5U/f37lzJlTO3bsSNBu27Ztqly5spujAwAAAAAAwJ2k22JUWFhYgmVRUVH65ptvlDlzZpUtW1aS1KFDBy1dulRHjx51tPvpp5904MCBBJfgAQAAAAAAIG2l2/Fl/fr106VLl9SgQQPlz59fp06d0qxZs7R//36NGzdO/v7+kqRXX31V33//vRo1aqRBgwbpypUrGjt2rCpUqKDevXuncRYAAAAAAAC4VbotRnXu3FlffvmlJk+erHPnzilr1qyqWrWq3nvvPbVp08bRrmDBglq/fr2GDBmiYcOGydvbWw899JDGjRt3x/miAAAAAAAA4H7pthjVpUsXdenSJVlty5Urp5UrV6ZyRAAAAAAAAHBWiopRffr0SfEOLMvSl19+meLtAAAAAAAAYD8pKkb9/PPPsiwr3rJr167pzJkzkqTg4GBJ0oULFyRJOXPmVJYsWVwRJwAAAAAAAGwgRXfTCw0N1ZEjRxz/li1bpkyZMunVV19VWFiYzp07p3PnziksLEyvvPKKvL29tWzZstSKHQAAAAAAABmMU3NGDRgwQK1atdI777wTb3mOHDk0atQohYWFacCAAVqzZo1TQQIAAAAAAMAeUjQy6nZbtmxRlSpVklx///33a8uWLc7sAgAAAAAAADbi1MiobNmyacWKFXrmmWcSXb98+XIFBQU5sws4qUjEbJf36e1hVMjL6N8ISzdirbtvkEKhLu8RAAAAAACkF06NjOrXr5+WLl2qtm3bas2aNQoNDVVoaKhWr16tNm3aaMWKFXr66addFSsAAAAAAAAyOKdGRr3++uuKjIzU2LFjtXTp0vgde3lp2LBhev31150KEAAAAAAAAPbhVDFKkt5++20NGjRIq1ev1r///itJKly4sJo2baocOXI4HSAAAAAAAADsw+lilHTz7nmPPfaYK7oCAAAAAACAjTk1Z5QkxcTE6LvvvlO/fv30yCOPaPfu3ZKkixcvav78+Tp9+rTTQQIAAAAAAMAenBoZFR4erpYtW2rbtm3y9/fX1atXNWDAAEmSv7+/Bg4cqB49emj06NEuCRYAAKSC4YGp06+Ht+RXTLp2WIq94fr+h19MQdtUyDE95QcAAJCBODUyatiwYdq7d69Wrlypw4cPyxjjWOfp6amOHTtq+fLlTgcJAAAAAAAAe3CqGLVw4UINGDBAzZo1k2VZCdaXLFlSoaGhzuwCAAAAAAAANuJUMerixYsqWrRokuujoqIUHR3tzC4AAAAAAABgI04Vo4oXL67ff/89yfWrVq1S2bJlndkFAAAAAAAAbMSpYtSTTz6padOmac6cOY75oizLUmRkpF577TX9+OOP6tevn0sCBQAAAAAAQMbn1N30Bg0apL179+qxxx5TUFCQJKlr1646d+6coqOj1a9fPz3xxBOuiBMAAAAAAAA24FQxyrIsffHFF+rZs6fmzZungwcPKjY2VsWLF9ejjz6qBg0auCpOIFFFImanSr/eHkaFvIz+jbB0Izbh5PzOCHVpbwAASBoemDr9enhLfsWka4el2Buu73/4Rdf3CQAA0j2nilFx6tWrp3r16rmiKwAAAAAAANiYU3NGeXp6avbspEemzJkzR56ens7sAgAAAAAAADbiVDEqbtLypMTExMiyXHuJEwAAAAAAADIup4pRkpIsNl26dEkrV65Ujhw5nN0FAAAAAAAAbCLFxagRI0bI09NTnp6esixL3bt3dzy+9V9wcLBmzJihLl26pEbcAAAAAAAAyIBSPIF5jRo11L9/fxljNGnSJDVr1kwlS5aM18ayLGXJkkVVq1ZV+/btXRYsAAAA/qNS446B6elugdwREQDwH5LiYlSrVq3UqlUrSdLVq1f19NNPq2bNmi4PDAAAAAAAAPaT4mLUrb766itXxQEAAAAAAID/AKeKUXGOHTumnTt36uLFi4qNjU2wvkePHq7YDQAAAAAAADI4p4pRERER6tmzp3744QfFxsbKsiwZYyTFv8sexSgAAAAAAABI93A3vVu9+uqrmj9/vkaNGqV169bJGKPp06dr1apVatWqlSpVqqQ///zTVbECAAAAAAAgg3OqGDVv3jz17t1bL7/8ssqVKydJyp8/v5o2baqlS5cqKChIn376qUsCBQAAAAAAQMbnVDEqLCxMNWrUkCRlzpxZ0s077MXp0KGD5s+f78wuAAAAAAAAYCNOFaNy586tc+fOSZL8/PwUHBysv//+27H+0qVLioiIcC5CAAAAAAAA2IZTE5jXrFlTGzdu1MsvvyxJat26tcaOHau8efMqNjZWH374oWrVquWSQAEAAAAAAJDxOTUyauDAgSpWrJgiIyMlSW+//baCgoL0+OOPq2fPngoMDNRHH33kkkABAAAAAACQ8Tk1MqpevXqqV6+e43HBggW1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",
      "text/plain": [
       "<Figure size 1200x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# import numpy as np\n",
    "# import matplotlib.pyplot as plt\n",
    "\n",
    "if (\"station\" not in assignments.columns) or (len(assignments) == 0):\n",
    "    print(\"No station information available in assignments — cannot plot picks per station.\")\n",
    "else:\n",
    "    if \"phase\" in assignments.columns:\n",
    "        station_phase = assignments.groupby([\"station\", \"phase\"]).size().unstack(fill_value=0)\n",
    "\n",
    "        # ensure columns\n",
    "        for col in [\"P\", \"S\"]:\n",
    "            if col not in station_phase.columns:\n",
    "                station_phase[col] = 0\n",
    "\n",
    "        station_phase = station_phase[[\"P\", \"S\"]]\n",
    "        station_phase[\"total\"] = station_phase[\"P\"] + station_phase[\"S\"]\n",
    "        station_phase = station_phase.sort_values(\"total\", ascending=False)\n",
    "\n",
    "        fig, ax = plt.subplots(figsize=(10, 4))\n",
    "        x = np.arange(len(station_phase))\n",
    "        ax.bar(x, station_phase[\"P\"].values, label=\"P picks\")\n",
    "        ax.bar(x, station_phase[\"S\"].values, bottom=station_phase[\"P\"].values, label=\"S picks\")\n",
    "        ax.set_xticks(x)\n",
    "        ax.set_xticklabels(station_phase.index.astype(str), rotation=60, ha=\"right\")\n",
    "        ax.set_ylabel(\"Associated picks\")\n",
    "        ax.set_title(\"Associated picks per station across all processed days\")\n",
    "        ax.legend()\n",
    "        plt.tight_layout()\n",
    "        plt.show()\n",
    "    else:\n",
    "        station_counts = assignments.groupby(\"station\").size().sort_values(ascending=False)\n",
    "\n",
    "        fig, ax = plt.subplots(figsize=(10, 4))\n",
    "        x = np.arange(len(station_counts))\n",
    "        ax.bar(x, station_counts.values)\n",
    "        ax.set_xticks(x)\n",
    "        ax.set_xticklabels(station_counts.index.astype(str), rotation=60, ha=\"right\")\n",
    "        ax.set_ylabel(\"Associated picks\")\n",
    "        ax.set_title(\"Associated picks per station across all processed days\")\n",
    "        plt.tight_layout()\n",
    "        plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "z3b07BEdlSj5"
   },
   "source": [
    "### Export associated picks to a HypoDD format phase file\n",
    "\n",
    "The cell below writes a **phase file in HypoDD format** (Waldhauser & Ellsworth, 2000) containing all associated picks.\n",
    "For this simple example, phase weights are pre-assigned as 1 (best) for P phases and 0.5 for S phases.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 86,
     "status": "ok",
     "timestamp": 1772019346048,
     "user": {
      "displayName": "Vasilis",
      "userId": "11438822185670716821"
     },
     "user_tz": -120
    },
    "id": "FG--4SJKlUc5",
    "outputId": "9ca58179-89ba-4dc2-98b3-6f833a196cca"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Wrote hypoDD-formatted phase file: outputs/results_daily/phases_hypodd.dat\n",
      "You can download it from the Jupyter file browser (left panel) or via File -> Open...\n"
     ]
    }
   ],
   "source": [
    "# from obspy import UTCDateTime\n",
    "# import numpy as np\n",
    "# import pandas as pd\n",
    "\n",
    "phase_filename = os.path.join(RESULTS_DIR, \"phases_hypodd.dat\")\n",
    "\n",
    "if (events is None) or (assignments is None) or len(events) == 0 or len(assignments) == 0:\n",
    "    print(\"No events/assignments available — nothing to export.\")\n",
    "else:\n",
    "    # --- Helper to clean station code for hypoDD (max 5 chars, drop NET.) ---\n",
    "    def resolve_station_code(sta_val):\n",
    "        raw = str(sta_val).strip()\n",
    "        if \".\" in raw:\n",
    "            parts = [p for p in raw.split(\".\") if p]\n",
    "            if parts:\n",
    "                code = parts[-1]\n",
    "            else:\n",
    "                code = \"\"\n",
    "        else:\n",
    "            code = raw\n",
    "        if (not code) or code.lower() == \"nan\":\n",
    "            return \"STA\"\n",
    "        return code[:5]\n",
    "\n",
    "    # Build event lookup\n",
    "    ev_lookup = events.set_index(\"idx\")\n",
    "    lines = []\n",
    "\n",
    "    for ev_idx, ev in ev_lookup.sort_index().iterrows():\n",
    "        # All picks that were associated to this event\n",
    "        ev_ass = assignments[assignments.get(\"event_idx\") == ev_idx]\n",
    "        if len(ev_ass) == 0:\n",
    "            continue\n",
    "\n",
    "        # Origin time from events[\"time\"] (epoch seconds)\n",
    "        try:\n",
    "            ot = UTCDateTime(float(ev[\"time\"]))\n",
    "        except Exception:\n",
    "            continue\n",
    "\n",
    "        # Event metadata\n",
    "        ev_lat = float(ev.get(\"latitude\", np.nan))\n",
    "        ev_lon = float(ev.get(\"longitude\", np.nan))\n",
    "        ev_depth = float(ev.get(\"depth\", np.nan)) if pd.notna(ev.get(\"depth\", np.nan)) else 0.0\n",
    "        mag = float(ev.get(\"ML\", 0.0)) if \"ML\" in ev and pd.notna(ev[\"ML\"]) else 0.0\n",
    "\n",
    "\n",
    "        # Numeric event ID for hypoDD\n",
    "        try:\n",
    "            evid_int = int(ev_idx)\n",
    "        except Exception:\n",
    "            evid_int = len(lines) + 1\n",
    "\n",
    "        # Seconds field in header\n",
    "        sec_float = ot.second + ot.microsecond / 1e6\n",
    "\n",
    "        header = (\n",
    "            f\"# {ot.year:4d}  {ot.month:02d}  {ot.day:02d}\"\n",
    "            f\"   {ot.hour:02d}    {ot.minute:02d}\"\n",
    "            f\"    {sec_float:6.3f}\"\n",
    "            f\"    {ev_lat:8.4f}    {ev_lon:8.4f}\"\n",
    "            f\"    {ev_depth:6.2f}\"\n",
    "            f\"     {mag:5.3f}\"\n",
    "            f\"     0.0     0.0    0.0  {evid_int:d}\" #location uncertainties are set to zero\n",
    "        )\n",
    "        lines.append(header)\n",
    "\n",
    "        # Phase lines\n",
    "        for _, row in ev_ass.iterrows():\n",
    "            sta_code = resolve_station_code(row.get(\"station\", \"\"))\n",
    "\n",
    "            # Phase\n",
    "            phase = str(row.get(\"phase\", \"P\")).upper().strip()\n",
    "            if phase not in (\"P\", \"S\"):\n",
    "                phase = \"P\"\n",
    "\n",
    "            # Pick time\n",
    "            pick_t = row.get(\"time\", None)\n",
    "            if pick_t is None or (isinstance(pick_t, float) and not np.isfinite(pick_t)):\n",
    "                continue\n",
    "            try:\n",
    "                pick_dt = UTCDateTime(float(pick_t))\n",
    "            except Exception:\n",
    "                continue\n",
    "\n",
    "            dt = pick_dt - ot\n",
    "            if not np.isfinite(dt):\n",
    "                continue\n",
    "\n",
    "            # Weights: 1.0 for P, 0.5 for S\n",
    "            weight = 1.0 if phase == \"P\" else 0.5\n",
    "\n",
    "            line = f\"{sta_code:<5s} {dt:7.4f} {weight:4.1f} {phase:s}\"\n",
    "            lines.append(line)\n",
    "\n",
    "    if not lines:\n",
    "        print(\"No valid picks found to export.\")\n",
    "    else:\n",
    "        with open(phase_filename, \"w\") as f:\n",
    "            for ln in lines:\n",
    "                f.write(ln + \"\\n\")\n",
    "\n",
    "        print(f\"Wrote hypoDD-formatted phase file: {phase_filename}\")\n",
    "        print(\"You can download it from the Jupyter file browser (left panel) or via File -> Open...\")"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "authorship_tag": "ABX9TyOFe5QAyKODYONlFyQNwAvR",
   "provenance": [],
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.16"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
