{ "cells": [ { "metadata": {}, "cell_type": "raw", "source": "" }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exemple de préparation de projet\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fichiers de configurations et formats\n", "### information sur le bassin versant\n", "- [ ] Décrire le format, ce qui est optionel et ce qui est nécéssaire, à quoi correspondent les valeurs et les unités\n", "### meteo_file.csv\n", "Ce fichier se trouve référencer dans le fichier d'information sur le bassin versant\n", "- [ ] Décrire le format, ce qui est optionel et ce qui est nécéssaire, à quoi correspondent les valeurs et les unités\n", "### parametres.txt\n", "Ce fichier contient les valeurs par défaut et les bornes pour la calibration\n", "- [ ] Je crois que pour l'instant, les bornes ne sont pas utilisées. Valider l'utilisation de ce fichier. Ce devra potentillement être modifié pour être compatible avec spotpy...\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2024-12-20T21:35:24.326382Z", "start_time": "2024-12-20T21:35:23.184683Z" } }, "source": [ "import hsamiplus\n", "import os" ], "outputs": [], "execution_count": 2 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2024-12-20T21:35:24.497096Z", "start_time": "2024-12-20T21:35:24.479984Z" } }, "source": [ "# Dossier où se trouvent les fichiers\n", "data_dir = os.path.join('..','..', 'data')\n", "# Fichier informations\n", "basin_file = os.path.join(data_dir, 'bassin_versant_info.txt')\n", "\n", "#Fichier paramètres\n", "param_file = os.path.join(data_dir, 'parametres.txt')\n", "\n", "# Données météos\n", "projet_file = os.path.join(data_dir, '5_ans.json')" ], "outputs": [], "execution_count": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Création d'un fichier de projet\n", "Hsami+ a besoin d'un dictionnaire contenant les données pour effectuer une simulations.\n", "\n", "La fonction 'make_project' permet de créer un fichier json à partir des différents fichiers de configurations." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2024-12-20T21:35:25.385189Z", "start_time": "2024-12-20T21:35:24.692347Z" } }, "source": [ "hsamiplus.make_project(data_dir, basin_file, param_file, projet_file)" ], "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/tjs/git/hsamiplus/src/hsamiplus/hsami_input.py:204: FutureWarning: The 'delim_whitespace' keyword in pd.read_csv is deprecated and will be removed in a future version. Use ``sep='\\s+'`` instead\n", " df_param = pd.read_csv(param_file, header=0, delim_whitespace=True)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Le fichier de projet HSAMI ../../data/5_ans.json a été créé !\n" ] } ], "execution_count": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Utilisaion d'un fichier de projet\n", "Lorsqu'un fichier 'json' de projet est disponbile, on peut utiliser la fonction 'hsamibin' pour effectuer une simulation. Cette fonction retourne ..." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2024-12-20T21:36:07.267938Z", "start_time": "2024-12-20T21:35:25.745890Z" } }, "source": [ "simulation, etats, deltas = hsamiplus.hsamibin(data_dir, '5_ans.json')" ], "outputs": [], "execution_count": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Simulation avec les données en mémoire\n", "La simulation avec le fichier de projet implique la lecture du fichier de projet et l'écriture des résultats. Dans le cas de la calibration, l'on veut éviter ces étapes de lectures / écriture. Lorsque les données sont chargées en mémoire dans un dictionaire, on peut donc utiliser 'hsami2' pour effectuer la simulation.\n" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2024-12-20T21:36:07.466771Z", "start_time": "2024-12-20T21:36:07.338821Z" } }, "source": [ "import json\n", "from pathlib import Path\n", "\n", "filename = '5_ans.json'\n", "with Path.open(Path(data_dir) / filename) as file:\n", " projet = json.load(file)" ], "outputs": [], "execution_count": 6 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2024-12-20T21:36:43.345093Z", "start_time": "2024-12-20T21:36:07.480212Z" } }, "source": [ "simulation, etats, deltas = hsamiplus.hsami2(projet)" ], "outputs": [], "execution_count": 7 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2024-12-20T21:37:26.758457Z", "start_time": "2024-12-20T21:36:43.376104Z" } }, "source": [ "import cProfile\n", "import pstats\n", "\n", "cProfile.run('hsamiplus.hsami2(projet)', 'profile_results')\n", "stats = pstats.Stats('profile_results')\n", "stats.sort_stats('tottime').print_stats()" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fri Dec 20 16:37:26 2024 profile_results\n", "\n", " 20000414 function calls (20000399 primitive calls) in 43.316 seconds\n", "\n", " Ordered by: internal time\n", "\n", " ncalls tottime percall cumtime percall filename:lineno(function)\n", " 23741 9.426 0.000 9.466 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_interception.py:180(dj_hsami)\n", " 23741 3.440 0.000 7.152 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_ecoulement_vertical.py:217(ecoulement_3couches)\n", " 973016 3.150 0.000 3.150 0.000 {method 'reduce' of 'numpy.ufunc' objects}\n", " 474455 3.032 0.000 4.129 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/lib/_nanfunctions_impl.py:70(_replace_nan)\n", " 7527 2.202 0.000 2.782 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/scipy/optimize/_optimize.py:2226(_minimize_scalar_bounded)\n", " 973016 1.700 0.000 5.470 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:69(_wrapreduction)\n", " 191831 1.302 0.000 1.302 0.000 {method 'round' of 'numpy.generic' objects}\n", " 23741 1.290 0.000 18.210 0.001 /home/tjs/git/hsamiplus/src/hsamiplus/hsami2_noyau.py:560(ruissellement_ecoulement)\n", " 47482 1.208 0.000 3.382 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_hydrogramme.py:8(hsami_hydrogramme)\n", " 973016 1.205 0.000 6.894 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:2338(sum)\n", " 1 0.933 0.933 42.271 42.271 /home/tjs/git/hsamiplus/src/hsamiplus/hsami2.py:342(hsami_simulation)\n", " 640643 0.922 0.000 0.922 0.000 {built-in method numpy.array}\n", " 474455 0.830 0.000 8.178 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/lib/_nanfunctions_impl.py:635(nansum)\n", " 23741 0.800 0.000 4.073 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami2_noyau.py:819(bilan_sorties)\n", " 94964 0.761 0.000 1.340 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/lib/_shape_base_impl.py:1204(tile)\n", " 23741 0.747 0.000 16.792 0.001 /home/tjs/git/hsamiplus/src/hsamiplus/hsami2_noyau.py:392(etp_glace_interception)\n", " 47482 0.726 0.000 0.726 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_etp.py:741(etp_rayonnement_et)\n", " 47482 0.640 0.000 2.838 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_etp.py:8(hsami_etp)\n", " 2324962 0.624 0.000 0.624 0.000 {built-in method builtins.min}\n", " 23741 0.567 0.000 1.421 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_mhumide.py:8(hsami_mhumide)\n", " 23741 0.500 0.000 41.172 0.002 /home/tjs/git/hsamiplus/src/hsamiplus/hsami2_noyau.py:20(hsami2_noyau)\n", " 174967 0.399 0.000 0.465 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_ecoulement_vertical.py:574(fctobj)\n", " 23741 0.397 0.000 0.523 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_ecoulement_horizontal.py:8(hsami_ecoulement_horizontal)\n", " 1699944 0.352 0.000 0.352 0.000 {built-in method builtins.isinstance}\n", " 569419 0.332 0.000 0.332 0.000 {built-in method numpy.asanyarray}\n", " 472917 0.303 0.000 0.303 0.000 {built-in method builtins.getattr}\n", " 261151 0.266 0.000 1.923 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:51(_wrapfunc)\n", " 23741 0.266 0.000 0.266 0.000 {method 'strftime' of 'datetime.date' objects}\n", " 1192910 0.241 0.000 0.241 0.000 {method 'append' of 'list' objects}\n", " 973023 0.230 0.000 0.230 0.000 {method 'items' of 'dict' objects}\n", " 47482 0.228 0.000 0.313 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_etp.py:909(etp_rayonnement_net)\n", " 621994 0.210 0.000 0.210 0.000 {built-in method builtins.max}\n", " 142446 0.206 0.000 0.206 0.000 {method 'repeat' of 'numpy.ndarray' objects}\n", " 47482 0.195 0.000 0.286 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_etp.py:674(etp_duree_jour)\n", " 237410 0.187 0.000 0.187 0.000 {method 'reshape' of 'numpy.ndarray' objects}\n", " 23741 0.169 0.000 0.280 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/lib/_function_base_impl.py:5644(append)\n", " 213669 0.166 0.000 1.944 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:3618(round)\n", " 23741 0.152 0.000 0.264 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/shape_base.py:220(vstack)\n", " 94964 0.148 0.000 0.148 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_etp.py:860(etp_e)\n", " 973016 0.143 0.000 0.143 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:2333(_sum_dispatcher)\n", " 23741 0.141 0.000 9.648 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_interception.py:8(hsami_interception)\n", " 47482 0.138 0.000 0.138 0.000 {built-in method numpy.arange}\n", " 47482 0.131 0.000 0.301 0.000 {method 'sum' of 'numpy.generic' objects}\n", " 47482 0.108 0.000 0.394 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_etp.py:784(etp_rayonnement_g)\n", " 21838 0.103 0.000 0.103 0.000 {method 'round' of 'numpy.ndarray' objects}\n", " 38795 0.092 0.000 0.133 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:3566(size)\n", " 47482 0.091 0.000 0.091 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_etp.py:698(etp_declinaison)\n", " 474455 0.085 0.000 0.085 0.000 {built-in method builtins.issubclass}\n", " 474455 0.078 0.000 0.078 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/multiarray.py:1098(copyto)\n", " 316053 0.075 0.000 0.075 0.000 {built-in method builtins.len}\n", " 474455 0.074 0.000 0.074 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/lib/_nanfunctions_impl.py:630(_nansum_dispatcher)\n", " 284892 0.072 0.000 0.072 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/lib/_shape_base_impl.py:1287()\n", " 2/1 0.068 0.034 43.315 43.315 :1()\n", " 189928 0.067 0.000 0.067 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/lib/_shape_base_impl.py:1277()\n", " 524901 0.066 0.000 0.066 0.000 {built-in method builtins.abs}\n", " 23741 0.066 0.000 0.100 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/shape_base.py:80(atleast_2d)\n", " 21838 0.065 0.000 0.207 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:41(_wrapit)\n", " 23741 0.062 0.000 7.215 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_ecoulement_vertical.py:9(hsami_ecoulement_vertical)\n", " 15054 0.060 0.000 0.105 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/scipy/optimize/_optimize.py:181(is_finite_scalar)\n", " 23741 0.057 0.000 0.064 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_glace.py:8(hsami_glace)\n", " 71225 0.056 0.000 0.056 0.000 {built-in method numpy.zeros}\n", " 94964 0.056 0.000 0.056 0.000 {method 'transpose' of 'numpy.ndarray' objects}\n", " 47482 0.055 0.000 0.119 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_etp.py:832(etp_m_courbe_pression)\n", " 47482 0.045 0.000 0.045 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_etp.py:609(etp_priestley_taylor)\n", " 23376 0.045 0.000 0.045 0.000 {method 'tolist' of 'numpy.generic' objects}\n", " 47482 0.044 0.000 0.188 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:462(repeat)\n", " 94964 0.042 0.000 0.066 0.000 {built-in method builtins.all}\n", " 31268 0.041 0.000 0.041 0.000 {built-in method numpy.asarray}\n", " 7527 0.040 0.000 2.864 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_ecoulement_vertical.py:517(green_ampt)\n", " 7527 0.039 0.000 2.821 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/scipy/optimize/_optimize.py:2135(fminbound)\n", " 23741 0.038 0.000 0.095 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:1904(ravel)\n", " 119219 0.036 0.000 0.036 0.000 {method 'keys' of 'dict' objects}\n", " 23376 0.036 0.000 0.036 0.000 {method 'tolist' of 'numpy.ndarray' objects}\n", " 23741 0.035 0.000 0.065 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/copy.py:61(copy)\n", " 213669 0.034 0.000 0.034 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:3614(_round_dispatcher)\n", " 23741 0.029 0.000 0.029 0.000 {method 'ravel' of 'numpy.ndarray' objects}\n", " 47482 0.028 0.000 0.170 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/_methods.py:50(_sum)\n", " 55013 0.028 0.000 0.028 0.000 {method 'get' of 'dict' objects}\n", " 23741 0.024 0.000 0.024 0.000 {method 'copy' of 'numpy.ndarray' objects}\n", " 23746 0.020 0.000 0.020 0.000 {built-in method builtins.hasattr}\n", " 23741 0.020 0.000 0.020 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_ruissellement_surface.py:6(hsami_ruissellement_surface)\n", " 47482 0.020 0.000 0.020 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_etp.py:882(etp_chaleur_lat_vaporisation)\n", " 47482 0.019 0.000 0.019 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_etp.py:958(etp_rayonnement_temps_clair)\n", " 23741 0.019 0.000 0.055 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/shape_base.py:216(_vhstack_dispatcher)\n", " 21838 0.019 0.000 0.019 0.000 {method 'as_arrays' of 'numpy._core._multiarray_umath._array_converter' objects}\n", " 94964 0.018 0.000 0.018 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/lib/_shape_base_impl.py:1200(_tile_dispatcher)\n", " 23741 0.016 0.000 0.036 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/shape_base.py:208(_arrays_for_stack_dispatcher)\n", " 23741 0.015 0.000 0.015 0.000 {method 'copy' of 'dict' objects}\n", " 21838 0.015 0.000 0.015 0.000 {method 'wrap' of 'numpy._core._multiarray_umath._array_converter' objects}\n", " 6571 0.011 0.000 0.011 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_interception.py:1662(gel_sol)\n", " 47482 0.010 0.000 0.010 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/multiarray.py:180(concatenate)\n", " 47482 0.008 0.000 0.008 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:458(_repeat_dispatcher)\n", " 38795 0.007 0.000 0.007 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:3562(_size_dispatcher)\n", " 804 0.006 0.000 0.012 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/ipykernel/ipkernel.py:775(_clean_thread_parent_frames)\n", " 5046 0.006 0.000 0.006 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_interception.py:1790(percolation_eau_fonte)\n", " 23741 0.005 0.000 0.005 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/lib/_function_base_impl.py:5640(_append_dispatcher)\n", " 6495 0.005 0.000 0.005 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_interception.py:1752(gel_neige)\n", " 23741 0.004 0.000 0.004 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/fromnumeric.py:1900(_ravel_dispatcher)\n", " 23741 0.004 0.000 0.004 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/numpy/_core/shape_base.py:76(_atleast_2d_dispatcher)\n", " 2/1 0.004 0.002 43.099 43.099 /home/tjs/git/hsamiplus/src/hsamiplus/hsami2.py:12(hsami2)\n", " 7527 0.003 0.000 0.003 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/scipy/optimize/_optimize.py:3579(_endprint)\n", " 7527 0.003 0.000 0.003 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/scipy/optimize/_optimize.py:172(_check_unknown_options)\n", " 402 0.003 0.000 0.003 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/threading.py:1535(enumerate)\n", " 954 0.002 0.000 0.002 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami_interception.py:1705(degel_sol)\n", " 3216 0.002 0.000 0.002 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/threading.py:1198(ident)\n", " 1 0.001 0.001 0.001 0.001 {method 'execute' of 'sqlite3.Connection' objects}\n", " 1 0.001 0.001 0.164 0.164 /home/tjs/git/hsamiplus/src/hsamiplus/hsami2.py:277(hsami_etat_initial)\n", " 42 0.001 0.000 0.001 0.000 {built-in method time.sleep}\n", " 404 0.000 0.000 0.000 0.000 {method '__exit__' of '_thread.RLock' objects}\n", " 804 0.000 0.000 0.000 0.000 {method 'values' of 'dict' objects}\n", " 8 0.000 0.000 0.002 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/base_events.py:1915(_run_once)\n", " 43 0.000 0.000 0.000 0.000 {built-in method posix.getppid}\n", " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", " 8 0.000 0.000 0.000 0.000 {method 'poll' of 'select.epoll' objects}\n", " 8 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/selectors.py:451(select)\n", " 2/1 0.000 0.000 43.315 43.315 {built-in method builtins.exec}\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/ipykernel/iostream.py:127(_event_pipe_gc)\n", " 10 0.000 0.000 0.000 0.000 {method 'run' of '_contextvars.Context' objects}\n", " 8 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/tasks.py:653(sleep)\n", " 10 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/events.py:86(_run)\n", " 1 0.000 0.000 0.005 0.005 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/decorator.py:229(fun)\n", " 8 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/events.py:36(__init__)\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/ipykernel/iostream.py:118(_run_event_pipe_gc)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/inspect.py:3133(_bind)\n", " 12 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/threading.py:1222(is_alive)\n", " 18 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/base_events.py:733(time)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/IPython/core/history.py:833(_writeout_input_cache)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/IPython/core/history.py:55(only_when_enabled)\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/base_events.py:742(call_later)\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/events.py:155(cancel)\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/base_events.py:813(_call_soon)\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/base_events.py:766(call_at)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/IPython/core/history.py:845(writeout_cache)\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/base_events.py:784(call_soon)\n", " 6 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:676(__get__)\n", " 4 0.000 0.000 0.000 0.000 {method 'set_result' of '_asyncio.Future' objects}\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:3631(set)\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/ipykernel/iostream.py:718(_rotate_buffers)\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/base_events.py:446(create_future)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:1527(_notify_observers)\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/futures.py:313(_set_result_unless_cancelled)\n", " 15/3 0.000 0.000 0.000 0.000 {method 'acquire' of '_thread.lock' objects}\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/decorator.py:199(fix)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami2.py:251(modules_par_defaut)\n", " 6 0.000 0.000 0.000 0.000 {built-in method _heapq.heappop}\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:718(_validate)\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:3474(validate)\n", " 2 0.000 0.000 0.000 0.000 {method '__exit__' of 'sqlite3.Connection' objects}\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:689(set)\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/events.py:111(__init__)\n", " 18 0.000 0.000 0.000 0.000 {built-in method time.monotonic}\n", " 6 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:629(get)\n", " 12 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/threading.py:1155(_wait_for_tstate_lock)\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/ipykernel/iostream.py:616(_flush)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/inspect.py:3272(bind)\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:3624(validate_elements)\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/tornado/ioloop.py:742(_run_callback)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/inspect.py:2949(apply_defaults)\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:727(_cross_validate)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:1512(_notify_trait)\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:708(__set__)\n", " 5 0.000 0.000 0.000 0.000 {built-in method math.ceil}\n", " 11 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects}\n", " 10 0.000 0.000 0.000 0.000 {method 'popleft' of 'collections.deque' objects}\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/ipykernel/iostream.py:710(_flush_buffers)\n", " 8 0.000 0.000 0.000 0.000 {method '__exit__' of '_thread.lock' objects}\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/inspect.py:2896(args)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:1523(notify_change)\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:2304(validate)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/threading.py:311(_acquire_restore)\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/events.py:72(cancel)\n", " 9 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/selector_events.py:750(_process_events)\n", " 6 0.000 0.000 0.000 0.000 {built-in method builtins.next}\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/IPython/core/history.py:839(_writeout_output_cache)\n", " 4 0.000 0.000 0.000 0.000 {built-in method _contextvars.copy_context}\n", " 10 0.000 0.000 0.000 0.000 /home/tjs/git/hsamiplus/src/hsamiplus/hsami2.py:234(set_default_module)\n", " 4 0.000 0.000 0.000 0.000 {built-in method _asyncio.get_running_loop}\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/threading.py:302(__exit__)\n", " 12 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/threading.py:601(is_set)\n", " 16 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/base_events.py:2010(get_debug)\n", " 8 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/base_events.py:538(_check_closed)\n", " 22 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/typing.py:2183(cast)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/threading.py:627(clear)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/inspect.py:2919(kwargs)\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/threading.py:299(__enter__)\n", " 4 0.000 0.000 0.000 0.000 {method 'cancelled' of '_asyncio.Future' objects}\n", " 2 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/site-packages/traitlets/traitlets.py:3486(validate_elements)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/threading.py:308(_release_save)\n", " 3 0.000 0.000 0.000 0.000 {method 'items' of 'mappingproxy' objects}\n", " 4 0.000 0.000 0.000 0.000 {built-in method _heapq.heappush}\n", " 1 0.000 0.000 0.000 0.000 {method 'values' of 'mappingproxy' objects}\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/events.py:127(__lt__)\n", " 10 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/inspect.py:2808(kind)\n", " 2 0.000 0.000 0.000 0.000 {method '__enter__' of '_thread.lock' objects}\n", " 1 0.000 0.000 0.000 0.000 {built-in method _thread.allocate_lock}\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/asyncio/base_events.py:1910(_timer_handle_cancelled)\n", " 2 0.000 0.000 0.000 0.000 {built-in method builtins.iter}\n", " 2 0.000 0.000 0.000 0.000 {method 'extend' of 'list' objects}\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/inspect.py:3089(parameters)\n", " 4 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/inspect.py:2796(name)\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/threading.py:314(_is_owned)\n", " 1 0.000 0.000 0.000 0.000 {method 'release' of '_thread.lock' objects}\n", " 1 0.000 0.000 0.000 0.000 /home/tjs/miniforge3/envs/hsamiplus/lib/python3.12/inspect.py:2888(__init__)\n", "\n", "\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 8 } ], "metadata": { "kernelspec": { "display_name": "hsamiplus", "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.8" } }, "nbformat": 4, "nbformat_minor": 2 }