{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# In memory dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebooks explains an alternative way of measuring where the raw data is not written directly to a sqlite database file but only kept in memory with the ability to export the data after the measurement is completed. This may significantly speed up measurements where a lot of data is acquired but there is no protection against any data lose that may happen during a measurement. (Power loss, computer crash etc.) However, there may be situations where this trade-off is worthwhile. Please do only use the in memory dataset for measurements if you understand the risks. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "from pathlib import Path\n", "\n", "import numpy as np\n", "\n", "import qcodes as qc\n", "from qcodes.dataset import (\n", " DataSetType,\n", " Measurement,\n", " initialise_or_create_database_at,\n", " load_by_run_spec,\n", " load_or_create_experiment,\n", " plot_dataset,\n", ")\n", "from qcodes.instrument_drivers.mock_instruments import (\n", " DummyInstrument,\n", " DummyInstrumentWithMeasurement,\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we set up two mock instruments and a database to measure into:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# preparatory mocking of physical setup\n", "\n", "dac = DummyInstrument(\"dac\", gates=[\"ch1\", \"ch2\"])\n", "dmm = DummyInstrumentWithMeasurement(name=\"dmm\", setter_instr=dac)\n", "\n", "station = qc.Station(dmm, dac)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "initialise_or_create_database_at(\n", " Path.cwd().parent / \"example_output\" / \"in_mem_example.db\"\n", ")\n", "exp = load_or_create_experiment(experiment_name=\"in_mem_exp\", sample_name=\"no sample\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And run a standard experiment writing data to the database: " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting experimental run with id: 3. \n" ] } ], "source": [ "meas = Measurement(exp=exp)\n", "meas.register_parameter(dac.ch1) # register the first independent parameter\n", "meas.register_parameter(dmm.v1, setpoints=(dac.ch1,)) # now register the dependent oone\n", "\n", "meas.write_period = 0.5\n", "\n", "with meas.run() as datasaver:\n", " for set_v in np.linspace(0, 25, 10):\n", " dac.ch1.set(set_v)\n", " get_v = dmm.v1.get()\n", " datasaver.add_result((dac.ch1, set_v), (dmm.v1, get_v))\n", "\n", " dataset1D = datasaver.dataset # convenient to have for data access and plotting" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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bcKECUX7kpOTbX5+frbPP//colK633FWo0ePtl199dWWlcldJSYmmuO9ePHiovPXx8fH9tVXXxXdZuvWreY2K1assLCk7nWc1YABA2wPPvigzQrUqDjIycmRtWvXmupwx/WE9PqKFSssLZs70iYHrTpv1qyZjBgxQuLi4qwuklvbs2ePHD58uNj5rWttaPMm53flW7RokalGb926tdx7771y9OhRq4vk8lJSUsz/oaGh5n99v9Zv/47ntDYhR0dHc05X4nG2mz59utSrV086dOgg48aNk8zMTKkOLr0oYWVLSkqS/Px8iYiIKLZfr2/bts2ycrkj/XCcPHmyeRPXKsQXXnhB+vXrJ3/++adpJ0Xl05CiSju/7T9D5dBmH21+aNq0qezatUv+8Y9/yKWXXmo+PL28vKwunksqKCiQhx56SM4//3zzQan0vPX19ZWQkJBit+WcrtzjrIYPHy4xMTHmy+XGjRvlySefNP1YZs2aJVWNoAJL6Ju2XadOnUxw0RfBl19+KbfffrulZQPO1Y033lh0uWPHjuYcb968uallGTx4sKVlc1Xah0K/yNCXzZrjfNdddxU7p7VDvp7LGsT13K5KNP040Cot/bZTsse4Xm/QoIFl5aoJ9BtRq1atJDY21uqiuC37Ocz5Xf20eVPfXzi/K2bs2LHyww8/yMKFCyUyMrJov5632mSfnJxc7Pac05V7nEujXy5VdZzTBBUHWoXYrVs3mT9/frFqML3ep08fS8vm7tLT000y15SOqqHNEPrm7Xh+p6ammtE/nN9Va//+/aaPCud3+WhfZf3wnD17tixYsMCcw470/drHx6fYOa3NEdrfjXO68o5zaf744w/zf3Wc0zT9lKBDk0ePHi3du3eXnj17ysSJE80QrVtvvdXqormVxx57zMxDoc09OpxQh4NrbdZNN91kddFcPvA5fsPRDrT6hqKd4rSDobY9/+tf/5KWLVuaN6NnnnnGtDnrvAmonOOsm/a50vk8NBhqAH/iiSekRYsWZig4ytcMMWPGDPnuu+9M3zV7vxPtBK7zAOn/2lSs79t63IOCguT+++83IaV3795WF99tjvOuXbvMzy+77DIzX432UdFh4f379zfNmlXOkrFGTu6dd96xRUdH23x9fc1w5ZUrV1pdJLdzww032Bo2bGiOcePGjc312NhYq4vl8hYuXGiGFZbcdLisfYjyM888Y4uIiDDDkgcPHmzbvn271cV2q+OcmZlpGzp0qK1+/fpm6GxMTIztzjvvtB0+fNjqYruc0o6xbpMmTSq6zYkTJ2z33XefrW7durbatWvbhg0bZjt06JCl5Xa34xwXF2fr37+/LTQ01LxvtGjRwvb444/bUlJSqqV8HicLCQAA4HToowIAAJwWQQUAADgtggoAAHBaBBUAAOC0CCoAAMBpEVQAAIDTIqgAAACnRVABAABOi6ACwOlNnjzZLFxZVUaOHCkvv/xyuX5nzpw5ct5555n1wABUHYIKUAPpWh4PPvigWX/G399fIiIi5Pzzz5cPPvhAMjMznSZAlMfmzZvN+jpNmjQRDw8Ps05XWWzYsEF++ukneeCBB4qWsL/nnntKve3UqVPFz89PkpKS5JJLLjEL4k2fPr1SHweA4ggqQA2ze/du6dKli/z666+mFmH9+vWyYsUKs3CeLvE+b948cUUasJo1ayavvPKKWQywrN555x257rrrpE6dOua6LnI3c+ZMOXHixCm3nTRpklx11VVSr149c/2WW26Rt99+uxIfBYBTVMuKQgCcxsUXX2yLjIy0paenl/pzXbjQ7vXXX7d16NDBLPamv3Pvvffa0tLSTrsw33PPPWd+lpWVZXv00UdtjRo1Mr+ri3vq7c/k+PHjtrvuussWHh5uFj5r37697fvvvzc/08XRgoODbXPmzLG1adPGFhAQYB7HwYMHS70vXQjwzTffPOuxyMvLM/f7ww8/FO07cuSIWSxz6tSpxW67e/dum4eHh+3nn38u2rdv3z7zuFlQE6g61KgANcjRo0dNTYou6x4QEFDqbbTZxM7T09PUGGizymeffSYLFiwwNS+qb9++pnklKChIDh06ZLbHHnvM/Gzs2LGmlkZrJnRJeK2x0KaSnTt3lvo3tZ/HpZdeKsuWLZNp06bJli1bTM2Il5dXsRqT1157zTS/LFmyROLi4or+XkVp2VJSUqR79+5F+7S25Oqrr5ZPP/30lGauyMhIGTp0aNG+6Oho02z222+/nVM5AJxBFYYgAE5m5cqVpgZg1qxZxfaHhYWZWgrdnnjiidP+/ldffWVua2ev6XCktQxeXl62AwcOFNs/ePBg27hx40q9319++cXm6elp2759e6k/179Tsubivffes0VERJxTjcrs2bNNWR1rkZTW3GjtidaiKP253ufTTz99yn106dLF9vzzz5/1bwGoGO8zhRgANcPq1atNrcaIESMkOzu7aL/2Vxk/frxs27ZNUlNTJS8vT7KyskztRu3atUu9r02bNkl+fr60atWq2H6937CwsFJ/548//jC1FSV/x5H+vebNmxddb9iwoSQmJsq50H4o2jnWsRZJXXTRRaY82iflxRdflPnz55sanFtvvfWU+6hVq1a5OiADKB+CClCD6Cgf/VDevn17sf3aCdX+oWu3d+9eueKKK+Tee++Vl156SUJDQ2Xp0qWms2lOTs5pg0p6erppslm7dm2xphtl77BakuPfPR0dYeNIH4fNphUtFafNPBoy9PH4+voWa/LSjrLa3PX888+bwDJw4MCi4+To2LFjUr9+/XMqB4DTo48KUINojYbWFrz77ruSkZFxxttq0NBaltdff1169+5tajsOHjxY7Db64a61J450RJHu09oODUaO2+lG43Tq1En2798vO3bskOqk86Ao7RNTktaexMfHy6xZs2T27NkmoJWktUu7du0yjxlA1SCoADXM+++/b5pwtAPpF198IVu3bjU1LNqJVZt47LUgGixyc3PN8F0d0qydWD/88MNi96VzlmgNijaN6NwiWjuhgUabkEaNGmU+5Pfs2WOalrQJ6ccffyy1TAMGDJD+/fubeVDmzp1rfufnn382k6qVldaKaBOSbnr5wIED5nJsbOxpf0drQrp27Wpqikpq2rSpDBo0SO666y7TPHTttdeecpuVK1ean/Xp06fM5QRQThXs2wLAhemw3rFjx9qaNm1q8/HxsdWpU8cMIZ4wYYItIyOj6HZvvPGGrWHDhrZatWqZ4cBTpkwxnVp1KLHdPffcYzrYOg5PzsnJsT377LO2Jk2amPvX+xg2bJht48aNpy3T0aNHbbfeequ5L39/fzMs2j5suLROu9oR1vEtbM+ePacMl9ZtwIABZzwW77//vq13796l/mzGjBnmPu67775Sf67Dqe++++4z3j+Ac+Oh/5Q33ACAu9AOta1btza1S+WpGdEaJP29NWvWmNoXAFWDph8ANZp25J0yZYoJHuWhnY21GY2QAlQtalQAAIDTokYFAAA4LYIKAABwWgQVAADgtAgqAADAaRFUAACA0yKoAAAAp0VQAQAATougAgAAnBZBBQAAiLP6f/fHFmA68ruDAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax, cbax = plot_dataset(dataset1D)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The in memory measurement looks nearly identical with the only difference being that we explicitly pass in an Enum to select the dataset class that we want to use as a parameter to ``measurement.run``\n", "\n", "The ``DataSetType`` Enum currently has 2 members representing the two different types of dataset supported." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting experimental run with id: 4. \n" ] } ], "source": [ "with meas.run(dataset_class=DataSetType.DataSetInMem) as datasaver:\n", " for set_v in np.linspace(0, 25, 10):\n", " dac.ch1.set(set_v)\n", " get_v = dmm.v1.get()\n", " datasaver.add_result((dac.ch1, set_v), (dmm.v1, get_v))\n", " datasetinmem = datasaver.dataset" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHHCAYAAACRAnNyAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUNpJREFUeJzt3Qd809X+//FPd+mEtrQUWvaSjShLZchwA+4t4gTHdVwH+HfrFcd1XBXRe/25By4QcaMylKkgW/ZqoaWU0Ul3/o/PaVPT0tJB2m/G6/l4BNI0TU6++SZ555zPOV8fm81mEwAAABfka3UDAAAAqkNQAQAALougAgAAXBZBBQAAuCyCCgAAcFkEFQAA4LIIKgAAwGURVAAAgMsiqAAAAJdFUAFcwDvvvCM+Pj6yc+dO8ST6mB599FGrm4F6KCkpkR49esi//vUvq5viNtq2bSvXXnttnf/uwIEDEhoaKt9++22DtMvdEVTc7IPMfvL395dWrVqZF8WePXvEFRw+fFh8fX3lhx9+MD/PmjVLgoKCJD8//5h/p2+E+pj0TbG+5s+fX2H7VD7NmDGj3reNv7322mtmX4Tn+/jjjyUpKUluu+02q5vi8aKjo+WGG26Qhx56yOqmuCR/qxuAunn88celXbt2kpeXJ0uXLjUfGr/99pusW7dOgoODLW3b8uXLzf8DBgww/y9ZskT69u1rwkp1kpOT5amnnjLfJpzhH//4h5x88slHXT5o0CBxZVdffbVcdtllx9xWrhJUYmJiav2t8ciRIyZUw/0899xzZp+MjIy0uileYeLEifLyyy/LL7/8IqeffrrVzXEpvIO4mbPOOktOOukkc14TuH5oPPPMM/LVV1/JJZdcYnlQ6dKlizRt2rQ8qNhDS3XuueceGThwoBQXF0t6evpxt+G0006Tiy66SNxFTk6OCWl+fn7m5GmsDs+onz///FNWr14tzz//vNVN8RonnHCC6VXWL58ElYoY+nFz+sGstm3bVn7ZsGHDzKky/RasY6h2Wg+hwyL//ve/5b///a906NDBfKPXHonff/+9VvefkZFhAoaeNJj07t3bnN+3b5+sWLFCunbtan7W61W2cOFC+fzzz+Wll16SxvL222+bx/zWW29VuFx7dfRy+xix47Z58cUXpU2bNtKkSRMZOnSo6b2qbOPGjSYgRUVFmQ9nDZMaHqsavluwYIHccsstEhsbKwkJCdXWqOhzde6555phLb09vf+ePXuan9XMmTPNz3p//fr1Mx8ux9OuRYsWyd133y3Nmzc34en888+X/fv3V2jP+vXrTfvtQ2pV7WfHqlHR83rZ1q1bzf6ooVa/sU+YMEFyc3OlLvTvw8LCZPfu3WY76XkdDp02bZr5/dq1a80bvj4Wff4++uijKocr77zzTklMTDT7fseOHU3w1/oMO8d9QW+7ffv2EhISIqNHjzZDI3oA+ieeeMI8l/ocjR07Vg4ePCh1pUO41113ncTFxZm2dO/evcJ+qr1T+nrSk5630/uKj4+XwYMHm8DvuG22b98uZ5xxhtkGLVu2ND2y2t6afPnllxIYGChDhgypcHldnr+ioiKzXezvK7r/PPDAAzUOBavU1FRzm7pN9W/18el2dXx9zJ49W8455xzzuPQ6ej96f/ZtYKf7qAaANWvWmNevPnf6POt7j9L9Wb9Q6XOnX7R++umnKh+zvpb0y2BERIQZqrnjjjtMz3ZNarOP2Y0aNUrmzJlTq+fIq9jgFt5++23dc22///57hctfffVVc/n06dPLLxs6dKg5VTZ+/HhbmzZtyn/esWOH+du+ffvaOnbsaHvmmWdszz77rC0mJsaWkJBgKygoqLFdej96GzWdKrenqKjI1qtXL9vNN99cfjvdu3e31de8efPM/bz11lu2/fv3H3UqKSkpv+65555ri4yMtO3evdv8vGbNGltgYKDt+uuvP2rb9OzZ09a2bVuzbR577DFbVFSUrXnz5rbU1NTy665bt87cXrdu3cz19DkZMmSIzcfHxzZz5syjnkO9nj7eV155xfb0009X+J3er50+V126dLHFx8fbHn30UduLL75oa9WqlS0sLMz2wQcf2Fq3bm3+Xk96//ocFhcX17tduh+cfvrppl3//Oc/bX5+frZLLrmk/HqzZs0y+0XXrl1t77//vjn9+OOPx3xe9HYfeeSR8p/1vP2+LrjgAttrr71mu+GGG8xl9913X52ec92fg4ODzeObOHGibdq0abbBgweb29LH1LJlS9u9995rHo/uW/p4tm/fXv73OTk5Zh+Mjo62PfDAA7bXX3/dds0115jtc8cddxy1L/Tp08fc1wsvvGB78MEHzT4zcOBA87d6vy+//LLtH//4h/n7CRMm1Omx6P6k2zYxMdH2+OOPm9fz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ffdJx44dzVRw1G0Y4qOPPpLZs2eb2jV73YkWges6QPq/DhXr+7Zu94iICLn99ttNSBk4cKDVzfeY7bxt2zbz+7PPPtusV6M1KjotfMiQIWZYs8FZMtfIxb3yyiu21q1b2wIDA8105aVLl1rdJI9z6aWX2uLj4802btWqlfl569atVjfL7c2bN89MK6x80umy9inKDz30kC0uLs5MSx4xYoRt06ZNVjfbo7Zzbm6ubfTo0bbmzZubqbNt2rSx3XjjjbbU1FSrm+12qtrGenr77bfLr3PkyBHbLbfcYmvWrJktJCTEdv7559tSUlIsbbenbefdu3fbhgwZYouKijLvGx07drTde++9toyMjEZpn09ZIwEAAFwONSoAAMBlEVQAAIDLIqgAAACXRVABAAAui6ACAABcFkEFAAC4LIIKAABwWQQVAADgsggqAFzeO++8Yw5c2VCuvvpqeeqpp+r0N99//7306dPHHA8MQMMhqABeSI/lcccdd5jjzwQHB0tcXJyccsopMn36dMnNzXWZAFEX69evN8fXadu2rfj4+JjjdNXG6tWr5dtvv5V//OMf5YewnzhxYpXXff/99yUoKEjS09PlzDPPNAfE+/DDD536OABURFABvMz27dulb9++8uOPP5pehD///FOWLFliDpynh3j/6aefxB1pwGrfvr08/fTT5mCAtfXKK6/IxRdfLGFhYeZnPcjdjBkz5MiRI0dd9+2335YxY8ZITEyM+fnaa6+Vl19+2YmPAsBRGuWIQgBcxhlnnGFLSEiwZWdnV/l7PXCh3fPPP2/r0aOHOdib/s2kSZNsWVlZ1R6Y75FHHjG/y8vLs/3zn/+0tWzZ0vytHtxTr38shw4dst1000222NhYc+Cz7t272+bMmWN+pwdHi4yMtH3//fe2rl272kJDQ83j2Lt3b5W3pQcCfPHFF2vcFkVFReZ2v/766/LL9u/fbw6W+f7771e47vbt220+Pj627777rvyyXbt2mcfNATWBhkOPCuBFDhw4YHpS9LDuoaGhVV5Hh03sfH19TY+BDqu8++678ssvv5ieFzV48GAzvBIRESEpKSnmdM8995jf3XbbbaaXRnsm9JDw2mOhQyVbtmyp8j61zuOss86SRYsWyQcffCAbNmwwPSN+fn4Vekz+/e9/m+GXhQsXyu7du8vvr760bRkZGXLSSSeVX6a9JWPHjpW33nrrqGGuhIQEGT16dPllrVu3NsNmv/7663G1A8AxNGAIAuBili5danoAZs6cWeHy6Oho00uhp/vuu6/av//ss8/Mde3sPR2OtJfBz8/PtmfPngqXjxgxwjZlypQqb/eHH36w+fr62jZt2lTl7/V+KvdcTJs2zRYXF3dcPSqzZs0ybXXsRVLac6O9J9qLovT3epsPPvjgUbfRt29f26OPPlrjfQGoH/9jhRgA3mH58uWmV+PKK6+U/Pz88su1XmXq1KmyceNGyczMlKKiIsnLyzO9GyEhIVXe1tq1a6W4uFg6d+5c4XK93ejo6Cr/ZtWqVaa3ovLfONL769ChQ/nP8fHxkpaWJsdD61C0ONaxF0mNGjXKtEdrUh5//HH5+eefTQ/OhAkTjrqNJk2a1KkAGUDdEFQAL6KzfPRDedOmTRUu1yJU+4eu3c6dO+Xcc8+VSZMmyb/+9S+JioqS3377zRSbFhQUVBtUsrOzzZDNihUrKgzdKHvBamWO91sdnWHjSB+HzaYdLfWnwzwaMvTxBAYGVhjy0kJZHe569NFHTWAZPnx4+XZydPDgQWnevPlxtQNA9ahRAbyI9mhob8Grr74qOTk5x7yuBg3tZXn++edl4MCBprdj7969Fa6jH+7ae+JIZxTpZdrbocHI8VTdbJxevXpJcnKybN68WRqTroOitCamMu09SUpKkpkzZ8qsWbNMQKtMe5e2bdtmHjOAhkFQAbzMa6+9ZoZwtID0k08+kb/++sv0sGgRqw7x2HtBNFgUFhaa6bs6pVmLWF9//fUKt6VrlmgPig6N6Noi2juhgUaHkK655hrzIb9jxw4ztKRDSN98802VbRo6dKgMGTLErIMyd+5c8zffffedWVSttrRXRIeQ9KTn9+zZY85v3bq12r/RnpATTzzR9BRV1q5dOzn99NPlpptuMsNDF1xwwVHXWbp0qfndoEGDat1OAHVUz9oWAG5Mp/Xedttttnbt2tkCAgJsYWFhZgrxc889Z8vJySm/3gsvvGCLj4+3NWnSxEwHfu+990xRq04ltps4caIpsHWcnlxQUGB7+OGHbW3btjW3r7dx/vnn29asWVNtmw4cOGCbMGGCua3g4GAzLdo+bbiqol0thHV8C9uxY8dR06X1NHTo0GNui9dee802cODAKn/30Ucfmdu45ZZbqvy9Tqe++eabj3n7AI6Pj/5T13ADAJ5CC2q7dOliepfq0jOiPUj6d3/88YfpfQHQMBj6AeDVtJD3vffeM8GjLrTYWIfRCClAw6JHBQAAuCx6VAAAgMsiqAAAAJdFUAEAAC6LoAIAAFwWQQUAALgsggoAAHBZBBUAAOCyCCoAAMBlEVQAAIC4qv8Pz/+WftjtrWgAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax, cbax = plot_dataset(datasetinmem)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "datasetinmem.run_id" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When the measurement is performed in this way the data is not written to the database but the metadata (run_id, timestamps, snapshot etc.) is.\n", "\n", "To preserve the raw data it must be exported it to another file format. See [Exporting QCoDes Datasets](./Exporting-data-to-other-file-formats.ipynb) for more information on exporting including how this can be done automatically." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "datasetinmem.export(\"netcdf\", path=Path.cwd().parent / \"example_output\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `export_info` attribute contains information about locations where the file was exported to. We will use this below to show how the data may be reloaded from a netcdf file." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'d:\\\\source\\\\repos\\\\Qcodes\\\\docs\\\\examples\\\\example_output\\\\qcodes_4_81ead2cf-0000-0000-0000-0195c76165e9.nc'" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "path_to_netcdf = datasetinmem.export_info.export_paths[\"nc\"]\n", "path_to_netcdf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected we can see this file in the current directory." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Volume in drive D is DevDrive\n", " Volume Serial Number is F2D6-BF75\n", "\n", " Directory of d:\\source\\repos\\Qcodes\\docs\\examples\\DataSet\n", "\n", "03/24/2025 09:35 AM .\n", "03/24/2025 09:35 AM ..\n", "03/24/2025 09:17 AM 885,918 Accessing-data-in-DataSet.ipynb\n", "03/24/2025 09:18 AM 18,159 Benchmarking.ipynb\n", "10/07/2024 01:31 PM Cache\n", "03/24/2025 09:18 AM 6,706 Database.ipynb\n", "03/24/2025 09:18 AM 88,825 Datasaver_Builder.ipynb\n", "03/24/2025 09:17 AM 79,117 DataSet-class-walkthrough.ipynb\n", "03/24/2025 09:18 AM 83,852 Dataset_Performance.ipynb\n", "10/07/2024 01:31 PM data_2018_01_17\n", "03/24/2025 09:34 AM data_acquisition_with_and_without_threads\n", "03/24/2025 09:35 AM doNd_VS_Measurement\n", "03/24/2025 09:18 AM 402,428 Exporting-data-to-other-file-formats.ipynb\n", "03/24/2025 09:18 AM 16,351 Extracting-runs-from-one-DB-file-to-another.ipynb\n", "03/24/2025 09:18 AM 148,999 import-data-from-legacy-dat-files.ipynb\n", "10/07/2024 01:31 PM 83 index.rst\n", "03/24/2025 09:59 AM 61,011 InMemoryDataSet.ipynb\n", "03/24/2025 09:18 AM 107,948 Linking to parent datasets.ipynb\n", "03/24/2025 09:18 AM 31,322 Measuring X as a function of time.ipynb\n", "03/24/2025 09:18 AM 549,120 Offline Plotting Tutorial.ipynb\n", "03/24/2025 09:18 AM 249,834 Offline plotting with categorical data.ipynb\n", "03/24/2025 09:18 AM 295,241 Offline plotting with complex data.ipynb\n", "03/24/2025 09:18 AM 28,879 Paramtypes explained.ipynb\n", "03/24/2025 09:18 AM 13,608 Pedestrian example of subscribing to a DataSet.ipynb\n", "03/24/2025 09:18 AM 521,598 Performing-measurements-using-qcodes-parameters-and-dataset.ipynb\n", "03/24/2025 09:32 AM 20,336 qcodes_2_701ce0e1-0000-0000-0000-0195c747e109.nc\n", "10/07/2024 01:31 PM Real_instruments\n", "03/24/2025 09:17 AM 53,372 Saving_data_in_the_background.ipynb\n", "03/24/2025 09:18 AM 12,976 subscriber json exporter.ipynb\n", "03/24/2025 09:18 AM 18,105 The-Experiment-Container.ipynb\n", "03/24/2025 09:18 AM 168,389 Threaded data acquisition.ipynb\n", "03/24/2025 09:18 AM 928,215 Using_doNd_functions_in_comparison_to_Measurement_context_manager_for_performing_measurements.ipynb\n", "03/24/2025 09:18 AM 5,235 Using_register_name.ipynb\n", "03/24/2025 09:18 AM 44,988 Working with snapshots.ipynb\n", "03/24/2025 09:18 AM 617,451 Working-With-Pandas-and-XArray.ipynb\n", " 28 File(s) 5,458,066 bytes\n", " 7 Dir(s) 607,781,314,560 bytes free\n" ] } ], "source": [ "!dir" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that you can interact with the dataset via the `cache` attribute of the dataset in the same way as you can with a regular dataset. However the in memory dataset does not implement methods that provide direct access to the data from the dataset object it self (get_parameter_data etc.) since these read data from the database. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Reloading data from db and exported file" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "ds = load_by_run_spec(captured_run_id=datasetinmem.captured_run_id)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "([],\n", " [None])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHHCAYAAACRAnNyAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUNpJREFUeJzt3Qd809X+//FPd+mEtrQUWvaSjShLZchwA+4t4gTHdVwH+HfrFcd1XBXRe/25By4QcaMylKkgW/ZqoaWU0Ul3/o/PaVPT0tJB2m/G6/l4BNI0TU6++SZ555zPOV8fm81mEwAAABfka3UDAAAAqkNQAQAALougAgAAXBZBBQAAuCyCCgAAcFkEFQAA4LIIKgAAwGURVAAAgMsiqAAAAJdFUAFcwDvvvCM+Pj6yc+dO8ST6mB599FGrm4F6KCkpkR49esi//vUvq5viNtq2bSvXXnttnf/uwIEDEhoaKt9++22DtMvdEVTc7IPMfvL395dWrVqZF8WePXvEFRw+fFh8fX3lhx9+MD/PmjVLgoKCJD8//5h/p2+E+pj0TbG+5s+fX2H7VD7NmDGj3reNv7322mtmX4Tn+/jjjyUpKUluu+02q5vi8aKjo+WGG26Qhx56yOqmuCR/qxuAunn88celXbt2kpeXJ0uXLjUfGr/99pusW7dOgoODLW3b8uXLzf8DBgww/y9ZskT69u1rwkp1kpOT5amnnjLfJpzhH//4h5x88slHXT5o0CBxZVdffbVcdtllx9xWrhJUYmJiav2t8ciRIyZUw/0899xzZp+MjIy0uileYeLEifLyyy/LL7/8IqeffrrVzXEpvIO4mbPOOktOOukkc14TuH5oPPPMM/LVV1/JJZdcYnlQ6dKlizRt2rQ8qNhDS3XuueceGThwoBQXF0t6evpxt+G0006Tiy66SNxFTk6OCWl+fn7m5GmsDs+onz///FNWr14tzz//vNVN8RonnHCC6VXWL58ElYoY+nFz+sGstm3bVn7ZsGHDzKky/RasY6h2Wg+hwyL//ve/5b///a906NDBfKPXHonff/+9VvefkZFhAoaeNJj07t3bnN+3b5+sWLFCunbtan7W61W2cOFC+fzzz+Wll16SxvL222+bx/zWW29VuFx7dfRy+xix47Z58cUXpU2bNtKkSRMZOnSo6b2qbOPGjSYgRUVFmQ9nDZMaHqsavluwYIHccsstEhsbKwkJCdXWqOhzde6555phLb09vf+ePXuan9XMmTPNz3p//fr1Mx8ux9OuRYsWyd133y3Nmzc34en888+X/fv3V2jP+vXrTfvtQ2pV7WfHqlHR83rZ1q1bzf6ooVa/sU+YMEFyc3OlLvTvw8LCZPfu3WY76XkdDp02bZr5/dq1a80bvj4Wff4++uijKocr77zzTklMTDT7fseOHU3w1/oMO8d9QW+7ffv2EhISIqNHjzZDI3oA+ieeeMI8l/ocjR07Vg4ePCh1pUO41113ncTFxZm2dO/evcJ+qr1T+nrSk5630/uKj4+XwYMHm8DvuG22b98uZ5xxhtkGLVu2ND2y2t6afPnllxIYGChDhgypcHldnr+ioiKzXezvK7r/PPDAAzUOBavU1FRzm7pN9W/18el2dXx9zJ49W8455xzzuPQ6ej96f/ZtYKf7qAaANWvWmNevPnf6POt7j9L9Wb9Q6XOnX7R++umnKh+zvpb0y2BERIQZqrnjjjtMz3ZNarOP2Y0aNUrmzJlTq+fIq9jgFt5++23dc22///57hctfffVVc/n06dPLLxs6dKg5VTZ+/HhbmzZtyn/esWOH+du+ffvaOnbsaHvmmWdszz77rC0mJsaWkJBgKygoqLFdej96GzWdKrenqKjI1qtXL9vNN99cfjvdu3e31de8efPM/bz11lu2/fv3H3UqKSkpv+65555ri4yMtO3evdv8vGbNGltgYKDt+uuvP2rb9OzZ09a2bVuzbR577DFbVFSUrXnz5rbU1NTy665bt87cXrdu3cz19DkZMmSIzcfHxzZz5syjnkO9nj7eV155xfb0009X+J3er50+V126dLHFx8fbHn30UduLL75oa9WqlS0sLMz2wQcf2Fq3bm3+Xk96//ocFhcX17tduh+cfvrppl3//Oc/bX5+frZLLrmk/HqzZs0y+0XXrl1t77//vjn9+OOPx3xe9HYfeeSR8p/1vP2+LrjgAttrr71mu+GGG8xl9913X52ec92fg4ODzeObOHGibdq0abbBgweb29LH1LJlS9u9995rHo/uW/p4tm/fXv73OTk5Zh+Mjo62PfDAA7bXX3/dds0115jtc8cddxy1L/Tp08fc1wsvvGB78MEHzT4zcOBA87d6vy+//LLtH//4h/n7CRMm1Omx6P6k2zYxMdH2+OOPm9fz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ffdJx44dzVRw1G0Y4qOPPpLZs2eb2jV73YkWges6QPq/DhXr+7Zu94iICLn99ttNSBk4cKDVzfeY7bxt2zbz+7PPPtusV6M1KjotfMiQIWZYs8FZMtfIxb3yyiu21q1b2wIDA8105aVLl1rdJI9z6aWX2uLj4802btWqlfl569atVjfL7c2bN89MK6x80umy9inKDz30kC0uLs5MSx4xYoRt06ZNVjfbo7Zzbm6ubfTo0bbmzZubqbNt2rSx3XjjjbbU1FSrm+12qtrGenr77bfLr3PkyBHbLbfcYmvWrJktJCTEdv7559tSUlIsbbenbefdu3fbhgwZYouKijLvGx07drTde++9toyMjEZpn09ZIwEAAFwONSoAAMBlEVQAAIDLIqgAAACXRVABAAAui6ACAABcFkEFAAC4LIIKAABwWQQVAADgsggqAFzeO++8Yw5c2VCuvvpqeeqpp+r0N99//7306dPHHA8MQMMhqABeSI/lcccdd5jjzwQHB0tcXJyccsopMn36dMnNzXWZAFEX69evN8fXadu2rfj4+JjjdNXG6tWr5dtvv5V//OMf5YewnzhxYpXXff/99yUoKEjS09PlzDPPNAfE+/DDD536OABURFABvMz27dulb9++8uOPP5pehD///FOWLFliDpynh3j/6aefxB1pwGrfvr08/fTT5mCAtfXKK6/IxRdfLGFhYeZnPcjdjBkz5MiRI0dd9+2335YxY8ZITEyM+fnaa6+Vl19+2YmPAsBRGuWIQgBcxhlnnGFLSEiwZWdnV/l7PXCh3fPPP2/r0aOHOdib/s2kSZNsWVlZ1R6Y75FHHjG/y8vLs/3zn/+0tWzZ0vytHtxTr38shw4dst1000222NhYc+Cz7t272+bMmWN+pwdHi4yMtH3//fe2rl272kJDQ83j2Lt3b5W3pQcCfPHFF2vcFkVFReZ2v/766/LL9u/fbw6W+f7771e47vbt220+Pj627777rvyyXbt2mcfNATWBhkOPCuBFDhw4YHpS9LDuoaGhVV5Hh03sfH19TY+BDqu8++678ssvv5ieFzV48GAzvBIRESEpKSnmdM8995jf3XbbbaaXRnsm9JDw2mOhQyVbtmyp8j61zuOss86SRYsWyQcffCAbNmwwPSN+fn4Vekz+/e9/m+GXhQsXyu7du8vvr760bRkZGXLSSSeVX6a9JWPHjpW33nrrqGGuhIQEGT16dPllrVu3NsNmv/7663G1A8AxNGAIAuBili5danoAZs6cWeHy6Oho00uhp/vuu6/av//ss8/Mde3sPR2OtJfBz8/PtmfPngqXjxgxwjZlypQqb/eHH36w+fr62jZt2lTl7/V+KvdcTJs2zRYXF3dcPSqzZs0ybXXsRVLac6O9J9qLovT3epsPPvjgUbfRt29f26OPPlrjfQGoH/9jhRgA3mH58uWmV+PKK6+U/Pz88su1XmXq1KmyceNGyczMlKKiIsnLyzO9GyEhIVXe1tq1a6W4uFg6d+5c4XK93ejo6Cr/ZtWqVaa3ovLfONL769ChQ/nP8fHxkpaWJsdD61C0ONaxF0mNGjXKtEdrUh5//HH5+eefTQ/OhAkTjrqNJk2a1KkAGUDdEFQAL6KzfPRDedOmTRUu1yJU+4eu3c6dO+Xcc8+VSZMmyb/+9S+JioqS3377zRSbFhQUVBtUsrOzzZDNihUrKgzdKHvBamWO91sdnWHjSB+HzaYdLfWnwzwaMvTxBAYGVhjy0kJZHe569NFHTWAZPnx4+XZydPDgQWnevPlxtQNA9ahRAbyI9mhob8Grr74qOTk5x7yuBg3tZXn++edl4MCBprdj7969Fa6jH+7ae+JIZxTpZdrbocHI8VTdbJxevXpJcnKybN68WRqTroOitCamMu09SUpKkpkzZ8qsWbNMQKtMe5e2bdtmHjOAhkFQAbzMa6+9ZoZwtID0k08+kb/++sv0sGgRqw7x2HtBNFgUFhaa6bs6pVmLWF9//fUKt6VrlmgPig6N6Noi2juhgUaHkK655hrzIb9jxw4ztKRDSN98802VbRo6dKgMGTLErIMyd+5c8zffffedWVSttrRXRIeQ9KTn9+zZY85v3bq12r/RnpATTzzR9BRV1q5dOzn99NPlpptuMsNDF1xwwVHXWbp0qfndoEGDat1OAHVUz9oWAG5Mp/Xedttttnbt2tkCAgJsYWFhZgrxc889Z8vJySm/3gsvvGCLj4+3NWnSxEwHfu+990xRq04ltps4caIpsHWcnlxQUGB7+OGHbW3btjW3r7dx/vnn29asWVNtmw4cOGCbMGGCua3g4GAzLdo+bbiqol0thHV8C9uxY8dR06X1NHTo0GNui9dee802cODAKn/30Ucfmdu45ZZbqvy9Tqe++eabj3n7AI6Pj/5T13ADAJ5CC2q7dOliepfq0jOiPUj6d3/88YfpfQHQMBj6AeDVtJD3vffeM8GjLrTYWIfRCClAw6JHBQAAuCx6VAAAgMsiqAAAAJdFUAEAAC6LoAIAAFwWQQUAALgsggoAAHBZBBUAAOCyCCoAAMBlEVQAAIC4qv8Pz/+WftjtrWgAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_dataset(ds)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When a dataset is loaded using ``load_by_run_spec`` and related functions QCoDeS will first check if the data is available in the database. If not if will check if the data has been exported to ``netcdf`` and then try to load the data from the last known export location. If this fails a warning will be raised and the dataset will be loaded without any raw data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A dataset can also be loaded directly from the netcdf file. See [Exporting QCoDes Datasets](./Exporting-data-to-other-file-formats.ipynb) for more information on how this is done. Including information about how you can change the ``netcdf`` location." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.12.7" }, "nbsphinx": { "timeout": 60 }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }