From aeda145febd2dd19d429508fab5e780652d2d3a3 Mon Sep 17 00:00:00 2001
From: David Hendriks <davidhendriks93@gmail.com>
Date: Fri, 6 Sep 2019 13:43:18 +0100
Subject: [PATCH] Trying out things with automatic reading of the output line
 and parameter names. Also, trying to fix that the import binaryc works as its
 supposed

---
 README.md                                     |  19 +-
 build/temp.linux-x86_64-3.6/binary_c_python.o | Bin 49752 -> 50096 bytes
 .../example_notebook-checkpoint.ipynb         | 165 ++++++++++++++++++
 examples/example_notebook.ipynb               | 165 ++++++++++++++++++
 examples/full_evolution_with_plot.py          |   7 +-
 examples/log_filename_test.py                 |  43 +++++
 test_david.py => examples/loop_system.py      |  57 ++----
 examples/single_system.py                     |  40 +++++
 .../test_noteboo-checkpoint.ipynb             |   6 +
 tests_david/test_david.py                     |  36 ++++
 tests_david/test_import.py                    |   5 +
 tests_david/test_noteboo.ipynb                |  41 +++++
 tests_david/testing_automatic_log_readout.py  |  13 ++
 utils/__pycache__/defaults.cpython-35.pyc     | Bin 0 -> 5550 bytes
 utils/__pycache__/defaults.cpython-36.pyc     | Bin 4891 -> 4887 bytes
 utils/__pycache__/functions.cpython-35.pyc    | Bin 0 -> 461 bytes
 utils/__pycache__/functions.cpython-36.pyc    | Bin 405 -> 438 bytes
 utils/functions.py                            |   6 +-
 18 files changed, 549 insertions(+), 54 deletions(-)
 create mode 100644 examples/.ipynb_checkpoints/example_notebook-checkpoint.ipynb
 create mode 100644 examples/example_notebook.ipynb
 create mode 100644 examples/log_filename_test.py
 rename test_david.py => examples/loop_system.py (55%)
 create mode 100644 examples/single_system.py
 create mode 100644 tests_david/.ipynb_checkpoints/test_noteboo-checkpoint.ipynb
 create mode 100644 tests_david/test_david.py
 create mode 100644 tests_david/test_import.py
 create mode 100644 tests_david/test_noteboo.ipynb
 create mode 100644 tests_david/testing_automatic_log_readout.py
 create mode 100644 utils/__pycache__/defaults.cpython-35.pyc
 create mode 100644 utils/__pycache__/functions.cpython-35.pyc

diff --git a/README.md b/README.md
index 90c0ef452..b35e63ada 100644
--- a/README.md
+++ b/README.md
@@ -39,14 +39,31 @@ You will require whatever libraries with which binary_c was compiled, as well as
 
 If you want to be able to import the binary_c module correctly for child directories (or anywhere for that matter), execute or put the following code in your .bashrc/.zshrc: 
 ```
-export LD_LIBRARY_PATH=<full path to directory containing libbinary_c_api.so>
+export LD_LIBRARY_PATH=<full path to directory containing libbinary_c_api.so>:$LD_LIBRARY_PATH
+export PYTHONPATH=<full path to directory containing libbinary_c_api.so>:$PYTHONPATH
 ```
 
+Usage notes
+---------------------
+When running a jupyter notebook and importing binary_c, it might happen that the module binary_c cannot be found. I experienced this when I executed Jupyter Notebook from a virtual environment which didnt use the same python (version/binary/shim) as the one I built this library with. Make sure jupyter does use the same underlying python version/binary/shim. That resolved the issue for me.
+
+Also: I figured that having binaryc output the log like "<LOG HEADER> t=10e4 ..." (i.e. printing the parameter names as well as their values) would be useful because in that way one can easily have python read that out automatically instead of having to manually copy the list of parameter names.
+
+
+
 TODO 
 ---------------------
+General:
 - ?Put the header and src files in a dedicated directory. 
 - ?Have the compiled files be written into build
+- Get a more reliable way of loading the default values (running a ./tbse echo or something?)
+- make routine that reads out all the lines, splits them into pieces and reads out the correct key
+- Add PYTHONPATH thing to readme
+- Make sure importing binary_c is not a problem
+
+If we're going to do populations:
 - Use sphinx for auto generation of docs
 - Use queueing system/asynchronous task queue
 - Make some parse-data that can be easily used
 - Make some simple script to assign probabilities
+- rebuild all perl stuff into a python grid code.
\ No newline at end of file
diff --git a/build/temp.linux-x86_64-3.6/binary_c_python.o b/build/temp.linux-x86_64-3.6/binary_c_python.o
index ca9e7c36ab4089a52d0b5498471952e18df97964..af46f6afbc91b58d8074d7de4f69635428a0328d 100644
GIT binary patch
literal 50096
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

literal 49752
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
NBIx?6DbPUg{{WP3_b~tf

diff --git a/examples/.ipynb_checkpoints/example_notebook-checkpoint.ipynb b/examples/.ipynb_checkpoints/example_notebook-checkpoint.ipynb
new file mode 100644
index 000000000..f9db89b13
--- /dev/null
+++ b/examples/.ipynb_checkpoints/example_notebook-checkpoint.ipynb
@@ -0,0 +1,165 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Example notebook binarypy"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "/user/HS128/dh00601/.pyenv/versions/3.6.4/envs/binaryc_py3.6.4/bin/python\n"
+     ]
+    }
+   ],
+   "source": [
+    "import os, sys\n",
+    "import matplotlib.pyplot as plt\n",
+    "import pandas as pd\n",
+    "\n",
+    "# Append root dir of this project to include functionality\n",
+    "print(sys.executable)\n",
+    "sys.path.append(os.path.dirname(os.getcwd()))\n",
+    "import binary_c\n",
+    "from utils.defaults import physics_defaults\n",
+    "from utils.functions import create_arg_string"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def example_with_loading_default_args():\n",
+    "    \"\"\"\n",
+    "    Example function loading the default physics args for a binary_c system. Got\n",
+    "    it from the binary_grid2 perl module\n",
+    "\n",
+    "    This function works if binary_c is set to log something every timestep so that we can plot the evolution of a system\n",
+    "    \"\"\"\n",
+    "\n",
+    "    # Load args\n",
+    "    physics_args = physics_defaults.copy()\n",
+    "\n",
+    "    # Manually set M_1, M_2, orbital_period and separation values:\n",
+    "    physics_args['M_1'] = 20\n",
+    "    physics_args['M_2'] = 15\n",
+    "    physics_args['separation'] = 0 # 0 = ignored, use period\n",
+    "    physics_args['orbital_period'] = 4530.0\n",
+    "\n",
+    "    arg_string = create_arg_string(physics_args)\n",
+    "    arg_string = 'binary_c {arg_string}'.format(arg_string=arg_string)\n",
+    "\n",
+    "    buffer = \"\"\n",
+    "\n",
+    "    output = binary_c.run_binary(arg_string)\n",
+    "\n",
+    "    # Make some \n",
+    "    results = {}\n",
+    "    time_arr = []\n",
+    "    mass_arr = []\n",
+    "    mass_2_arr = []\n",
+    "\n",
+    "    # split output on newlines\n",
+    "    for line in output.split('\\n'):\n",
+    "        # Skip any blank lines\n",
+    "        if not line=='':\n",
+    "            split_line = line.split()\n",
+    "            header = split_line[0]\n",
+    "            value_array = split_line[1:]\n",
+    "\n",
+    "            # Use parse data here:\n",
+    "            if header=='TESTLOG':\n",
+    "                # Add values to lists\n",
+    "                time_arr.append(float(value_array[0]))\n",
+    "                mass_arr.append(float(value_array[1]))\n",
+    "                mass_2_arr.append(float(value_array[4]))\n",
+    "\n",
+    "    # Save in results dir\n",
+    "    results['time'] = time_arr\n",
+    "    results['mass'] = mass_arr\n",
+    "    results['mass2'] = mass_2_arr\n",
+    "\n",
+    "    return results\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "results = example_with_loading_default_args()\n",
+    "df = pd.DataFrame.from_dict(results)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 720x720 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "min_time = 1e-1\n",
+    "max_time = 3000\n",
+    "# Plot some stuff\n",
+    "plt.figure(figsize=[10,10])\n",
+    "plt.plot(df[(df.time>min_time) & (df.time<max_time)]['time'], df[(df.time>min_time) & (df.time<max_time)]['mass'])\n",
+    "plt.plot(df[(df.time>min_time) & (df.time<max_time)]['time'], df[(df.time>min_time) & (df.time<max_time)]['mass2'])\n",
+    "plt.xscale('log')\n",
+    "plt.ylabel(r'Mass $M_{\\odot}$')\n",
+    "plt.xlabel('time (MYr)')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "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.6.4"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/examples/example_notebook.ipynb b/examples/example_notebook.ipynb
new file mode 100644
index 000000000..f9db89b13
--- /dev/null
+++ b/examples/example_notebook.ipynb
@@ -0,0 +1,165 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Example notebook binarypy"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "/user/HS128/dh00601/.pyenv/versions/3.6.4/envs/binaryc_py3.6.4/bin/python\n"
+     ]
+    }
+   ],
+   "source": [
+    "import os, sys\n",
+    "import matplotlib.pyplot as plt\n",
+    "import pandas as pd\n",
+    "\n",
+    "# Append root dir of this project to include functionality\n",
+    "print(sys.executable)\n",
+    "sys.path.append(os.path.dirname(os.getcwd()))\n",
+    "import binary_c\n",
+    "from utils.defaults import physics_defaults\n",
+    "from utils.functions import create_arg_string"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def example_with_loading_default_args():\n",
+    "    \"\"\"\n",
+    "    Example function loading the default physics args for a binary_c system. Got\n",
+    "    it from the binary_grid2 perl module\n",
+    "\n",
+    "    This function works if binary_c is set to log something every timestep so that we can plot the evolution of a system\n",
+    "    \"\"\"\n",
+    "\n",
+    "    # Load args\n",
+    "    physics_args = physics_defaults.copy()\n",
+    "\n",
+    "    # Manually set M_1, M_2, orbital_period and separation values:\n",
+    "    physics_args['M_1'] = 20\n",
+    "    physics_args['M_2'] = 15\n",
+    "    physics_args['separation'] = 0 # 0 = ignored, use period\n",
+    "    physics_args['orbital_period'] = 4530.0\n",
+    "\n",
+    "    arg_string = create_arg_string(physics_args)\n",
+    "    arg_string = 'binary_c {arg_string}'.format(arg_string=arg_string)\n",
+    "\n",
+    "    buffer = \"\"\n",
+    "\n",
+    "    output = binary_c.run_binary(arg_string)\n",
+    "\n",
+    "    # Make some \n",
+    "    results = {}\n",
+    "    time_arr = []\n",
+    "    mass_arr = []\n",
+    "    mass_2_arr = []\n",
+    "\n",
+    "    # split output on newlines\n",
+    "    for line in output.split('\\n'):\n",
+    "        # Skip any blank lines\n",
+    "        if not line=='':\n",
+    "            split_line = line.split()\n",
+    "            header = split_line[0]\n",
+    "            value_array = split_line[1:]\n",
+    "\n",
+    "            # Use parse data here:\n",
+    "            if header=='TESTLOG':\n",
+    "                # Add values to lists\n",
+    "                time_arr.append(float(value_array[0]))\n",
+    "                mass_arr.append(float(value_array[1]))\n",
+    "                mass_2_arr.append(float(value_array[4]))\n",
+    "\n",
+    "    # Save in results dir\n",
+    "    results['time'] = time_arr\n",
+    "    results['mass'] = mass_arr\n",
+    "    results['mass2'] = mass_2_arr\n",
+    "\n",
+    "    return results\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "results = example_with_loading_default_args()\n",
+    "df = pd.DataFrame.from_dict(results)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 720x720 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "min_time = 1e-1\n",
+    "max_time = 3000\n",
+    "# Plot some stuff\n",
+    "plt.figure(figsize=[10,10])\n",
+    "plt.plot(df[(df.time>min_time) & (df.time<max_time)]['time'], df[(df.time>min_time) & (df.time<max_time)]['mass'])\n",
+    "plt.plot(df[(df.time>min_time) & (df.time<max_time)]['time'], df[(df.time>min_time) & (df.time<max_time)]['mass2'])\n",
+    "plt.xscale('log')\n",
+    "plt.ylabel(r'Mass $M_{\\odot}$')\n",
+    "plt.xlabel('time (MYr)')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "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.6.4"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/examples/full_evolution_with_plot.py b/examples/full_evolution_with_plot.py
index 02cf4fd51..96a8af73f 100644
--- a/examples/full_evolution_with_plot.py
+++ b/examples/full_evolution_with_plot.py
@@ -1,16 +1,12 @@
 import os, sys
 import matplotlib.pyplot as plt
 
-import binary_c
-
 # Append root dir of this project to include functionality
 sys.path.append(os.path.dirname(os.getcwd()))
+import binary_c
 from utils.defaults import physics_defaults
 from utils.functions import create_arg_string
 
-
-
-
 def example_with_loading_default_args():
     """
     Example function loading the default physics args for a binary_c system. Got
@@ -29,7 +25,6 @@ def example_with_loading_default_args():
     physics_args['orbital_period'] = 4530.0
 
     arg_string = create_arg_string(physics_args)
-
     arg_string = f'binary_c {arg_string}' 
 
     buffer = ""
diff --git a/examples/log_filename_test.py b/examples/log_filename_test.py
new file mode 100644
index 000000000..80d244bac
--- /dev/null
+++ b/examples/log_filename_test.py
@@ -0,0 +1,43 @@
+import os, sys
+import matplotlib.pyplot as plt
+
+# Append root dir of this project to include functionality
+sys.path.append(os.path.dirname(os.getcwd()))
+import binary_c
+from utils.defaults import physics_defaults
+from utils.functions import create_arg_string
+
+"""
+This script is intended to have the logfile of a binary system being outputted to a given directory so that we can use that logfile for other purposes
+Like plotting/visualizing the general evolution of that system using e.g. Mirons script
+"""
+
+def example_with_loading_default_args():
+    """
+    Example function loading the default physics args for a binary_c system. Got
+    it from the binary_grid2 perl module
+
+    This function works if binary_c is set to log something every timestep so that we can plot the evolution of a system
+    """
+
+    # Load args
+    physics_args = physics_defaults.copy()
+
+    # Manually set M_1, M_2, orbital_period and separation values:
+    physics_args['M_1'] = 20
+    physics_args['M_2'] = 15
+    physics_args['separation'] = 0 # 0 = ignored, use period
+    physics_args['orbital_period'] = 4530.0
+
+    physics_args['log_filename'] = os.path.join(os.getcwd(), 'test.log')
+    print(physics_args['log_filename'])
+
+    arg_string = create_arg_string(physics_args)
+    arg_string = f'binary_c {arg_string}' 
+
+    buffer = ""
+
+    print(arg_string)
+
+    output = binary_c.run_binary(arg_string)
+example_with_loading_default_args()
\ No newline at end of file
diff --git a/test_david.py b/examples/loop_system.py
similarity index 55%
rename from test_david.py
rename to examples/loop_system.py
index 99f0154fa..622b9c75c 100644
--- a/test_david.py
+++ b/examples/loop_system.py
@@ -1,32 +1,19 @@
-#!/usr/bin/python3
-import os
-import binary_c
+import os, sys
 import matplotlib.pyplot as plt
 
-from defaults import physics_defaults
-
-############################################################
-# Test script to run a binary using the binary_c Python
-# module.
-############################################################
+# Append root dir of this project to include functionality
+sys.path.append(os.path.dirname(os.getcwd()))
+import binary_c
+from utils.defaults import physics_defaults
+from utils.functions import create_arg_string
 
-def run_test_binary():
-    m1 = 15.0 # Msun
-    m2 = 14.0 # Msun
-    separation = 0 # 0 = ignored, use period
-    orbital_period = 4530.0 # days
-    eccentricity = 0.0
-    metallicity = 0.02
-    max_evolution_time = 15000
-    buffer = ""
-    # argstring = "binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g}  ".format(m1,m2,separation,orbital_period,eccentricity,metallicity,max_evolution_time)
-    
-    argstring = f"binary_c M_1 {m1} M_2 {m2} separation {separation} orbital_period {orbital_period} eccentricity {eccentricity} metallicity {metallicity} max_evolution_time {max_evolution_time}"
+"""
+This script is an example of running a group of binary systems using a loop. For big grids this is not wise, the grid functionality will be built later
 
-    output = binary_c.run_binary(argstring)
+I made this script to with the logging of binaryc set to log only one line per system (when a certain requirement is met).
 
-    # print ("Binary_c output:\n\n")
-    print (output)
+You can either capture the data and print it, or write it to a file
+"""
 
 def run_simple_loop_binary():
     # Some simple function with a loop
@@ -76,24 +63,4 @@ def run_simple_loop_binary():
 
     print('mass1:', mass_1)
     print('zams_mass1:' ,initial_m1)
-    print('time:', time)
-
-# print("Current binary_c object class functions: ")
-# print(dir(binary_c))
-
-# print("Current binary_c.new_system object class functions: ")
-# print(dir(binary_c.new_system()))
-## WHat is the use of new_system?
-
-# print("Current binary_c.run_binary object class functions: ")
-# print(dir(binary_c.run_binary()))
-
-# binary_star=binary_c.new_system()
-# print(binary_star)
-# print(dir(binary_star))
-
-# Test single system
-# run_test_binary()
-
-# Test grid-like
-# run_simple_loop_binary()
\ No newline at end of file
+    print('time:', time)
\ No newline at end of file
diff --git a/examples/single_system.py b/examples/single_system.py
new file mode 100644
index 000000000..561a0fd0e
--- /dev/null
+++ b/examples/single_system.py
@@ -0,0 +1,40 @@
+import os, sys
+
+# Append root dir of this project to include functionality
+sys.path.append(os.path.dirname(os.getcwd()))
+import binary_c
+
+
+"""
+Example script for running a single system. This is a very simple set up.
+For a different way of inputting arg strings:
+
+from utils.defaults import physics_defaults
+from utils.functions import create_arg_string
+
+physics_args = physics_defaults.copy()
+physics_args['orbital_period'] = 4530.0
+
+arg_string = create_arg_string(physics_args)
+arg_string = f'binary_c {arg_string}' 
+
+Other examples can be found using this method
+"""
+
+def run_test_binary():
+    m1 = 15.0 # Msun
+    m2 = 14.0 # Msun
+    separation = 0 # 0 = ignored, use period
+    orbital_period = 4530.0 # days
+    eccentricity = 0.0
+    metallicity = 0.02
+    max_evolution_time = 15000
+    buffer = ""
+    # argstring = "binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g}  ".format(m1,m2,separation,orbital_period,eccentricity,metallicity,max_evolution_time)
+    
+    argstring = f"binary_c M_1 {m1} M_2 {m2} separation {separation} orbital_period {orbital_period} eccentricity {eccentricity} metallicity {metallicity} max_evolution_time {max_evolution_time}"
+
+    output = binary_c.run_binary(argstring)
+
+    # print ("Binary_c output:\n\n")
+    print (output)
\ No newline at end of file
diff --git a/tests_david/.ipynb_checkpoints/test_noteboo-checkpoint.ipynb b/tests_david/.ipynb_checkpoints/test_noteboo-checkpoint.ipynb
new file mode 100644
index 000000000..2fd64429b
--- /dev/null
+++ b/tests_david/.ipynb_checkpoints/test_noteboo-checkpoint.ipynb
@@ -0,0 +1,6 @@
+{
+ "cells": [],
+ "metadata": {},
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/tests_david/test_david.py b/tests_david/test_david.py
new file mode 100644
index 000000000..3b9509991
--- /dev/null
+++ b/tests_david/test_david.py
@@ -0,0 +1,36 @@
+#!/usr/bin/python3
+import os
+import binary_c
+import matplotlib.pyplot as plt
+
+from utils.defaults import physics_defaults
+
+############################################################
+# Test script to run a binary using the binary_c Python
+# module.
+############################################################
+
+
+
+print(binary_c)
+
+
+# print("Current binary_c object class functions: ")
+# print(dir(binary_c))
+
+# print("Current binary_c.new_system object class functions: ")
+# print(dir(binary_c.new_system()))
+## WHat is the use of new_system?
+
+# print("Current binary_c.run_binary object class functions: ")
+# print(dir(binary_c.run_binary()))
+
+# binary_star=binary_c.new_system()
+# print(binary_star)
+# print(dir(binary_star))
+
+# Test single system
+# run_test_binary()
+
+# Test grid-like
+# run_simple_loop_binary()
\ No newline at end of file
diff --git a/tests_david/test_import.py b/tests_david/test_import.py
new file mode 100644
index 000000000..848cfc72e
--- /dev/null
+++ b/tests_david/test_import.py
@@ -0,0 +1,5 @@
+import os, sys
+import binary_c
+# sys.path.append(os.path.dirname(file)) 
+print(os.getenv('PYTHONPATH'))
+#paths = os.getenv('PYTHONPATH').split(':' if os.name=='posix' else ';')
\ No newline at end of file
diff --git a/tests_david/test_noteboo.ipynb b/tests_david/test_noteboo.ipynb
new file mode 100644
index 000000000..6592ec55f
--- /dev/null
+++ b/tests_david/test_noteboo.ipynb
@@ -0,0 +1,41 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import binary_c"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "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.6.4"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/tests_david/testing_automatic_log_readout.py b/tests_david/testing_automatic_log_readout.py
new file mode 100644
index 000000000..cbd50cfdb
--- /dev/null
+++ b/tests_david/testing_automatic_log_readout.py
@@ -0,0 +1,13 @@
+import os, sys
+import matplotlib.pyplot as plt
+
+# # Append root dir of this project to include functionality
+# sys.path.append(os.path.dirname(os.getcwd()))
+# print(sys.path)
+# quit()
+
+import binary_c
+from utils.defaults import physics_defaults
+from utils.functions import create_arg_string
+
+
diff --git a/utils/__pycache__/defaults.cpython-35.pyc b/utils/__pycache__/defaults.cpython-35.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a32ade99bbfa82a830d3b87e46bc48ee0ce68ab5
GIT binary patch
literal 5550
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

literal 0
HcmV?d00001

diff --git a/utils/__pycache__/defaults.cpython-36.pyc b/utils/__pycache__/defaults.cpython-36.pyc
index d364497266246ceb5cb898c81ad256338ab74946..66affbd99df305c1259678cf298c21735745c30f 100644
GIT binary patch
delta 139
zcmbQOHeHR)n3tF9?w5^hx0x7kZGOZwgNf}HQ%-r5{N#nKVw<P2HnX#FFfcF_ac-99
zUCG4AwfQ7}0;4lGNC-r{{P+L=|8yV&2tMow3xNqu##;gf8I{GE$;I(0scDI&IVHs_
c8H)IT%D}`gx5+tzrYxl;nK_$R3KlT}0JE$r82|tP

delta 143
zcmbQPHd~F&n3tF9@vV()x0x8DHa}vT!NeBDlv5rhKY1am*yd@h&FpM!3=9lK?3?9z
zS28hjY(B}K!05~g5&{t~|NZ~}KOM*bf)D$_LSRCZ@s>bAMrCnka&df0YFc7xPD$}f
fh9VxIGBEMWYjTdDDMwmqUUErhe%|J#f<=q~)=?^-

diff --git a/utils/__pycache__/functions.cpython-35.pyc b/utils/__pycache__/functions.cpython-35.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..62464c4667b48e168d6014c7ba2aa05b6cfb2208
GIT binary patch
literal 461
zcmYjN!AiqG6nvXBr3NcXQSg?72szkX1TP{&MNfLL2cb|x%x;^sX%crg#k9?-{)}Ja
zeXssSPrgkH_OWkvhMn2G>{+{Q|7>1|rv%^^_R2thk1dW7C@unD00Sfj^j$MVe_bYG
z3%iFco)OSk5%|1@6~F{w4e&6$gvx*w(b);22`d9=LpzY1ufe#%$VUg>&@(Y~1~u}&
zYc0CAgY{UXp^UTCkx?L>kh4HCfr2>!A3H+wI33qU1&gEQl$DjUoCit4Do2?pl~pU(
zR1H)@HAfkr1yWf$n!Dzph4=V04yCd++uq3aD|`djKe&1F=2_z9kr&`$=7$+&9*tN^
zc{~-~dz=Qm40pR9Ugf2XveYYNoCt5U8((zuQk`ta_y516A5+)}U^PjHT#!S;wR~~6
Wdp*D&9N?L1-Oe&vB<!wE>+m1?J8{7P

literal 0
HcmV?d00001

diff --git a/utils/__pycache__/functions.cpython-36.pyc b/utils/__pycache__/functions.cpython-36.pyc
index 16a46b9804ec090a27bc98609a51840fce995f10..7aae7529a0a2c7d369cbd2ff93845ac4b5687f1f 100644
GIT binary patch
delta 186
zcmbQryp5U5n3tF9o@Y_41mi?52RjP}28I;ITE+^s8ip)}W(F6ASgBg38paf+EXEq9
z8ipDsNrn{WUM6#fTE;@YaE2PjET(24yM{5CL6c=-myuo-Uv+kBWvxPWSz=CUYOR7M
z(=BG8z%5oVUz7P33y@cQi!Cj`C^xZW;&FM-A|{}vD;bJ7Cce*8l49gwEaCzR_-R7u
PA`T!2iQt@E&nN}}P=YRC

delta 154
zcmdnSJe8Ttn3tF9@Qa|>p9~YZ92~3|7#LC*YZ)svY8bK@ni*UeVr6QXY8Y#nW;3KP
z)iBgBNiu*~b6Lz8Y8eap!Wn89vlyF!>>9>k22JLP9Y);07!@>`Zn0#iRu)fuA<ub>
m8OU16P{cl2fH6-=hLMA@h!bdwpC*JZVh3`N2#(1M7{vg!V<Wl%

diff --git a/utils/functions.py b/utils/functions.py
index a116cd908..2d4a479ea 100644
--- a/utils/functions.py
+++ b/utils/functions.py
@@ -5,6 +5,8 @@ def create_arg_string(arg_dict):
 
     arg_string = '' 
     for key in arg_dict.keys():
-        arg_string += f'{key} {arg_dict[key]} '
+        arg_string += "{key} {value} ".format(key=key, value=arg_dict[key])
     arg_string = arg_string.strip()
-    return arg_string
\ No newline at end of file
+    return arg_string
+
+
-- 
GitLab