{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example: Compare Ground Measurements with CAMS CRS Satellite Data\n", "### 示例:对比地面观测与 CAMS CRS 卫星数据\n", "\n", "This notebook loads one station-month with :class:`~bsrn.dataset.BSRNDataset`, runs **solpos → clear_sky (REST2 / MERRA-2 HF) → qc_test → qc_mask**, adds CAMS CRS columns from Hugging Face, time-averages with :meth:`~bsrn.dataset.BSRNDataset.average`, and plots a calendar comparison.\n", "\n", "本手册用 :class:`~bsrn.dataset.BSRNDataset` 加载单月数据,执行 **solpos → clear_sky(REST2 / MERRA-2 HF)→ qc_test → qc_mask**,从 Hugging Face 加入 CRS 列,再以 :meth:`~bsrn.dataset.BSRNDataset.average` 做时间平均并绘制日历对比图。\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import os\n", "\n", "import bsrn\n", "from bsrn.io.crs import add_crs_columns\n", "from bsrn.visualization import plot_calendar\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Parameters / 参数设置\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "--- Processing /Volumes/Macintosh Research/Data/bsrn-qc/data/QIQ/qiq0824.dat.gz ---\n" ] } ], "source": [ "INPUT_FILE = \"/Volumes/Macintosh Research/Data/bsrn-qc/data/QIQ/qiq0824.dat.gz\"\n", "\n", "print(f\"--- Processing {INPUT_FILE} ---\")\n", "\n", "if not os.path.exists(INPUT_FILE):\n", " raise FileNotFoundError(f\"File not found: {INPUT_FILE}\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Load and pipeline / 加载与管线\n", "\n", "``BSRNDataset.from_file`` validates LR0100; then ``solpos``, ``clear_sky(model='rest2')``, ``qc_test``, and ``qc_mask`` mutate the cached frame in place.\n", "\n", "``BSRNDataset.from_file`` 校验 LR0100;随后 ``solpos``、``clear_sky(model='rest2')``、``qc_test``、``qc_mask`` 原地更新缓存帧。\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Station QIQ: loaded 44640 rows.\n", "solpos() …\n", "clear_sky(model='rest2') …\n", "Fetching MERRA-2 from Hugging Face: qiq/qiq0824_merra2.parquet\n", "qc_test() …\n", "qc_mask() …\n" ] }, { "data": { "text/html": [ "
| \n", " | ghi | \n", "bni | \n", "dhi | \n", "lwd | \n", "temp | \n", "rh | \n", "pressure | \n", "zenith | \n", "apparent_zenith | \n", "azimuth | \n", "bni_extra | \n", "ghi_extra | \n", "ghi_clear | \n", "bni_clear | \n", "dhi_clear | \n", "lwd_clear | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2024-08-01 00:00:00+00:00 | \n", "105.0 | \n", "0.0 | \n", "106.0 | \n", "421.0 | \n", "25.2 | \n", "70.0 | \n", "981.0 | \n", "54.881 | \n", "54.857 | \n", "102.414 | \n", "1320.650 | \n", "759.739 | \n", "507.439814 | \n", "664.498840 | \n", "125.169227 | \n", "410.715619 | \n", "
| 2024-08-01 00:01:00+00:00 | \n", "108.0 | \n", "0.0 | \n", "109.0 | \n", "422.0 | \n", "25.2 | \n", "71.0 | \n", "981.0 | \n", "54.717 | \n", "54.694 | \n", "102.625 | \n", "1320.650 | \n", "762.828 | \n", "509.994881 | \n", "665.753119 | \n", "125.445597 | \n", "411.548727 | \n", "
| 2024-08-01 00:02:00+00:00 | \n", "112.0 | \n", "0.0 | \n", "113.0 | \n", "421.0 | \n", "25.2 | \n", "70.0 | \n", "981.0 | \n", "54.553 | \n", "54.530 | \n", "102.836 | \n", "1320.650 | \n", "765.910 | \n", "512.545982 | \n", "666.998615 | \n", "125.720382 | \n", "410.715619 | \n", "
| 2024-08-01 00:03:00+00:00 | \n", "113.0 | \n", "0.0 | \n", "114.0 | \n", "421.0 | \n", "25.2 | \n", "70.0 | \n", "981.0 | \n", "54.390 | \n", "54.367 | \n", "103.049 | \n", "1320.650 | \n", "768.968 | \n", "515.077560 | \n", "668.227890 | \n", "125.991932 | \n", "410.715619 | \n", "
| 2024-08-01 00:04:00+00:00 | \n", "116.0 | \n", "0.0 | \n", "117.0 | \n", "421.0 | \n", "25.2 | \n", "71.0 | \n", "981.0 | \n", "54.226 | \n", "54.204 | \n", "103.261 | \n", "1320.650 | \n", "772.038 | \n", "517.620641 | \n", "669.456101 | \n", "126.263590 | \n", "411.548727 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2024-08-31 23:55:00+00:00 | \n", "123.0 | \n", "0.0 | \n", "123.0 | \n", "371.0 | \n", "21.9 | \n", "45.0 | \n", "988.0 | \n", "61.982 | \n", "61.951 | \n", "110.304 | \n", "1335.838 | \n", "627.508 | \n", "430.077633 | \n", "741.828764 | \n", "81.604368 | \n", "359.041392 | \n", "
| 2024-08-31 23:56:00+00:00 | \n", "129.0 | \n", "0.0 | \n", "130.0 | \n", "370.0 | \n", "21.9 | \n", "45.0 | \n", "988.0 | \n", "61.825 | \n", "61.794 | \n", "110.521 | \n", "1335.838 | \n", "630.737 | \n", "432.754922 | \n", "743.268714 | \n", "81.808573 | \n", "359.041392 | \n", "
| 2024-08-31 23:57:00+00:00 | \n", "135.0 | \n", "0.0 | \n", "136.0 | \n", "370.0 | \n", "21.9 | \n", "46.0 | \n", "988.0 | \n", "61.668 | \n", "61.637 | \n", "110.738 | \n", "1335.838 | \n", "633.962 | \n", "435.429929 | \n", "744.697256 | \n", "82.011590 | \n", "360.170497 | \n", "
| 2024-08-31 23:58:00+00:00 | \n", "138.0 | \n", "0.0 | \n", "139.0 | \n", "370.0 | \n", "21.9 | \n", "47.0 | \n", "988.0 | \n", "61.511 | \n", "61.481 | \n", "110.956 | \n", "1335.838 | \n", "637.181 | \n", "438.102614 | \n", "746.114514 | \n", "82.213429 | \n", "361.278756 | \n", "
| 2024-08-31 23:59:00+00:00 | \n", "141.0 | \n", "0.0 | \n", "142.0 | \n", "371.0 | \n", "21.9 | \n", "46.0 | \n", "988.0 | \n", "61.354 | \n", "61.324 | \n", "111.174 | \n", "1335.838 | \n", "640.396 | \n", "440.772936 | \n", "747.520613 | \n", "82.414101 | \n", "360.170497 | \n", "
44640 rows × 16 columns
\n", "| \n", " | ghi | \n", "ghi_clear | \n", "ghi_crs | \n", "
|---|---|---|---|
| 2024-08-01 00:30:00+00:00 | \n", "181.666667 | \n", "582.063900 | \n", "200.3826 | \n", "
| 2024-08-01 01:00:00+00:00 | \n", "456.650000 | \n", "648.930252 | \n", "420.4916 | \n", "
| 2024-08-01 01:30:00+00:00 | \n", "356.782609 | \n", "707.238474 | \n", "414.9592 | \n", "
| 2024-08-01 02:00:00+00:00 | \n", "291.666667 | \n", "755.752768 | \n", "392.6008 | \n", "
| 2024-08-01 02:30:00+00:00 | \n", "295.133333 | \n", "793.024248 | \n", "375.5578 | \n", "