{ "cells": [ { "cell_type": "markdown", "id": "19cd36ed", "metadata": {}, "source": [ "# Clear Sky Detection Demo With McClear\n", "\n", "This notebook demonstrates the McClear-based workflow in the `bsrn` package, including data reading, clear-sky modeling, quality control tests, Reno clear-sky detection, and CSD-point visualization." ] }, { "cell_type": "markdown", "id": "2d3dd84c", "metadata": {}, "source": [ "## 1. Import libraries" ] }, { "cell_type": "code", "execution_count": 1, "id": "b2e0c2fa", "metadata": {}, "outputs": [], "source": [ "import os\n", "import random\n", "import pandas as pd\n", "import bsrn\n", "\n", "# Config: input file (same pattern as cloud_enhancement_events_detection.ipynb)\n", "INPUT_FILE = \"/Volumes/Macintosh Research/Data/bsrn-qc/data/QIQ/qiq0924.dat.gz\"\n", "\n", "# Set display options\n", "pd.options.display.max_columns = None\n", "%matplotlib inline\n" ] }, { "cell_type": "markdown", "id": "dc18f0fd", "metadata": {}, "source": [ "## 2. Load QIQ September data" ] }, { "cell_type": "code", "execution_count": 2, "id": "dc7c1013", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Data for QIQ loaded successfully (September 2024).\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ghibnidhilwdtemprhpressure
time
2024-09-01 00:00:00+00:00142.00.0143.0371.022.148.0988.0
2024-09-01 00:01:00+00:00141.00.0141.0371.022.249.0988.0
2024-09-01 00:02:00+00:00139.00.0140.0371.022.246.0988.0
2024-09-01 00:03:00+00:00139.00.0139.0371.022.245.0988.0
2024-09-01 00:04:00+00:00137.00.0138.0371.022.148.0988.0
\n", "
" ], "text/plain": [ " ghi bni dhi lwd temp rh pressure\n", "time \n", "2024-09-01 00:00:00+00:00 142.0 0.0 143.0 371.0 22.1 48.0 988.0\n", "2024-09-01 00:01:00+00:00 141.0 0.0 141.0 371.0 22.2 49.0 988.0\n", "2024-09-01 00:02:00+00:00 139.0 0.0 140.0 371.0 22.2 46.0 988.0\n", "2024-09-01 00:03:00+00:00 139.0 0.0 139.0 371.0 22.2 45.0 988.0\n", "2024-09-01 00:04:00+00:00 137.0 0.0 138.0 371.0 22.1 48.0 988.0" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Extract station code from filename (e.g. qiq0924.dat.gz -> QIQ)\n", "stn = os.path.basename(INPUT_FILE).split(\".\")[0][:3].upper()\n", "\n", "if os.path.exists(INPUT_FILE):\n", " df = bsrn.io.reader.read_station_to_archive(INPUT_FILE, logical_records=\"lr0100\")\n", " print(f\"Data for {stn} loaded successfully (September 2024).\")\n", " display(df.head())\n", "else:\n", " raise FileNotFoundError(f\"File not found: {INPUT_FILE}. Current working directory: {os.getcwd()}\")\n" ] }, { "cell_type": "markdown", "id": "385a0a0a", "metadata": {}, "source": [ "## 3. Clear-sky modeling with McClear" ] }, { "cell_type": "code", "execution_count": 4, "id": "aca595d0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ghighi_clearbnibni_cleardhidhi_clear
time
2024-09-01 00:00:00+00:00142.0NaN0.0NaN143.0NaN
2024-09-01 00:01:00+00:00141.0446.4120.0687.102141.0114.546
2024-09-01 00:02:00+00:00139.0449.1720.0688.938140.0114.780
2024-09-01 00:03:00+00:00139.0451.9260.0690.756139.0115.008
2024-09-01 00:04:00+00:00137.0454.6680.0692.556138.0115.236
\n", "
" ], "text/plain": [ " ghi ghi_clear bni bni_clear dhi dhi_clear\n", "time \n", "2024-09-01 00:00:00+00:00 142.0 NaN 0.0 NaN 143.0 NaN\n", "2024-09-01 00:01:00+00:00 141.0 446.412 0.0 687.102 141.0 114.546\n", "2024-09-01 00:02:00+00:00 139.0 449.172 0.0 688.938 140.0 114.780\n", "2024-09-01 00:03:00+00:00 139.0 451.926 0.0 690.756 139.0 115.008\n", "2024-09-01 00:04:00+00:00 137.0 454.668 0.0 692.556 138.0 115.236" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# TODO: replace with your real SoDa / McClear email\n", "mcclear_email = \"your_email@example.com\"\n", "\n", "df_cs = bsrn.modeling.clear_sky.add_clearsky_columns(\n", " df.copy(),\n", " station_code=stn,\n", " model=\"mcclear\",\n", " mcclear_email=mcclear_email,\n", ")\n", "\n", "display(df_cs[[\"ghi\", \"ghi_clear\", \"bni\", \"bni_clear\", \"dhi\", \"dhi_clear\"]].head())\n" ] }, { "cell_type": "markdown", "id": "afec3d2b", "metadata": {}, "source": [ "## 4. Run QC wrapper\n", "\n", "`run_qc` runs a suite of BSRN quality control tests and adds flag columns (0 = pass, 1 = fail). By default it runs all six test groups:\n", "\n", "
\n", "\n", "| Test | Level | Description | Flag columns |\n", "|:-----|:------|:-------------|:-------------|\n", "| **ppl** | 1 | Physically Possible Limits — absolute bounds for GHI, BNI, DHI, LWD | flagPPLGHI, flagPPLBNI, flagPPLDHI, flagPPLLWD |\n", "| **erl** | 2 | Extremely Rare Limits — climatological limits for GHI, BNI, DHI, LWD | flagERLGHI, flagERLBNI, flagERLDHI, flagERLLWD |\n", "| **closure** | 3 | Closure — $G_h$ vs $B_n \\cos Z + D_h$ at low/high zenith | flag3lowSZA, flag3highSZA |\n", "| **diff_ratio** | 4 | Diffuse ratio — $k$–$k_t$ and diffuse-fraction checks | flagKKt, flagKlowSZA, flagKhighSZA |\n", "| **k_index** | 5 | K-indices — $k_b$/$k_t$ and clearness-index limits | flagKbKt, flagKb, flagKt |\n", "| **tracker** | 6 | Tracker-off — detects tracking errors using clear-sky/extra references | flagTracker |\n", "\n", "
\n", "\n", "You can restrict tests via `tests=('ppl', 'closure')` etc." ] }, { "cell_type": "code", "execution_count": 5, "id": "8fe7b551", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "QC flag counts (non-zero indicates failure):\n" ] }, { "data": { "text/plain": [ "flagPPLGHI 0\n", "flagPPLBNI 0\n", "flagPPLDHI 0\n", "flagPPLLWD 0\n", "flagERLGHI 16408\n", "flagERLBNI 3\n", "flagERLDHI 15498\n", "flagERLLWD 0\n", "flag3lowSZA 0\n", "flag3highSZA 0\n", "flagKKt 0\n", "flagKlowSZA 0\n", "flagKhighSZA 0\n", "flagKbKt 0\n", "flagKb 0\n", "flagKt 0\n", "flagTracker 100\n", "dtype: int64" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df_qc = bsrn.qc.run_qc(df_cs.copy(), station_code=stn)\n", "\n", "flag_cols = [c for c in df_qc.columns if c.startswith(\"flag\")]\n", "print(\"QC flag counts (non-zero indicates failure):\")\n", "display(df_qc[flag_cols].sum())\n" ] }, { "cell_type": "markdown", "id": "2fab91b6", "metadata": {}, "source": [ "## 5. Reno clear-sky detection" ] }, { "cell_type": "code", "execution_count": 6, "id": "56861513", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ghighi_clearis_clearsky_renocloud_flag_reno
time
2024-09-01 00:00:00+00:00142.0NaN<NA>NaN
2024-09-01 00:01:00+00:00141.0446.412False1.0
2024-09-01 00:02:00+00:00139.0449.172False1.0
2024-09-01 00:03:00+00:00139.0451.926False1.0
2024-09-01 00:04:00+00:00137.0454.668False1.0
\n", "
" ], "text/plain": [ " ghi ghi_clear is_clearsky_reno cloud_flag_reno\n", "time \n", "2024-09-01 00:00:00+00:00 142.0 NaN NaN\n", "2024-09-01 00:01:00+00:00 141.0 446.412 False 1.0\n", "2024-09-01 00:02:00+00:00 139.0 449.172 False 1.0\n", "2024-09-01 00:03:00+00:00 139.0 451.926 False 1.0\n", "2024-09-01 00:04:00+00:00 137.0 454.668 False 1.0" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ghi = df_qc[\"ghi\"].values\n", "ghi_clear = df_qc[\"ghi_clear\"].values\n", "times = df_qc.index\n", "\n", "reno_out = bsrn.utils.reno_csd(ghi, ghi_clear, times=times, return_diagnostics=False)\n", "\n", "df_csd = df_qc.copy()\n", "df_csd[\"is_clearsky_reno\"] = reno_out[\"is_clearsky\"]\n", "df_csd[\"cloud_flag_reno\"] = reno_out[\"cloud_flag\"]\n", "\n", "display(df_csd[[\"ghi\", \"ghi_clear\", \"is_clearsky_reno\", \"cloud_flag_reno\"]].head())\n" ] }, { "cell_type": "markdown", "id": "c553a298", "metadata": {}, "source": [ "## 6. Choose a random Reno clear-sky day" ] }, { "cell_type": "code", "execution_count": 7, "id": "b1930f35", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Random clear-sky day (Reno): 2024-09-25 00:00:00+00:00\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ghighi_clearis_clearsky_reno
time
2024-09-25 00:00:00+00:00313.0334.836False
2024-09-25 00:01:00+00:00315.0337.548False
2024-09-25 00:02:00+00:00323.0340.314False
2024-09-25 00:03:00+00:00326.0343.074False
2024-09-25 00:04:00+00:00327.0345.834False
\n", "
" ], "text/plain": [ " ghi ghi_clear is_clearsky_reno\n", "time \n", "2024-09-25 00:00:00+00:00 313.0 334.836 False\n", "2024-09-25 00:01:00+00:00 315.0 337.548 False\n", "2024-09-25 00:02:00+00:00 323.0 340.314 False\n", "2024-09-25 00:03:00+00:00 326.0 343.074 False\n", "2024-09-25 00:04:00+00:00 327.0 345.834 False" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cs = df_csd[\"is_clearsky_reno\"]\n", "cs_days = cs[cs == True].index.normalize().unique()\n", "\n", "if len(cs_days) == 0:\n", " raise RuntimeError(\"No clear-sky points found by Reno in this month.\")\n", "\n", "random_day = random.choice(list(cs_days))\n", "print(f\"Random clear-sky day (Reno): {random_day}\")\n", "\n", "day_slice = df_csd.loc[str(random_day.date())]\n", "display(day_slice[[\"ghi\", \"ghi_clear\", \"is_clearsky_reno\"]].head())\n" ] }, { "cell_type": "markdown", "id": "1be95d65", "metadata": {}, "source": [] }, { "cell_type": "markdown", "id": "918a96e2", "metadata": {}, "source": [ "## 7. Plot September 2 with Reno clear-sky points" ] }, { "cell_type": "code", "execution_count": 8, "id": "91a6f03f", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "# Choose a specific day in September\n", "sep2_str = \"2024-09-02\"\n", "if sep2_str not in df_csd.index.strftime(\"%Y-%m-%d\").unique():\n", " raise ValueError(f\"No data found for {sep2_str} in df_csd.\")\n", "\n", "sep2 = df_csd.loc[sep2_str]\n", "\n", "plt.figure(figsize=(10, 4))\n", "plt.plot(sep2.index, sep2[\"ghi\"], label=\"Measured GHI\", color=\"#E69F00\", linewidth=0.8)\n", "plt.plot(sep2.index, sep2[\"ghi_clear\"], label=\"McClear GHI (clear-sky)\", color=\"#56B4E9\", linestyle=\"--\", linewidth=0.8)\n", "\n", "# Highlight Reno clear-sky points\n", "if \"is_clearsky_reno\" in sep2.columns:\n", " cs_mask = sep2[\"is_clearsky_reno\"] == True\n", " if cs_mask.any():\n", " plt.scatter(\n", " sep2.index[cs_mask],\n", " sep2[\"ghi\"][cs_mask],\n", " s=8,\n", " color=\"#009E73\",\n", " label=\"Reno clear-sky\",\n", " zorder=5,\n", " )\n", "\n", "plt.title(f\"{stn} GHI and McClear GHI on {sep2_str}\")\n", "plt.ylabel(\"Irradiance [W/m²]\")\n", "plt.xlabel(\"Time (UTC)\")\n", "plt.legend(frameon=False)\n", "plt.grid(alpha=0.3)\n", "plt.tight_layout()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "base", "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.13.9" } }, "nbformat": 4, "nbformat_minor": 5 }