{ "cells": [ { "cell_type": "markdown", "id": "e99ac102-0e20-4e55-839b-ae9b69708a95", "metadata": {}, "source": [ "# Interfaceing HDF5 files following the Standard Name Convention\n", "\n", "Let's remember, that standard names are set to identify certain datasets in the HDF5 file. Those datasets have a special meaning to the user and are likely to be frequently used in the analysis of the data.\n", "\n", "For this purpose a high-level interface `HDF5StandardNameInterface` is written, which facilitates the work with such HDF5 data.\n", "It scans the HDF5 file for all standard names and creates a class property for each" ] }, { "cell_type": "code", "execution_count": 3, "id": "83c8571d-1a21-41e4-83ed-393d5ffef8b4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Convention \"h5rdmtoolbox-tutorial-convention\" filename: C:\\Users\\da4323\\AppData\\Local\\h5rdmtoolbox\\h5rdmtoolbox\\cache\\10.5281_zenodo.8357399\n", "creating directory for the convention\n", "No special functions defined\n", "Found 0 function(s) in C:\\Users\\da4323\\AppData\\Local\\h5rdmtoolbox\\h5rdmtoolbox\\conventions\\h5rdmtoolbox_tutorial_convention\\h5rdmtoolbox_tutorial_convention.py\n" ] }, { "data": { "text/plain": [ "using(\"h5rdmtoolbox-tutorial-convention\")" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import h5rdmtoolbox as h5tbx\n", "\n", "from h5rdmtoolbox.convention.standard_names import HDF5StandardNameInterface\n", "\n", "import numpy as np\n", "\n", "cv = h5tbx.convention.from_zenodo('https://zenodo.org/record/8357399')\n", "cv.properties[h5tbx.File]['data_type'].make_optional()\n", "cv.properties[h5tbx.File]['contact'].make_optional()\n", "h5tbx.use(cv)" ] }, { "cell_type": "code", "execution_count": 4, "id": "c4165dca-e62b-4058-98ae-c111eba3aa82", "metadata": {}, "outputs": [], "source": [ "with h5tbx.File() as h5:\n", " h5.create_dataset('x', data=[-4, 1, 3, 5, 10],\n", " standard_name='x_coordinate',\n", " units='m', make_scale=True)\n", " h5.create_dataset('y', data=[10, 11, 13],\n", " standard_name='y_coordinate',\n", " units='m', make_scale=True)\n", " h5.create_dataset('u', np.random.rand(3, 5),\n", " standard_name='x_velocity',\n", " units='m/s',\n", " attach_scales=('y', 'x'))\n", " h5.create_dataset('v', np.random.rand(3, 5),\n", " standard_name='y_velocity',\n", " units='m/s',\n", " attach_scales=('y', 'x'))\n", " h5.create_dataset('dudx', np.random.rand(3, 5),\n", " standard_name='derivative_of_x_velocity_wrt_x_coordinate',\n", " units='1/s')" ] }, { "cell_type": "code", "execution_count": 5, "id": "8cf5c7f8-2151-45a7-a358-85c4dc3821f7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['x_coordinate',\n", " 'y_coordinate',\n", " 'derivative_of_x_velocity_wrt_x_coordinate',\n", " 'y_velocity',\n", " 'x_velocity']" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "h5sni = HDF5StandardNameInterface.from_hdf(h5.hdf_filename)\n", "h5sni.standard_names" ] }, { "cell_type": "code", "execution_count": 6, "id": "1abaede0-1b82-4b9f-9e6e-55baaa2b66fa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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55+HhYWFXO0zESIiIiK1lZqaipSUFNTX16NPnz4AgD/++AO6urpwc3PDRx99hDfffBNnzpyBu7t7m9vnW2NERESaSEveGnv++efh5+eH27dvIzk5GcnJycjLy8Ozzz6LadOm4datWxg1ahSWLFkiV/tMhIiIiDRQw9CYooe6e//997Fu3TqYmppKyszMzLB69Wps2rQJxsbGiIyMRHJyslztMxEiIiIitVVWVoaioqJG5cXFxSgvLwcAmJubo6amRq72mQgRERFpIi0aGps9eza+/vpr5OXlIS8vD19//TVCQ0MxadIkAMCFCxfQu3dvudrnZGkiIiINpQlDW4rauXMnlixZgpdffhl1dXUAAD09PQQHB2PLli0AADc3N/z73/+Wq30mQkRERJpIEB4eirah5jp37ozdu3djy5Yt+PPPPwEAPXr0QOfOnSV1GhZclAcTISIiIlJ7nTt3hoeHh9LbZSJERESkgbRlQcUGV69eRU5OTqNJ0RMnTlSoXSZCREREmkhLttj4888/ERQUhMuXL0MkEkH4/+E8kUgEAKivr1eofb41RkRERGpr0aJFcHFxQVFREYyNjfH777/j9OnTGDx4MBISEhRunz1CREREGkgkfngo2oa6O3/+PH766SdYWVlBR0cHOjo6GDFiBKKiorBw4UKkpqYq1D57hIiIiDSRlqwjVF9fjy5dugAArKyscPv2bQCAk5MT0tPTFW6fPUJERESktvr374+LFy/CxcUF3t7e2LRpEwwMDLBr1y706NFD4faZCBEREWkgbXlr7N1330VlZSUAYO3atZgwYQJGjhwJS0tLHDp0SOH2mQgRERFpIi1ZUNHf31/y5549e+L69eu4e/cuunbtKnlzTBFMhIiIiEitVVVV4dKlSygqKoJYLD3Dm+sIERERaSFtGRo7ceIEZsyYgTt37jS6JhKJuI4QERGRVtKSt8YWLFiAKVOmID8/H2KxWOpQNAkC2CNERESkkbSlR6iwsBDh4eGwsbFRSfvsESIiIiK19dJLLyllBemmsEeIiIhIE2nJW2Pbt2/H5MmT8csvv2DAgAHQ19eXur5w4UKF2mciREREpIG0ZWjss88+ww8//AAjIyMkJCRIvTIvEomYCBEREdGT65133sGaNWvw1ltvQUdH+TN61GqO0OnTpxEYGAh7e3uIRCIcOXJE6rogCIiMjISd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trYWv/32G9zd3VtdRxZXV1fo6+sjMTFRUnbv3j388ccfrXpWWe7cuYP09HS8++67GDt2LPr27Yt79+41qmdgYID6+nrJubu7OwwNDZGTk4OePXtKHa35GcqrvLwc2dnZ8PLykpRlZWWhrKxMquzy5csQBAEDBgxQWSxE1DHYI0SkRNOnT8fSpUuxe/du7N+/v1X3GBkZYcWKFVi+fDkMDAwwfPhwFBcX4/fff0doaCjmzp2LZcuWwcLCAo6Ojti0aRMePHiA0NBQAA97elqqI0vnzp0RGhqKZcuWwdLSEt26dcM777wDHR35//+oa9eusLS0xK5du2BnZ4ecnBy89dZbjeo5OzsjMTER2dnZ6Ny5MywsLLB06VIsWbIEYrEYI0aMQFlZGc6ePQtTU1MEBwfLHVNzLl68CF1dXfTv319SlpaWBgsLCzg5OUmVubq6onPnziqJg4g6DhMhIiUyMzPDiy++iO+++w6TJk1q9X0rV66Enp4eIiMjcfv2bdjZ2eH1118HAGzcuBFisRgzZszA/fv3MXjwYHz//ffo2rWr5P7W1JHl/fffR0VFBQIDA9GlSxe8+eabKCsrk+vZAUBHRwcHDx7EwoUL0b9/f/Tp0wcffvghfH19peotXboUwcHBcHd3x19//YWsrCysW7cO1tbWiIqKwp9//glzc3M8/fTTePvtt+WOpyUXL15Enz59YGRkJFX2aG9QQxmHxYieTCJBEISODoLoSTJ27Fj069cPH374YUeHQkRELWAiRKQk9+7dQ0JCAl566SVcvXq1VW9fERFRx+LQGJGSeHl54d69e3jvvfekkqCcnJxmJy1fvXoVjo6O7REiERE9hj1CRCpWV1eH7OzsJq87OztDT4//T0JE1BGYCBEREZHW4jpCREREpLWYCBEREZHWYiJEREREWouJEBEREWktJkJERESktZgIERERkdZiIkRERERai4kQERERaS0mQkRERKS1/g/95C1We248mQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "h5sni.velocity.plot()\n", "h5sni.velocity.plot.quiver()" ] } ], "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.8.18" } }, "nbformat": 4, "nbformat_minor": 5 }