{ "cells": [ { "cell_type": "markdown", "id": "17fd0b32", "metadata": {}, "source": [ "# Run and Plot a Retrieval" ] }, { "cell_type": "markdown", "id": "59fa1020", "metadata": {}, "source": [ "This notebook demonstrates how to run a trained retrieval model on real microwave radiometer measurements and plot the results." ] }, { "cell_type": "code", "execution_count": null, "id": "99db5697", "metadata": {}, "outputs": [], "source": [ "%config InlineBackend.figure_format = 'svg'\n", "\n", "from datetime import datetime\n", "\n", "from openMWR.utils import setup_logging\n", "logger = setup_logging()\n", "\n", "DATA_DIR = '../../../../data'" ] }, { "cell_type": "code", "execution_count": 32, "id": "c2d0c5ba", "metadata": {}, "outputs": [], "source": [ "site = 'munich_G5'\n", "\n", "date = datetime(2025,1,12)" ] }, { "cell_type": "markdown", "id": "6a16152c", "metadata": {}, "source": [ "## Run the Retrieval" ] }, { "cell_type": "markdown", "id": "8c33a98b", "metadata": {}, "source": [ "The first step is to load the trained model for the specified site." ] }, { "cell_type": "code", "execution_count": 33, "id": "54ceaca2", "metadata": {}, "outputs": [], "source": [ "from openMWR.models import Model\n", "model = Model.load('NN_opt', site=site, data_dir=DATA_DIR)" ] }, { "cell_type": "markdown", "id": "9a24c12f", "metadata": {}, "source": [ "Then, the measurement data for the site and date is imported. The keyword import_retrieval_data can be set to True to import the retrieval data of an RPG retrieval, if available." ] }, { "cell_type": "code", "execution_count": null, "id": "6f8b11ef", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 178kB\n",
       "Dimensions:           (time: 1344, frq: 14)\n",
       "Coordinates:\n",
       "  * time              (time) datetime64[ns] 11kB 2025-01-12 ... 2025-01-12T23...\n",
       "  * frq               (frq) float64 112B 22.24 23.04 23.84 ... 56.66 57.3 58.0\n",
       "Data variables:\n",
       "    TB                (time, frq) float32 75kB 19.04 19.61 17.85 ... 268.2 268.6\n",
       "    rain_flag         (time) float64 11kB 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
       "    azimuth_angle     (time) float32 5kB 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
       "    elevation_angle   (time) float32 5kB 90.0 90.0 90.0 90.0 ... 90.0 90.0 90.0\n",
       "    TB_IR             (time) float32 5kB 259.5 259.1 258.8 ... 261.0 260.2 261.1\n",
       "    surface_p         (time) float64 11kB 965.0 965.0 965.0 ... 973.9 973.9\n",
       "    surface_T         (time) float64 11kB 271.0 270.9 270.9 ... 271.1 271.1\n",
       "    surface_rh        (time) float64 11kB 76.2 75.87 76.0 ... 73.08 73.24 73.33\n",
       "    doy_cos           (time) float64 11kB 0.9292 0.9292 0.9292 ... 0.9292 0.9292\n",
       "    doy_sin           (time) float64 11kB 0.3695 0.3695 0.3695 ... 0.3695 0.3695\n",
       "    years_since_1970  (time) float64 11kB 55.03 55.03 55.03 ... 55.03 55.03\n",
       "Attributes:\n",
       "    netCDF_Convention:             CF-1.0\n",
       "    Radiometer_Location:           University of Madison\n",
       "    Radiometer_System:             RPG-HATPRO\n",
       "    Serial_Number:                 R-DPR-19/007\n",
       "    Station_Altitude:              200\n",
       "    Station_Longitude:             85�43'55'' West\n",
       "    Station_Latitude:              43�22'42'' North\n",
       "    Comment:                       \n",
       "    Radiometer_Software_Version:  V10.00\n",
       "    Host-PC_Software_Version:     V10.00
" ], "text/plain": [ " Size: 178kB\n", "Dimensions: (time: 1344, frq: 14)\n", "Coordinates:\n", " * time (time) datetime64[ns] 11kB 2025-01-12 ... 2025-01-12T23...\n", " * frq (frq) float64 112B 22.24 23.04 23.84 ... 56.66 57.3 58.0\n", "Data variables:\n", " TB (time, frq) float32 75kB 19.04 19.61 17.85 ... 268.2 268.6\n", " rain_flag (time) float64 11kB 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n", " azimuth_angle (time) float32 5kB 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n", " elevation_angle (time) float32 5kB 90.0 90.0 90.0 90.0 ... 90.0 90.0 90.0\n", " TB_IR (time) float32 5kB 259.5 259.1 258.8 ... 261.0 260.2 261.1\n", " surface_p (time) float64 11kB 965.0 965.0 965.0 ... 973.9 973.9\n", " surface_T (time) float64 11kB 271.0 270.9 270.9 ... 271.1 271.1\n", " surface_rh (time) float64 11kB 76.2 75.87 76.0 ... 73.08 73.24 73.33\n", " doy_cos (time) float64 11kB 0.9292 0.9292 0.9292 ... 0.9292 0.9292\n", " doy_sin (time) float64 11kB 0.3695 0.3695 0.3695 ... 0.3695 0.3695\n", " years_since_1970 (time) float64 11kB 55.03 55.03 55.03 ... 55.03 55.03\n", "Attributes:\n", " netCDF_Convention: CF-1.0\n", " Radiometer_Location: University of Madison\n", " Radiometer_System: RPG-HATPRO\n", " Serial_Number: R-DPR-19/007\n", " Station_Altitude: 200\n", " Station_Longitude: 85�43'55'' West\n", " Station_Latitude: 43�22'42'' North\n", " Comment: \n", " Radiometer_Software_Version: V10.00\n", " Host-PC_Software_Version: V10.00" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from openMWR.hatpro_data import import_hatpro_data\n", "ds_hatpro = import_hatpro_data(date, \n", " site, \n", " DATA_DIR,\n", " import_retrieval_data=False, \n", " mean_one_min=True)\n", "ds_hatpro" ] }, { "cell_type": "markdown", "id": "7f6553fc", "metadata": {}, "source": [ "The openMWR.run.run_model function can be used to run the retrieval." ] }, { "cell_type": "code", "execution_count": 35, "id": "ee018e88", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 6MB\n",
       "Dimensions:     (time: 1344, frq: 14, height: 208)\n",
       "Coordinates:\n",
       "  * time        (time) datetime64[ns] 11kB 2025-01-12 ... 2025-01-12T23:59:00\n",
       "  * frq         (frq) float64 112B 22.24 23.04 23.84 25.44 ... 56.66 57.3 58.0\n",
       "  * height      (height) int64 2kB 0 10 25 50 75 ... 28500 29000 29500 30000\n",
       "Data variables:\n",
       "    TB          (time, frq) float32 75kB 19.04 19.61 17.85 ... 267.7 268.2 268.6\n",
       "    TB_IR       (time) float32 5kB 259.5 259.1 258.8 259.2 ... 261.0 260.2 261.1\n",
       "    surface_T   (time) float64 11kB 271.0 270.9 270.9 ... 271.2 271.1 271.1\n",
       "    surface_p   (time) float64 11kB 965.0 965.0 965.0 ... 973.9 973.9 973.9\n",
       "    surface_rh  (time) float64 11kB 76.2 75.87 76.0 75.9 ... 73.08 73.24 73.33\n",
       "    doy_cos     (time) float64 11kB 0.9292 0.9292 0.9292 ... 0.9292 0.9292\n",
       "    doy_sin     (time) float64 11kB 0.3695 0.3695 0.3695 ... 0.3695 0.3695\n",
       "    T           (height, time) float64 2MB 271.5 271.6 271.4 ... 218.4 218.4\n",
       "    rh          (height, time) float64 2MB 75.83 75.47 75.68 ... 1.296 1.303\n",
       "    lwc         (height, time) float32 1MB 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
       "    lwp         (time) float32 5kB 79.95 60.46 58.25 64.58 ... 29.99 27.72 30.73\n",
       "    iwv         (time) float64 11kB 6.172 6.112 6.149 ... 3.364 3.309 3.354\n",
       "Attributes:\n",
       "    netCDF_Convention:             CF-1.0\n",
       "    Radiometer_Location:           University of Madison\n",
       "    Radiometer_System:             RPG-HATPRO\n",
       "    Serial_Number:                 R-DPR-19/007\n",
       "    Station_Altitude:              200\n",
       "    Station_Longitude:             85�43'55'' West\n",
       "    Station_Latitude:              43�22'42'' North\n",
       "    Comment:                       \n",
       "    Radiometer_Software_Version:  V10.00\n",
       "    Host-PC_Software_Version:     V10.00
" ], "text/plain": [ " Size: 6MB\n", "Dimensions: (time: 1344, frq: 14, height: 208)\n", "Coordinates:\n", " * time (time) datetime64[ns] 11kB 2025-01-12 ... 2025-01-12T23:59:00\n", " * frq (frq) float64 112B 22.24 23.04 23.84 25.44 ... 56.66 57.3 58.0\n", " * height (height) int64 2kB 0 10 25 50 75 ... 28500 29000 29500 30000\n", "Data variables:\n", " TB (time, frq) float32 75kB 19.04 19.61 17.85 ... 267.7 268.2 268.6\n", " TB_IR (time) float32 5kB 259.5 259.1 258.8 259.2 ... 261.0 260.2 261.1\n", " surface_T (time) float64 11kB 271.0 270.9 270.9 ... 271.2 271.1 271.1\n", " surface_p (time) float64 11kB 965.0 965.0 965.0 ... 973.9 973.9 973.9\n", " surface_rh (time) float64 11kB 76.2 75.87 76.0 75.9 ... 73.08 73.24 73.33\n", " doy_cos (time) float64 11kB 0.9292 0.9292 0.9292 ... 0.9292 0.9292\n", " doy_sin (time) float64 11kB 0.3695 0.3695 0.3695 ... 0.3695 0.3695\n", " T (height, time) float64 2MB 271.5 271.6 271.4 ... 218.4 218.4\n", " rh (height, time) float64 2MB 75.83 75.47 75.68 ... 1.296 1.303\n", " lwc (height, time) float32 1MB 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n", " lwp (time) float32 5kB 79.95 60.46 58.25 64.58 ... 29.99 27.72 30.73\n", " iwv (time) float64 11kB 6.172 6.112 6.149 ... 3.364 3.309 3.354\n", "Attributes:\n", " netCDF_Convention: CF-1.0\n", " Radiometer_Location: University of Madison\n", " Radiometer_System: RPG-HATPRO\n", " Serial_Number: R-DPR-19/007\n", " Station_Altitude: 200\n", " Station_Longitude: 85�43'55'' West\n", " Station_Latitude: 43�22'42'' North\n", " Comment: \n", " Radiometer_Software_Version: V10.00\n", " Host-PC_Software_Version: V10.00" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from openMWR.run import run_model\n", "device='cpu'\n", "pred = run_model(model, ds_hatpro, device)\n", "pred" ] }, { "cell_type": "markdown", "id": "fa97904d", "metadata": {}, "source": [ "To plot the results in a SkewT diagram later, some derived quantities, such as the dew point, must first be calculated. This can be done using the calc_derived_quantities function from openMWR.hatpro_data." ] }, { "cell_type": "code", "execution_count": 36, "id": "0cd1d2bf", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 15MB\n",
       "Dimensions:       (frq: 14, time: 1344, height: 208)\n",
       "Coordinates:\n",
       "  * frq           (frq) float64 112B 22.24 23.04 23.84 25.44 ... 56.66 57.3 58.0\n",
       "  * time          (time) datetime64[ns] 11kB 2025-01-12 ... 2025-01-12T23:59:00\n",
       "  * height        (height) int64 2kB 0 10 25 50 75 ... 28500 29000 29500 30000\n",
       "Data variables: (12/18)\n",
       "    TB            (time, frq) float32 75kB 19.04 19.61 17.85 ... 268.2 268.6\n",
       "    TB_IR         (time) float32 5kB 259.5 259.1 258.8 ... 261.0 260.2 261.1\n",
       "    surface_T     (time) float64 11kB 271.0 270.9 270.9 ... 271.2 271.1 271.1\n",
       "    surface_p     (time) float64 11kB 965.0 965.0 965.0 ... 973.9 973.9 973.9\n",
       "    surface_rh    (time) float64 11kB 76.2 75.87 76.0 75.9 ... 73.08 73.24 73.33\n",
       "    doy_cos       (time) float64 11kB 0.9292 0.9292 0.9292 ... 0.9292 0.9292\n",
       "    ...            ...\n",
       "    ah            (height, time) float64 2MB 3.274 3.275 ... 0.0004688 0.0004712\n",
       "    TD            (height, time) float64 2MB 267.8 267.8 267.7 ... 188.2 188.2\n",
       "    T_grad        (height, time) float64 2MB -34.94 -30.44 -31.5 ... nan nan nan\n",
       "    p             (time, height) float64 2MB 965.0 963.8 962.0 ... 10.34 9.563\n",
       "    lwp_from_lwc  (time) float64 11kB 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
       "    iwv_from_ah   (time) float64 11kB 6.317 6.338 6.371 ... 3.396 3.339 3.381\n",
       "Attributes:\n",
       "    netCDF_Convention:             CF-1.0\n",
       "    Radiometer_Location:           University of Madison\n",
       "    Radiometer_System:             RPG-HATPRO\n",
       "    Serial_Number:                 R-DPR-19/007\n",
       "    Station_Altitude:              200\n",
       "    Station_Longitude:             85�43'55'' West\n",
       "    Station_Latitude:              43�22'42'' North\n",
       "    Comment:                       \n",
       "    Radiometer_Software_Version:  V10.00\n",
       "    Host-PC_Software_Version:     V10.00
" ], "text/plain": [ " Size: 15MB\n", "Dimensions: (frq: 14, time: 1344, height: 208)\n", "Coordinates:\n", " * frq (frq) float64 112B 22.24 23.04 23.84 25.44 ... 56.66 57.3 58.0\n", " * time (time) datetime64[ns] 11kB 2025-01-12 ... 2025-01-12T23:59:00\n", " * height (height) int64 2kB 0 10 25 50 75 ... 28500 29000 29500 30000\n", "Data variables: (12/18)\n", " TB (time, frq) float32 75kB 19.04 19.61 17.85 ... 268.2 268.6\n", " TB_IR (time) float32 5kB 259.5 259.1 258.8 ... 261.0 260.2 261.1\n", " surface_T (time) float64 11kB 271.0 270.9 270.9 ... 271.2 271.1 271.1\n", " surface_p (time) float64 11kB 965.0 965.0 965.0 ... 973.9 973.9 973.9\n", " surface_rh (time) float64 11kB 76.2 75.87 76.0 75.9 ... 73.08 73.24 73.33\n", " doy_cos (time) float64 11kB 0.9292 0.9292 0.9292 ... 0.9292 0.9292\n", " ... ...\n", " ah (height, time) float64 2MB 3.274 3.275 ... 0.0004688 0.0004712\n", " TD (height, time) float64 2MB 267.8 267.8 267.7 ... 188.2 188.2\n", " T_grad (height, time) float64 2MB -34.94 -30.44 -31.5 ... nan nan nan\n", " p (time, height) float64 2MB 965.0 963.8 962.0 ... 10.34 9.563\n", " lwp_from_lwc (time) float64 11kB 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n", " iwv_from_ah (time) float64 11kB 6.317 6.338 6.371 ... 3.396 3.339 3.381\n", "Attributes:\n", " netCDF_Convention: CF-1.0\n", " Radiometer_Location: University of Madison\n", " Radiometer_System: RPG-HATPRO\n", " Serial_Number: R-DPR-19/007\n", " Station_Altitude: 200\n", " Station_Longitude: 85�43'55'' West\n", " Station_Latitude: 43�22'42'' North\n", " Comment: \n", " Radiometer_Software_Version: V10.00\n", " Host-PC_Software_Version: V10.00" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from openMWR.hatpro_data import calc_derived_quantities\n", "pred = calc_derived_quantities(pred)\n", "pred" ] }, { "cell_type": "markdown", "id": "5e05ee21", "metadata": {}, "source": [ "There is also a convenient function available to import the data, run the retrieval and calculate derived quantities in one step: openMWR.run.import_data_and_run_retrieval. It can be used with a list of models to run multiple retrievals at once." ] }, { "cell_type": "code", "execution_count": null, "id": "27870841", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2026-01-13 16:00:35,848 [openMWR.run] INFO: Using cpu device\n", "2026-01-13 16:00:35,848 [openMWR.run] INFO: Using cpu device\n", "2026-01-13 16:00:35,848 [openMWR.run] INFO: Using cpu device\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 15MB\n",
       "Dimensions:       (frq: 14, time: 1344, height: 208)\n",
       "Coordinates:\n",
       "  * frq           (frq) float64 112B 22.24 23.04 23.84 25.44 ... 56.66 57.3 58.0\n",
       "  * time          (time) datetime64[ns] 11kB 2025-01-12 ... 2025-01-12T23:59:00\n",
       "  * height        (height) int64 2kB 0 10 25 50 75 ... 28500 29000 29500 30000\n",
       "    model         <U6 24B 'NN_opt'\n",
       "Data variables: (12/19)\n",
       "    TB            (time, frq) float32 75kB 19.04 19.61 17.85 ... 268.2 268.6\n",
       "    TB_IR         (time) float32 5kB 259.5 259.1 258.8 ... 261.0 260.2 261.1\n",
       "    surface_T     (time) float64 11kB 271.0 270.9 270.9 ... 271.2 271.1 271.1\n",
       "    surface_p     (time) float64 11kB 965.0 965.0 965.0 ... 973.9 973.9 973.9\n",
       "    surface_rh    (time) float64 11kB 76.2 75.87 76.0 75.9 ... 73.08 73.24 73.33\n",
       "    doy_cos       (time) float64 11kB 0.9292 0.9292 0.9292 ... 0.9292 0.9292\n",
       "    ...            ...\n",
       "    TD            (height, time) float64 2MB 267.8 267.8 267.7 ... 188.2 188.2\n",
       "    T_grad        (height, time) float64 2MB -34.94 -30.44 -31.5 ... nan nan nan\n",
       "    p             (time, height) float64 2MB 965.0 963.8 962.0 ... 10.34 9.563\n",
       "    lwp_from_lwc  (time) float64 11kB 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
       "    iwv_from_ah   (time) float64 11kB 6.317 6.338 6.371 ... 3.396 3.339 3.381\n",
       "    rain_flag     (time) float64 11kB 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
       "Attributes:\n",
       "    netCDF_Convention:             CF-1.0\n",
       "    Radiometer_Location:           University of Madison\n",
       "    Radiometer_System:             RPG-HATPRO\n",
       "    Serial_Number:                 R-DPR-19/007\n",
       "    Station_Altitude:              200\n",
       "    Station_Longitude:             85�43'55'' West\n",
       "    Station_Latitude:              43�22'42'' North\n",
       "    Comment:                       \n",
       "    Radiometer_Software_Version:  V10.00\n",
       "    Host-PC_Software_Version:     V10.00
" ], "text/plain": [ " Size: 15MB\n", "Dimensions: (frq: 14, time: 1344, height: 208)\n", "Coordinates:\n", " * frq (frq) float64 112B 22.24 23.04 23.84 25.44 ... 56.66 57.3 58.0\n", " * time (time) datetime64[ns] 11kB 2025-01-12 ... 2025-01-12T23:59:00\n", " * height (height) int64 2kB 0 10 25 50 75 ... 28500 29000 29500 30000\n", " model \n", "\n", "\n", " \n", " \n", " \n", " \n", " 2026-01-13T16:00:39.951862\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.10.7, https://matplotlib.org/\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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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" ], "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from openMWR.plot import SkewT\n", "from openMWR.site import get_config_parameter\n", "\n", "raso_station_id = '03715'\n", "\n", "station_alt = get_config_parameter(site, 'mwr_height', DATA_DIR)\n", "\n", "noon = date.replace(hour=12)\n", "\n", "skew = SkewT(noon, data_dir=DATA_DIR, station_alt=station_alt)\n", "skew.plot_radiosonde(raso_station_id)\n", "skew.plot_retrieval(pred, 'MIM-Retrieval NN', color='red')\n", "skew.finalize()" ] }, { "cell_type": "markdown", "id": "cde79c23", "metadata": {}, "source": [ "To plot data from a full day, the TimeSeriesPlot object from openMWR.plot can be used. It is a wrapper around Matplotlib." ] }, { "cell_type": "code", "execution_count": 39, "id": "eab26145", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", " \n", " \n", " \n", " \n", " 2026-01-13T16:00:40.393149\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.10.7, https://matplotlib.org/\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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from openMWR.plot import TimeSeriesPlot\n", "\n", "pre_title = 'Meteorological Institute of Ludwig-Maximilians-Universität (München, Germany; 48.148 N / 11.573 E)'\n", "pred['rain_flag'] = ds_hatpro['rain_flag'].sel(time=pred.time)\n", "data = pred.sel(height=slice(0, 10000)).transpose('time', ...)\n", "\n", "temp = TimeSeriesPlot(date, \n", " 'Temperature - Hatpro Retrieval (NN)', \n", " pre_title=pre_title)\n", "\n", "ax = temp.add_axis(ylabel='Height [km]')\n", "\n", "ax.plot_filled_contours(data.time, \n", " data.height/1000, \n", " data.T.values.T, \n", " 'Temperature [K]', \n", " 'RdBu_r')\n", "\n", "rain_flag_mask = data['rain_flag'] > 0\n", "ax.add_hatches(rain_flag_mask.time.values, rain_flag_mask.values)\n", "\n", "temp.show()" ] }, { "cell_type": "code", "execution_count": 40, "id": "32253edd", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", " \n", " \n", " \n", " \n", " 2026-01-13T16:00:40.807971\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.10.7, https://matplotlib.org/\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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lwp = TimeSeriesPlot(date, 'Liquid Water Path', pre_title=pre_title)\n", "ax = lwp.add_axis(lower_ylabel=True, ylabel='[g/$m^2$]')\n", "\n", "ax.plot(pred.time, pred.lwp, label='Hatpro Retrieval (NN)')\n", "\n", "ax.set_best_ylim(step_of_step=10, fix_min=0)\n", "\n", "rain_flag_mask = pred['rain_flag'] > 0\n", "ax.add_hatches(rain_flag_mask.time.values, rain_flag_mask.values)\n", "\n", "lwp.create_legend_with_handles()\n", "lwp.show()" ] }, { "cell_type": "markdown", "id": "ddf25da9", "metadata": {}, "source": [ "For some standard plots, like the ones above, convenience methods are available in the TimeSeriesCreator class from openMWR.plot. " ] }, { "cell_type": "code", "execution_count": 41, "id": "a72ace5e", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", " \n", " \n", " \n", " \n", " 2026-01-13T16:00:41.181291\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.10.7, https://matplotlib.org/\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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/svg+xml": [ "\n", " \n", " \n", " \n", " \n", " 2026-01-13T16:00:41.680245\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.10.7, https://matplotlib.org/\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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from openMWR.plot import TimeSeriesCreator\n", "\n", "temp = TimeSeriesCreator.temp(date, \n", " data, \n", " pre_title=pre_title, \n", " retrieval_label='Hatpro Retrieval (NN)')\n", "temp.show()\n", "lwp = TimeSeriesCreator.lwp(date, \n", " pred, \n", " pre_title=pre_title, \n", " retrieval_label='Hatpro Retrieval (NN)')\n", "lwp.show()" ] }, { "cell_type": "markdown", "id": "445f62d1", "metadata": {}, "source": [ "## Boundary Layer Scan Retrieval" ] }, { "cell_type": "markdown", "id": "d8a85019", "metadata": {}, "source": [ "Boundary layer scan retrievals can be run and plotted in a similar way. The only difference is that the data is imported using the import_hatpro_data_bls function from openMWR.hatpro_data. Alternatively, the import_data_and_run_retrieval function can be used with the keyword bls=True." ] }, { "cell_type": "code", "execution_count": 42, "id": "cc9d865f", "metadata": {}, "outputs": [], "source": [ "from openMWR.models import Model\n", "model_bls = Model.load('NN_BLS_opt', site=site, data_dir=DATA_DIR)" ] }, { "cell_type": "code", "execution_count": null, "id": "4d7e8246", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 45kB\n",
       "Dimensions:           (time: 72, frq: 14, ang: 10)\n",
       "Coordinates:\n",
       "  * time              (time) datetime64[ns] 576B 2025-01-12T00:05:17 ... 2025...\n",
       "  * frq               (frq) float64 112B 22.24 23.04 23.84 ... 56.66 57.3 58.0\n",
       "  * ang               (ang) float64 80B 4.2 4.8 5.4 6.6 ... 14.4 19.2 30.0 90.0\n",
       "Data variables:\n",
       "    TB                (time, frq, ang) float32 40kB 154.3 145.6 ... 270.0 268.5\n",
       "    rain_flag         (time) float64 576B 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
       "    azimuth_angle     (time) float32 288B 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
       "    surface_p         (time) float64 576B 965.0 965.2 965.4 ... 974.2 973.9\n",
       "    surface_T         (time) float64 576B 270.9 271.0 271.0 ... 271.1 271.1\n",
       "    surface_rh        (time) float64 576B 75.92 75.97 76.46 ... 74.88 74.2 73.77\n",
       "    doy_cos           (time) float64 576B 0.9292 0.9292 0.9292 ... 0.9292 0.9292\n",
       "    doy_sin           (time) float64 576B 0.3695 0.3695 0.3695 ... 0.3695 0.3695\n",
       "    years_since_1970  (time) float64 576B 55.03 55.03 55.03 ... 55.03 55.03\n",
       "Attributes:\n",
       "    netCDF_Convention:             CF-1.0\n",
       "    Radiometer_Location:           University of Madison\n",
       "    Radiometer_System:             RPG-HATPRO\n",
       "    Serial_Number:                 R-DPR-19/007\n",
       "    Station_Altitude:              200\n",
       "    Station_Longitude:             85�43'55'' West\n",
       "    Station_Latitude:              43�22'42'' North\n",
       "    Comment:                       \n",
       "    Radiometer_Software_Version:  V10.00\n",
       "    Host-PC_Software_Version:     V10.00
" ], "text/plain": [ " Size: 45kB\n", "Dimensions: (time: 72, frq: 14, ang: 10)\n", "Coordinates:\n", " * time (time) datetime64[ns] 576B 2025-01-12T00:05:17 ... 2025...\n", " * frq (frq) float64 112B 22.24 23.04 23.84 ... 56.66 57.3 58.0\n", " * ang (ang) float64 80B 4.2 4.8 5.4 6.6 ... 14.4 19.2 30.0 90.0\n", "Data variables:\n", " TB (time, frq, ang) float32 40kB 154.3 145.6 ... 270.0 268.5\n", " rain_flag (time) float64 576B 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n", " azimuth_angle (time) float32 288B 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n", " surface_p (time) float64 576B 965.0 965.2 965.4 ... 974.2 973.9\n", " surface_T (time) float64 576B 270.9 271.0 271.0 ... 271.1 271.1\n", " surface_rh (time) float64 576B 75.92 75.97 76.46 ... 74.88 74.2 73.77\n", " doy_cos (time) float64 576B 0.9292 0.9292 0.9292 ... 0.9292 0.9292\n", " doy_sin (time) float64 576B 0.3695 0.3695 0.3695 ... 0.3695 0.3695\n", " years_since_1970 (time) float64 576B 55.03 55.03 55.03 ... 55.03 55.03\n", "Attributes:\n", " netCDF_Convention: CF-1.0\n", " Radiometer_Location: University of Madison\n", " Radiometer_System: RPG-HATPRO\n", " Serial_Number: R-DPR-19/007\n", " Station_Altitude: 200\n", " Station_Longitude: 85�43'55'' West\n", " Station_Latitude: 43�22'42'' North\n", " Comment: \n", " Radiometer_Software_Version: V10.00\n", " Host-PC_Software_Version: V10.00" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from openMWR.hatpro_data import import_hatpro_data_bls\n", "\n", "ds_hatpro_bls = import_hatpro_data_bls(date, \n", " site, \n", " DATA_DIR,\n", " import_retrieval_data=False, \n", " mean_one_min=True)\n", "ds_hatpro_bls" ] }, { "cell_type": "code", "execution_count": 44, "id": "196cc8ba", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 346kB\n",
       "Dimensions:     (time: 72, frq: 14, ang: 10, height: 208)\n",
       "Coordinates:\n",
       "  * time        (time) datetime64[ns] 576B 2025-01-12T00:05:17 ... 2025-01-12...\n",
       "  * frq         (frq) float64 112B 22.24 23.04 23.84 25.44 ... 56.66 57.3 58.0\n",
       "  * ang         (ang) float64 80B 4.2 4.8 5.4 6.6 8.4 11.4 14.4 19.2 30.0 90.0\n",
       "  * height      (height) int64 2kB 0 10 25 50 75 ... 28500 29000 29500 30000\n",
       "Data variables:\n",
       "    TB          (time, frq, ang) float32 40kB 154.3 145.6 137.0 ... 270.0 268.5\n",
       "    surface_T   (time) float64 576B 270.9 271.0 271.0 ... 271.1 271.1 271.1\n",
       "    surface_p   (time) float64 576B 965.0 965.2 965.4 ... 974.3 974.2 973.9\n",
       "    surface_rh  (time) float64 576B 75.92 75.97 76.46 76.33 ... 74.88 74.2 73.77\n",
       "    doy_cos     (time) float64 576B 0.9292 0.9292 0.9292 ... 0.9292 0.9292\n",
       "    doy_sin     (time) float64 576B 0.3695 0.3695 0.3695 ... 0.3695 0.3695\n",
       "    T           (height, time) float64 120kB 271.4 270.9 271.3 ... 215.2 215.6\n",
       "    rh          (height, time) float64 120kB 76.07 76.16 76.84 ... 1.09 1.094\n",
       "    lwc         (height, time) float32 60kB 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
       "    lwp         (time) float32 288B 91.93 107.7 137.4 ... 118.4 96.54 87.84\n",
       "    iwv         (time) float64 576B 6.692 7.291 7.162 ... 4.296 4.356 4.202\n",
       "Attributes:\n",
       "    netCDF_Convention:             CF-1.0\n",
       "    Radiometer_Location:           University of Madison\n",
       "    Radiometer_System:             RPG-HATPRO\n",
       "    Serial_Number:                 R-DPR-19/007\n",
       "    Station_Altitude:              200\n",
       "    Station_Longitude:             85�43'55'' West\n",
       "    Station_Latitude:              43�22'42'' North\n",
       "    Comment:                       \n",
       "    Radiometer_Software_Version:  V10.00\n",
       "    Host-PC_Software_Version:     V10.00
" ], "text/plain": [ " Size: 346kB\n", "Dimensions: (time: 72, frq: 14, ang: 10, height: 208)\n", "Coordinates:\n", " * time (time) datetime64[ns] 576B 2025-01-12T00:05:17 ... 2025-01-12...\n", " * frq (frq) float64 112B 22.24 23.04 23.84 25.44 ... 56.66 57.3 58.0\n", " * ang (ang) float64 80B 4.2 4.8 5.4 6.6 8.4 11.4 14.4 19.2 30.0 90.0\n", " * height (height) int64 2kB 0 10 25 50 75 ... 28500 29000 29500 30000\n", "Data variables:\n", " TB (time, frq, ang) float32 40kB 154.3 145.6 137.0 ... 270.0 268.5\n", " surface_T (time) float64 576B 270.9 271.0 271.0 ... 271.1 271.1 271.1\n", " surface_p (time) float64 576B 965.0 965.2 965.4 ... 974.3 974.2 973.9\n", " surface_rh (time) float64 576B 75.92 75.97 76.46 76.33 ... 74.88 74.2 73.77\n", " doy_cos (time) float64 576B 0.9292 0.9292 0.9292 ... 0.9292 0.9292\n", " doy_sin (time) float64 576B 0.3695 0.3695 0.3695 ... 0.3695 0.3695\n", " T (height, time) float64 120kB 271.4 270.9 271.3 ... 215.2 215.6\n", " rh (height, time) float64 120kB 76.07 76.16 76.84 ... 1.09 1.094\n", " lwc (height, time) float32 60kB 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n", " lwp (time) float32 288B 91.93 107.7 137.4 ... 118.4 96.54 87.84\n", " iwv (time) float64 576B 6.692 7.291 7.162 ... 4.296 4.356 4.202\n", "Attributes:\n", " netCDF_Convention: CF-1.0\n", " Radiometer_Location: University of Madison\n", " Radiometer_System: RPG-HATPRO\n", " Serial_Number: R-DPR-19/007\n", " Station_Altitude: 200\n", " Station_Longitude: 85�43'55'' West\n", " Station_Latitude: 43�22'42'' North\n", " Comment: \n", " Radiometer_Software_Version: V10.00\n", " Host-PC_Software_Version: V10.00" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pred_bls = run_model(model_bls, ds_hatpro_bls, device)\n", "pred_bls" ] }, { "cell_type": "code", "execution_count": 47, "id": "5ba53fe9", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " 2026-01-13T16:01:35.472631\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.10.7, https://matplotlib.org/\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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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" ], "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pred_bls = calc_derived_quantities(pred_bls)\n", "\n", "skew = SkewT(noon, data_dir=DATA_DIR, station_alt=station_alt)\n", "skew.plot_radiosonde(raso_station_id)\n", "skew.plot_retrieval(pred, 'MIM-Retrieval NN', color='red')\n", "skew.plot_retrieval(pred_bls, 'MIM-Retrieval NN BLS', color='green')\n", "skew.finalize()" ] } ], "metadata": { "kernelspec": { "display_name": "venv (3.14.3)", "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.14.3" } }, "nbformat": 4, "nbformat_minor": 5 }