{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Closest Point Lookup" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import of necessary libraries\n", "import pathlib\n", "import detl\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Parsing and Accessing the Raw Data\n", "\n", "Alternatively, instead of using pathlib.Path(), a filepath can be given as well (as a rawstring)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Parsing of data file\n", "path_to_file = pathlib.Path('..', 'tests', 'testfiles', 'v4_NT-WMB-2.Control.csv')\n", "ddata = detl.parse(path_to_file) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Application Examples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Example 1: Retrieve data closest to a set of given timepoints" ] }, { "cell_type": "code", "execution_count": 4, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
timestampdurationprocess_timevolume_pvtemperature_sptemperature_pvtemperature_outstirrer_speed_spstirrer_speed_pvstirrer_torque_pv...loop_b_sploop_b_pvloop_b_outloop_c_sploop_c_pvloop_c_outloop_d_sploop_d_pvloop_d_outinternal_a_start_oszillation
61812022-03-31 08:56:04+00:0017.1975530.0000001001.64230.029.9163.613400.000398.80624.956...0.00.00.00.00.00.00.00.00.00.0
69002022-03-31 10:56:05+00:0019.1980091.9997221002.73930.030.0172.803428.657426.13426.928...0.00.00.00.00.00.00.00.00.00.0
76192022-03-31 12:56:10+00:0021.1994104.0011111004.96630.030.0042.008576.682577.42328.522...0.00.00.00.00.00.00.00.00.00.0
83372022-03-31 14:56:04+00:0023.1975835.9994441008.93730.029.9811.866616.291618.83828.102...0.00.00.00.00.00.00.00.00.00.0
86962022-03-31 15:56:02+00:0024.1970556.9988891010.86830.030.0191.910612.672613.72728.898...0.00.00.00.00.00.00.00.00.00.0
90562022-03-31 16:56:10+00:0025.1993148.0011111013.13830.029.9651.976596.205607.31327.884...0.00.00.00.00.00.00.00.00.00.0
97742022-03-31 18:56:02+00:0027.1971619.9988891018.85030.029.9961.936610.679611.35628.209...0.00.00.00.00.00.00.00.00.00.0
\n", "

7 rows × 59 columns

\n", "
" ], "text/plain": [ " timestamp duration process_time volume_pv \\\n", "6181 2022-03-31 08:56:04+00:00 17.197553 0.000000 1001.642 \n", "6900 2022-03-31 10:56:05+00:00 19.198009 1.999722 1002.739 \n", "7619 2022-03-31 12:56:10+00:00 21.199410 4.001111 1004.966 \n", "8337 2022-03-31 14:56:04+00:00 23.197583 5.999444 1008.937 \n", "8696 2022-03-31 15:56:02+00:00 24.197055 6.998889 1010.868 \n", "9056 2022-03-31 16:56:10+00:00 25.199314 8.001111 1013.138 \n", "9774 2022-03-31 18:56:02+00:00 27.197161 9.998889 1018.850 \n", "\n", " temperature_sp temperature_pv temperature_out stirrer_speed_sp \\\n", "6181 30.0 29.916 3.613 400.000 \n", "6900 30.0 30.017 2.803 428.657 \n", "7619 30.0 30.004 2.008 576.682 \n", "8337 30.0 29.981 1.866 616.291 \n", "8696 30.0 30.019 1.910 612.672 \n", "9056 30.0 29.965 1.976 596.205 \n", "9774 30.0 29.996 1.936 610.679 \n", "\n", " stirrer_speed_pv stirrer_torque_pv ... loop_b_sp loop_b_pv \\\n", "6181 398.806 24.956 ... 0.0 0.0 \n", "6900 426.134 26.928 ... 0.0 0.0 \n", "7619 577.423 28.522 ... 0.0 0.0 \n", "8337 618.838 28.102 ... 0.0 0.0 \n", "8696 613.727 28.898 ... 0.0 0.0 \n", "9056 607.313 27.884 ... 0.0 0.0 \n", "9774 611.356 28.209 ... 0.0 0.0 \n", "\n", " loop_b_out loop_c_sp loop_c_pv loop_c_out loop_d_sp loop_d_pv \\\n", "6181 0.0 0.0 0.0 0.0 0.0 0.0 \n", "6900 0.0 0.0 0.0 0.0 0.0 0.0 \n", "7619 0.0 0.0 0.0 0.0 0.0 0.0 \n", "8337 0.0 0.0 0.0 0.0 0.0 0.0 \n", "8696 0.0 0.0 0.0 0.0 0.0 0.0 \n", "9056 0.0 0.0 0.0 0.0 0.0 0.0 \n", "9774 0.0 0.0 0.0 0.0 0.0 0.0 \n", "\n", " loop_d_out internal_a_start_oszillation \n", "6181 0.0 0.0 \n", "6900 0.0 0.0 \n", "7619 0.0 0.0 \n", "8337 0.0 0.0 \n", "8696 0.0 0.0 \n", "9056 0.0 0.0 \n", "9774 0.0 0.0 \n", "\n", "[7 rows x 59 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Define some timepoints to look up (parameter: 'process_time')\n", "sampling_times = np.array([0, 2, 4, 6, 7, 8, 10])\n", "\n", "# Retrieve data from reactor 2 at the defined points\n", "ddata[2].get_closest_data(sampling_times)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Example 2: Retrieve data closest to a set of defined total pump volumes" ] }, { "cell_type": "code", "execution_count": 6, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
timestampdurationprocess_timevolume_pvtemperature_sptemperature_pvtemperature_outstirrer_speed_spstirrer_speed_pvstirrer_torque_pv...loop_b_sploop_b_pvloop_b_outloop_c_sploop_c_pvloop_c_outloop_d_sploop_d_pvloop_d_outinternal_a_start_oszillation
67232022-03-31 10:26:22+00:0018.7027391.4625001002.01430.030.0233.157401.879402.68827.091...0.00.00.00.00.00.00.00.00.00.0
77082022-03-31 13:10:52+00:0021.4442614.2038891004.96830.029.9892.909592.199593.63434.763...0.00.00.00.00.00.00.00.00.00.0
85902022-03-31 15:38:10+00:0023.8994206.6591671010.04630.029.9992.086630.550630.41935.504...0.00.00.00.00.00.00.00.00.00.0
\n", "

3 rows × 59 columns

\n", "
" ], "text/plain": [ " timestamp duration process_time volume_pv \\\n", "6723 2022-03-31 10:26:22+00:00 18.702739 1.462500 1002.014 \n", "7708 2022-03-31 13:10:52+00:00 21.444261 4.203889 1004.968 \n", "8590 2022-03-31 15:38:10+00:00 23.899420 6.659167 1010.046 \n", "\n", " temperature_sp temperature_pv temperature_out stirrer_speed_sp \\\n", "6723 30.0 30.023 3.157 401.879 \n", "7708 30.0 29.989 2.909 592.199 \n", "8590 30.0 29.999 2.086 630.550 \n", "\n", " stirrer_speed_pv stirrer_torque_pv ... loop_b_sp loop_b_pv \\\n", "6723 402.688 27.091 ... 0.0 0.0 \n", "7708 593.634 34.763 ... 0.0 0.0 \n", "8590 630.419 35.504 ... 0.0 0.0 \n", "\n", " loop_b_out loop_c_sp loop_c_pv loop_c_out loop_d_sp loop_d_pv \\\n", "6723 0.0 0.0 0.0 0.0 0.0 0.0 \n", "7708 0.0 0.0 0.0 0.0 0.0 0.0 \n", "8590 0.0 0.0 0.0 0.0 0.0 0.0 \n", "\n", " loop_d_out internal_a_start_oszillation \n", "6723 0.0 0.0 \n", "7708 0.0 0.0 \n", "8590 0.0 0.0 \n", "\n", "[3 rows x 59 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Define pump volumes for data retrieval\n", "pump_volumes = np.array([2, 5, 10])\n", "\n", "# Retrieve data from reactor 4 at the defined points\n", "ddata[4].get_closest_data(pump_volumes, reference='pump_b_volume_pv')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 2 }