{ "cells": [ { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true, "run_control": { "frozen": false, "read_only": false } }, "source": [ "# HDF5 Archives\n", "\n", "For numerical calculations, it's important to save data in a compact, portable and lightweight way, enabling easy data recovery. To this end, the objects in TRIQS\n", "are saved into hdf5 archives. TRIQS allows\n", "to recover objects directly, as they were saved. First, let's import the relevant module:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false }, "run_control": { "frozen": false, "read_only": false } }, "outputs": [], "source": [ "from h5 import HDFArchive" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true, "run_control": { "frozen": false, "read_only": false } }, "source": [ "# Writing to an archive\n", "\n", "We initialize a Green's function and write it to file together with a number" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false }, "run_control": { "frozen": false, "read_only": false } }, "outputs": [], "source": [ "from triqs.gfs import Gf, MeshReFreq, SemiCircular\n", "w_mesh = MeshReFreq(window=[-2,2], n_w=1000)\n", "G = Gf(mesh=w_mesh, target_shape=[])\n", "G << SemiCircular(1.0)\n", "\n", "with HDFArchive(\"my_archive.h5\",'w') as A:\n", " A['number'] = 12\n", " A['G'] = G" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true, "run_control": { "frozen": false, "read_only": false } }, "source": [ "Here, `'w'` means we overwrite the archive if there was an existing one. If you want to append information to an\n", "existing archive without destroying it, use `'a'`. An archive essentially behaves like a Python dictionary, i.e. we can put any object in there\n", "\n", "From the shell we can now see the new file and check what is in it" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false }, "run_control": { "frozen": false, "read_only": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "my_archive.h5\r\n" ] } ], "source": [ "!ls *.h5" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false }, "run_control": { "frozen": false, "read_only": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "G Group\r\n", "number Dataset {SCALAR}\r\n" ] } ], "source": [ "!h5ls my_archive.h5" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true, "run_control": { "frozen": false, "read_only": false } }, "source": [ "Note: The `!` allows you to run shell commands from the notebook. `h5ls` is a command that lists the entries in an archive." ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true, "run_control": { "frozen": false, "read_only": false } }, "source": [ "## Reading from an archive\n", "\n", "Of course, later on we want to read from our saved archive.\n", "We just open it again (the `'r'` flags means that we just read from the archive and\n", "cannot modify it)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false }, "run_control": { "frozen": false, "read_only": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "HDFArchive (partial view) with the following content:\n", " G : subgroup\n", " number : data \n", "Number = 12\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAGwCAYAAABIC3rIAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcl1JREFUeJzt3XdclXX/x/HXYR02iGxFBRcOxK1YOXKmlZbaHpZZmXbfuUq7S9uW2s6yfpW2h5VWWpp74hYHKoqiKDJEZG/O9fvjAowSZZxzrnM4n+fjcR4cDtd1zvsSD3z4Tp2iKApCCCGEEDbMTusAQgghhBBak4JICCGEEDZPCiIhhBBC2DwpiIQQQghh86QgEkIIIYTNk4JICCGEEDZPCiIhhBBC2DwHrQNYC4PBwPnz5/Hw8ECn02kdRwghhBA1oCgKOTk5BAcHY2dXfTuQFEQ1dP78eUJCQrSOIYQQQog6OHv2LE2bNq3261IQ1ZCHhweg/oN6enpqnEYIIYQQNZGdnU1ISEjl7/HqSEFUQxXdZJ6enlIQCSGEEFbmWsNdZFC1EEIIIWyeFERCCCGEsHlSEAkhhBDC5skYIiGEEMLMysrKKCkp0TpGg+Do6Ii9vX29n0cKIiGEEMJMFEUhJSWFzMxMraM0KN7e3gQGBtZrnUApiIQQQggzqSiG/P39cXV1lYV+60lRFPLz80lLSwMgKCiozs8lBZEQQghhBmVlZZXFUOPGjbWO02C4uLgAkJaWhr+/f527z2RQtRBCCGEGFWOGXF1dNU7S8FT8m9ZnXJYUREIIIYQZSTeZ8Rnj31QKIiGEEELYPKsriObOnUuPHj3w8PDA39+fUaNGERcXd83zli5dSnh4OM7OzkRERPDHH3+YIa0QQgghrIHVFUSbNm1i0qRJ7NixgzVr1lBSUsKQIUPIy8ur9pzt27dz9913M378ePbv38+oUaMYNWoUhw8fNmNyIYQQQlgqqyuIVq1axbhx4+jQoQORkZEsWbKExMRE9u7dW+057777LsOGDWPGjBm0a9eOl19+ma5du/LBBx+YMbkQQghTKSwp0zpCgzVu3Dh0Oh06nQ5HR0dCQ0N5+umnKSwsrPdzx8fH8/DDD9OsWTP0ej1NmjRh4MCBfPPNN5SWlhohfc1ZXUH0T1lZWQD4+PhUe0x0dDSDBg2q8tjQoUOJjo6u9pyioiKys7Or3IQQQlier6JP03HOapbvT9I6SoM1bNgwkpOTOXXqFG+//TYff/wxc+bMqddz7tq1i65du3L06FEWLlzI4cOH2bhxI4888ggfffQRsbGxRkpfM1a9DpHBYOCpp57iuuuuo2PHjtUel5KSQkBAQJXHAgICSElJqfacuXPn8uKLLxotqxBCCOOLT8vh5ZVHKTUo7D1ziVFdmmgdqVYURaFAg9YtF0f7Ws3M0uv1BAYGAhASEsKgQYNYs2YNb7zxBqD+Pn7jjTf45JNPSElJoU2bNjz//POMGTPmis+nKArjxo2jTZs2bNu2DTu7y+0zrVu35u6770ZRlHpcYe1ZdUE0adIkDh8+zNatW43+3LNmzWLq1KmVn2dnZxMSEmL01xFCCFE3pWUGpi09SHGpAbDObrOCkjLaz15t9tc98tJQXJ3qVgIcPnyY7du307x588rH5s6dy9dff82iRYto3bo1mzdv5r777sPPz49+/fr96zliYmI4evQo3333XZVi6O/MvTyB1RZEkydPZsWKFWzevJmmTZte9djAwEBSU1OrPJaamlpZ7V6JXq9Hr9cbJasQQgjj+2TLKQ6czaz8vLC8MBLGt2LFCtzd3SktLaWoqAg7O7vKcbhFRUW89tprrF27lqioKADCwsLYunUrH3/88RULouPHjwPQtm3bysfS0tIICwur/HzevHk88cQTprysKqyuIFIUhSeffJJly5axceNGQkNDr3lOVFQU69at46mnnqp8bM2aNZXfOCGEENbleGoO76w5AUDPFj7sOp1BQbH1tRC5ONpz5KWhmrxubQwYMICPPvqIvLw83n77bRwcHBg9ejSgDozOz89n8ODBVc4pLi6mS5cuNX6Nxo0bExMTA0D//v0pLi6uVcb6srqCaNKkSXz77bf8+uuveHh4VI4D8vLyqtzP5IEHHqBJkybMnTsXgP/+97/069ePN998kxEjRvD999+zZ88ePvnkE82uQwghRN2UlBmY9uMBissMDAz3Z0SnIHadzqCo1PoKIp1OV+euK3Nyc3OjVatWAHz++edERkby2WefMX78eHJzcwFYuXIlTZpUHcNVXU9L69atAYiLi6ssmuzt7Stfw8HB/P8mVjfL7KOPPiIrK4v+/fsTFBRUefvhhx8qj0lMTCQ5Obny8z59+vDtt9/yySefEBkZyU8//cTy5cuvOhBb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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "with HDFArchive(\"my_archive.h5\",'r') as A:\n", " # show the contents of the archive\n", " print(A)\n", " \n", " # read the number from A\n", " print(\"Number = \", A['number'])\n", " \n", " # read the Green's function\n", " G = A['G']\n", " \n", "from triqs.plot.mpl_interface import oplot\n", "%matplotlib inline\n", "oplot(G, name = 'G')" ] } ], "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" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "widgets": { "state": {}, "version": "1.1.1" } }, "nbformat": 4, "nbformat_minor": 4 }