diff --git a/examples/CosmoVolume/plot_parallel_efficiency.py b/examples/CosmoVolume/plot_parallel_efficiency.py
index 6e87dc7bf75916923aa21b45ea183debb76c363c..2e7dd2f8d8f4ecc6b457b6d285555735040b7398 100755
--- a/examples/CosmoVolume/plot_parallel_efficiency.py
+++ b/examples/CosmoVolume/plot_parallel_efficiency.py
@@ -17,15 +17,17 @@ import re
 import numpy as np
 import matplotlib.pyplot as plt
 
-#version = ['Task Cleanup v0.3.0-247-g449de76a','Master v0.3.0-203-g6d9f54ae','KNL']
 version = []
 branch = []
 revision = []
-linestyle = ('ro-','bo-','go-')
+hydro_scheme = []
+hydro_kernel = []
+hydro_neighbours = []
+hydro_eta = []
+threadList = []
+linestyle = ('ro-','bo-','go-','yo-','mo-')
 cmdLine = './swift_fixdt -s -t 16 cosmoVolume.yml'
-kernel = 'Cubic Spline M4'
 platform = 'KNL'
-threadList = []
 
 # Work out how many data series there are
 if len(sys.argv) == 2:
@@ -44,6 +46,35 @@ elif len(sys.argv) == 6:
   inputFileNames = (sys.argv[1],sys.argv[2],sys.argv[3],sys.argv[4],sys.argv[5])
   numOfSeries = 5
 
+# Get the names of the branch, Git revision, hydro scheme and hydro kernel
+def parse_header(inputFile):
+  with open(inputFile, 'r') as f:
+    found_end = False
+    for line in f:
+      if 'Branch:' in line:
+        s = line.split()
+        branch.append(s[2])
+      elif 'Revision:' in line:
+        s = line.split() 
+        revision.append(s[2])
+      elif 'Hydrodynamic scheme:' in line:
+        line = line[2:-1]
+        s = line.split()
+        line = s[2:]
+        hydro_scheme.append(" ".join(line))
+      elif 'Hydrodynamic kernel:' in line:
+        line = line[2:-1]
+        s = line.split()
+        line = s[2:5]
+        hydro_kernel.append(" ".join(line))
+      elif 'neighbours:' in line:
+        s = line.split() 
+        hydro_neighbours.append(s[4])
+      elif 'Eta:' in line:
+        s = line.split() 
+        hydro_eta.append(s[2])
+  return
+
 # Parse file and return total time taken, speed up and parallel efficiency
 def parse_files():
   
@@ -53,39 +84,36 @@ def parse_files():
   speedUp = []
   parallelEff = []
 
-  for i in range(0,numOfSeries): # Loop over each version
+  for i in range(0,numOfSeries): # Loop over each data series
  
+    # Get each file that starts with the cmd line arg
     file_list = glob.glob(inputFileNames[i] + "*")
     
     threadList.append([])
 
+    # Create a list of threads using the list of files
     for fileName in file_list:
       s = re.split(r'[_.]+',fileName)
       threadList[i].append(int(s[1]))
 
+    # Sort the thread list in ascending order and save the indices
     sorted_indices = np.argsort(threadList[i])
     threadList[i].sort()
 
+    # Sort the file list in ascending order acording to the thread number
     file_list = [ file_list[j] for j in sorted_indices]
 
-    # Get the names of the branch and Git revision first
-    with open(file_list[0], 'r') as f:
-        found_end = False
-        for line in f:
-          if 'Branch:' in line:
-            s = line.split()
-            branch.append(s[2])
-          elif 'Revision:' in line:
-            s = line.split() 
-            revision.append(s[2])
-
-    version.append(branch[i] + " " + revision[i])                  
+    parse_header(file_list[0])
+    
+    version.append(branch[i] + " " + revision[i] + "\n" + hydro_scheme[i] + 
+                   "\n" + hydro_kernel[i] + r", $N_{neigh}$=" + hydro_neighbours[i] + 
+                   r", $\eta$=" + hydro_eta[i] + "\n")                  
     times.append([])
     totalTime.append([])
     speedUp.append([])
     parallelEff.append([])
 
-    # Loop over all files for a given series
+    # Loop over all files for a given series and load the times
     for j in range(0,len(file_list)):
       times[i].append([])
       times[i][j].append(np.loadtxt(file_list[j],usecols=(5,)))
@@ -93,7 +121,7 @@ def parse_files():
 
     serialTime.append(totalTime[i][0])
     
-    # Loop over all files for a given series
+    # Loop over all files for a given series and calculate speed up and parallel efficiency
     for j in range(0,len(file_list)):
       speedUp[i].append(serialTime[i] / totalTime[i][j])
       parallelEff[i].append(speedUp[i][j] / threadList[i][j])
@@ -125,12 +153,6 @@ def print_results(times,totalTime,parallelEff,version):
 
 def plot_results(times,totalTime,speedUp,parallelEff):
   
-  font = {'family' : 'normal',
-          'weight' : 'bold',
-          'size'   : 15}
-
-  plt.rc('font', **font)
-
   fig, axarr = plt.subplots(2, 2,figsize=(15,15))
   speedUpPlot = axarr[0, 0]
   parallelEffPlot = axarr[0, 1]
@@ -162,7 +184,7 @@ def plot_results(times,totalTime,speedUp,parallelEff):
   totalTimePlot.set_xlabel("No. of Threads")
   totalTimePlot.set_ylabel("Time to Solution (ms)")
   
-  totalTimePlot.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)
+  totalTimePlot.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.,prop={'size':14})
   emptyPlot.axis('off')
   
   for i, txt in enumerate(threadList[0]):
@@ -170,7 +192,7 @@ def plot_results(times,totalTime,speedUp,parallelEff):
     parallelEffPlot.annotate(txt, (threadList[0][i],parallelEff[0][i]))
     totalTimePlot.annotate(txt, (threadList[0][i],totalTime[0][i]))
 
-  fig.suptitle("Thread Speed Up, Parallel Efficiency and Time To Solution for {} Time Steps of Cosmo Volume\n Cmd Line: {}, Kernel: {}, Platform: {}".format(len(times[0][0][0]),cmdLine,kernel,platform))
+  fig.suptitle("Thread Speed Up, Parallel Efficiency and Time To Solution for {} Time Steps of Cosmo Volume\n Cmd Line: {}, Platform: {}".format(len(times[0][0][0]),cmdLine,platform))
 
   return