diff --git a/combined_multiple_plot_generator_scripts/general_plot_routine.py b/combined_multiple_plot_generator_scripts/general_plot_routine.py
index c40a9fad0c6f7c66fc3fa37716c2644fd791abc1..95b53c903da8cf2706c68f512c318f92b6123212 100644
--- a/combined_multiple_plot_generator_scripts/general_plot_routine.py
+++ b/combined_multiple_plot_generator_scripts/general_plot_routine.py
@@ -21,7 +21,7 @@ import kippenhan_make_data_arrays as kipp_data_arrays
 import math as math
 import multiprocessing as mp
 from matplotlib.colors import TwoSlopeNorm
-
+import traceback
 
 def general_plot_routine(input_directory, output_directory, two_D_combined_pdf_filename, three_D_combined_pdf_filename, 
     global_properties_x_axis_args, global_properties_plot_vars, 
@@ -113,7 +113,10 @@ def general_plot_routine(input_directory, output_directory, two_D_combined_pdf_f
             except KeyboardInterrupt:
                 sys.exit()
             except:
-                print('***AN EXCEPTION OCCURED FOR ', var)
+                print('***AN EXCEPTION OCCURED FOR ', var, '*****')
+                print(' see traceback error below ::')
+                traceback.print_exc()
+                print(' ')
 
     # pool.close()
     # pool.join()
@@ -134,30 +137,33 @@ def general_plot_routine(input_directory, output_directory, two_D_combined_pdf_f
             except KeyboardInterrupt:
                 sys.exit()
             except:
-                print('***AN EXCEPTION OCCURED FOR ', lst)
+                print('***AN EXCEPTION OCCURED FOR ', lst, '*****')
+                print(' see traceback error below ::')
+                traceback.print_exc()
+                print(' ')
     pdf.close()
     print('Kippenhahn Plots PDF Created')
 
 
 
 def set_divider_value(divider_value):
-    if divider_value.lower() == 'none':
+    if str(divider_value).lower() == 'none':
         return 1
-    elif divider_value.lower() == 'sec':
+    elif str(divider_value).lower() == 'sec':
         return 1/31536000
-    elif divider_value.lower() == 'min':
+    elif str(divider_value).lower() == 'min':
         return 1/525600
-    elif divider_value.lower() == 'hr':
+    elif str(divider_value).lower() == 'hr':
         return 1/8760
-    elif divider_value.lower() == 'day':
+    elif str(divider_value).lower() == 'day':
         return 1/365
-    elif divider_value.lower() == 'yr':
+    elif str(divider_value).lower() == 'yr':
         return 1
-    elif divider_value.lower() == 'kyr':
+    elif str(divider_value).lower() == 'kyr':
         return 1e3
-    elif divider_value.lower() == 'myr':
+    elif str(divider_value).lower() == 'myr':
         return 1e6
-    elif divider_value.lower() == 'gyr':
+    elif str(divider_value).lower() == 'gyr':
         return 1e9
     elif divider_value.lower() == 1:
         return 1
@@ -173,7 +179,7 @@ def make_2d_plot(a_attribute, x_axis_options, y_axis_dict, variable):
     fig = plt.figure(figsize=(12.8,9.6))
     ax = fig.add_subplot(111)
 
-    if y_axis_dict[variable]['yaxis_label'].lower() == 'none':
+    if str(y_axis_dict[variable]['yaxis_label']).lower() == 'none':
         y_axis_label = variable
     else:
         y_axis_label = y_axis_dict[variable]['yaxis_label']
@@ -284,7 +290,7 @@ def make_3d_plot(input_dir, Kippenhahn_properties,
     ax = fig.add_subplot(111)
 
     bar_scheme = Kippenhahn_properties['color_bar_scheme_heatmap']
-    if Kippenhahn_plot_vars[Kippenhahn_z_axis_variable]['colour_bar_name'].lower() == 'none':
+    if str(Kippenhahn_plot_vars[Kippenhahn_z_axis_variable]['colour_bar_name']).lower() == 'none':
         if Kippenhahn_z_axis_scale == 'log':
             bar_label = '$\\mathrm{LOG_{10}}$('+Kippenhahn_z_axis_variable+')'
         else: #elif Kippenhahn_z_axis_scale == 'linear':
@@ -293,11 +299,11 @@ def make_3d_plot(input_dir, Kippenhahn_properties,
         bar_label = Kippenhahn_plot_vars[Kippenhahn_z_axis_variable]['colour_bar_name']
 
     X, Y = np.meshgrid(c.xlist, c.ylist)
-    if Kippenhahn_properties['colorbar_min_val'].lower() != 'none':
+    if str(Kippenhahn_properties['colorbar_min_val']).lower() != 'none':
         colorbar_min_val = Kippenhahn_properties['colorbar_min_val']
     else:
         colorbar_min_val = None
-    if Kippenhahn_properties['colorbar_max_val'].lower() != 'none':
+    if str(Kippenhahn_properties['colorbar_max_val']).lower() != 'none':
         colorbar_max_val = Kippenhahn_properties['colorbar_max_val']
     else:
         colorbar_max_val = None
@@ -323,18 +329,18 @@ def make_3d_plot(input_dir, Kippenhahn_properties,
     ax.ticklabel_format(axis='x', style=Kippenhahn_properties['x_axis_ticklabel_format'], scilimits=(0,0), useOffset=False)
     ax.ticklabel_format(axis='y', style=Kippenhahn_properties['y_axis_ticklabel_format'], scilimits=(0,0), useOffset=False)
 
-    if Kippenhahn_properties['x_axis_min_limit'].lower() != 'none' and Kippenhahn_properties['x_axis_max_limit'].lower() == 'none':
+    if str(Kippenhahn_properties['x_axis_min_limit']).lower() != 'none' and str(Kippenhahn_properties['x_axis_max_limit']).lower() == 'none':
         ax.set_xlim(left=Kippenhahn_properties['x_axis_min_limit'])
-    elif Kippenhahn_properties['x_axis_max_limit'].lower() != 'none' and Kippenhahn_properties['x_axis_min_limit'].lower() == 'none':
+    elif str(Kippenhahn_properties['x_axis_max_limit']).lower() != 'none' and str(Kippenhahn_properties['x_axis_min_limit']).lower() == 'none':
         ax.set_xlim(right=Kippenhahn_properties['x_axis_max_limit'])
-    elif Kippenhahn_properties['x_axis_min_limit'].lower() != 'none' and Kippenhahn_properties['x_axis_max_limit'].lower() != 'none':
+    elif str(Kippenhahn_properties['x_axis_min_limit']).lower() != 'none' and str(Kippenhahn_properties['x_axis_max_limit']).lower() != 'none':
         ax.set_xlim(left=Kippenhahn_properties['x_axis_min_limit'], right=Kippenhahn_properties['x_axis_max_limit'])
 
-    if Kippenhahn_properties['y_axis_min_limit'].lower() != 'none' and Kippenhahn_properties['y_axis_max_limit'].lower() == 'none':
+    if str(Kippenhahn_properties['y_axis_min_limit']).lower() != 'none' and str(Kippenhahn_properties['y_axis_max_limit']).lower() == 'none':
         ax.set_ylim(bottom=Kippenhahn_properties['y_axis_min_limit'])
-    elif Kippenhahn_properties['y_axis_max_limit'].lower() != 'none' and Kippenhahn_properties['y_axis_min_limit'].lower() == 'none':
+    elif str(Kippenhahn_properties['y_axis_max_limit']).lower() != 'none' and str(Kippenhahn_properties['y_axis_min_limit']).lower() == 'none':
         ax.set_ylim(top=Kippenhahn_properties['y_axis_max_limit'])
-    elif Kippenhahn_properties['y_axis_min_limit'].lower() != 'none' and Kippenhahn_properties['y_axis_max_limit'].lower() != 'none':
+    elif str(Kippenhahn_properties['y_axis_min_limit']).lower() != 'none' and str(Kippenhahn_properties['y_axis_max_limit']).lower() != 'none':
         ax.set_ylim(bottom=Kippenhahn_properties['y_axis_min_limit'], top=Kippenhahn_properties['y_axis_max_limit'])
 
     if Kippenhahn_properties['overlay_history_line'].lower() != 'none':
@@ -400,11 +406,11 @@ def make_unity_comparison_plot(b_attribute, input_dir, Kippenhahn_properties,
     bar_scheme = Kippenhahn_properties['color_bar_scheme_heatmap']
 
     X, Y = np.meshgrid(c.xlist, c.ylist)
-    if Kippenhahn_properties['colorbar_min_val'].lower() != 'none':
+    if str(Kippenhahn_properties['colorbar_min_val']).lower() != 'none':
         colorbar_min_val = Kippenhahn_properties['colorbar_min_val']
     else:
         colorbar_min_val = None
-    if Kippenhahn_properties['colorbar_max_val'].lower() != 'none':
+    if str(Kippenhahn_properties['colorbar_max_val']).lower() != 'none':
         colorbar_max_val = Kippenhahn_properties['colorbar_max_val']
     else:
         colorbar_max_val = None
@@ -423,7 +429,7 @@ def make_unity_comparison_plot(b_attribute, input_dir, Kippenhahn_properties,
         ax.clabel(cs2, inline=True, fontsize=10)
         bar.add_lines(cs2)
     
-    if colour_bar_name.lower() != 'none':
+    if str(colour_bar_name).lower() != 'none':
         bar_label = colour_bar_name
 
     bar.set_label(bar_label)
@@ -441,18 +447,18 @@ def make_unity_comparison_plot(b_attribute, input_dir, Kippenhahn_properties,
     ax.ticklabel_format(axis='x', style=Kippenhahn_properties['x_axis_ticklabel_format'], scilimits=(0,0), useOffset=False)
     ax.ticklabel_format(axis='y', style=Kippenhahn_properties['y_axis_ticklabel_format'], scilimits=(0,0), useOffset=False)
 
-    if Kippenhahn_properties['x_axis_min_limit'].lower() != 'none' and Kippenhahn_properties['x_axis_max_limit'].lower() == 'none':
+    if str(Kippenhahn_properties['x_axis_min_limit']).lower() != 'none' and str(Kippenhahn_properties['x_axis_max_limit']).lower() == 'none':
         ax.set_xlim(left=Kippenhahn_properties['x_axis_min_limit'])
-    elif Kippenhahn_properties['x_axis_max_limit'].lower() != 'none' and Kippenhahn_properties['x_axis_min_limit'].lower() == 'none':
+    elif str(Kippenhahn_properties['x_axis_max_limit']).lower() != 'none' and str(Kippenhahn_properties['x_axis_min_limit']).lower() == 'none':
         ax.set_xlim(right=Kippenhahn_properties['x_axis_max_limit'])
-    elif Kippenhahn_properties['x_axis_min_limit'].lower() != 'none' and Kippenhahn_properties['x_axis_max_limit'].lower() != 'none':
+    elif str(Kippenhahn_properties['x_axis_min_limit']).lower() != 'none' and str(Kippenhahn_properties['x_axis_max_limit']).lower() != 'none':
         ax.set_xlim(left=Kippenhahn_properties['x_axis_min_limit'], right=Kippenhahn_properties['x_axis_max_limit'])
 
-    if Kippenhahn_properties['y_axis_min_limit'].lower() != 'none' and Kippenhahn_properties['y_axis_max_limit'].lower() == 'none':
+    if str(Kippenhahn_properties['y_axis_min_limit']).lower() != 'none' and str(Kippenhahn_properties['y_axis_max_limit']).lower() == 'none':
         ax.set_ylim(bottom=Kippenhahn_properties['y_axis_min_limit'])
-    elif Kippenhahn_properties['y_axis_max_limit'].lower() != 'none' and Kippenhahn_properties['y_axis_min_limit'].lower() == 'none':
+    elif str(Kippenhahn_properties['y_axis_max_limit']).lower() != 'none' and str(Kippenhahn_properties['y_axis_min_limit']).lower() == 'none':
         ax.set_ylim(top=Kippenhahn_properties['y_axis_max_limit'])
-    elif Kippenhahn_properties['y_axis_min_limit'].lower() != 'none' and Kippenhahn_properties['y_axis_max_limit'].lower() != 'none':
+    elif str(Kippenhahn_properties['y_axis_min_limit']).lower() != 'none' and str(Kippenhahn_properties['y_axis_max_limit']).lower() != 'none':
         ax.set_ylim(bottom=Kippenhahn_properties['y_axis_min_limit'], top=Kippenhahn_properties['y_axis_max_limit'])
 
     if Kippenhahn_properties['overlay_history_line'].lower() != 'none':
diff --git a/combined_multiple_plot_generator_scripts/historyreader.py b/combined_multiple_plot_generator_scripts/historyreader.py
index 9b90d61521e9faa8d796c8c6c90475b21bed7687..d6de1ad739beeb87c7f0d05f8c014b2979d3421f 100644
--- a/combined_multiple_plot_generator_scripts/historyreader.py
+++ b/combined_multiple_plot_generator_scripts/historyreader.py
@@ -9,9 +9,9 @@ class HistoryReader:
         model_number_end = 'None',
         plot_columns='star_age star_mass'):
 
-        if model_number_start.lower() == 'none':
+        if str(model_number_start).lower() == 'none':
             model_number_start = 0
-        if model_number_end.lower() == 'none':
+        if str(model_number_end).lower() == 'none':
             model_number_end = 1e12
 
         self.file_name = file_name
diff --git a/combined_multiple_plot_generator_scripts/kippenhan_data_read.py b/combined_multiple_plot_generator_scripts/kippenhan_data_read.py
index 84a649eac5ff882834dccd63bcf4681c1bfdfe87..86523b9bb7680a626e455da2e03eb5870cc0e4d2 100644
--- a/combined_multiple_plot_generator_scripts/kippenhan_data_read.py
+++ b/combined_multiple_plot_generator_scripts/kippenhan_data_read.py
@@ -18,9 +18,9 @@ class Kipp_Data_Reader:
             model_number_end = 'None',
             ):
 
-        if model_number_start.lower() == 'none':
+        if str(model_number_start).lower() == 'none':
             model_number_start = 0
-        if model_number_end.lower() == 'none':
+        if str(model_number_end).lower() == 'none':
             model_number_end = 1e12
 
         self.profiles_paths = profiles_paths
diff --git a/combined_multiple_plot_generator_scripts/kippenhan_make_data_arrays.py b/combined_multiple_plot_generator_scripts/kippenhan_make_data_arrays.py
index dcdb1e10386723e5b07b9f168776a2e74ed89c17..3e64facbcb0a5e60a2e2eaed2085c4b88168a1e6 100644
--- a/combined_multiple_plot_generator_scripts/kippenhan_make_data_arrays.py
+++ b/combined_multiple_plot_generator_scripts/kippenhan_make_data_arrays.py
@@ -47,33 +47,33 @@ class Kippenhan_Make_Data_Arrays:
 
         #If logging y_axis:
         if self.z_axis_data_scale == 'log':
-            if self.z_axis_data_min_cutoff.lower() != 'none':
+            if str(self.z_axis_data_min_cutoff).lower() != 'none':
                 if self.z_axis_data_min_cutoff_replacement < 1e0:
                     self.z_axis_data_min_cutoff_replacement = 1e0
                 z_axis[z_axis < self.z_axis_data_min_cutoff] = self.z_axis_data_min_cutoff_replacement
             else:
                 z_axis[z_axis < 0e0] = 1e0
-            if self.z_axis_data_max_cutoff.lower() != 'none':
+            if str(self.z_axis_data_max_cutoff).lower() != 'none':
                 z_axis[z_axis > self.z_axis_data_max_cutoff_replacement] = self.z_axis_data_max_cutoff_replacement
             z_axis = np.log10(z_axis)
         #else if linear y axis:
         elif self.z_axis_data_scale == 'symlog':
-            if self.z_axis_data_min_cutoff.lower() != 'none':
+            if str(self.z_axis_data_min_cutoff).lower() != 'none':
                 z_axis[z_axis < self.z_axis_data_min_cutoff] = self.z_axis_data_min_cutoff_replacement
-            if self.z_axis_data_max_cutoff.lower() != 'none':
+            if str(self.z_axis_data_max_cutoff).lower() != 'none':
                 z_axis[z_axis > self.z_axis_data_max_cutoff_replacement] = self.z_axis_data_max_cutoff_replacement
             z_axis = [0e0 if z >= -1e0 and z <= 1e0 else z for z in z_axis]
             z_axis = [np.log10(z) if z > 0e0 else z for z in z_axis]
             z_axis = [-np.log10(-z) if z < 0e0 else z for z in z_axis]
         else:
-            if self.z_axis_data_min_cutoff.lower() != 'none':
+            if str(self.z_axis_data_min_cutoff).lower() != 'none':
                 z_axis[z_axis < self.z_axis_data_min_cutoff] = self.z_axis_data_min_cutoff_replacement
-            if self.z_axis_data_max_cutoff.lower() != 'none':
+            if str(self.z_axis_data_max_cutoff).lower() != 'none':
                 z_axis[z_axis > self.z_axis_data_max_cutoff_replacement] = self.z_axis_data_max_cutoff_replacement
 
-        if self.x_axis_divide_by.lower() != 'none':
+        if str(self.x_axis_divide_by).lower() != 'none':
             x_axis = [x/self.x_axis_divide_by for x in x_axis]
-        if self.y_axis_divide_by.lower() != 'none':
+        if str(self.y_axis_divide_by).lower() != 'none':
             y_axis = [y/self.y_axis_divide_by for y in y_axis]
 
         all_ordered_y_points = sorted(list(set(y_axis)),reverse=False) #set() removes repeats, list() turns back into list, sorted(reverse=False) orders them in ascending size 
@@ -82,11 +82,11 @@ class Kippenhan_Make_Data_Arrays:
         reduced_y_points = all_ordered_y_points[::lin_selector] #creates a list with every nth element of all_ordered_y_points, nth = lin_selector
 
         x_axis_repeats_removed = list(dict.fromkeys(x_axis))
-        if self.format_x_axis.lower() != 'none':
+        if str(self.format_x_axis).lower() != 'none':
             self.xlist = np.round(x_axis_repeats_removed, int(self.format_x_axis))
         else: 
             self.xlist = x_axis_repeats_removed
-        if self.format_y_axis.lower() != 'none':
+        if str(self.format_y_axis).lower() != 'none':
             self.ylist = np.round(reduced_y_points, int(self.format_y_axis)) 
         else:
             self.ylist = reduced_y_points 
diff --git a/overproduction_plotters/Overproduction_comparison_graph.py b/overproduction_plotters/Overproduction_comparison_graph.py
deleted file mode 100644
index 4c230fa1e70ff1f3639fb5add4902d085a126687..0000000000000000000000000000000000000000
--- a/overproduction_plotters/Overproduction_comparison_graph.py
+++ /dev/null
@@ -1,299 +0,0 @@
-import matplotlib.pyplot as plt
-import numpy as np
-import matplotlib.ticker as mticker
-from matplotlib.lines import Line2D
-import fastmesareader as fmr
-
-plotting_tings = 'ejected_h1 ejected_h2 ejected_h3 ejected_he3 ejected_he4 ejected_li6 ejected_li7 ejected_be7 ejected_be9 ejected_b8 ejected_b10 ejected_b11 ejected_c9 ejected_c11 ejected_c12 ejected_c13 ejected_n12 ejected_n13 ejected_n14 ejected_n15 ejected_o13 ejected_o14 ejected_o15 ejected_o16 ejected_o17 ejected_o18 ejected_f17 ejected_f18 ejected_f19 ejected_ne18 ejected_ne19 ejected_ne20 ejected_ne21 ejected_ne22 ejected_na20 ejected_na21 ejected_na22 ejected_na23 ejected_mg21 ejected_mg22 ejected_mg23 ejected_mg24 ejected_mg25 ejected_mg26 ejected_al23 ejected_al24 ejected_al25 ejected_al26 ejected_al27 ejected_si25 ejected_si26 ejected_si27 ejected_si28 ejected_si29 ejected_si30 ejected_p27 ejected_p28 ejected_p29 ejected_p30 ejected_p31 ejected_s29 ejected_s30 ejected_s31 ejected_s32 ejected_s33 ejected_s34 ejected_s35 ejected_s36 ejected_cl31 ejected_cl32 ejected_cl33 ejected_cl34 ejected_cl35 ejected_cl36 ejected_cl37 ejected_ar32 ejected_ar33 ejected_ar34 ejected_ar35 ejected_ar36 ejected_ar37 ejected_ar38 ejected_ar39 ejected_ar40 ejected_k35 ejected_k36 ejected_k37 ejected_k38 ejected_k39 ejected_k40 ejected_ca36 ejected_ca37 ejected_ca38 ejected_ca39 ejected_ca40 ejected_sc40'
-h = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
-burst1_index = 13550 # the row of data in history.data to plot from.
-burst2_index = 48070 # the row of data in history.data to plot from.
-
-fig = plt.figure(figsize=(12.8,9.6))
-ax = fig.add_subplot(111)	
-
-x_centre_offset = -0.2
-y_offset_top = 0.5
-
-# Burst 1
-
-# H1
-H1 = (h.ejected_h1[burst1_index])/7.0945477357E-01
-ax.plot(1, H1, color='#0343df', marker='.', markersize=10)
-ax.text(1+x_centre_offset, H1+H1*y_offset_top, 'H', fontsize=13)
-
-# He3=H3+He3 & He4 = B8+He4
-He3 = (h.ejected_h3[burst1_index]+h.ejected_he3[burst1_index])/8.4641515456E-05
-He4 = (h.ejected_b8[burst1_index]+h.ejected_he4[burst1_index])/2.7501644504E-01
-ax.plot((3,4),(He3,He4),linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(4+x_centre_offset, He4+He4*y_offset_top, 'He', fontsize=13)
-
-# Li7= Li7+Be7
-Li7 = (h.ejected_li7[burst1_index]+h.ejected_be7[burst1_index])/9.8556690166E-09
-ax.plot(7,Li7,color='#0343df',marker='.', markersize=10)
-ax.text(7+x_centre_offset, Li7+Li7*y_offset_top, 'Li', fontsize=13)
-
-# C12 = N12+C12 & C13 = N13+O13+C13
-C12 = (h.ejected_n12[burst1_index]+h.ejected_c12[burst1_index])/2.3370919413E-03
-C13 = (h.ejected_n13[burst1_index]+h.ejected_o13[burst1_index]+h.ejected_c13[burst1_index])/2.8452149548E-05
-ax.plot((12,13),(C12,C13),linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(13+x_centre_offset, C13+C13*y_offset_top, 'C', fontsize=13)
-
-# N14 = O14+N14 & N15 = O15+N15
-N14 = (h.ejected_o14[burst1_index]+h.ejected_n14[burst1_index])/8.1299682160E-04
-N15 = (h.ejected_o15[burst1_index]+h.ejected_n15[burst1_index])/3.1966552925E-06
-ax.plot((14,15),(N14,N15),linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(15+x_centre_offset, N15+N15*y_offset_top, 'N', fontsize=13)
-
-
-# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
-O16 = (h.ejected_o16[burst1_index])/6.8808895413E-03
-O17 = (h.ejected_f17[burst1_index]+h.ejected_o17[burst1_index])/2.7474252428E-06
-O18 = (h.ejected_f18[burst1_index]+h.ejected_ne18[burst1_index]+h.ejected_o18[burst1_index])/1.5531307205E-05
-ax.plot((16,17,18),(O16,O17,O18),linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(17+x_centre_offset, O17+O17*y_offset_top, 'O', fontsize=13)
-
-# F19 = Ne19+F19
-F19 = (h.ejected_ne19[burst1_index]+h.ejected_f19[burst1_index])/4.1844135602E-07
-ax.plot(19, F19, color='#0343df', marker='.', markersize=10) # F19 = Ne19+F19
-ax.text(19+x_centre_offset, F19+F19*y_offset_top, 'F', fontsize=13)
-
-# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
-Ne20 = (h.ejected_na20[burst1_index]+h.ejected_ne20[burst1_index])/1.6763950634E-03
-Ne21 = (h.ejected_na21[burst1_index]+h.ejected_mg21[burst1_index]+h.ejected_ne21[burst1_index])/4.2164622894E-06
-Ne22 = (h.ejected_mg22[burst1_index]+h.ejected_na22[burst1_index]+h.ejected_ne22[burst1_index])/1.3559077719E-04
-ax.plot((20,21,22),(Ne20,Ne21,Ne22),linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(21+x_centre_offset, Ne21-Ne21*y_offset_top, 'Ne', fontsize=13)
-
-# Na23 = Al23+Mg23+Na23
-Na23 = (h.ejected_al23[burst1_index]+h.ejected_mg23[burst1_index]+h.ejected_na23[burst1_index])/3.6352024324E-05
-ax.plot(23, Na23, color='#0343df', marker='.', markersize=10)
-ax.text(23+x_centre_offset, Na23+Na23*y_offset_top, 'Na', fontsize=13)
-
-# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
-Mg24 = (h.ejected_al24[burst1_index]+h.ejected_mg24[burst1_index])/5.3250196132E-04
-Mg25 = (h.ejected_al25[burst1_index]+h.ejected_si25[burst1_index]+h.ejected_mg25[burst1_index])/7.0534596214E-05
-Mg26 = (h.ejected_mg26[burst1_index]+h.ejected_al26[burst1_index]+h.ejected_si26[burst1_index])/8.0477919874E-05
-ax.plot((24,25,26),(Mg24,Mg25,Mg26),linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(25+x_centre_offset, Mg25+Mg25*y_offset_top, 'Mg', fontsize=13)
-
-# Al27 = Si27+P27+Al27
-Al27 = (h.ejected_si27[burst1_index]+h.ejected_p27[burst1_index]+h.ejected_al27[burst1_index])/6.2568980455E-05
-ax.plot(27, Al27, color='#0343df', marker='.', markersize=10) 
-ax.text(27+x_centre_offset, Al27+Al27*y_offset_top, 'Al', fontsize=13)
-
-# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
-Si28 = (h.ejected_p28[burst1_index]+h.ejected_si28[burst1_index])/7.0715383917E-04
-Si29 = (h.ejected_p29[burst1_index]+h.ejected_s29[burst1_index]+h.ejected_si29[burst1_index])/3.7176525818E-05
-Si30 = (h.ejected_p30[burst1_index]+h.ejected_s30[burst1_index]+h.ejected_si30[burst1_index])/2.5392454637E-05
-ax.plot((28,29,30),(Si28,Si29,Si30),linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(29+x_centre_offset, Si29-Si29*y_offset_top, 'Si', fontsize=13)
-
-# P31 = S31+Cl31+P31
-P31 = (h.ejected_s31[burst1_index]+h.ejected_cl31[burst1_index]+h.ejected_p31[burst1_index])/7.0479812061E-06
-ax.plot(31, P31, color='#0343df', marker='.', markersize=10) 
-ax.text(31+x_centre_offset, P31-P31*y_offset_top, 'P', fontsize=13)
-
-# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
-S32 = (h.ejected_cl32[burst1_index]+h.ejected_ar32[burst1_index]+h.ejected_s32[burst1_index])/3.5061857535E-04
-S33 = (h.ejected_cl33[burst1_index]+h.ejected_ar33[burst1_index]+h.ejected_s33[burst1_index])/2.8564457061E-06
-S34 = (h.ejected_cl34[burst1_index]+h.ejected_ar34[burst1_index]+h.ejected_s34[burst1_index])/1.6577684516E-05
-ax.plot((32,33,34),(S32,S33,S34),linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(33+x_centre_offset, S33-S33*y_offset_top, 'S', fontsize=13)
-
-
-# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
-Cl35 = (h.ejected_ar35[burst1_index]+h.ejected_k35[burst1_index]+h.ejected_s35[burst1_index]+h.ejected_cl35[burst1_index])/3.7581928546E-06
-Cl37 = (h.ejected_ar37[burst1_index]+h.ejected_k37[burst1_index]+h.ejected_ca37[burst1_index]+h.ejected_cl37[burst1_index])/1.2668835242E-06
-ax.plot((35,37),(Cl35,Cl37),linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(37+x_centre_offset, Cl37+Cl37*y_offset_top, 'Cl', fontsize=13)
-
-# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
-Ar36 = (h.ejected_k36[burst1_index]+h.ejected_ca36[burst1_index]+h.ejected_ar36[burst1_index]+h.ejected_cl36[burst1_index])/7.7311395865E-05
-Ar38 = (h.ejected_k38[burst1_index]+h.ejected_ca38[burst1_index]+h.ejected_ar38[burst1_index])/1.4884854207E-05
-ax.plot((36,38),(Ar36,Ar38),linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(38+x_centre_offset, Ar38-Ar38*y_offset_top, 'Ar', fontsize=13)
-
-# K39 = Ca39+K39+Ar39
-K39 = (h.ejected_ca39[burst1_index]+h.ejected_k39[burst1_index]+h.ejected_ar39[burst1_index])/3.7390184012E-06
-ax.plot(39,K39,linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(39+x_centre_offset, K39-K39*y_offset_top, 'K', fontsize=13)
-
-# Ca40 = Sc40+K40+Ca40
-Ca40 = (h.ejected_ca40[burst1_index]+h.ejected_k40[burst1_index]+h.ejected_sc40[burst1_index])/6.4097458307E-05
-ax.plot(40,Ca40,linewidth='1',color='#0343df',marker='.', markersize=10)
-ax.text(40+x_centre_offset, Ca40+Ca40*y_offset_top, 'Ca', fontsize=13)
-
-# Burst 2
-
-# H1
-H1 = (h.ejected_h1[burst2_index])/7.0945477357E-01
-ax.plot(1, H1, color='#e50000', marker='.', markersize=10)
-
-# He3=H3+He3 & He4 = B8+He4
-He3 = (h.ejected_h3[burst2_index]+h.ejected_he3[burst2_index])/8.4641515456E-05
-He4 = (h.ejected_b8[burst2_index]+h.ejected_he4[burst2_index])/2.7501644504E-01
-ax.plot((3,4),(He3,He4),linewidth='1',color='#e50000',marker='.', markersize=10)
-
-# Li7= Li7+Be7
-Li7 = (h.ejected_li7[burst2_index]+h.ejected_be7[burst2_index])/9.8556690166E-09
-ax.plot(7,Li7,color='#e50000',marker='.', markersize=10)
-
-# C12 = N12+C12 & C13 = N13+O13+C13
-C12 = (h.ejected_n12[burst2_index]+h.ejected_c12[burst2_index])/2.3370919413E-03
-C13 = (h.ejected_n13[burst2_index]+h.ejected_o13[burst2_index]+h.ejected_c13[burst2_index])/2.8452149548E-05
-ax.plot((12,13),(C12,C13),linewidth='1',color='#e50000',marker='.', markersize=10)
-
-# N14 = O14+N14 & N15 = O15+N15
-N14 = (h.ejected_o14[burst2_index]+h.ejected_n14[burst2_index])/8.1299682160E-04
-N15 = (h.ejected_o15[burst2_index]+h.ejected_n15[burst2_index])/3.1966552925E-06
-ax.plot((14,15),(N14,N15),linewidth='1',color='#e50000',marker='.', markersize=10)
-
-
-# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
-O16 = (h.ejected_o16[burst2_index])/6.8808895413E-03
-O17 = (h.ejected_f17[burst2_index]+h.ejected_o17[burst2_index])/2.7474252428E-06
-O18 = (h.ejected_f18[burst2_index]+h.ejected_ne18[burst2_index]+h.ejected_o18[burst2_index])/1.5531307205E-05
-ax.plot((16,17,18),(O16,O17,O18),linewidth='1',color='#e50000',marker='.', markersize=10)
-
-# F19 = Ne19+F19
-F19 = (h.ejected_ne19[burst2_index]+h.ejected_f19[burst2_index])/4.1844135602E-07
-ax.plot(19, F19, color='#e50000', marker='.', markersize=10) # F19 = Ne19+F19
-
-# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
-Ne20 = (h.ejected_na20[burst2_index]+h.ejected_ne20[burst2_index])/1.6763950634E-03
-Ne21 = (h.ejected_na21[burst2_index]+h.ejected_mg21[burst2_index]+h.ejected_ne21[burst2_index])/4.2164622894E-06
-Ne22 = (h.ejected_mg22[burst2_index]+h.ejected_na22[burst2_index]+h.ejected_ne22[burst2_index])/1.3559077719E-04
-ax.plot((20,21,22),(Ne20,Ne21,Ne22),linewidth='1',color='#e50000',marker='.', markersize=10)
-
-# Na23 = Al23+Mg23+Na23
-Na23 = (h.ejected_al23[burst2_index]+h.ejected_mg23[burst2_index]+h.ejected_na23[burst2_index])/3.6352024324E-05
-ax.plot(23, Na23, color='#e50000', marker='.', markersize=10)
-
-# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
-Mg24 = (h.ejected_al24[burst2_index]+h.ejected_mg24[burst2_index])/5.3250196132E-04
-Mg25 = (h.ejected_al25[burst2_index]+h.ejected_si25[burst2_index]+h.ejected_mg25[burst2_index])/7.0534596214E-05
-Mg26 = (h.ejected_mg26[burst2_index]+h.ejected_al26[burst2_index]+h.ejected_si26[burst2_index])/8.0477919874E-05
-ax.plot((24,25,26),(Mg24,Mg25,Mg26),linewidth='1',color='#e50000',marker='.', markersize=10)
-
-# Al27 = Si27+P27+Al27
-Al27 = (h.ejected_si27[burst2_index]+h.ejected_p27[burst2_index]+h.ejected_al27[burst2_index])/6.2568980455E-05
-ax.plot(27, Al27, color='#e50000', marker='.', markersize=10) 
-
-# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
-Si28 = (h.ejected_p28[burst2_index]+h.ejected_si28[burst2_index])/7.0715383917E-04
-Si29 = (h.ejected_p29[burst2_index]+h.ejected_s29[burst2_index]+h.ejected_si29[burst2_index])/3.7176525818E-05
-Si30 = (h.ejected_p30[burst2_index]+h.ejected_s30[burst2_index]+h.ejected_si30[burst2_index])/2.5392454637E-05
-ax.plot((28,29,30),(Si28,Si29,Si30),linewidth='1',color='#e50000',marker='.', markersize=10)
-
-# P31 = S31+Cl31+P31
-P31 = (h.ejected_s31[burst2_index]+h.ejected_cl31[burst2_index]+h.ejected_p31[burst2_index])/7.0479812061E-06
-ax.plot(31, P31, color='#e50000', marker='.', markersize=10) 
-
-# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
-S32 = (h.ejected_cl32[burst2_index]+h.ejected_ar32[burst2_index]+h.ejected_s32[burst2_index])/3.5061857535E-04
-S33 = (h.ejected_cl33[burst2_index]+h.ejected_ar33[burst2_index]+h.ejected_s33[burst2_index])/2.8564457061E-06
-S34 = (h.ejected_cl34[burst2_index]+h.ejected_ar34[burst2_index]+h.ejected_s34[burst2_index])/1.6577684516E-05
-ax.plot((32,33,34),(S32,S33,S34),linewidth='1',color='#e50000',marker='.', markersize=10)
-
-
-# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
-Cl35 = (h.ejected_ar35[burst2_index]+h.ejected_k35[burst2_index]+h.ejected_s35[burst2_index]+h.ejected_cl35[burst2_index])/3.7581928546E-06
-Cl37 = (h.ejected_ar37[burst2_index]+h.ejected_k37[burst2_index]+h.ejected_ca37[burst2_index]+h.ejected_cl37[burst2_index])/1.2668835242E-06
-ax.plot((35,37),(Cl35,Cl37),linewidth='1',color='#e50000',marker='.', markersize=10)
-
-# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
-Ar36 = (h.ejected_k36[burst2_index]+h.ejected_ca36[burst2_index]+h.ejected_ar36[burst2_index]+h.ejected_cl36[burst2_index])/7.7311395865E-05
-Ar38 = (h.ejected_k38[burst2_index]+h.ejected_ca38[burst2_index]+h.ejected_ar38[burst2_index])/1.4884854207E-05
-ax.plot((36,38),(Ar36,Ar38),linewidth='1',color='#e50000',marker='.', markersize=10)
-
-# K39 = Ca39+K39+Ar39
-K39 = (h.ejected_ca39[burst2_index]+h.ejected_k39[burst2_index]+h.ejected_ar39[burst2_index])/3.7390184012E-06
-ax.plot(39,K39,linewidth='1',color='#e50000',marker='.', markersize=10)
-
-# Ca40 = Sc40+K40+Ca40
-Ca40 = (h.ejected_ca40[burst2_index]+h.ejected_k40[burst2_index]+h.ejected_sc40[burst2_index])/6.4097458307E-05
-ax.plot(40,Ca40,linewidth='1',color='#e50000',marker='.', markersize=10)
-
-
-legend_elements = [Line2D([0], [0], marker='.', color='#0343df', label='Outburst 1',
-                          markersize=10),
-                   Line2D([0], [0], marker='.', color='#e50000', label='Outburst 4',
-                          markersize=10)]
-ax.legend(handles=legend_elements, frameon=False, loc='lower right',prop={'size': 18})
-
-
-# legend_elements = [Line2D([0], [0], marker='.', color='#0343df', label='Burst 1',
-#                           markersize=5)]
-# ax.legend(handles=legend_elements, loc='lower right')
-
-ax.set_xscale('linear')
-ax.set_yscale('log')
-ax.set_xlim(0,41)
-ax.set_yticks([1e-10,1e-9,1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1,1,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10]) #replaces tick labels from '10^x' to 'x'
-ax.set_yticklabels(['-10','-9','-8','-7','-6','-5','-4','-3','-2','-1','0','1','2','3','4','5','6','7','8','9','10']) #replaces tick labels from '10^x' to 'x'
-ax.tick_params(axis='x', labelsize=16)
-ax.tick_params(axis='y', labelsize=16)
-ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
-ax.grid(which='major', linestyle=':', linewidth='1')
-plt.minorticks_on()
-ax.grid(which='minor', linestyle=':', linewidth='0.4')
-ax.hlines(1, 0, 50, color='#000000', linestyle='--', linewidth=0.5)
-
-ax.set_xlabel('Mass Number', fontsize=20)
-ax.set_ylabel('Mean Overproduction Factor $\\mathrm{Log_{10}}\\left(\\dfrac{X_{i}}{X_{i,\\odot}}\\right)$', fontsize=20)
-# ax.set_ylabel('Mean Overproduction Factor $\\mathrm{\\frac{X_{i}}{X_{i,\\odot}}}$', fontsize=16)
-
-
-plt.show()
-# plt.savefig('overproduction_comparison_plot.pdf', dpi=500)
-
-
-
-
-
-
-# Elements not considered when graphing due to not being interested in their abundance
-# h2 - Stable
-# li6 -  Stable
-# be9 - Stable
-# b10 - Stable
-# b11 - Stable
-# c9 - decays to B9 which decyas to Be9 which we're not interested in
-# c11 - T1/2 = 30.364 min, decays to B11 which we're not interested in
-# s36 - Stable
-# ar40 - Stable
-
-
-
-# Solar Composition Values:
-# Taken from Lodders09.data within $MESA_dir/data/chem_data/Lodders09.data
-# H1 = 7.0945477357E-01
-# He3 = 8.4641515456E-05
-# He4 = 2.7501644504E-01
-# Li7 = 9.8556690166E-09
-# C12 = 2.3370919413E-03
-# C13 = 2.8452149548E-05
-# N14 = 8.1299682160E-04
-# N15 = 3.1966552925E-06
-# O16 = 6.8808895413E-03
-# O17 = 2.7474252428E-06
-# O18 = 1.5531307205E-05
-# F19 = 4.1844135602E-07
-# Ne21 = 4.2164622894E-06
-# Na23 = 3.6352024324E-05
-# Mg24 = 5.3250196132E-04
-# Mg25 = 7.0534596214E-05
-# Al27 = 6.2568980455E-05
-# Si29 = 3.7176525818E-05
-# Si30 = 2.5392454637E-05
-# P31 = 7.0479812061E-06
-# S32 = 3.5061857535E-04
-# S33 = 2.8564457061E-06
-# S34 = 1.6577684516E-05
-# Cl35 = 3.7581928546E-06
-# Cl37 = 1.2668835242E-06
-# Ar36 = 7.7311395865E-05
-# Ar38 = 1.4884854207E-05
-# K39 = 3.7390184012E-06
-# Ca40 = 6.4097458307E-05
\ No newline at end of file
diff --git a/overproduction_plotters/Overproduction_comparison_graph_Asplund09.py b/overproduction_plotters/Overproduction_comparison_graph_Asplund09.py
new file mode 100644
index 0000000000000000000000000000000000000000..3f0d9348e716270fc01e1e0b86f4422527150ca7
--- /dev/null
+++ b/overproduction_plotters/Overproduction_comparison_graph_Asplund09.py
@@ -0,0 +1,396 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+from matplotlib.lines import Line2D
+import fastmesareader as fmr
+
+plotting_tings = 'ejected_h1 ejected_h2 ejected_h3 ejected_he3 ejected_he4 ejected_li6 ejected_li7 ejected_be7 ejected_be9 ejected_b8 ejected_b10 ejected_b11 ejected_c9 ejected_c11 ejected_c12 ejected_c13 ejected_n12 ejected_n13 ejected_n14 ejected_n15 ejected_o13 ejected_o14 ejected_o15 ejected_o16 ejected_o17 ejected_o18 ejected_f17 ejected_f18 ejected_f19 ejected_ne18 ejected_ne19 ejected_ne20 ejected_ne21 ejected_ne22 ejected_na20 ejected_na21 ejected_na22 ejected_na23 ejected_mg21 ejected_mg22 ejected_mg23 ejected_mg24 ejected_mg25 ejected_mg26 ejected_al23 ejected_al24 ejected_al25 ejected_al26 ejected_al27 ejected_si25 ejected_si26 ejected_si27 ejected_si28 ejected_si29 ejected_si30 ejected_p27 ejected_p28 ejected_p29 ejected_p30 ejected_p31 ejected_s29 ejected_s30 ejected_s31 ejected_s32 ejected_s33 ejected_s34 ejected_s35 ejected_s36 ejected_cl31 ejected_cl32 ejected_cl33 ejected_cl34 ejected_cl35 ejected_cl36 ejected_cl37 ejected_ar32 ejected_ar33 ejected_ar34 ejected_ar35 ejected_ar36 ejected_ar37 ejected_ar38 ejected_ar39 ejected_ar40 ejected_k35 ejected_k36 ejected_k37 ejected_k38 ejected_k39 ejected_k40 ejected_ca36 ejected_ca37 ejected_ca38 ejected_ca39 ejected_ca40 ejected_sc40'
+h = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+burst2_index = -1 # the row of data in history.data to plot from.
+burst1_index = -1 # the row of data in history.data to plot from.
+
+
+fig, ax = plt.subplots(2, 1, sharex=True, figsize=(12.8,14.4), gridspec_kw={'height_ratios': [2, 1]})
+fig.subplots_adjust(hspace=0)
+fig.tight_layout()
+plt.gcf().subplots_adjust(hspace=0,bottom=0.05, left=0.12)
+
+x_centre_offset = -0.2
+y_offset_top = 0.5
+y_offset_bot = 0.7
+
+
+# From Asplund et. al. 2009
+H1_solar_mass_frac = 0.738085238
+He3_solar_mass_frac = 4.1251e-05
+He4_solar_mass_frac = 0.248458749
+Li7_solar_mass_frac = 5.347553867866217e-11
+C12_solar_mass_frac = 0.0023479921849246885
+C13_solar_mass_frac = 2.6264022162801824e-05
+N14_solar_mass_frac = 0.0006943429738573174
+N15_solar_mass_frac = 1.5936949716182629e-06
+O16_solar_mass_frac = 0.005745050422480951
+O17_solar_mass_frac = 2.182566435670741e-06
+O18_solar_mass_frac = 1.1517500979792827e-05
+F19_solar_mass_frac = 5.070647693536659e-07
+Ne20_solar_mass_frac = 0.0011625972594930384
+Ne21_solar_mass_frac = 2.7869381311259143e-06
+Ne22_solar_mass_frac = 8.548569964958532e-05
+Na23_solar_mass_frac = 2.9368444780430237e-05
+Mg24_solar_mass_frac = 0.0005544455826402614
+Mg25_solar_mass_frac = 7.019187019119655e-05
+Mg26_solar_mass_frac = 7.72812490805074e-05
+Al27_solar_mass_frac = 5.5900159597141475e-05
+Si28_solar_mass_frac = 0.0006137862206959798
+Si29_solar_mass_frac = 3.116657246812484e-05
+Si30_solar_mass_frac = 2.054523456687628e-05
+P31_solar_mass_frac = 5.852484710740299e-06
+S32_solar_mass_frac = 0.0002941173102666167
+S33_solar_mass_frac = 2.354673504715355e-06
+S34_solar_mass_frac = 1.3291512283195887e-05
+Cl35_solar_mass_frac = 6.160022812039695e-06
+Cl37_solar_mass_frac = 1.9688011679546237e-06
+Ar36_solar_mass_frac = 5.618233360211754e-05
+Ar38_solar_mass_frac = 1.021494559543339e-05
+K39_solar_mass_frac = 2.85828500433324e-06
+Ca40_solar_mass_frac = 6.230278628930155e-05
+
+
+
+# Burst 2
+
+# H1
+H1_2 = (h.ejected_h1[burst2_index])/H1_solar_mass_frac
+ax[0].plot(1, H1_2, color='black', marker='^', markersize=8)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_2 = (h.ejected_h3[burst2_index]+h.ejected_he3[burst2_index])/He3_solar_mass_frac
+He4_2 = (h.ejected_b8[burst2_index]+h.ejected_he4[burst2_index])/He4_solar_mass_frac
+ax[0].plot((3,4),(He3_2,He4_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Li7= Li7+Be7
+Li7_2 = (h.ejected_li7[burst2_index]+h.ejected_be7[burst2_index])/Li7_solar_mass_frac
+ax[0].plot(7,Li7_2,color='black',marker='^', markersize=8)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_2 = (h.ejected_n12[burst2_index]+h.ejected_c12[burst2_index])/C12_solar_mass_frac
+C13_2 = (h.ejected_n13[burst2_index]+h.ejected_o13[burst2_index]+h.ejected_c13[burst2_index])/C13_solar_mass_frac
+ax[0].plot((12,13),(C12_2,C13_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_2 = (h.ejected_o14[burst2_index]+h.ejected_n14[burst2_index])/N14_solar_mass_frac
+N15_2 = (h.ejected_o15[burst2_index]+h.ejected_n15[burst2_index])/N15_solar_mass_frac
+ax[0].plot((14,15),(N14_2,N15_2),linewidth='1',color='black',marker='^', markersize=8)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_2 = (h.ejected_o16[burst2_index])/O16_solar_mass_frac
+O17_2 = (h.ejected_f17[burst2_index]+h.ejected_o17[burst2_index])/O17_solar_mass_frac
+O18_2 = (h.ejected_f18[burst2_index]+h.ejected_ne18[burst2_index]+h.ejected_o18[burst2_index])/O18_solar_mass_frac
+ax[0].plot((16,17,18),(O16_2,O17_2,O18_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# F19 = Ne19+F19
+F19_2 = (h.ejected_ne19[burst2_index]+h.ejected_f19[burst2_index])/F19_solar_mass_frac
+ax[0].plot(19, F19_2, color='black', marker='^', markersize=8) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_2 = (h.ejected_na20[burst2_index]+h.ejected_ne20[burst2_index])/Ne20_solar_mass_frac
+Ne21_2 = (h.ejected_na21[burst2_index]+h.ejected_mg21[burst2_index]+h.ejected_ne21[burst2_index])/Ne21_solar_mass_frac
+Ne22_2 = (h.ejected_mg22[burst2_index]+h.ejected_na22[burst2_index]+h.ejected_ne22[burst2_index])/Ne22_solar_mass_frac
+ax[0].plot((20,21,22),(Ne20_2,Ne21_2,Ne22_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Na23 = Al23+Mg23+Na23
+Na23_2 = (h.ejected_al23[burst2_index]+h.ejected_mg23[burst2_index]+h.ejected_na23[burst2_index])/Na23_solar_mass_frac
+ax[0].plot(23, Na23_2, color='black', marker='^', markersize=8)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_2 = (h.ejected_al24[burst2_index]+h.ejected_mg24[burst2_index])/Mg24_solar_mass_frac
+Mg25_2 = (h.ejected_al25[burst2_index]+h.ejected_si25[burst2_index]+h.ejected_mg25[burst2_index])/Mg25_solar_mass_frac
+Mg26_2 = (h.ejected_mg26[burst2_index]+h.ejected_al26[burst2_index]+h.ejected_si26[burst2_index])/Mg26_solar_mass_frac
+ax[0].plot((24,25,26),(Mg24_2,Mg25_2,Mg26_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Al27 = Si27+P27+Al27
+Al27_2 = (h.ejected_si27[burst2_index]+h.ejected_p27[burst2_index]+h.ejected_al27[burst2_index])/Al27_solar_mass_frac
+ax[0].plot(27, Al27_2, color='black', marker='^', markersize=8) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_2 = (h.ejected_p28[burst2_index]+h.ejected_si28[burst2_index])/Si28_solar_mass_frac
+Si29_2 = (h.ejected_p29[burst2_index]+h.ejected_s29[burst2_index]+h.ejected_si29[burst2_index])/Si29_solar_mass_frac
+Si30_2 = (h.ejected_p30[burst2_index]+h.ejected_s30[burst2_index]+h.ejected_si30[burst2_index])/Si30_solar_mass_frac
+ax[0].plot((28,29,30),(Si28_2,Si29_2,Si30_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# P31 = S31+Cl31+P31
+P31_2 = (h.ejected_s31[burst2_index]+h.ejected_cl31[burst2_index]+h.ejected_p31[burst2_index])/P31_solar_mass_frac
+ax[0].plot(31, P31_2, color='black', marker='^', markersize=8) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_2 = (h.ejected_cl32[burst2_index]+h.ejected_ar32[burst2_index]+h.ejected_s32[burst2_index])/S32_solar_mass_frac
+S33_2 = (h.ejected_cl33[burst2_index]+h.ejected_ar33[burst2_index]+h.ejected_s33[burst2_index])/S33_solar_mass_frac
+S34_2 = (h.ejected_cl34[burst2_index]+h.ejected_ar34[burst2_index]+h.ejected_s34[burst2_index])/S34_solar_mass_frac
+ax[0].plot((32,33,34),(S32_2,S33_2,S34_2),linewidth='1',color='black',marker='^', markersize=8)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_2 = (h.ejected_ar35[burst2_index]+h.ejected_k35[burst2_index]+h.ejected_s35[burst2_index]+h.ejected_cl35[burst2_index])/Cl35_solar_mass_frac
+Cl37_2 = (h.ejected_ar37[burst2_index]+h.ejected_k37[burst2_index]+h.ejected_ca37[burst2_index]+h.ejected_cl37[burst2_index])/Cl37_solar_mass_frac
+ax[0].plot((35,37),(Cl35_2,Cl37_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_2 = (h.ejected_k36[burst2_index]+h.ejected_ca36[burst2_index]+h.ejected_ar36[burst2_index]+h.ejected_cl36[burst2_index])/Ar36_solar_mass_frac
+Ar38_2 = (h.ejected_k38[burst2_index]+h.ejected_ca38[burst2_index]+h.ejected_ar38[burst2_index])/Ar38_solar_mass_frac
+ax[0].plot((36,38),(Ar36_2,Ar38_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# K39 = Ca39+K39+Ar39
+K39_2 = (h.ejected_ca39[burst2_index]+h.ejected_k39[burst2_index]+h.ejected_ar39[burst2_index])/K39_solar_mass_frac
+ax[0].plot(39,K39_2,linewidth='1',color='black',marker='^', markersize=8)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_2 = (h.ejected_ca40[burst2_index]+h.ejected_k40[burst2_index]+h.ejected_sc40[burst2_index])/Ca40_solar_mass_frac
+ax[0].plot(40,Ca40_2,linewidth='1',color='black',marker='^', markersize=8)
+
+
+# Burst 1
+
+# plotting_tings = 'ejected_h1 ejected_h2 ejected_h3 ejected_he3 ejected_he4 ejected_li6 ejected_li7 ejected_be7 ejected_be9 ejected_b8 ejected_b10 ejected_b11 ejected_c9 ejected_c11 ejected_c12 ejected_c13 ejected_n12 ejected_n13 ejected_n14 ejected_n15 ejected_o13 ejected_o14 ejected_o15 ejected_o16 ejected_o17 ejected_o18 ejected_f17 ejected_f18 ejected_f19 ejected_ne18 ejected_ne19 ejected_ne20 ejected_ne21 ejected_ne22 ejected_na20 ejected_na21 ejected_na22 ejected_na23 ejected_mg21 ejected_mg22 ejected_mg23 ejected_mg24 ejected_mg25 ejected_mg26 ejected_al23 ejected_al24 ejected_al25 ejected_al26 ejected_al27 ejected_si25 ejected_si26 ejected_si27 ejected_si28 ejected_si29 ejected_si30 ejected_p27 ejected_p28 ejected_p29 ejected_p30 ejected_p31 ejected_s29 ejected_s30 ejected_s31 ejected_s32 ejected_s33 ejected_s34 ejected_s35 ejected_s36 ejected_cl31 ejected_cl32 ejected_cl33 ejected_cl34 ejected_cl35 ejected_cl36 ejected_cl37 ejected_ar32 ejected_ar33 ejected_ar34 ejected_ar35 ejected_ar36 ejected_ar37 ejected_ar38 ejected_ar39 ejected_ar40 ejected_k35 ejected_k36 ejected_k37 ejected_k38 ejected_k39 ejected_k40 ejected_ca36 ejected_ca37 ejected_ca38 ejected_ca39 ejected_ca40 ejected_sc40'
+# h = fmr.FastMesaReader('../20pcZ_ONe_1p25Msun/LOGS/history.data', plotting_tings)    
+# burst2_index = -1 # the row of data in history.data to plot from.
+# burst1_index = -1 # the row of data in history.data to plot from.
+
+# H1
+H1_1 = (h.ejected_h1[burst1_index])/H1_solar_mass_frac
+ax[0].plot(1, H1_1, color='#0343df', marker='.', markersize=12)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_1 = (h.ejected_h3[burst1_index]+h.ejected_he3[burst1_index])/He3_solar_mass_frac
+He4_1 = (h.ejected_b8[burst1_index]+h.ejected_he4[burst1_index])/He4_solar_mass_frac
+ax[0].plot((3,4),(He3_1,He4_1),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Li7= Li7+Be7
+Li7_1 = (h.ejected_li7[burst1_index]+h.ejected_be7[burst1_index])/Li7_solar_mass_frac
+ax[0].plot(7,Li7_1,color='#0343df',marker='.', markersize=12)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_1 = (h.ejected_n12[burst1_index]+h.ejected_c12[burst1_index])/C12_solar_mass_frac
+C13_1 = (h.ejected_n13[burst1_index]+h.ejected_o13[burst1_index]+h.ejected_c13[burst1_index])/C13_solar_mass_frac
+ax[0].plot((12,13),(C12_1,C13_1),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_1 = (h.ejected_o14[burst1_index]+h.ejected_n14[burst1_index])/N14_solar_mass_frac
+N15_1 = (h.ejected_o15[burst1_index]+h.ejected_n15[burst1_index])/N15_solar_mass_frac
+ax[0].plot((14,15),(N14_1,N15_1),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_1 = (h.ejected_o16[burst1_index])/O16_solar_mass_frac
+O17_1 = (h.ejected_f17[burst1_index]+h.ejected_o17[burst1_index])/O17_solar_mass_frac
+O18_1 = (h.ejected_f18[burst1_index]+h.ejected_ne18[burst1_index]+h.ejected_o18[burst1_index])/O18_solar_mass_frac
+ax[0].plot((16,17,18),(O16_1,O17_1,O18_1),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# F19 = Ne19+F19
+F19_1 = (h.ejected_ne19[burst1_index]+h.ejected_f19[burst1_index])/F19_solar_mass_frac
+ax[0].plot(19, F19_1, color='#0343df', marker='.', markersize=12) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_1 = (h.ejected_na20[burst1_index]+h.ejected_ne20[burst1_index])/Ne20_solar_mass_frac
+Ne21_1 = (h.ejected_na21[burst1_index]+h.ejected_mg21[burst1_index]+h.ejected_ne21[burst1_index])/Ne21_solar_mass_frac
+Ne22_1 = (h.ejected_mg22[burst1_index]+h.ejected_na22[burst1_index]+h.ejected_ne22[burst1_index])/Ne22_solar_mass_frac
+ax[0].plot((20,21,22),(Ne20_1,Ne21_1,Ne22_1),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Na23 = Al23+Mg23+Na23
+Na23_1 = (h.ejected_al23[burst1_index]+h.ejected_mg23[burst1_index]+h.ejected_na23[burst1_index])/Na23_solar_mass_frac
+ax[0].plot(23, Na23_1, color='#0343df', marker='.', markersize=12)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_1 = (h.ejected_al24[burst1_index]+h.ejected_mg24[burst1_index])/Mg24_solar_mass_frac
+Mg25_1 = (h.ejected_al25[burst1_index]+h.ejected_si25[burst1_index]+h.ejected_mg25[burst1_index])/Mg25_solar_mass_frac
+Mg26_1 = (h.ejected_mg26[burst1_index]+h.ejected_al26[burst1_index]+h.ejected_si26[burst1_index])/Mg26_solar_mass_frac
+ax[0].plot((24,25,26),(Mg24_1,Mg25_1,Mg26_1),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Al27 = Si27+P27+Al27
+Al27_1 = (h.ejected_si27[burst1_index]+h.ejected_p27[burst1_index]+h.ejected_al27[burst1_index])/Al27_solar_mass_frac
+ax[0].plot(27, Al27_1, color='#0343df', marker='.', markersize=12) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_1 = (h.ejected_p28[burst1_index]+h.ejected_si28[burst1_index])/Si28_solar_mass_frac
+Si29_1 = (h.ejected_p29[burst1_index]+h.ejected_s29[burst1_index]+h.ejected_si29[burst1_index])/Si29_solar_mass_frac
+Si30_1 = (h.ejected_p30[burst1_index]+h.ejected_s30[burst1_index]+h.ejected_si30[burst1_index])/Si30_solar_mass_frac
+ax[0].plot((28,29,30),(Si28_1,Si29_1,Si30_1),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# P31 = S31+Cl31+P31
+P31_1 = (h.ejected_s31[burst1_index]+h.ejected_cl31[burst1_index]+h.ejected_p31[burst1_index])/P31_solar_mass_frac
+ax[0].plot(31, P31_1, color='#0343df', marker='.', markersize=12) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_1 = (h.ejected_cl32[burst1_index]+h.ejected_ar32[burst1_index]+h.ejected_s32[burst1_index])/S32_solar_mass_frac
+S33_1 = (h.ejected_cl33[burst1_index]+h.ejected_ar33[burst1_index]+h.ejected_s33[burst1_index])/S33_solar_mass_frac
+S34_1 = (h.ejected_cl34[burst1_index]+h.ejected_ar34[burst1_index]+h.ejected_s34[burst1_index])/S34_solar_mass_frac
+ax[0].plot((32,33,34),(S32_1,S33_1,S34_1),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_1 = (h.ejected_ar35[burst1_index]+h.ejected_k35[burst1_index]+h.ejected_s35[burst1_index]+h.ejected_cl35[burst1_index])/Cl35_solar_mass_frac
+Cl37_1 = (h.ejected_ar37[burst1_index]+h.ejected_k37[burst1_index]+h.ejected_ca37[burst1_index]+h.ejected_cl37[burst1_index])/Cl37_solar_mass_frac
+ax[0].plot((35,37),(Cl35_1,Cl37_1),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_1 = (h.ejected_k36[burst1_index]+h.ejected_ca36[burst1_index]+h.ejected_ar36[burst1_index]+h.ejected_cl36[burst1_index])/Ar36_solar_mass_frac
+Ar38_1 = (h.ejected_k38[burst1_index]+h.ejected_ca38[burst1_index]+h.ejected_ar38[burst1_index])/Ar38_solar_mass_frac
+ax[0].plot((36,38),(Ar36_1,Ar38_1),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# K39 = Ca39+K39+Ar39
+K39_1 = (h.ejected_ca39[burst1_index]+h.ejected_k39[burst1_index]+h.ejected_ar39[burst1_index])/K39_solar_mass_frac
+ax[0].plot(39,K39_1,linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_1 = (h.ejected_ca40[burst1_index]+h.ejected_k40[burst1_index]+h.ejected_sc40[burst1_index])/Ca40_solar_mass_frac
+ax[0].plot(40,Ca40_1,linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+ax[0].text(1+x_centre_offset, H1_1+H1_1*y_offset_top, 'H', fontsize=13)
+ax[0].text(4+x_centre_offset, He4_1+He4_1*y_offset_top, 'He', fontsize=13)
+ax[0].text(7+x_centre_offset, Li7_1+Li7_1*y_offset_top, 'Li', fontsize=13)
+ax[0].text(13+x_centre_offset, C13_1+C13_1*y_offset_top, 'C', fontsize=13)
+ax[0].text(15+x_centre_offset, N15_1+N15_1*y_offset_top, 'N', fontsize=13)
+ax[0].text(17+x_centre_offset, O17_1+O17_1*y_offset_top, 'O', fontsize=13)
+ax[0].text(19+x_centre_offset, F19_1+F19_1*y_offset_top, 'F', fontsize=13)
+ax[0].text(21+x_centre_offset, Ne21_1-Ne21_1*y_offset_top, 'Ne', fontsize=13)
+ax[0].text(23+x_centre_offset, Na23_1+Na23_1*y_offset_top, 'Na', fontsize=13)
+ax[0].text(25+x_centre_offset, Mg25_1+Mg25_1*y_offset_top, 'Mg', fontsize=13)
+ax[0].text(27+x_centre_offset, Al27_1+Al27_1*y_offset_top, 'Al', fontsize=13)
+ax[0].text(29+x_centre_offset, Si29_1-Si29_1*y_offset_top, 'Si', fontsize=13)
+ax[0].text(31+x_centre_offset, P31_1-P31_1*y_offset_top, 'P', fontsize=13)
+ax[0].text(33+x_centre_offset, S33_1-S33_1*y_offset_top, 'S', fontsize=13)
+ax[0].text(37+x_centre_offset, Cl37_1+Cl37_1*y_offset_top, 'Cl', fontsize=13)
+ax[0].text(38+x_centre_offset, Ar38_1-Ar38_1*y_offset_top, 'Ar', fontsize=13)
+ax[0].text(39+x_centre_offset, K39_1-K39_1*y_offset_top, 'K', fontsize=13)
+ax[0].text(40+x_centre_offset, Ca40_1+Ca40_1*y_offset_top, 'Ca', fontsize=13)
+
+
+legend_elements = [Line2D([0], [0], marker='.', color='#0343df', label='Burst 1',
+                          markersize=10),
+                   Line2D([0], [0], marker='^', color='black', label='Burst 2',
+                          markersize=10)]
+ax[0].legend(handles=legend_elements, frameon=False, loc='lower right',prop={'size': 18})
+
+# legend_elements = [Line2D([0], [0], marker='.', color='#0343df', label='Burst 1',
+#                           markersize=5)]
+# ax.legend(handles=legend_elements, loc='lower right')
+
+ax[1].plot(1, H1_1/H1_2, color='#0343df', marker='.', markersize=12)
+ax[1].plot((3,4),(He3_1/He3_2,He4_1/He4_2),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].plot(7,Li7_1/Li7_2,color='#0343df',marker='.', markersize=12)
+ax[1].plot((12,13),(C12_1/C12_2,C13_1/C13_2),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].plot((14,15),(N14_1/N14_2,N15_1/N15_2),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].plot((16,17,18),(O16_1/O16_2,O17_1/O17_2,O18_1/O18_2),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].plot(19, F19_1/F19_2, color='#0343df', marker='.', markersize=12)
+ax[1].plot((20,21,22),(Ne20_1/Ne20_2,Ne21_1/Ne21_2,Ne22_1/Ne22_2),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].plot(23, Na23_1/Na23_2, color='#0343df', marker='.', markersize=12)
+ax[1].plot((24,25,26),(Mg24_1/Mg24_2,Mg25_1/Mg25_2,Mg26_1/Mg26_2),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].plot(27, Al27_1/Al27_2, color='#0343df', marker='.', markersize=12)
+ax[1].plot((28,29,30),(Si28_1/Si28_2,Si29_1/Si29_2,Si30_1/Si30_2),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].plot(31, P31_1/P31_2, color='#0343df', marker='.', markersize=12)
+ax[1].plot((32,33,34),(S32_1/S32_2,S33_1/S33_2,S34_1/S34_2),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].plot((35,37),(Cl35_1/Cl35_2,Cl37_1/Cl37_2),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].plot((36,38),(Ar36_1/Ar36_2,Ar38_1/Ar38_2),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].plot(39,K39_1/K39_2,linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].plot(40,Ca40_1/Ca40_2,linewidth='1',color='#0343df',marker='.', markersize=12)
+ax[1].text(1+x_centre_offset, H1_1/H1_2+(H1_1/H1_2)*y_offset_top, 'H', fontsize=13)
+ax[1].text(4+x_centre_offset, He4_1/He4_2+(He4_1/He4_2)*y_offset_top, 'He', fontsize=13)
+ax[1].text(7+x_centre_offset, Li7_1/Li7_2+(Li7_1/Li7_2)*y_offset_top, 'Li', fontsize=13)
+ax[1].text(13+x_centre_offset, C13_1/C13_2+(C13_1/C13_2)*y_offset_top, 'C', fontsize=13)
+ax[1].text(15+x_centre_offset, N15_1/N15_2+(N15_1/N15_2)*y_offset_top, 'N', fontsize=13)
+ax[1].text(17+x_centre_offset, O17_1/O17_2-(O17_1/O17_2)*y_offset_top, 'O', fontsize=13)
+ax[1].text(19+x_centre_offset, F19_1/F19_2+(F19_1/F19_2)*y_offset_top, 'F', fontsize=13)
+ax[1].text(21+x_centre_offset, Ne21_1/Ne21_2-(Ne21_1/Ne21_2)*y_offset_top, 'Ne', fontsize=13)
+ax[1].text(23+x_centre_offset, Na23_1/Na23_2+(Na23_1/Na23_2)*y_offset_top, 'Na', fontsize=13)
+ax[1].text(25+x_centre_offset, Mg25_1/Mg25_2+(Mg25_1/Mg25_2)*y_offset_top, 'Mg', fontsize=13)
+ax[1].text(27+x_centre_offset, Al27_1/Al27_2+(Al27_1/Al27_2)*y_offset_top, 'Al', fontsize=13)
+ax[1].text(29+x_centre_offset, Si29_1/Si29_2-(Si29_1/Si29_2)*y_offset_top, 'Si', fontsize=13)
+ax[1].text(31+x_centre_offset, P31_1/P31_2+(P31_1/P31_2)*y_offset_top, 'P', fontsize=13)
+ax[1].text(33+x_centre_offset, S33_1/S33_2-(S33_1/S33_2)*y_offset_bot, 'S', fontsize=13)
+ax[1].text(37+x_centre_offset, Cl37_1/Cl37_2+(Cl37_1/Cl37_2)*y_offset_top, 'Cl', fontsize=13)
+ax[1].text(38+x_centre_offset, Ar38_1/Ar38_2+(Ar38_1/Ar38_2)*y_offset_top, 'Ar', fontsize=13)
+ax[1].text(39+x_centre_offset, K39_1/K39_2+(K39_1/K39_2)*y_offset_top, 'K', fontsize=13)
+ax[1].text(40+x_centre_offset, Ca40_1/Ca40_2+(Ca40_1/Ca40_2)*y_offset_top, 'Ca', fontsize=13)
+
+
+ax[1].set_xlim(0,41)
+ax[1].tick_params(axis='x', labelsize=16)
+ax[1].set_xscale('linear')
+ax[0].set_yscale('log')
+ax[1].set_yscale('log')
+ax[0].set_yticks([1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1,1,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10]) #replaces tick labels from '10^x' to 'x'
+ax[0].set_yticklabels(['-8','-7','-6','-5','-4','-3','-2','-1','0','1','2','3','4','5','6','7','8','9','10']) #replaces tick labels from '10^x' to 'x'
+ax[1].set_yticks([1e-2,1e-1,1,1e1,1e2]) #replaces tick labels from '10^x' to 'x'
+ax[1].set_yticklabels(['-2','-1','0','1','2']) #replaces tick labels from '10^x' to 'x'
+ax[0].tick_params(axis='y', labelsize=16)
+ax[1].tick_params(axis='y', labelsize=16)
+ax[0].xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax[0].grid(which='major', linestyle=':', linewidth='1')
+plt.minorticks_on()
+ax[0].grid(which='minor', linestyle=':', linewidth='0.4')
+ax[0].hlines(1, 0, 50, color='#000000', linestyle='--', linewidth=0.5)
+
+ax[1].xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax[1].grid(which='major', linestyle=':', linewidth='1')
+ax[1].grid(which='minor', linestyle=':', linewidth='0.4')
+
+ax[1].set_xlabel('Mass number', fontsize=20)
+ax[0].set_ylabel('Mean overproduction\nfactor $\\mathrm{log_{10}}\\left(\\dfrac{X_{i}}{X_{i,\\odot}}\\right)$', fontsize=20)
+ax[1].set_ylabel('$\\mathrm{log_{10}}\\left(\\dfrac{X_{i,\\mathrm{burst \\ 1}}}{X_{i,\\mathrm{burst \\ 2}}}\\right)$', fontsize=20)
+
+# ax[0].set_ylim(0,0)
+# ax[1].set_ylim(0,0)
+
+# plt.show()
+plt.savefig('overproduction_comparison_plot.pdf', dpi=500)
+
+
+
+
+
+
+# Elements not considered when graphing due to not being interested in their abundance
+# h2 - Stable
+# li6 -  Stable
+# be9 - Stable
+# b10 - Stable
+# b11 - Stable
+# c9 - decays to B9 which decyas to Be9 which we're not interested in
+# c11 - T1/2 = 30.364 min, decays to B11 which we're not interested in
+# s36 - Stable
+# ar40 - Stable
+
+
+
+# Solar Composition Values:
+# Taken from Lodders09.data within $MESA_dir/data/chem_data/Lodders09.data
+# H1 = 7.0945477357E-01
+# He3 = 8.4641515456E-05
+# He4 = 2.7501644504E-01
+# Li7 = 9.8556690166E-09
+# C12 = 2.3370919413E-03
+# C13 = 2.8452149548E-05
+# N14 = 8.1299682160E-04
+# N15 = 3.1966552925E-06
+# O16 = 6.8808895413E-03
+# O17 = 2.7474252428E-06
+# O18 = 1.5531307205E-05
+# F19 = 4.1844135602E-07
+# Ne21 = 4.2164622894E-06
+# Na23 = 3.6352024324E-05
+# Mg24 = 5.3250196132E-04
+# Mg25 = 7.0534596214E-05
+# Al27 = 6.2568980455E-05
+# Si29 = 3.7176525818E-05
+# Si30 = 2.5392454637E-05
+# P31 = 7.0479812061E-06
+# S32 = 3.5061857535E-04
+# S33 = 2.8564457061E-06
+# S34 = 1.6577684516E-05
+# Cl35 = 3.7581928546E-06
+# Cl37 = 1.2668835242E-06
+# Ar36 = 7.7311395865E-05
+# Ar38 = 1.4884854207E-05
+# K39 = 3.7390184012E-06
+# Ca40 = 6.4097458307E-05
\ No newline at end of file
diff --git a/overproduction_plotters/Overproduction_five_comparison_graph_Asplund09.py b/overproduction_plotters/Overproduction_five_comparison_graph_Asplund09.py
new file mode 100644
index 0000000000000000000000000000000000000000..fb245fe706b05ae79e8f94cd942d6020ce3c4207
--- /dev/null
+++ b/overproduction_plotters/Overproduction_five_comparison_graph_Asplund09.py
@@ -0,0 +1,631 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+from matplotlib.lines import Line2D
+import fastmesareader as fmr
+
+plotting_tings = 'ejected_h1 ejected_h2 ejected_h3 ejected_he3 ejected_he4 ejected_li6 ejected_li7 ejected_be7 ejected_be9 ejected_b8 ejected_b10 ejected_b11 ejected_c9 ejected_c11 ejected_c12 ejected_c13 ejected_n12 ejected_n13 ejected_n14 ejected_n15 ejected_o13 ejected_o14 ejected_o15 ejected_o16 ejected_o17 ejected_o18 ejected_f17 ejected_f18 ejected_f19 ejected_ne18 ejected_ne19 ejected_ne20 ejected_ne21 ejected_ne22 ejected_na20 ejected_na21 ejected_na22 ejected_na23 ejected_mg21 ejected_mg22 ejected_mg23 ejected_mg24 ejected_mg25 ejected_mg26 ejected_al23 ejected_al24 ejected_al25 ejected_al26 ejected_al27 ejected_si25 ejected_si26 ejected_si27 ejected_si28 ejected_si29 ejected_si30 ejected_p27 ejected_p28 ejected_p29 ejected_p30 ejected_p31 ejected_s29 ejected_s30 ejected_s31 ejected_s32 ejected_s33 ejected_s34 ejected_s35 ejected_s36 ejected_cl31 ejected_cl32 ejected_cl33 ejected_cl34 ejected_cl35 ejected_cl36 ejected_cl37 ejected_ar32 ejected_ar33 ejected_ar34 ejected_ar35 ejected_ar36 ejected_ar37 ejected_ar38 ejected_ar39 ejected_ar40 ejected_k35 ejected_k36 ejected_k37 ejected_k38 ejected_k39 ejected_k40 ejected_ca36 ejected_ca37 ejected_ca38 ejected_ca39 ejected_ca40 ejected_sc40'
+a = fmr.FastMesaReader('LOGS/history.data', plotting_tings) 
+b = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+c = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+d = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+e = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+
+
+plota_index = -1
+plotb_index = -1
+plotc_index = -1
+plotd_index = -1
+plote_index = -1
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)	
+
+x_centre_offset = -0.3 #-0.2
+x_centre_offset_2 = -0.2
+y_offset_top = 0.5
+y_offset_bot = 0.55
+
+# From Asplund et. al. 2009
+H1_solar_mass_frac = 0.738085238
+He3_solar_mass_frac = 4.1251e-05
+He4_solar_mass_frac = 0.248458749
+Li7_solar_mass_frac = 5.347553867866217e-11
+C12_solar_mass_frac = 0.0023479921849246885
+C13_solar_mass_frac = 2.6264022162801824e-05
+N14_solar_mass_frac = 0.0006943429738573174
+N15_solar_mass_frac = 1.5936949716182629e-06
+O16_solar_mass_frac = 0.005745050422480951
+O17_solar_mass_frac = 2.182566435670741e-06
+O18_solar_mass_frac = 1.1517500979792827e-05
+F19_solar_mass_frac = 5.070647693536659e-07
+Ne20_solar_mass_frac = 0.0011625972594930384
+Ne21_solar_mass_frac = 2.7869381311259143e-06
+Ne22_solar_mass_frac = 8.548569964958532e-05
+Na23_solar_mass_frac = 2.9368444780430237e-05
+Mg24_solar_mass_frac = 0.0005544455826402614
+Mg25_solar_mass_frac = 7.019187019119655e-05
+Mg26_solar_mass_frac = 7.72812490805074e-05
+Al27_solar_mass_frac = 5.5900159597141475e-05
+Si28_solar_mass_frac = 0.0006137862206959798
+Si29_solar_mass_frac = 3.116657246812484e-05
+Si30_solar_mass_frac = 2.054523456687628e-05
+P31_solar_mass_frac = 5.852484710740299e-06
+S32_solar_mass_frac = 0.0002941173102666167
+S33_solar_mass_frac = 2.354673504715355e-06
+S34_solar_mass_frac = 1.3291512283195887e-05
+Cl35_solar_mass_frac = 6.160022812039695e-06
+Cl37_solar_mass_frac = 1.9688011679546237e-06
+Ar36_solar_mass_frac = 5.618233360211754e-05
+Ar38_solar_mass_frac = 1.021494559543339e-05
+K39_solar_mass_frac = 2.85828500433324e-06
+Ca40_solar_mass_frac = 6.230278628930155e-05
+
+
+H1_1 = (a.ejected_h1[plota_index])/H1_solar_mass_frac
+ax.plot(1, H1_1, color='tab:orange', marker='s', markersize=6)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_1 = (a.ejected_h3[plota_index]+a.ejected_he3[plota_index])/He3_solar_mass_frac
+He4_1 = (a.ejected_b8[plota_index]+a.ejected_he4[plota_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_1,He4_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Li7= Li7+Be7
+Li7_1 = (a.ejected_li7[plota_index]+a.ejected_be7[plota_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_1,color='tab:orange',marker='s', markersize=6)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_1 = (a.ejected_n12[plota_index]+a.ejected_c12[plota_index])/C12_solar_mass_frac
+C13_1 = (a.ejected_n13[plota_index]+a.ejected_o13[plota_index]+a.ejected_c13[plota_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_1,C13_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_1 = (a.ejected_o14[plota_index]+a.ejected_n14[plota_index])/N14_solar_mass_frac
+N15_1 = (a.ejected_o15[plota_index]+a.ejected_n15[plota_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_1,N15_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_1 = (a.ejected_o16[plota_index])/O16_solar_mass_frac
+O17_1 = (a.ejected_f17[plota_index]+a.ejected_o17[plota_index])/O17_solar_mass_frac
+O18_1 = (a.ejected_f18[plota_index]+a.ejected_ne18[plota_index]+a.ejected_o18[plota_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_1,O17_1,O18_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# F19 = Ne19+F19
+F19_1 = (a.ejected_ne19[plota_index]+a.ejected_f19[plota_index])/F19_solar_mass_frac
+ax.plot(19, F19_1, color='tab:orange', marker='s', markersize=6) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_1 = (a.ejected_na20[plota_index]+a.ejected_ne20[plota_index])/Ne20_solar_mass_frac
+Ne21_1 = (a.ejected_na21[plota_index]+a.ejected_mg21[plota_index]+a.ejected_ne21[plota_index])/Ne21_solar_mass_frac
+Ne22_1 = (a.ejected_mg22[plota_index]+a.ejected_na22[plota_index]+a.ejected_ne22[plota_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_1,Ne21_1,Ne22_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Na23 = Al23+Mg23+Na23
+Na23_1 = (a.ejected_al23[plota_index]+a.ejected_mg23[plota_index]+a.ejected_na23[plota_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_1, color='tab:orange', marker='s', markersize=6)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_1 = (a.ejected_al24[plota_index]+a.ejected_mg24[plota_index])/Mg24_solar_mass_frac
+Mg25_1 = (a.ejected_al25[plota_index]+a.ejected_si25[plota_index]+a.ejected_mg25[plota_index])/Mg25_solar_mass_frac
+Mg26_1 = (a.ejected_mg26[plota_index]+a.ejected_al26[plota_index]+a.ejected_si26[plota_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_1,Mg25_1,Mg26_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Al27 = Si27+P27+Al27
+Al27_1 = (a.ejected_si27[plota_index]+a.ejected_p27[plota_index]+a.ejected_al27[plota_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_1, color='tab:orange', marker='s', markersize=6) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_1 = (a.ejected_p28[plota_index]+a.ejected_si28[plota_index])/Si28_solar_mass_frac
+Si29_1 = (a.ejected_p29[plota_index]+a.ejected_s29[plota_index]+a.ejected_si29[plota_index])/Si29_solar_mass_frac
+Si30_1 = (a.ejected_p30[plota_index]+a.ejected_s30[plota_index]+a.ejected_si30[plota_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_1,Si29_1,Si30_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# P31 = S31+Cl31+P31
+P31_1 = (a.ejected_s31[plota_index]+a.ejected_cl31[plota_index]+a.ejected_p31[plota_index])/P31_solar_mass_frac
+ax.plot(31, P31_1, color='tab:orange', marker='s', markersize=6) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_1 = (a.ejected_cl32[plota_index]+a.ejected_ar32[plota_index]+a.ejected_s32[plota_index])/S32_solar_mass_frac
+S33_1 = (a.ejected_cl33[plota_index]+a.ejected_ar33[plota_index]+a.ejected_s33[plota_index])/S33_solar_mass_frac
+S34_1 = (a.ejected_cl34[plota_index]+a.ejected_ar34[plota_index]+a.ejected_s34[plota_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_1,S33_1,S34_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_1 = (a.ejected_ar35[plota_index]+a.ejected_k35[plota_index]+a.ejected_s35[plota_index]+a.ejected_cl35[plota_index])/Cl35_solar_mass_frac
+Cl37_1 = (a.ejected_ar37[plota_index]+a.ejected_k37[plota_index]+a.ejected_ca37[plota_index]+a.ejected_cl37[plota_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_1,Cl37_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_1 = (a.ejected_k36[plota_index]+a.ejected_ca36[plota_index]+a.ejected_ar36[plota_index]+a.ejected_cl36[plota_index])/Ar36_solar_mass_frac
+Ar38_1 = (a.ejected_k38[plota_index]+a.ejected_ca38[plota_index]+a.ejected_ar38[plota_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_1,Ar38_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# K39 = Ca39+K39+Ar39
+K39_1 = (a.ejected_ca39[plota_index]+a.ejected_k39[plota_index]+a.ejected_ar39[plota_index])/K39_solar_mass_frac
+ax.plot(39,K39_1,linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_1 = (a.ejected_ca40[plota_index]+a.ejected_k40[plota_index]+a.ejected_sc40[plota_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_1,linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+# H1
+H1_2 = (b.ejected_h1[plotb_index])/H1_solar_mass_frac
+ax.plot(1, H1_2, color='black', marker='^', markersize=8)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_2 = (b.ejected_h3[plotb_index]+b.ejected_he3[plotb_index])/He3_solar_mass_frac
+He4_2 = (b.ejected_b8[plotb_index]+b.ejected_he4[plotb_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_2,He4_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Li7= Li7+Be7
+Li7_2 = (b.ejected_li7[plotb_index]+b.ejected_be7[plotb_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_2,color='black',marker='^', markersize=8)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_2 = (b.ejected_n12[plotb_index]+b.ejected_c12[plotb_index])/C12_solar_mass_frac
+C13_2 = (b.ejected_n13[plotb_index]+b.ejected_o13[plotb_index]+b.ejected_c13[plotb_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_2,C13_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_2 = (b.ejected_o14[plotb_index]+b.ejected_n14[plotb_index])/N14_solar_mass_frac
+N15_2 = (b.ejected_o15[plotb_index]+b.ejected_n15[plotb_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_2,N15_2),linewidth='1',color='black',marker='^', markersize=8)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_2 = (b.ejected_o16[plotb_index])/O16_solar_mass_frac
+O17_2 = (b.ejected_f17[plotb_index]+b.ejected_o17[plotb_index])/O17_solar_mass_frac
+O18_2 = (b.ejected_f18[plotb_index]+b.ejected_ne18[plotb_index]+b.ejected_o18[plotb_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_2,O17_2,O18_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# F19 = Ne19+F19
+F19_2 = (b.ejected_ne19[plotb_index]+b.ejected_f19[plotb_index])/F19_solar_mass_frac
+ax.plot(19, F19_2, color='black', marker='^', markersize=8) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_2 = (b.ejected_na20[plotb_index]+b.ejected_ne20[plotb_index])/Ne20_solar_mass_frac
+Ne21_2 = (b.ejected_na21[plotb_index]+b.ejected_mg21[plotb_index]+b.ejected_ne21[plotb_index])/Ne21_solar_mass_frac
+Ne22_2 = (b.ejected_mg22[plotb_index]+b.ejected_na22[plotb_index]+b.ejected_ne22[plotb_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_2,Ne21_2,Ne22_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Na23 = Al23+Mg23+Na23
+Na23_2 = (b.ejected_al23[plotb_index]+b.ejected_mg23[plotb_index]+b.ejected_na23[plotb_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_2, color='black', marker='^', markersize=8)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_2 = (b.ejected_al24[plotb_index]+b.ejected_mg24[plotb_index])/Mg24_solar_mass_frac
+Mg25_2 = (b.ejected_al25[plotb_index]+b.ejected_si25[plotb_index]+b.ejected_mg25[plotb_index])/Mg25_solar_mass_frac
+Mg26_2 = (b.ejected_mg26[plotb_index]+b.ejected_al26[plotb_index]+b.ejected_si26[plotb_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_2,Mg25_2,Mg26_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Al27 = Si27+P27+Al27
+Al27_2 = (b.ejected_si27[plotb_index]+b.ejected_p27[plotb_index]+b.ejected_al27[plotb_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_2, color='black', marker='^', markersize=8) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_2 = (b.ejected_p28[plotb_index]+b.ejected_si28[plotb_index])/Si28_solar_mass_frac
+Si29_2 = (b.ejected_p29[plotb_index]+b.ejected_s29[plotb_index]+b.ejected_si29[plotb_index])/Si29_solar_mass_frac
+Si30_2 = (b.ejected_p30[plotb_index]+b.ejected_s30[plotb_index]+b.ejected_si30[plotb_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_2,Si29_2,Si30_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# P31 = S31+Cl31+P31
+P31_2 = (b.ejected_s31[plotb_index]+b.ejected_cl31[plotb_index]+b.ejected_p31[plotb_index])/P31_solar_mass_frac
+ax.plot(31, P31_2, color='black', marker='^', markersize=8) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_2 = (b.ejected_cl32[plotb_index]+b.ejected_ar32[plotb_index]+b.ejected_s32[plotb_index])/S32_solar_mass_frac
+S33_2 = (b.ejected_cl33[plotb_index]+b.ejected_ar33[plotb_index]+b.ejected_s33[plotb_index])/S33_solar_mass_frac
+S34_2 = (b.ejected_cl34[plotb_index]+b.ejected_ar34[plotb_index]+b.ejected_s34[plotb_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_2,S33_2,S34_2),linewidth='1',color='black',marker='^', markersize=8)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_2 = (b.ejected_ar35[plotb_index]+b.ejected_k35[plotb_index]+b.ejected_s35[plotb_index]+b.ejected_cl35[plotb_index])/Cl35_solar_mass_frac
+Cl37_2 = (b.ejected_ar37[plotb_index]+b.ejected_k37[plotb_index]+b.ejected_ca37[plotb_index]+b.ejected_cl37[plotb_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_2,Cl37_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_2 = (b.ejected_k36[plotb_index]+b.ejected_ca36[plotb_index]+b.ejected_ar36[plotb_index]+b.ejected_cl36[plotb_index])/Ar36_solar_mass_frac
+Ar38_2 = (b.ejected_k38[plotb_index]+b.ejected_ca38[plotb_index]+b.ejected_ar38[plotb_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_2,Ar38_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# K39 = Ca39+K39+Ar39
+K39_2 = (b.ejected_ca39[plotb_index]+b.ejected_k39[plotb_index]+b.ejected_ar39[plotb_index])/K39_solar_mass_frac
+ax.plot(39,K39_2,linewidth='1',color='black',marker='^', markersize=8)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_2 = (b.ejected_ca40[plotb_index]+b.ejected_k40[plotb_index]+b.ejected_sc40[plotb_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_2,linewidth='1',color='black',marker='^', markersize=8)
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+H1_3 = (c.ejected_h1[plotc_index])/H1_solar_mass_frac
+ax.plot(1, H1_3, color='#0343df', marker='.', markersize=12)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_3 = (c.ejected_h3[plotc_index]+c.ejected_he3[plotc_index])/He3_solar_mass_frac
+He4_3 = (c.ejected_b8[plotc_index]+c.ejected_he4[plotc_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_3,He4_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Li7= Li7+Be7
+Li7_3 = (c.ejected_li7[plotc_index]+c.ejected_be7[plotc_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_3,color='#0343df',marker='.', markersize=12)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_3 = (c.ejected_n12[plotc_index]+c.ejected_c12[plotc_index])/C12_solar_mass_frac
+C13_3 = (c.ejected_n13[plotc_index]+c.ejected_o13[plotc_index]+c.ejected_c13[plotc_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_3,C13_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_3 = (c.ejected_o14[plotc_index]+c.ejected_n14[plotc_index])/N14_solar_mass_frac
+N15_3 = (c.ejected_o15[plotc_index]+c.ejected_n15[plotc_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_3,N15_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_3 = (c.ejected_o16[plotc_index])/O16_solar_mass_frac
+O17_3 = (c.ejected_f17[plotc_index]+c.ejected_o17[plotc_index])/O17_solar_mass_frac
+O18_3 = (c.ejected_f18[plotc_index]+c.ejected_ne18[plotc_index]+c.ejected_o18[plotc_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_3,O17_3,O18_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# F19 = Ne19+F19
+F19_3 = (c.ejected_ne19[plotc_index]+c.ejected_f19[plotc_index])/F19_solar_mass_frac
+ax.plot(19, F19_3, color='#0343df', marker='.', markersize=12) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_3 = (c.ejected_na20[plotc_index]+c.ejected_ne20[plotc_index])/Ne20_solar_mass_frac
+Ne21_3 = (c.ejected_na21[plotc_index]+c.ejected_mg21[plotc_index]+c.ejected_ne21[plotc_index])/Ne21_solar_mass_frac
+Ne22_3 = (c.ejected_mg22[plotc_index]+c.ejected_na22[plotc_index]+c.ejected_ne22[plotc_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_3,Ne21_3,Ne22_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Na23 = Al23+Mg23+Na23
+Na23_3 = (c.ejected_al23[plotc_index]+c.ejected_mg23[plotc_index]+c.ejected_na23[plotc_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_3, color='#0343df', marker='.', markersize=12)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_3 = (c.ejected_al24[plotc_index]+c.ejected_mg24[plotc_index])/Mg24_solar_mass_frac
+Mg25_3 = (c.ejected_al25[plotc_index]+c.ejected_si25[plotc_index]+c.ejected_mg25[plotc_index])/Mg25_solar_mass_frac
+Mg26_3 = (c.ejected_mg26[plotc_index]+c.ejected_al26[plotc_index]+c.ejected_si26[plotc_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_3,Mg25_3,Mg26_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Al27 = Si27+P27+Al27
+Al27_3 = (c.ejected_si27[plotc_index]+c.ejected_p27[plotc_index]+c.ejected_al27[plotc_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_3, color='#0343df', marker='.', markersize=12) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_3 = (c.ejected_p28[plotc_index]+c.ejected_si28[plotc_index])/Si28_solar_mass_frac
+Si29_3 = (c.ejected_p29[plotc_index]+c.ejected_s29[plotc_index]+c.ejected_si29[plotc_index])/Si29_solar_mass_frac
+Si30_3 = (c.ejected_p30[plotc_index]+c.ejected_s30[plotc_index]+c.ejected_si30[plotc_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_3,Si29_3,Si30_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# P31 = S31+Cl31+P31
+P31_3 = (c.ejected_s31[plotc_index]+c.ejected_cl31[plotc_index]+c.ejected_p31[plotc_index])/P31_solar_mass_frac
+ax.plot(31, P31_3, color='#0343df', marker='.', markersize=12) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_3 = (c.ejected_cl32[plotc_index]+c.ejected_ar32[plotc_index]+c.ejected_s32[plotc_index])/S32_solar_mass_frac
+S33_3 = (c.ejected_cl33[plotc_index]+c.ejected_ar33[plotc_index]+c.ejected_s33[plotc_index])/S33_solar_mass_frac
+S34_3 = (c.ejected_cl34[plotc_index]+c.ejected_ar34[plotc_index]+c.ejected_s34[plotc_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_3,S33_3,S34_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_3 = (c.ejected_ar35[plotc_index]+c.ejected_k35[plotc_index]+c.ejected_s35[plotc_index]+c.ejected_cl35[plotc_index])/Cl35_solar_mass_frac
+Cl37_3 = (c.ejected_ar37[plotc_index]+c.ejected_k37[plotc_index]+c.ejected_ca37[plotc_index]+c.ejected_cl37[plotc_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_3,Cl37_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_3 = (c.ejected_k36[plotc_index]+c.ejected_ca36[plotc_index]+c.ejected_ar36[plotc_index]+c.ejected_cl36[plotc_index])/Ar36_solar_mass_frac
+Ar38_3 = (c.ejected_k38[plotc_index]+c.ejected_ca38[plotc_index]+c.ejected_ar38[plotc_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_3,Ar38_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# K39 = Ca39+K39+Ar39
+K39_3 = (c.ejected_ca39[plotc_index]+c.ejected_k39[plotc_index]+c.ejected_ar39[plotc_index])/K39_solar_mass_frac
+ax.plot(39,K39_3,linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_3 = (c.ejected_ca40[plotc_index]+c.ejected_k40[plotc_index]+c.ejected_sc40[plotc_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_3,linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+H1_4 = (d.ejected_h1[plotd_index])/H1_solar_mass_frac
+ax.plot(1, H1_4, color='r', marker='x', markersize=7)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_4 = (d.ejected_h3[plotd_index]+d.ejected_he3[plotd_index])/He3_solar_mass_frac
+He4_4 = (d.ejected_b8[plotd_index]+d.ejected_he4[plotd_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_4,He4_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# Li7= Li7+Be7
+Li7_4 = (d.ejected_li7[plotd_index]+d.ejected_be7[plotd_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_4,color='r',marker='x', markersize=7)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_4 = (d.ejected_n12[plotd_index]+d.ejected_c12[plotd_index])/C12_solar_mass_frac
+C13_4 = (d.ejected_n13[plotd_index]+d.ejected_o13[plotd_index]+d.ejected_c13[plotd_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_4,C13_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_4 = (d.ejected_o14[plotd_index]+d.ejected_n14[plotd_index])/N14_solar_mass_frac
+N15_4 = (d.ejected_o15[plotd_index]+d.ejected_n15[plotd_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_4,N15_4),linewidth='1',color='r',marker='x', markersize=7)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_4 = (d.ejected_o16[plotd_index])/O16_solar_mass_frac
+O17_4 = (d.ejected_f17[plotd_index]+d.ejected_o17[plotd_index])/O17_solar_mass_frac
+O18_4 = (d.ejected_f18[plotd_index]+d.ejected_ne18[plotd_index]+d.ejected_o18[plotd_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_4,O17_4,O18_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# F19 = Ne19+F19
+F19_4 = (d.ejected_ne19[plotd_index]+d.ejected_f19[plotd_index])/F19_solar_mass_frac
+ax.plot(19, F19_4, color='r', marker='x', markersize=7) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_4 = (d.ejected_na20[plotd_index]+d.ejected_ne20[plotd_index])/Ne20_solar_mass_frac
+Ne21_4 = (d.ejected_na21[plotd_index]+d.ejected_mg21[plotd_index]+d.ejected_ne21[plotd_index])/Ne21_solar_mass_frac
+Ne22_4 = (d.ejected_mg22[plotd_index]+d.ejected_na22[plotd_index]+d.ejected_ne22[plotd_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_4,Ne21_4,Ne22_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# Na23 = Al23+Mg23+Na23
+Na23_4 = (d.ejected_al23[plotd_index]+d.ejected_mg23[plotd_index]+d.ejected_na23[plotd_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_4, color='r', marker='x', markersize=7)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_4 = (d.ejected_al24[plotd_index]+d.ejected_mg24[plotd_index])/Mg24_solar_mass_frac
+Mg25_4 = (d.ejected_al25[plotd_index]+d.ejected_si25[plotd_index]+d.ejected_mg25[plotd_index])/Mg25_solar_mass_frac
+Mg26_4 = (d.ejected_mg26[plotd_index]+d.ejected_al26[plotd_index]+d.ejected_si26[plotd_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_4,Mg25_4,Mg26_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# Al27 = Si27+P27+Al27
+Al27_4 = (d.ejected_si27[plotd_index]+d.ejected_p27[plotd_index]+d.ejected_al27[plotd_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_4, color='r', marker='x', markersize=7) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_4 = (d.ejected_p28[plotd_index]+d.ejected_si28[plotd_index])/Si28_solar_mass_frac
+Si29_4 = (d.ejected_p29[plotd_index]+d.ejected_s29[plotd_index]+d.ejected_si29[plotd_index])/Si29_solar_mass_frac
+Si30_4 = (d.ejected_p30[plotd_index]+d.ejected_s30[plotd_index]+d.ejected_si30[plotd_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_4,Si29_4,Si30_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# P31 = S31+Cl31+P31
+P31_4 = (d.ejected_s31[plotd_index]+d.ejected_cl31[plotd_index]+d.ejected_p31[plotd_index])/P31_solar_mass_frac
+ax.plot(31, P31_4, color='r', marker='x', markersize=7) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_4 = (d.ejected_cl32[plotd_index]+d.ejected_ar32[plotd_index]+d.ejected_s32[plotd_index])/S32_solar_mass_frac
+S33_4 = (d.ejected_cl33[plotd_index]+d.ejected_ar33[plotd_index]+d.ejected_s33[plotd_index])/S33_solar_mass_frac
+S34_4 = (d.ejected_cl34[plotd_index]+d.ejected_ar34[plotd_index]+d.ejected_s34[plotd_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_4,S33_4,S34_4),linewidth='1',color='r',marker='x', markersize=7)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_4 = (d.ejected_ar35[plotd_index]+d.ejected_k35[plotd_index]+d.ejected_s35[plotd_index]+d.ejected_cl35[plotd_index])/Cl35_solar_mass_frac
+Cl37_4 = (d.ejected_ar37[plotd_index]+d.ejected_k37[plotd_index]+d.ejected_ca37[plotd_index]+d.ejected_cl37[plotd_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_4,Cl37_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_4 = (d.ejected_k36[plotd_index]+d.ejected_ca36[plotd_index]+d.ejected_ar36[plotd_index]+d.ejected_cl36[plotd_index])/Ar36_solar_mass_frac
+Ar38_4 = (d.ejected_k38[plotd_index]+d.ejected_ca38[plotd_index]+d.ejected_ar38[plotd_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_4,Ar38_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# K39 = Ca39+K39+Ar39
+K39_4 = (d.ejected_ca39[plotd_index]+d.ejected_k39[plotd_index]+d.ejected_ar39[plotd_index])/K39_solar_mass_frac
+ax.plot(39,K39_4,linewidth='1',color='r',marker='x', markersize=7)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_4 = (d.ejected_ca40[plotd_index]+d.ejected_k40[plotd_index]+d.ejected_sc40[plotd_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_4,linewidth='1',color='r',marker='x', markersize=7)
+
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+H1_5 = (e.ejected_h1[plote_index])/H1_solar_mass_frac
+ax.plot(1, H1_5, color='g', marker='+', markersize=8)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_5 = (e.ejected_h3[plote_index]+e.ejected_he3[plote_index])/He3_solar_mass_frac
+He4_5 = (e.ejected_b8[plote_index]+e.ejected_he4[plote_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_5,He4_5),linewidth='1',color='g',marker='+', markersize=8)
+
+# Li7= Li7+Be7
+Li7_5 = (e.ejected_li7[plote_index]+e.ejected_be7[plote_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_5,color='g',marker='+', markersize=8)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_5 = (e.ejected_n12[plote_index]+e.ejected_c12[plote_index])/C12_solar_mass_frac
+C13_5 = (e.ejected_n13[plote_index]+e.ejected_o13[plote_index]+e.ejected_c13[plote_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_5,C13_5),linewidth='1',color='g',marker='+', markersize=8)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_5 = (e.ejected_o14[plote_index]+e.ejected_n14[plote_index])/N14_solar_mass_frac
+N15_5 = (e.ejected_o15[plote_index]+e.ejected_n15[plote_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_5,N15_5),linewidth='1',color='g',marker='+', markersize=8)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_5 = (e.ejected_o16[plote_index])/O16_solar_mass_frac
+O17_5 = (e.ejected_f17[plote_index]+e.ejected_o17[plote_index])/O17_solar_mass_frac
+O18_5 = (e.ejected_f18[plote_index]+e.ejected_ne18[plote_index]+e.ejected_o18[plote_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_5,O17_5,O18_5),linewidth='1',color='g',marker='+', markersize=8)
+
+# F19 = Ne19+F19
+F19_5 = (e.ejected_ne19[plote_index]+e.ejected_f19[plote_index])/F19_solar_mass_frac
+ax.plot(19, F19_5, color='g', marker='+', markersize=8) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_5 = (e.ejected_na20[plote_index]+e.ejected_ne20[plote_index])/Ne20_solar_mass_frac
+Ne21_5 = (e.ejected_na21[plote_index]+e.ejected_mg21[plote_index]+e.ejected_ne21[plote_index])/Ne21_solar_mass_frac
+Ne22_5 = (e.ejected_mg22[plote_index]+e.ejected_na22[plote_index]+e.ejected_ne22[plote_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_5,Ne21_5,Ne22_5),linewidth='1',color='g',marker='+', markersize=8)
+
+# Na23 = Al23+Mg23+Na23
+Na23_5 = (e.ejected_al23[plote_index]+e.ejected_mg23[plote_index]+e.ejected_na23[plote_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_5, color='g', marker='+', markersize=8)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_5 = (e.ejected_al24[plote_index]+e.ejected_mg24[plote_index])/Mg24_solar_mass_frac
+Mg25_5 = (e.ejected_al25[plote_index]+e.ejected_si25[plote_index]+e.ejected_mg25[plote_index])/Mg25_solar_mass_frac
+Mg26_5 = (e.ejected_mg26[plote_index]+e.ejected_al26[plote_index]+e.ejected_si26[plote_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_5,Mg25_5,Mg26_5),linewidth='1',color='g',marker='+', markersize=8)
+
+# Al27 = Si27+P27+Al27
+Al27_5 = (e.ejected_si27[plote_index]+e.ejected_p27[plote_index]+e.ejected_al27[plote_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_5, color='g', marker='+', markersize=8) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_5 = (e.ejected_p28[plote_index]+e.ejected_si28[plote_index])/Si28_solar_mass_frac
+Si29_5 = (e.ejected_p29[plote_index]+e.ejected_s29[plote_index]+e.ejected_si29[plote_index])/Si29_solar_mass_frac
+Si30_5 = (e.ejected_p30[plote_index]+e.ejected_s30[plote_index]+e.ejected_si30[plote_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_5,Si29_5,Si30_5),linewidth='1',color='g',marker='+', markersize=8)
+
+# P31 = S31+Cl31+P31
+P31_5 = (e.ejected_s31[plote_index]+e.ejected_cl31[plote_index]+e.ejected_p31[plote_index])/P31_solar_mass_frac
+ax.plot(31, P31_5, color='g', marker='+', markersize=8) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_5 = (e.ejected_cl32[plote_index]+e.ejected_ar32[plote_index]+e.ejected_s32[plote_index])/S32_solar_mass_frac
+S33_5 = (e.ejected_cl33[plote_index]+e.ejected_ar33[plote_index]+e.ejected_s33[plote_index])/S33_solar_mass_frac
+S34_5 = (e.ejected_cl34[plote_index]+e.ejected_ar34[plote_index]+e.ejected_s34[plote_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_5,S33_5,S34_5),linewidth='1',color='g',marker='+', markersize=8)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_5 = (e.ejected_ar35[plote_index]+e.ejected_k35[plote_index]+e.ejected_s35[plote_index]+e.ejected_cl35[plote_index])/Cl35_solar_mass_frac
+Cl37_5 = (e.ejected_ar37[plote_index]+e.ejected_k37[plote_index]+e.ejected_ca37[plote_index]+e.ejected_cl37[plote_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_5,Cl37_5),linewidth='1',color='g',marker='+', markersize=8)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_5 = (e.ejected_k36[plote_index]+e.ejected_ca36[plote_index]+e.ejected_ar36[plote_index]+e.ejected_cl36[plote_index])/Ar36_solar_mass_frac
+Ar38_5 = (e.ejected_k38[plote_index]+e.ejected_ca38[plote_index]+e.ejected_ar38[plote_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_5,Ar38_5),linewidth='1',color='g',marker='+', markersize=8)
+
+# K39 = Ca39+K39+Ar39
+K39_5 = (e.ejected_ca39[plote_index]+e.ejected_k39[plote_index]+e.ejected_ar39[plote_index])/K39_solar_mass_frac
+ax.plot(39,K39_5,linewidth='1',color='g',marker='+', markersize=8)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_5 = (e.ejected_ca40[plote_index]+e.ejected_k40[plote_index]+e.ejected_sc40[plote_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_5,linewidth='1',color='g',marker='+', markersize=8)
+
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+
+H1_list = [H1_1,H1_2,H1_3,H1_4,H1_5]
+H1 = max(H1_list)
+ax.text(1+x_centre_offset, H1+H1*y_offset_top, 'H', fontsize=13)
+He4_list = [He4_1,He4_2,He4_3,He4_4,He4_5]
+He4 = max(He4_list)
+ax.text(4+x_centre_offset, He4+He4*y_offset_top, 'He', fontsize=13)
+Li7_list = [Li7_1,Li7_2,Li7_3,Li7_4,Li7_5]
+Li7 = max(Li7_list)
+ax.text(7+x_centre_offset, Li7+Li7*y_offset_top, 'Li', fontsize=13)
+C13_list = [C13_1,C13_2,C13_3,C13_4,C13_5]
+C13 = max(C13_list)
+ax.text(13+x_centre_offset_2, C13+C13*y_offset_top, 'C', fontsize=13)
+N15_list = [N15_1,N15_2,N15_3,N15_4,N15_5]
+N15 = max(N15_list)
+ax.text(15+x_centre_offset_2, N15+N15*y_offset_top, 'N', fontsize=13)
+O17_list = [O17_1,O17_2,O17_3,O17_4,O17_5]
+O17 = max(O17_list)
+ax.text(17+x_centre_offset, O17+O17*y_offset_top, 'O', fontsize=13)
+F19_list = [F19_1,F19_2,F19_3,F19_4,F19_5]
+F19 = max(F19_list)
+ax.text(19+x_centre_offset_2, F19+F19*y_offset_top, 'F', fontsize=13)
+Ne21_list = [Ne21_1,Ne21_2,Ne21_3,Ne21_4,Ne21_5]
+Ne21 = min(Ne21_list)
+ax.text(21+x_centre_offset, Ne21-Ne21*y_offset_bot, 'Ne', fontsize=13)
+Na23_list = [Na23_1,Na23_2,Na23_3,Na23_4,Na23_5]
+Na23 = max(Na23_list)
+ax.text(23+x_centre_offset, Na23+Na23*y_offset_top, 'Na', fontsize=13)
+Mg25_list = [Mg25_1,Mg25_2,Mg25_3,Mg25_4,Mg25_5]
+Mg25 = max(Mg25_list)
+ax.text(25+x_centre_offset, Mg25+Mg25*y_offset_top, 'Mg', fontsize=13)
+Al27_list = [Al27_1,Al27_2,Al27_3,Al27_4,Al27_5]
+Al27 = max(Al27_list)
+ax.text(27+x_centre_offset, Al27+Al27*y_offset_top, 'Al', fontsize=13)
+Si29_list = [Si29_1,Si29_2,Si29_3,Si29_4,Si29_5]
+Si29 = min(Si29_list)
+ax.text(29+x_centre_offset, Si29-Si29*y_offset_bot, 'Si', fontsize=13)
+P31_list = [P31_1,P31_2,P31_3,P31_4,P31_5]
+P31 = max(P31_list)
+ax.text(31+x_centre_offset, P31+P31*y_offset_top, 'P', fontsize=13)
+S33_list = [S33_1,S33_2,S33_3,S33_4,S33_5]
+S33 = max(S33_list)
+ax.text(33+x_centre_offset, S33+S33*y_offset_top, 'S', fontsize=13)
+Cl37_list = [Cl37_1,Cl37_2,Cl37_3,Cl37_4,Cl37_5]
+Cl37 = max(Cl37_list)
+ax.text(37+x_centre_offset, Cl37+Cl37*y_offset_top, 'Cl', fontsize=13)
+Ar38_list = [Ar38_1,Ar38_2,Ar38_3,Ar38_4,Ar38_5]
+Ar38 = max(Ar38_list)
+ax.text(38+x_centre_offset, Ar38+Ar38*y_offset_top, 'Ar', fontsize=13)
+K39_list = [K39_1,K39_2,K39_3,K39_4,K39_5]
+K39 = max(K39_list)
+ax.text(39+x_centre_offset, K39+K39*y_offset_top, 'K', fontsize=13)
+Ca40_list = [Ca40_1,Ca40_2,Ca40_3,Ca40_4,Ca40_5]
+Ca40 = max(Ca40_list)
+ax.text(40+x_centre_offset, Ca40+Ca40*y_offset_top, 'Ca', fontsize=13)
+
+
+
+
+legend_elements = [Line2D([0], [0], marker='s', color='tab:orange', label='Burst 1',
+                          markersize=7),
+                   Line2D([0], [0], marker='^', color='black', label='Burst 2',
+                          markersize=9),
+				   Line2D([0], [0], marker='.', color='#0343df', label='Burst 3',
+                          markersize=13),
+				   Line2D([0], [0], marker='x', color='r', label='Burst 4',
+                          markersize=8),
+				   Line2D([0], [0], marker='+', color='g', label='Burst 5',
+                          markersize=9)]
+ax.legend(handles=legend_elements, frameon=False, loc='lower right',prop={'size': 18})
+
+
+ax.set_xscale('linear')
+ax.set_yscale('log')
+ax.set_xlim(0,41)
+ax.set_yticks([1e-10,1e-9,1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1,1,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10]) #replaces tick labels from '10^x' to 'x'
+ax.set_yticklabels(['-10','-9','-8','-7','-6','-5','-4','-3','-2','-1','0','1','2','3','4','5','6','7','8','9','10']) #replaces tick labels from '10^x' to 'x'
+ax.tick_params(axis='x', labelsize=16)
+ax.tick_params(axis='y', labelsize=16)
+ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='1')
+plt.minorticks_on()
+ax.grid(which='minor', linestyle=':', linewidth='0.4')
+ax.hlines(1, 0, 50, color='#000000', linestyle='--', linewidth=0.5)
+
+ax.set_xlabel('Mass number', fontsize=20)
+ax.set_ylabel('Mean overproduction factor $\\mathrm{log_{10}}\\left(\\dfrac{X_{i}}{X_{i,\\odot}}\\right)$', fontsize=20)
+# ax.set_ylabel('Mean Overproduction Factor $\\mathrm{\\frac{X_{i}}{X_{i,\\odot}}}$', fontsize=16)
+
+
+plt.show()
+# plt.savefig('Asplund_overproduction_plot_quadruple_comparison.pdf', dpi=500)
+
+
+
+
+
+
+# Elements not considered when graphing due to not being interested in their abundance
+# h2 - Stable
+# li6 -  Stable
+# be9 - Stable
+# b10 - Stable
+# b11 - Stable
+# c9 - decays to B9 which decyas to Be9 which we're not interested in
+# c11 - T1/2 = 30.364 min, decays to B11 which we're not interested in
+# s36 - Stable
+# ar40 - Stable
+
diff --git a/overproduction_plotters/Overproduction_graph_Asplund09.py b/overproduction_plotters/Overproduction_graph_Asplund09.py
new file mode 100644
index 0000000000000000000000000000000000000000..599c15f1257daedc514415bf29369c9779381ec2
--- /dev/null
+++ b/overproduction_plotters/Overproduction_graph_Asplund09.py
@@ -0,0 +1,202 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+from matplotlib.lines import Line2D
+import fastmesareader as fmr
+
+plotting_tings = 'ejected_h1 ejected_h2 ejected_h3 ejected_he3 ejected_he4 ejected_li6 ejected_li7 ejected_be7 ejected_be9 ejected_b8 ejected_b10 ejected_b11 ejected_c9 ejected_c11 ejected_c12 ejected_c13 ejected_n12 ejected_n13 ejected_n14 ejected_n15 ejected_o13 ejected_o14 ejected_o15 ejected_o16 ejected_o17 ejected_o18 ejected_f17 ejected_f18 ejected_f19 ejected_ne18 ejected_ne19 ejected_ne20 ejected_ne21 ejected_ne22 ejected_na20 ejected_na21 ejected_na22 ejected_na23 ejected_mg21 ejected_mg22 ejected_mg23 ejected_mg24 ejected_mg25 ejected_mg26 ejected_al23 ejected_al24 ejected_al25 ejected_al26 ejected_al27 ejected_si25 ejected_si26 ejected_si27 ejected_si28 ejected_si29 ejected_si30 ejected_p27 ejected_p28 ejected_p29 ejected_p30 ejected_p31 ejected_s29 ejected_s30 ejected_s31 ejected_s32 ejected_s33 ejected_s34 ejected_s35 ejected_s36 ejected_cl31 ejected_cl32 ejected_cl33 ejected_cl34 ejected_cl35 ejected_cl36 ejected_cl37 ejected_ar32 ejected_ar33 ejected_ar34 ejected_ar35 ejected_ar36 ejected_ar37 ejected_ar38 ejected_ar39 ejected_ar40 ejected_k35 ejected_k36 ejected_k37 ejected_k38 ejected_k39 ejected_k40 ejected_ca36 ejected_ca37 ejected_ca38 ejected_ca39 ejected_ca40 ejected_sc40'
+h = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+row_index = -1 # the row of data in history.data to plot from.
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)	
+
+x_centre_offset = -0.2
+y_offset_top = 0.4
+
+# From Asplund et. al. 2009
+H1_solar_mass_frac = 0.738085238
+He3_solar_mass_frac = 4.1251e-05
+He4_solar_mass_frac = 0.248458749
+Li7_solar_mass_frac = 5.347553867866217e-11
+C12_solar_mass_frac = 0.0023479921849246885
+C13_solar_mass_frac = 2.6264022162801824e-05
+N14_solar_mass_frac = 0.0006943429738573174
+N15_solar_mass_frac = 1.5936949716182629e-06
+O16_solar_mass_frac = 0.005745050422480951
+O17_solar_mass_frac = 2.182566435670741e-06
+O18_solar_mass_frac = 1.1517500979792827e-05
+F19_solar_mass_frac = 5.070647693536659e-07
+Ne20_solar_mass_frac = 0.0011625972594930384
+Ne21_solar_mass_frac = 2.7869381311259143e-06
+Ne22_solar_mass_frac = 8.548569964958532e-05
+Na23_solar_mass_frac = 2.9368444780430237e-05
+Mg24_solar_mass_frac = 0.0005544455826402614
+Mg25_solar_mass_frac = 7.019187019119655e-05
+Mg26_solar_mass_frac = 7.72812490805074e-05
+Al27_solar_mass_frac = 5.5900159597141475e-05
+Si28_solar_mass_frac = 0.0006137862206959798
+Si29_solar_mass_frac = 3.116657246812484e-05
+Si30_solar_mass_frac = 2.054523456687628e-05
+P31_solar_mass_frac = 5.852484710740299e-06
+S32_solar_mass_frac = 0.0002941173102666167
+S33_solar_mass_frac = 2.354673504715355e-06
+S34_solar_mass_frac = 1.3291512283195887e-05
+Cl35_solar_mass_frac = 6.160022812039695e-06
+Cl37_solar_mass_frac = 1.9688011679546237e-06
+Ar36_solar_mass_frac = 5.618233360211754e-05
+Ar38_solar_mass_frac = 1.021494559543339e-05
+K39_solar_mass_frac = 2.85828500433324e-06
+Ca40_solar_mass_frac = 6.230278628930155e-05
+
+# H1
+H1 = (h.ejected_h1[row_index])/H1_solar_mass_frac
+ax.plot(1, H1, color='#0343df', marker='.', markersize=12)
+ax.text(1+x_centre_offset, H1+H1*y_offset_top, 'H', fontsize=13)
+
+# He3=H3+He3 & He4 = B8+He4
+He3 = (h.ejected_h3[row_index]+h.ejected_he3[row_index])/He3_solar_mass_frac
+He4 = (h.ejected_b8[row_index]+h.ejected_he4[row_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3,He4),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(4+x_centre_offset, He4+He4*y_offset_top, 'He', fontsize=13)
+
+# Li7= Li7+Be7
+Li7 = (h.ejected_li7[row_index]+h.ejected_be7[row_index])/Li7_solar_mass_frac
+ax.plot(7,Li7,color='#0343df',marker='.', markersize=12)
+ax.text(7+x_centre_offset, Li7+Li7*y_offset_top, 'Li', fontsize=13)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12 = (h.ejected_n12[row_index]+h.ejected_c12[row_index])/C12_solar_mass_frac
+C13 = (h.ejected_n13[row_index]+h.ejected_o13[row_index]+h.ejected_c13[row_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12,C13),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(13+x_centre_offset, C13+C13*y_offset_top, 'C', fontsize=13)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14 = (h.ejected_o14[row_index]+h.ejected_n14[row_index])/N14_solar_mass_frac
+N15 = (h.ejected_o15[row_index]+h.ejected_n15[row_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14,N15),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(15+x_centre_offset, N15-N15*y_offset_top, 'N', fontsize=13)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16 = (h.ejected_o16[row_index])/O16_solar_mass_frac
+O17 = (h.ejected_f17[row_index]+h.ejected_o17[row_index])/O17_solar_mass_frac
+O18 = (h.ejected_f18[row_index]+h.ejected_ne18[row_index]+h.ejected_o18[row_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16,O17,O18),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(17+x_centre_offset, O17+O17*y_offset_top, 'O', fontsize=13)
+
+# F19 = Ne19+F19
+F19 = (h.ejected_ne19[row_index]+h.ejected_f19[row_index])/F19_solar_mass_frac
+ax.plot(19, F19, color='#0343df', marker='.', markersize=12) # F19 = Ne19+F19
+ax.text(19+x_centre_offset, F19+F19*y_offset_top, 'F', fontsize=13)
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20 = (h.ejected_na20[row_index]+h.ejected_ne20[row_index])/Ne20_solar_mass_frac
+Ne21 = (h.ejected_na21[row_index]+h.ejected_mg21[row_index]+h.ejected_ne21[row_index])/Ne21_solar_mass_frac
+Ne22 = (h.ejected_mg22[row_index]+h.ejected_na22[row_index]+h.ejected_ne22[row_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20,Ne21,Ne22),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(21+x_centre_offset, Ne21-Ne21*y_offset_top, 'Ne', fontsize=13)
+
+# Na23 = Al23+Mg23+Na23
+Na23 = (h.ejected_al23[row_index]+h.ejected_mg23[row_index]+h.ejected_na23[row_index])/Na23_solar_mass_frac
+ax.plot(23, Na23, color='#0343df', marker='.', markersize=12)
+ax.text(23+x_centre_offset, Na23+Na23*y_offset_top, 'Na', fontsize=13)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24 = (h.ejected_al24[row_index]+h.ejected_mg24[row_index])/Mg24_solar_mass_frac
+Mg25 = (h.ejected_al25[row_index]+h.ejected_si25[row_index]+h.ejected_mg25[row_index])/Mg25_solar_mass_frac
+Mg26 = (h.ejected_mg26[row_index]+h.ejected_al26[row_index]+h.ejected_si26[row_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24,Mg25,Mg26),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(25+x_centre_offset, Mg25+Mg25*y_offset_top, 'Mg', fontsize=13)
+
+# Al27 = Si27+P27+Al27
+Al27 = (h.ejected_si27[row_index]+h.ejected_p27[row_index]+h.ejected_al27[row_index])/Al27_solar_mass_frac
+ax.plot(27, Al27, color='#0343df', marker='.', markersize=12) 
+ax.text(27+x_centre_offset, Al27+Al27*y_offset_top, 'Al', fontsize=13)
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28 = (h.ejected_p28[row_index]+h.ejected_si28[row_index])/Si28_solar_mass_frac
+Si29 = (h.ejected_p29[row_index]+h.ejected_s29[row_index]+h.ejected_si29[row_index])/Si29_solar_mass_frac
+Si30 = (h.ejected_p30[row_index]+h.ejected_s30[row_index]+h.ejected_si30[row_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28,Si29,Si30),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(29+x_centre_offset, Si29-Si29*y_offset_top, 'Si', fontsize=13)
+
+# P31 = S31+Cl31+P31
+P31 = (h.ejected_s31[row_index]+h.ejected_cl31[row_index]+h.ejected_p31[row_index])/P31_solar_mass_frac
+ax.plot(31, P31, color='#0343df', marker='.', markersize=12) 
+ax.text(31+x_centre_offset, P31-P31*y_offset_top, 'P', fontsize=13)
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32 = (h.ejected_cl32[row_index]+h.ejected_ar32[row_index]+h.ejected_s32[row_index])/S32_solar_mass_frac
+S33 = (h.ejected_cl33[row_index]+h.ejected_ar33[row_index]+h.ejected_s33[row_index])/S33_solar_mass_frac
+S34 = (h.ejected_cl34[row_index]+h.ejected_ar34[row_index]+h.ejected_s34[row_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32,S33,S34),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(33+x_centre_offset, S33-S33*y_offset_top, 'S', fontsize=13)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35 = (h.ejected_ar35[row_index]+h.ejected_k35[row_index]+h.ejected_s35[row_index]+h.ejected_cl35[row_index])/Cl35_solar_mass_frac
+Cl37 = (h.ejected_ar37[row_index]+h.ejected_k37[row_index]+h.ejected_ca37[row_index]+h.ejected_cl37[row_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35,Cl37),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(37+x_centre_offset, Cl37+Cl37*y_offset_top, 'Cl', fontsize=13)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36 = (h.ejected_k36[row_index]+h.ejected_ca36[row_index]+h.ejected_ar36[row_index]+h.ejected_cl36[row_index])/Ar36_solar_mass_frac
+Ar38 = (h.ejected_k38[row_index]+h.ejected_ca38[row_index]+h.ejected_ar38[row_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36,Ar38),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(38+x_centre_offset, Ar38+Ar38*y_offset_top, 'Ar', fontsize=13)
+
+# K39 = Ca39+K39+Ar39
+K39 = (h.ejected_ca39[row_index]+h.ejected_k39[row_index]+h.ejected_ar39[row_index])/K39_solar_mass_frac
+ax.plot(39,K39,linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(39+x_centre_offset, K39+K39*y_offset_top, 'K', fontsize=13)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40 = (h.ejected_ca40[row_index]+h.ejected_k40[row_index]+h.ejected_sc40[row_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40,linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(40+x_centre_offset, Ca40+Ca40*y_offset_top, 'Ca', fontsize=13)
+
+
+# legend_elements = [Line2D([0], [0], marker='.', color='#0343df', label='Burst 1',
+#                           markersize=5)]
+# ax.legend(handles=legend_elements, loc='lower right')
+
+ax.set_xscale('linear')
+ax.set_yscale('log')
+ax.set_xlim(0,41)
+ax.set_yticks([1e-10,1e-9,1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1,1,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10]) #replaces tick labels from '10^x' to 'x'
+ax.set_yticklabels(['-10','-9','-8','-7','-6','-5','-4','-3','-2','-1','0','1','2','3','4','5','6','7','8','9','10']) #replaces tick labels from '10^x' to 'x'
+ax.tick_params(axis='x', labelsize=16)
+ax.tick_params(axis='y', labelsize=16)
+ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='1')
+plt.minorticks_on()
+ax.grid(which='minor', linestyle=':', linewidth='0.4')
+ax.hlines(1, 0, 50, color='#000000', linestyle='--', linewidth=0.5)
+
+ax.set_xlabel('Mass number', fontsize=20)
+ax.set_ylabel('Mean overproduction factor $\\mathrm{log_{10}}\\left(\\dfrac{X_{i}}{X_{i,\\odot}}\\right)$', fontsize=20)
+# ax.set_ylabel('Mean Overproduction Factor $\\mathrm{\\frac{X_{i}}{X_{i,\\odot}}}$', fontsize=16)
+
+
+# plt.show()
+plt.savefig('Asplund_overproduction_plot_photoshperic_Li7.pdf', dpi=500)
+
+
+
+
+
+
+# Elements not considered when graphing due to not being interested in their abundance
+# h2 - Stable
+# li6 -  Stable
+# be9 - Stable
+# b10 - Stable
+# b11 - Stable
+# c9 - decays to B9 which decyas to Be9 which we're not interested in
+# c11 - T1/2 = 30.364 min, decays to B11 which we're not interested in
+# s36 - Stable
+# ar40 - Stable
+
+
+
diff --git a/overproduction_plotters/Overproduction_graph_Asplund09_with_meteoritic_Li7_abundance.py b/overproduction_plotters/Overproduction_graph_Asplund09_with_meteoritic_Li7_abundance.py
new file mode 100644
index 0000000000000000000000000000000000000000..e72657adac94ffec24e3aff1709ba05c1e655f2e
--- /dev/null
+++ b/overproduction_plotters/Overproduction_graph_Asplund09_with_meteoritic_Li7_abundance.py
@@ -0,0 +1,202 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+from matplotlib.lines import Line2D
+import fastmesareader as fmr
+
+plotting_tings = 'ejected_h1 ejected_h2 ejected_h3 ejected_he3 ejected_he4 ejected_li6 ejected_li7 ejected_be7 ejected_be9 ejected_b8 ejected_b10 ejected_b11 ejected_c9 ejected_c11 ejected_c12 ejected_c13 ejected_n12 ejected_n13 ejected_n14 ejected_n15 ejected_o13 ejected_o14 ejected_o15 ejected_o16 ejected_o17 ejected_o18 ejected_f17 ejected_f18 ejected_f19 ejected_ne18 ejected_ne19 ejected_ne20 ejected_ne21 ejected_ne22 ejected_na20 ejected_na21 ejected_na22 ejected_na23 ejected_mg21 ejected_mg22 ejected_mg23 ejected_mg24 ejected_mg25 ejected_mg26 ejected_al23 ejected_al24 ejected_al25 ejected_al26 ejected_al27 ejected_si25 ejected_si26 ejected_si27 ejected_si28 ejected_si29 ejected_si30 ejected_p27 ejected_p28 ejected_p29 ejected_p30 ejected_p31 ejected_s29 ejected_s30 ejected_s31 ejected_s32 ejected_s33 ejected_s34 ejected_s35 ejected_s36 ejected_cl31 ejected_cl32 ejected_cl33 ejected_cl34 ejected_cl35 ejected_cl36 ejected_cl37 ejected_ar32 ejected_ar33 ejected_ar34 ejected_ar35 ejected_ar36 ejected_ar37 ejected_ar38 ejected_ar39 ejected_ar40 ejected_k35 ejected_k36 ejected_k37 ejected_k38 ejected_k39 ejected_k40 ejected_ca36 ejected_ca37 ejected_ca38 ejected_ca39 ejected_ca40 ejected_sc40'
+h = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+row_index = -1 # the row of data in history.data to plot from.
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)	
+
+x_centre_offset = -0.2
+y_offset_top = 0.4
+
+# From Asplund et. al. 2009 with meteoritic Li7 abundance
+H1_solar_mass_frac = 0.738085238
+He3_solar_mass_frac = 4.1251e-05
+He4_solar_mass_frac = 0.248458749
+Li7_solar_mass_frac = 8.672710822368672e-09
+C12_solar_mass_frac = 0.0023479905505876756
+C13_solar_mass_frac = 2.6264003881538447e-05
+N14_solar_mass_frac = 0.0006943424905548477
+N15_solar_mass_frac = 1.5936938623153032e-06
+O16_solar_mass_frac = 0.005745046423596879
+O17_solar_mass_frac = 2.182564916479522e-06
+O18_solar_mass_frac = 1.151749296295262e-05
+F19_solar_mass_frac = 5.070644164075505e-07
+Ne20_solar_mass_frac = 0.0011625964502587724
+Ne21_solar_mass_frac = 2.7869361912573875e-06
+Ne22_solar_mass_frac = 8.548564014664323e-05
+Na23_solar_mass_frac = 2.9368424338310953e-05
+Mg24_solar_mass_frac = 0.0005544451967143868
+Mg25_solar_mass_frac = 7.019182133363551e-05
+Mg26_solar_mass_frac = 7.728119528833269e-05
+Al27_solar_mass_frac = 5.590012068742941e-05
+Si28_solar_mass_frac = 0.0006137857934656232
+Si29_solar_mass_frac = 3.116655077440572e-05
+Si30_solar_mass_frac = 2.0545220266216546e-05
+P31_solar_mass_frac = 5.852480637075811e-06
+S32_solar_mass_frac = 0.0002941171055441268
+S33_solar_mass_frac = 2.354671865727761e-06
+S34_solar_mass_frac = 1.329150303154223e-05
+Cl35_solar_mass_frac = 6.160018524311079e-06
+Cl37_solar_mass_frac = 1.968799797556272e-06
+Ar36_solar_mass_frac = 5.6182294495996205e-05
+Ar38_solar_mass_frac = 1.0214938485246322e-05
+K39_solar_mass_frac = 2.8582830148032043e-06
+Ca40_solar_mass_frac = 6.230274292299466e-05
+
+# H1
+H1 = (h.ejected_h1[row_index])/H1_solar_mass_frac
+ax.plot(1, H1, color='#0343df', marker='.', markersize=12)
+ax.text(1+x_centre_offset, H1+H1*y_offset_top, 'H', fontsize=13)
+
+# He3=H3+He3 & He4 = B8+He4
+He3 = (h.ejected_h3[row_index]+h.ejected_he3[row_index])/He3_solar_mass_frac
+He4 = (h.ejected_b8[row_index]+h.ejected_he4[row_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3,He4),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(4+x_centre_offset, He4+He4*y_offset_top, 'He', fontsize=13)
+
+# Li7= Li7+Be7
+Li7 = (h.ejected_li7[row_index]+h.ejected_be7[row_index])/Li7_solar_mass_frac
+ax.plot(7,Li7,color='#0343df',marker='.', markersize=12)
+ax.text(7+x_centre_offset, Li7+Li7*y_offset_top, 'Li', fontsize=13)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12 = (h.ejected_n12[row_index]+h.ejected_c12[row_index])/C12_solar_mass_frac
+C13 = (h.ejected_n13[row_index]+h.ejected_o13[row_index]+h.ejected_c13[row_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12,C13),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(13+x_centre_offset, C13+C13*y_offset_top, 'C', fontsize=13)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14 = (h.ejected_o14[row_index]+h.ejected_n14[row_index])/N14_solar_mass_frac
+N15 = (h.ejected_o15[row_index]+h.ejected_n15[row_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14,N15),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(15+x_centre_offset, N15-N15*y_offset_top, 'N', fontsize=13)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16 = (h.ejected_o16[row_index])/O16_solar_mass_frac
+O17 = (h.ejected_f17[row_index]+h.ejected_o17[row_index])/O17_solar_mass_frac
+O18 = (h.ejected_f18[row_index]+h.ejected_ne18[row_index]+h.ejected_o18[row_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16,O17,O18),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(17+x_centre_offset, O17+O17*y_offset_top, 'O', fontsize=13)
+
+# F19 = Ne19+F19
+F19 = (h.ejected_ne19[row_index]+h.ejected_f19[row_index])/F19_solar_mass_frac
+ax.plot(19, F19, color='#0343df', marker='.', markersize=12) # F19 = Ne19+F19
+ax.text(19+x_centre_offset, F19+F19*y_offset_top, 'F', fontsize=13)
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20 = (h.ejected_na20[row_index]+h.ejected_ne20[row_index])/Ne20_solar_mass_frac
+Ne21 = (h.ejected_na21[row_index]+h.ejected_mg21[row_index]+h.ejected_ne21[row_index])/Ne21_solar_mass_frac
+Ne22 = (h.ejected_mg22[row_index]+h.ejected_na22[row_index]+h.ejected_ne22[row_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20,Ne21,Ne22),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(21+x_centre_offset, Ne21-Ne21*y_offset_top, 'Ne', fontsize=13)
+
+# Na23 = Al23+Mg23+Na23
+Na23 = (h.ejected_al23[row_index]+h.ejected_mg23[row_index]+h.ejected_na23[row_index])/Na23_solar_mass_frac
+ax.plot(23, Na23, color='#0343df', marker='.', markersize=12)
+ax.text(23+x_centre_offset, Na23+Na23*y_offset_top, 'Na', fontsize=13)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24 = (h.ejected_al24[row_index]+h.ejected_mg24[row_index])/Mg24_solar_mass_frac
+Mg25 = (h.ejected_al25[row_index]+h.ejected_si25[row_index]+h.ejected_mg25[row_index])/Mg25_solar_mass_frac
+Mg26 = (h.ejected_mg26[row_index]+h.ejected_al26[row_index]+h.ejected_si26[row_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24,Mg25,Mg26),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(25+x_centre_offset, Mg25+Mg25*y_offset_top, 'Mg', fontsize=13)
+
+# Al27 = Si27+P27+Al27
+Al27 = (h.ejected_si27[row_index]+h.ejected_p27[row_index]+h.ejected_al27[row_index])/Al27_solar_mass_frac
+ax.plot(27, Al27, color='#0343df', marker='.', markersize=12) 
+ax.text(27+x_centre_offset, Al27+Al27*y_offset_top, 'Al', fontsize=13)
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28 = (h.ejected_p28[row_index]+h.ejected_si28[row_index])/Si28_solar_mass_frac
+Si29 = (h.ejected_p29[row_index]+h.ejected_s29[row_index]+h.ejected_si29[row_index])/Si29_solar_mass_frac
+Si30 = (h.ejected_p30[row_index]+h.ejected_s30[row_index]+h.ejected_si30[row_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28,Si29,Si30),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(29+x_centre_offset, Si29-Si29*y_offset_top, 'Si', fontsize=13)
+
+# P31 = S31+Cl31+P31
+P31 = (h.ejected_s31[row_index]+h.ejected_cl31[row_index]+h.ejected_p31[row_index])/P31_solar_mass_frac
+ax.plot(31, P31, color='#0343df', marker='.', markersize=12) 
+ax.text(31+x_centre_offset, P31-P31*y_offset_top, 'P', fontsize=13)
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32 = (h.ejected_cl32[row_index]+h.ejected_ar32[row_index]+h.ejected_s32[row_index])/S32_solar_mass_frac
+S33 = (h.ejected_cl33[row_index]+h.ejected_ar33[row_index]+h.ejected_s33[row_index])/S33_solar_mass_frac
+S34 = (h.ejected_cl34[row_index]+h.ejected_ar34[row_index]+h.ejected_s34[row_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32,S33,S34),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(33+x_centre_offset, S33-S33*y_offset_top, 'S', fontsize=13)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35 = (h.ejected_ar35[row_index]+h.ejected_k35[row_index]+h.ejected_s35[row_index]+h.ejected_cl35[row_index])/Cl35_solar_mass_frac
+Cl37 = (h.ejected_ar37[row_index]+h.ejected_k37[row_index]+h.ejected_ca37[row_index]+h.ejected_cl37[row_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35,Cl37),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(37+x_centre_offset, Cl37+Cl37*y_offset_top, 'Cl', fontsize=13)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36 = (h.ejected_k36[row_index]+h.ejected_ca36[row_index]+h.ejected_ar36[row_index]+h.ejected_cl36[row_index])/Ar36_solar_mass_frac
+Ar38 = (h.ejected_k38[row_index]+h.ejected_ca38[row_index]+h.ejected_ar38[row_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36,Ar38),linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(38+x_centre_offset, Ar38+Ar38*y_offset_top, 'Ar', fontsize=13)
+
+# K39 = Ca39+K39+Ar39
+K39 = (h.ejected_ca39[row_index]+h.ejected_k39[row_index]+h.ejected_ar39[row_index])/K39_solar_mass_frac
+ax.plot(39,K39,linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(39+x_centre_offset, K39+K39*y_offset_top, 'K', fontsize=13)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40 = (h.ejected_ca40[row_index]+h.ejected_k40[row_index]+h.ejected_sc40[row_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40,linewidth='1',color='#0343df',marker='.', markersize=12)
+ax.text(40+x_centre_offset, Ca40+Ca40*y_offset_top, 'Ca', fontsize=13)
+
+
+# legend_elements = [Line2D([0], [0], marker='.', color='#0343df', label='Burst 1',
+#                           markersize=5)]
+# ax.legend(handles=legend_elements, loc='lower right')
+
+ax.set_xscale('linear')
+ax.set_yscale('log')
+ax.set_xlim(0,41)
+ax.set_yticks([1e-10,1e-9,1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1,1,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10]) #replaces tick labels from '10^x' to 'x'
+ax.set_yticklabels(['-10','-9','-8','-7','-6','-5','-4','-3','-2','-1','0','1','2','3','4','5','6','7','8','9','10']) #replaces tick labels from '10^x' to 'x'
+ax.tick_params(axis='x', labelsize=16)
+ax.tick_params(axis='y', labelsize=16)
+ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='1')
+plt.minorticks_on()
+ax.grid(which='minor', linestyle=':', linewidth='0.4')
+ax.hlines(1, 0, 50, color='#000000', linestyle='--', linewidth=0.5)
+
+ax.set_xlabel('Mass number', fontsize=20)
+ax.set_ylabel('Mean overproduction factor $\\mathrm{log_{10}}\\left(\\dfrac{X_{i}}{X_{i,\\odot}}\\right)$', fontsize=20)
+# ax.set_ylabel('Mean Overproduction Factor $\\mathrm{\\frac{X_{i}}{X_{i,\\odot}}}$', fontsize=16)
+
+
+# plt.show()
+plt.savefig('Asplund_overproduction_plot_meteoritic_Li7.pdf', dpi=500)
+
+
+
+
+
+
+# Elements not considered when graphing due to not being interested in their abundance
+# h2 - Stable
+# li6 -  Stable
+# be9 - Stable
+# b10 - Stable
+# b11 - Stable
+# c9 - decays to B9 which decyas to Be9 which we're not interested in
+# c11 - T1/2 = 30.364 min, decays to B11 which we're not interested in
+# s36 - Stable
+# ar40 - Stable
+
+
+
diff --git a/overproduction_plotters/Overproduction_graph.py b/overproduction_plotters/Overproduction_graph_Lodders09.py
similarity index 92%
rename from overproduction_plotters/Overproduction_graph.py
rename to overproduction_plotters/Overproduction_graph_Lodders09.py
index 022bd870a352363bb9ec3a4d3add37155dcaee6e..baf34043cc0103281095f70ca3255162a37dabd5 100644
--- a/overproduction_plotters/Overproduction_graph.py
+++ b/overproduction_plotters/Overproduction_graph_Lodders09.py
@@ -16,30 +16,30 @@ y_offset_top = 0.4
 
 # H1
 H1 = (h.ejected_h1[row_index])/7.0945477357E-01
-ax.plot(1, H1, color='#0343df', marker='.', markersize=10)
+ax.plot(1, H1, color='#0343df', marker='.', markersize=12)
 ax.text(1+x_centre_offset, H1+H1*y_offset_top, 'H', fontsize=13)
 
 # He3=H3+He3 & He4 = B8+He4
 He3 = (h.ejected_h3[row_index]+h.ejected_he3[row_index])/8.4641515456E-05
 He4 = (h.ejected_b8[row_index]+h.ejected_he4[row_index])/2.7501644504E-01
-ax.plot((3,4),(He3,He4),linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot((3,4),(He3,He4),linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(4+x_centre_offset, He4+He4*y_offset_top, 'He', fontsize=13)
 
 # Li7= Li7+Be7
 Li7 = (h.ejected_li7[row_index]+h.ejected_be7[row_index])/9.8556690166E-09
-ax.plot(7,Li7,color='#0343df',marker='.', markersize=10)
+ax.plot(7,Li7,color='#0343df',marker='.', markersize=12)
 ax.text(7+x_centre_offset, Li7+Li7*y_offset_top, 'Li', fontsize=13)
 
 # C12 = N12+C12 & C13 = N13+O13+C13
 C12 = (h.ejected_n12[row_index]+h.ejected_c12[row_index])/2.3370919413E-03
 C13 = (h.ejected_n13[row_index]+h.ejected_o13[row_index]+h.ejected_c13[row_index])/2.8452149548E-05
-ax.plot((12,13),(C12,C13),linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot((12,13),(C12,C13),linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(13+x_centre_offset, C13+C13*y_offset_top, 'C', fontsize=13)
 
 # N14 = O14+N14 & N15 = O15+N15
 N14 = (h.ejected_o14[row_index]+h.ejected_n14[row_index])/8.1299682160E-04
 N15 = (h.ejected_o15[row_index]+h.ejected_n15[row_index])/3.1966552925E-06
-ax.plot((14,15),(N14,N15),linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot((14,15),(N14,N15),linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(15+x_centre_offset, N15-N15*y_offset_top, 'N', fontsize=13)
 
 
@@ -47,78 +47,78 @@ ax.text(15+x_centre_offset, N15-N15*y_offset_top, 'N', fontsize=13)
 O16 = (h.ejected_o16[row_index])/6.8808895413E-03
 O17 = (h.ejected_f17[row_index]+h.ejected_o17[row_index])/2.7474252428E-06
 O18 = (h.ejected_f18[row_index]+h.ejected_ne18[row_index]+h.ejected_o18[row_index])/1.5531307205E-05
-ax.plot((16,17,18),(O16,O17,O18),linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot((16,17,18),(O16,O17,O18),linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(17+x_centre_offset, O17+O17*y_offset_top, 'O', fontsize=13)
 
 # F19 = Ne19+F19
 F19 = (h.ejected_ne19[row_index]+h.ejected_f19[row_index])/4.1844135602E-07
-ax.plot(19, F19, color='#0343df', marker='.', markersize=10) # F19 = Ne19+F19
+ax.plot(19, F19, color='#0343df', marker='.', markersize=12) # F19 = Ne19+F19
 ax.text(19+x_centre_offset, F19+F19*y_offset_top, 'F', fontsize=13)
 
 # Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
 Ne20 = (h.ejected_na20[row_index]+h.ejected_ne20[row_index])/1.6763950634E-03
 Ne21 = (h.ejected_na21[row_index]+h.ejected_mg21[row_index]+h.ejected_ne21[row_index])/4.2164622894E-06
 Ne22 = (h.ejected_mg22[row_index]+h.ejected_na22[row_index]+h.ejected_ne22[row_index])/1.3559077719E-04
-ax.plot((20,21,22),(Ne20,Ne21,Ne22),linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot((20,21,22),(Ne20,Ne21,Ne22),linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(21+x_centre_offset, Ne21-Ne21*y_offset_top, 'Ne', fontsize=13)
 
 # Na23 = Al23+Mg23+Na23
 Na23 = (h.ejected_al23[row_index]+h.ejected_mg23[row_index]+h.ejected_na23[row_index])/3.6352024324E-05
-ax.plot(23, Na23, color='#0343df', marker='.', markersize=10)
+ax.plot(23, Na23, color='#0343df', marker='.', markersize=12)
 ax.text(23+x_centre_offset, Na23+Na23*y_offset_top, 'Na', fontsize=13)
 
 # Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
 Mg24 = (h.ejected_al24[row_index]+h.ejected_mg24[row_index])/5.3250196132E-04
 Mg25 = (h.ejected_al25[row_index]+h.ejected_si25[row_index]+h.ejected_mg25[row_index])/7.0534596214E-05
 Mg26 = (h.ejected_mg26[row_index]+h.ejected_al26[row_index]+h.ejected_si26[row_index])/8.0477919874E-05
-ax.plot((24,25,26),(Mg24,Mg25,Mg26),linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot((24,25,26),(Mg24,Mg25,Mg26),linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(25+x_centre_offset, Mg25+Mg25*y_offset_top, 'Mg', fontsize=13)
 
 # Al27 = Si27+P27+Al27
 Al27 = (h.ejected_si27[row_index]+h.ejected_p27[row_index]+h.ejected_al27[row_index])/6.2568980455E-05
-ax.plot(27, Al27, color='#0343df', marker='.', markersize=10) 
+ax.plot(27, Al27, color='#0343df', marker='.', markersize=12) 
 ax.text(27+x_centre_offset, Al27+Al27*y_offset_top, 'Al', fontsize=13)
 
 # Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
 Si28 = (h.ejected_p28[row_index]+h.ejected_si28[row_index])/7.0715383917E-04
 Si29 = (h.ejected_p29[row_index]+h.ejected_s29[row_index]+h.ejected_si29[row_index])/3.7176525818E-05
 Si30 = (h.ejected_p30[row_index]+h.ejected_s30[row_index]+h.ejected_si30[row_index])/2.5392454637E-05
-ax.plot((28,29,30),(Si28,Si29,Si30),linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot((28,29,30),(Si28,Si29,Si30),linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(29+x_centre_offset, Si29-Si29*y_offset_top, 'Si', fontsize=13)
 
 # P31 = S31+Cl31+P31
 P31 = (h.ejected_s31[row_index]+h.ejected_cl31[row_index]+h.ejected_p31[row_index])/7.0479812061E-06
-ax.plot(31, P31, color='#0343df', marker='.', markersize=10) 
+ax.plot(31, P31, color='#0343df', marker='.', markersize=12) 
 ax.text(31+x_centre_offset, P31-P31*y_offset_top, 'P', fontsize=13)
 
 # S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
 S32 = (h.ejected_cl32[row_index]+h.ejected_ar32[row_index]+h.ejected_s32[row_index])/3.5061857535E-04
 S33 = (h.ejected_cl33[row_index]+h.ejected_ar33[row_index]+h.ejected_s33[row_index])/2.8564457061E-06
 S34 = (h.ejected_cl34[row_index]+h.ejected_ar34[row_index]+h.ejected_s34[row_index])/1.6577684516E-05
-ax.plot((32,33,34),(S32,S33,S34),linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot((32,33,34),(S32,S33,S34),linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(33+x_centre_offset, S33-S33*y_offset_top, 'S', fontsize=13)
 
 
 # Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
 Cl35 = (h.ejected_ar35[row_index]+h.ejected_k35[row_index]+h.ejected_s35[row_index]+h.ejected_cl35[row_index])/3.7581928546E-06
 Cl37 = (h.ejected_ar37[row_index]+h.ejected_k37[row_index]+h.ejected_ca37[row_index]+h.ejected_cl37[row_index])/1.2668835242E-06
-ax.plot((35,37),(Cl35,Cl37),linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot((35,37),(Cl35,Cl37),linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(37+x_centre_offset, Cl37+Cl37*y_offset_top, 'Cl', fontsize=13)
 
 # Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
 Ar36 = (h.ejected_k36[row_index]+h.ejected_ca36[row_index]+h.ejected_ar36[row_index]+h.ejected_cl36[row_index])/7.7311395865E-05
 Ar38 = (h.ejected_k38[row_index]+h.ejected_ca38[row_index]+h.ejected_ar38[row_index])/1.4884854207E-05
-ax.plot((36,38),(Ar36,Ar38),linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot((36,38),(Ar36,Ar38),linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(38+x_centre_offset, Ar38+Ar38*y_offset_top, 'Ar', fontsize=13)
 
 # K39 = Ca39+K39+Ar39
 K39 = (h.ejected_ca39[row_index]+h.ejected_k39[row_index]+h.ejected_ar39[row_index])/3.7390184012E-06
-ax.plot(39,K39,linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot(39,K39,linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(39+x_centre_offset, K39+K39*y_offset_top, 'K', fontsize=13)
 
 # Ca40 = Sc40+K40+Ca40
 Ca40 = (h.ejected_ca40[row_index]+h.ejected_k40[row_index]+h.ejected_sc40[row_index])/6.4097458307E-05
-ax.plot(40,Ca40,linewidth='1',color='#0343df',marker='.', markersize=10)
+ax.plot(40,Ca40,linewidth='1',color='#0343df',marker='.', markersize=12)
 ax.text(40+x_centre_offset, Ca40+Ca40*y_offset_top, 'Ca', fontsize=13)
 
 
@@ -140,12 +140,12 @@ ax.grid(which='minor', linestyle=':', linewidth='0.4')
 ax.hlines(1, 0, 50, color='#000000', linestyle='--', linewidth=0.5)
 
 ax.set_xlabel('Mass Number', fontsize=20)
-ax.set_ylabel('Mean Overproduction Factor $\\mathrm{Log_{10}}\\left(\\dfrac{X_{i}}{X_{i,\\odot}}\\right)$', fontsize=20)
+ax.set_ylabel('Mean Overproduction Factor $\\mathrm{log_{10}}\\left(\\dfrac{X_{i}}{X_{i,\\odot}}\\right)$', fontsize=20)
 # ax.set_ylabel('Mean Overproduction Factor $\\mathrm{\\frac{X_{i}}{X_{i,\\odot}}}$', fontsize=16)
 
 
-plt.show()
-# plt.savefig('overproduction_plot.pdf', dpi=500)
+# plt.show()
+plt.savefig('Lodders09_overproduction_plot.pdf', dpi=500)
 
 
 
diff --git a/overproduction_plotters/Overproduction_graph_restart_version.py b/overproduction_plotters/Overproduction_graph_restart_version.py
index 048912d97d82295e682a41c631cdb9b1f7364667..add8b3d90d9cc4afe349bcf3354bf09386665674 100644
--- a/overproduction_plotters/Overproduction_graph_restart_version.py
+++ b/overproduction_plotters/Overproduction_graph_restart_version.py
@@ -243,7 +243,7 @@ ax.grid(which='minor', linestyle=':', linewidth='0.4')
 ax.hlines(1, 0, 50, color='#000000', linestyle='--', linewidth=0.5)
 
 ax.set_xlabel('Mass Number', fontsize=20)
-ax.set_ylabel('Mean Overproduction Factor $\\mathrm{Log_{10}}\\left(\\dfrac{X_{i}}{X_{i,\\odot}}\\right)$', fontsize=20)
+ax.set_ylabel('Mean Overproduction Factor $\\mathrm{log_{10}}\\left(\\dfrac{X_{i}}{X_{i,\\odot}}\\right)$', fontsize=20)
 # ax.set_ylabel('Mean Overproduction Factor $\\mathrm{\\frac{X_{i}}{X_{i,\\odot}}}$', fontsize=16)
 
 
diff --git a/overproduction_plotters/Overproduction_quadruple_comparison_graph_Asplund09.py b/overproduction_plotters/Overproduction_quadruple_comparison_graph_Asplund09.py
new file mode 100644
index 0000000000000000000000000000000000000000..832467824bd1c6534b9c1e9a57e31e9c6fb908ce
--- /dev/null
+++ b/overproduction_plotters/Overproduction_quadruple_comparison_graph_Asplund09.py
@@ -0,0 +1,533 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+from matplotlib.lines import Line2D
+import fastmesareader as fmr
+
+plotting_tings = 'ejected_h1 ejected_h2 ejected_h3 ejected_he3 ejected_he4 ejected_li6 ejected_li7 ejected_be7 ejected_be9 ejected_b8 ejected_b10 ejected_b11 ejected_c9 ejected_c11 ejected_c12 ejected_c13 ejected_n12 ejected_n13 ejected_n14 ejected_n15 ejected_o13 ejected_o14 ejected_o15 ejected_o16 ejected_o17 ejected_o18 ejected_f17 ejected_f18 ejected_f19 ejected_ne18 ejected_ne19 ejected_ne20 ejected_ne21 ejected_ne22 ejected_na20 ejected_na21 ejected_na22 ejected_na23 ejected_mg21 ejected_mg22 ejected_mg23 ejected_mg24 ejected_mg25 ejected_mg26 ejected_al23 ejected_al24 ejected_al25 ejected_al26 ejected_al27 ejected_si25 ejected_si26 ejected_si27 ejected_si28 ejected_si29 ejected_si30 ejected_p27 ejected_p28 ejected_p29 ejected_p30 ejected_p31 ejected_s29 ejected_s30 ejected_s31 ejected_s32 ejected_s33 ejected_s34 ejected_s35 ejected_s36 ejected_cl31 ejected_cl32 ejected_cl33 ejected_cl34 ejected_cl35 ejected_cl36 ejected_cl37 ejected_ar32 ejected_ar33 ejected_ar34 ejected_ar35 ejected_ar36 ejected_ar37 ejected_ar38 ejected_ar39 ejected_ar40 ejected_k35 ejected_k36 ejected_k37 ejected_k38 ejected_k39 ejected_k40 ejected_ca36 ejected_ca37 ejected_ca38 ejected_ca39 ejected_ca40 ejected_sc40'
+a = fmr.FastMesaReader('LOGS/history.data', plotting_tings) 
+b = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+c = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+d = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+
+plota_index = -1
+plotb_index = -1
+plotc_index = -1
+plotd_index = -1
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)	
+
+x_centre_offset = -0.3 #-0.2
+x_centre_offset_2 = -0.2
+y_offset_top = 0.5
+y_offset_bot = 0.55
+
+# From Asplund et. al. 2009
+H1_solar_mass_frac = 0.738085238
+He3_solar_mass_frac = 4.1251e-05
+He4_solar_mass_frac = 0.248458749
+Li7_solar_mass_frac = 5.347553867866217e-11
+C12_solar_mass_frac = 0.0023479921849246885
+C13_solar_mass_frac = 2.6264022162801824e-05
+N14_solar_mass_frac = 0.0006943429738573174
+N15_solar_mass_frac = 1.5936949716182629e-06
+O16_solar_mass_frac = 0.005745050422480951
+O17_solar_mass_frac = 2.182566435670741e-06
+O18_solar_mass_frac = 1.1517500979792827e-05
+F19_solar_mass_frac = 5.070647693536659e-07
+Ne20_solar_mass_frac = 0.0011625972594930384
+Ne21_solar_mass_frac = 2.7869381311259143e-06
+Ne22_solar_mass_frac = 8.548569964958532e-05
+Na23_solar_mass_frac = 2.9368444780430237e-05
+Mg24_solar_mass_frac = 0.0005544455826402614
+Mg25_solar_mass_frac = 7.019187019119655e-05
+Mg26_solar_mass_frac = 7.72812490805074e-05
+Al27_solar_mass_frac = 5.5900159597141475e-05
+Si28_solar_mass_frac = 0.0006137862206959798
+Si29_solar_mass_frac = 3.116657246812484e-05
+Si30_solar_mass_frac = 2.054523456687628e-05
+P31_solar_mass_frac = 5.852484710740299e-06
+S32_solar_mass_frac = 0.0002941173102666167
+S33_solar_mass_frac = 2.354673504715355e-06
+S34_solar_mass_frac = 1.3291512283195887e-05
+Cl35_solar_mass_frac = 6.160022812039695e-06
+Cl37_solar_mass_frac = 1.9688011679546237e-06
+Ar36_solar_mass_frac = 5.618233360211754e-05
+Ar38_solar_mass_frac = 1.021494559543339e-05
+K39_solar_mass_frac = 2.85828500433324e-06
+Ca40_solar_mass_frac = 6.230278628930155e-05
+
+
+H1_1 = (a.ejected_h1[plota_index])/H1_solar_mass_frac
+ax.plot(1, H1_1, color='tab:orange', marker='s', markersize=6)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_1 = (a.ejected_h3[plota_index]+a.ejected_he3[plota_index])/He3_solar_mass_frac
+He4_1 = (a.ejected_b8[plota_index]+a.ejected_he4[plota_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_1,He4_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Li7= Li7+Be7
+Li7_1 = (a.ejected_li7[plota_index]+a.ejected_be7[plota_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_1,color='tab:orange',marker='s', markersize=6)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_1 = (a.ejected_n12[plota_index]+a.ejected_c12[plota_index])/C12_solar_mass_frac
+C13_1 = (a.ejected_n13[plota_index]+a.ejected_o13[plota_index]+a.ejected_c13[plota_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_1,C13_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_1 = (a.ejected_o14[plota_index]+a.ejected_n14[plota_index])/N14_solar_mass_frac
+N15_1 = (a.ejected_o15[plota_index]+a.ejected_n15[plota_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_1,N15_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_1 = (a.ejected_o16[plota_index])/O16_solar_mass_frac
+O17_1 = (a.ejected_f17[plota_index]+a.ejected_o17[plota_index])/O17_solar_mass_frac
+O18_1 = (a.ejected_f18[plota_index]+a.ejected_ne18[plota_index]+a.ejected_o18[plota_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_1,O17_1,O18_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# F19 = Ne19+F19
+F19_1 = (a.ejected_ne19[plota_index]+a.ejected_f19[plota_index])/F19_solar_mass_frac
+ax.plot(19, F19_1, color='tab:orange', marker='s', markersize=6) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_1 = (a.ejected_na20[plota_index]+a.ejected_ne20[plota_index])/Ne20_solar_mass_frac
+Ne21_1 = (a.ejected_na21[plota_index]+a.ejected_mg21[plota_index]+a.ejected_ne21[plota_index])/Ne21_solar_mass_frac
+Ne22_1 = (a.ejected_mg22[plota_index]+a.ejected_na22[plota_index]+a.ejected_ne22[plota_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_1,Ne21_1,Ne22_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Na23 = Al23+Mg23+Na23
+Na23_1 = (a.ejected_al23[plota_index]+a.ejected_mg23[plota_index]+a.ejected_na23[plota_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_1, color='tab:orange', marker='s', markersize=6)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_1 = (a.ejected_al24[plota_index]+a.ejected_mg24[plota_index])/Mg24_solar_mass_frac
+Mg25_1 = (a.ejected_al25[plota_index]+a.ejected_si25[plota_index]+a.ejected_mg25[plota_index])/Mg25_solar_mass_frac
+Mg26_1 = (a.ejected_mg26[plota_index]+a.ejected_al26[plota_index]+a.ejected_si26[plota_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_1,Mg25_1,Mg26_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Al27 = Si27+P27+Al27
+Al27_1 = (a.ejected_si27[plota_index]+a.ejected_p27[plota_index]+a.ejected_al27[plota_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_1, color='tab:orange', marker='s', markersize=6) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_1 = (a.ejected_p28[plota_index]+a.ejected_si28[plota_index])/Si28_solar_mass_frac
+Si29_1 = (a.ejected_p29[plota_index]+a.ejected_s29[plota_index]+a.ejected_si29[plota_index])/Si29_solar_mass_frac
+Si30_1 = (a.ejected_p30[plota_index]+a.ejected_s30[plota_index]+a.ejected_si30[plota_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_1,Si29_1,Si30_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# P31 = S31+Cl31+P31
+P31_1 = (a.ejected_s31[plota_index]+a.ejected_cl31[plota_index]+a.ejected_p31[plota_index])/P31_solar_mass_frac
+ax.plot(31, P31_1, color='tab:orange', marker='s', markersize=6) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_1 = (a.ejected_cl32[plota_index]+a.ejected_ar32[plota_index]+a.ejected_s32[plota_index])/S32_solar_mass_frac
+S33_1 = (a.ejected_cl33[plota_index]+a.ejected_ar33[plota_index]+a.ejected_s33[plota_index])/S33_solar_mass_frac
+S34_1 = (a.ejected_cl34[plota_index]+a.ejected_ar34[plota_index]+a.ejected_s34[plota_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_1,S33_1,S34_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_1 = (a.ejected_ar35[plota_index]+a.ejected_k35[plota_index]+a.ejected_s35[plota_index]+a.ejected_cl35[plota_index])/Cl35_solar_mass_frac
+Cl37_1 = (a.ejected_ar37[plota_index]+a.ejected_k37[plota_index]+a.ejected_ca37[plota_index]+a.ejected_cl37[plota_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_1,Cl37_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_1 = (a.ejected_k36[plota_index]+a.ejected_ca36[plota_index]+a.ejected_ar36[plota_index]+a.ejected_cl36[plota_index])/Ar36_solar_mass_frac
+Ar38_1 = (a.ejected_k38[plota_index]+a.ejected_ca38[plota_index]+a.ejected_ar38[plota_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_1,Ar38_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# K39 = Ca39+K39+Ar39
+K39_1 = (a.ejected_ca39[plota_index]+a.ejected_k39[plota_index]+a.ejected_ar39[plota_index])/K39_solar_mass_frac
+ax.plot(39,K39_1,linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_1 = (a.ejected_ca40[plota_index]+a.ejected_k40[plota_index]+a.ejected_sc40[plota_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_1,linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+# H1
+H1_2 = (b.ejected_h1[plotb_index])/H1_solar_mass_frac
+ax.plot(1, H1_2, color='black', marker='^', markersize=8)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_2 = (b.ejected_h3[plotb_index]+b.ejected_he3[plotb_index])/He3_solar_mass_frac
+He4_2 = (b.ejected_b8[plotb_index]+b.ejected_he4[plotb_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_2,He4_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Li7= Li7+Be7
+Li7_2 = (b.ejected_li7[plotb_index]+b.ejected_be7[plotb_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_2,color='black',marker='^', markersize=8)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_2 = (b.ejected_n12[plotb_index]+b.ejected_c12[plotb_index])/C12_solar_mass_frac
+C13_2 = (b.ejected_n13[plotb_index]+b.ejected_o13[plotb_index]+b.ejected_c13[plotb_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_2,C13_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_2 = (b.ejected_o14[plotb_index]+b.ejected_n14[plotb_index])/N14_solar_mass_frac
+N15_2 = (b.ejected_o15[plotb_index]+b.ejected_n15[plotb_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_2,N15_2),linewidth='1',color='black',marker='^', markersize=8)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_2 = (b.ejected_o16[plotb_index])/O16_solar_mass_frac
+O17_2 = (b.ejected_f17[plotb_index]+b.ejected_o17[plotb_index])/O17_solar_mass_frac
+O18_2 = (b.ejected_f18[plotb_index]+b.ejected_ne18[plotb_index]+b.ejected_o18[plotb_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_2,O17_2,O18_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# F19 = Ne19+F19
+F19_2 = (b.ejected_ne19[plotb_index]+b.ejected_f19[plotb_index])/F19_solar_mass_frac
+ax.plot(19, F19_2, color='black', marker='^', markersize=8) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_2 = (b.ejected_na20[plotb_index]+b.ejected_ne20[plotb_index])/Ne20_solar_mass_frac
+Ne21_2 = (b.ejected_na21[plotb_index]+b.ejected_mg21[plotb_index]+b.ejected_ne21[plotb_index])/Ne21_solar_mass_frac
+Ne22_2 = (b.ejected_mg22[plotb_index]+b.ejected_na22[plotb_index]+b.ejected_ne22[plotb_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_2,Ne21_2,Ne22_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Na23 = Al23+Mg23+Na23
+Na23_2 = (b.ejected_al23[plotb_index]+b.ejected_mg23[plotb_index]+b.ejected_na23[plotb_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_2, color='black', marker='^', markersize=8)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_2 = (b.ejected_al24[plotb_index]+b.ejected_mg24[plotb_index])/Mg24_solar_mass_frac
+Mg25_2 = (b.ejected_al25[plotb_index]+b.ejected_si25[plotb_index]+b.ejected_mg25[plotb_index])/Mg25_solar_mass_frac
+Mg26_2 = (b.ejected_mg26[plotb_index]+b.ejected_al26[plotb_index]+b.ejected_si26[plotb_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_2,Mg25_2,Mg26_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Al27 = Si27+P27+Al27
+Al27_2 = (b.ejected_si27[plotb_index]+b.ejected_p27[plotb_index]+b.ejected_al27[plotb_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_2, color='black', marker='^', markersize=8) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_2 = (b.ejected_p28[plotb_index]+b.ejected_si28[plotb_index])/Si28_solar_mass_frac
+Si29_2 = (b.ejected_p29[plotb_index]+b.ejected_s29[plotb_index]+b.ejected_si29[plotb_index])/Si29_solar_mass_frac
+Si30_2 = (b.ejected_p30[plotb_index]+b.ejected_s30[plotb_index]+b.ejected_si30[plotb_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_2,Si29_2,Si30_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# P31 = S31+Cl31+P31
+P31_2 = (b.ejected_s31[plotb_index]+b.ejected_cl31[plotb_index]+b.ejected_p31[plotb_index])/P31_solar_mass_frac
+ax.plot(31, P31_2, color='black', marker='^', markersize=8) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_2 = (b.ejected_cl32[plotb_index]+b.ejected_ar32[plotb_index]+b.ejected_s32[plotb_index])/S32_solar_mass_frac
+S33_2 = (b.ejected_cl33[plotb_index]+b.ejected_ar33[plotb_index]+b.ejected_s33[plotb_index])/S33_solar_mass_frac
+S34_2 = (b.ejected_cl34[plotb_index]+b.ejected_ar34[plotb_index]+b.ejected_s34[plotb_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_2,S33_2,S34_2),linewidth='1',color='black',marker='^', markersize=8)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_2 = (b.ejected_ar35[plotb_index]+b.ejected_k35[plotb_index]+b.ejected_s35[plotb_index]+b.ejected_cl35[plotb_index])/Cl35_solar_mass_frac
+Cl37_2 = (b.ejected_ar37[plotb_index]+b.ejected_k37[plotb_index]+b.ejected_ca37[plotb_index]+b.ejected_cl37[plotb_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_2,Cl37_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_2 = (b.ejected_k36[plotb_index]+b.ejected_ca36[plotb_index]+b.ejected_ar36[plotb_index]+b.ejected_cl36[plotb_index])/Ar36_solar_mass_frac
+Ar38_2 = (b.ejected_k38[plotb_index]+b.ejected_ca38[plotb_index]+b.ejected_ar38[plotb_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_2,Ar38_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# K39 = Ca39+K39+Ar39
+K39_2 = (b.ejected_ca39[plotb_index]+b.ejected_k39[plotb_index]+b.ejected_ar39[plotb_index])/K39_solar_mass_frac
+ax.plot(39,K39_2,linewidth='1',color='black',marker='^', markersize=8)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_2 = (b.ejected_ca40[plotb_index]+b.ejected_k40[plotb_index]+b.ejected_sc40[plotb_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_2,linewidth='1',color='black',marker='^', markersize=8)
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+H1_3 = (c.ejected_h1[plotc_index])/H1_solar_mass_frac
+ax.plot(1, H1_3, color='#0343df', marker='.', markersize=12)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_3 = (c.ejected_h3[plotc_index]+c.ejected_he3[plotc_index])/He3_solar_mass_frac
+He4_3 = (c.ejected_b8[plotc_index]+c.ejected_he4[plotc_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_3,He4_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Li7= Li7+Be7
+Li7_3 = (c.ejected_li7[plotc_index]+c.ejected_be7[plotc_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_3,color='#0343df',marker='.', markersize=12)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_3 = (c.ejected_n12[plotc_index]+c.ejected_c12[plotc_index])/C12_solar_mass_frac
+C13_3 = (c.ejected_n13[plotc_index]+c.ejected_o13[plotc_index]+c.ejected_c13[plotc_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_3,C13_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_3 = (c.ejected_o14[plotc_index]+c.ejected_n14[plotc_index])/N14_solar_mass_frac
+N15_3 = (c.ejected_o15[plotc_index]+c.ejected_n15[plotc_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_3,N15_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_3 = (c.ejected_o16[plotc_index])/O16_solar_mass_frac
+O17_3 = (c.ejected_f17[plotc_index]+c.ejected_o17[plotc_index])/O17_solar_mass_frac
+O18_3 = (c.ejected_f18[plotc_index]+c.ejected_ne18[plotc_index]+c.ejected_o18[plotc_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_3,O17_3,O18_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# F19 = Ne19+F19
+F19_3 = (c.ejected_ne19[plotc_index]+c.ejected_f19[plotc_index])/F19_solar_mass_frac
+ax.plot(19, F19_3, color='#0343df', marker='.', markersize=12) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_3 = (c.ejected_na20[plotc_index]+c.ejected_ne20[plotc_index])/Ne20_solar_mass_frac
+Ne21_3 = (c.ejected_na21[plotc_index]+c.ejected_mg21[plotc_index]+c.ejected_ne21[plotc_index])/Ne21_solar_mass_frac
+Ne22_3 = (c.ejected_mg22[plotc_index]+c.ejected_na22[plotc_index]+c.ejected_ne22[plotc_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_3,Ne21_3,Ne22_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Na23 = Al23+Mg23+Na23
+Na23_3 = (c.ejected_al23[plotc_index]+c.ejected_mg23[plotc_index]+c.ejected_na23[plotc_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_3, color='#0343df', marker='.', markersize=12)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_3 = (c.ejected_al24[plotc_index]+c.ejected_mg24[plotc_index])/Mg24_solar_mass_frac
+Mg25_3 = (c.ejected_al25[plotc_index]+c.ejected_si25[plotc_index]+c.ejected_mg25[plotc_index])/Mg25_solar_mass_frac
+Mg26_3 = (c.ejected_mg26[plotc_index]+c.ejected_al26[plotc_index]+c.ejected_si26[plotc_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_3,Mg25_3,Mg26_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Al27 = Si27+P27+Al27
+Al27_3 = (c.ejected_si27[plotc_index]+c.ejected_p27[plotc_index]+c.ejected_al27[plotc_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_3, color='#0343df', marker='.', markersize=12) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_3 = (c.ejected_p28[plotc_index]+c.ejected_si28[plotc_index])/Si28_solar_mass_frac
+Si29_3 = (c.ejected_p29[plotc_index]+c.ejected_s29[plotc_index]+c.ejected_si29[plotc_index])/Si29_solar_mass_frac
+Si30_3 = (c.ejected_p30[plotc_index]+c.ejected_s30[plotc_index]+c.ejected_si30[plotc_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_3,Si29_3,Si30_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# P31 = S31+Cl31+P31
+P31_3 = (c.ejected_s31[plotc_index]+c.ejected_cl31[plotc_index]+c.ejected_p31[plotc_index])/P31_solar_mass_frac
+ax.plot(31, P31_3, color='#0343df', marker='.', markersize=12) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_3 = (c.ejected_cl32[plotc_index]+c.ejected_ar32[plotc_index]+c.ejected_s32[plotc_index])/S32_solar_mass_frac
+S33_3 = (c.ejected_cl33[plotc_index]+c.ejected_ar33[plotc_index]+c.ejected_s33[plotc_index])/S33_solar_mass_frac
+S34_3 = (c.ejected_cl34[plotc_index]+c.ejected_ar34[plotc_index]+c.ejected_s34[plotc_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_3,S33_3,S34_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_3 = (c.ejected_ar35[plotc_index]+c.ejected_k35[plotc_index]+c.ejected_s35[plotc_index]+c.ejected_cl35[plotc_index])/Cl35_solar_mass_frac
+Cl37_3 = (c.ejected_ar37[plotc_index]+c.ejected_k37[plotc_index]+c.ejected_ca37[plotc_index]+c.ejected_cl37[plotc_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_3,Cl37_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_3 = (c.ejected_k36[plotc_index]+c.ejected_ca36[plotc_index]+c.ejected_ar36[plotc_index]+c.ejected_cl36[plotc_index])/Ar36_solar_mass_frac
+Ar38_3 = (c.ejected_k38[plotc_index]+c.ejected_ca38[plotc_index]+c.ejected_ar38[plotc_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_3,Ar38_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# K39 = Ca39+K39+Ar39
+K39_3 = (c.ejected_ca39[plotc_index]+c.ejected_k39[plotc_index]+c.ejected_ar39[plotc_index])/K39_solar_mass_frac
+ax.plot(39,K39_3,linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_3 = (c.ejected_ca40[plotc_index]+c.ejected_k40[plotc_index]+c.ejected_sc40[plotc_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_3,linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+H1_4 = (d.ejected_h1[plotd_index])/H1_solar_mass_frac
+ax.plot(1, H1_4, color='r', marker='x', markersize=7)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_4 = (d.ejected_h3[plotd_index]+d.ejected_he3[plotd_index])/He3_solar_mass_frac
+He4_4 = (d.ejected_b8[plotd_index]+d.ejected_he4[plotd_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_4,He4_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# Li7= Li7+Be7
+Li7_4 = (d.ejected_li7[plotd_index]+d.ejected_be7[plotd_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_4,color='r',marker='x', markersize=7)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_4 = (d.ejected_n12[plotd_index]+d.ejected_c12[plotd_index])/C12_solar_mass_frac
+C13_4 = (d.ejected_n13[plotd_index]+d.ejected_o13[plotd_index]+d.ejected_c13[plotd_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_4,C13_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_4 = (d.ejected_o14[plotd_index]+d.ejected_n14[plotd_index])/N14_solar_mass_frac
+N15_4 = (d.ejected_o15[plotd_index]+d.ejected_n15[plotd_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_4,N15_4),linewidth='1',color='r',marker='x', markersize=7)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_4 = (d.ejected_o16[plotd_index])/O16_solar_mass_frac
+O17_4 = (d.ejected_f17[plotd_index]+d.ejected_o17[plotd_index])/O17_solar_mass_frac
+O18_4 = (d.ejected_f18[plotd_index]+d.ejected_ne18[plotd_index]+d.ejected_o18[plotd_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_4,O17_4,O18_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# F19 = Ne19+F19
+F19_4 = (d.ejected_ne19[plotd_index]+d.ejected_f19[plotd_index])/F19_solar_mass_frac
+ax.plot(19, F19_4, color='r', marker='x', markersize=7) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_4 = (d.ejected_na20[plotd_index]+d.ejected_ne20[plotd_index])/Ne20_solar_mass_frac
+Ne21_4 = (d.ejected_na21[plotd_index]+d.ejected_mg21[plotd_index]+d.ejected_ne21[plotd_index])/Ne21_solar_mass_frac
+Ne22_4 = (d.ejected_mg22[plotd_index]+d.ejected_na22[plotd_index]+d.ejected_ne22[plotd_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_4,Ne21_4,Ne22_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# Na23 = Al23+Mg23+Na23
+Na23_4 = (d.ejected_al23[plotd_index]+d.ejected_mg23[plotd_index]+d.ejected_na23[plotd_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_4, color='r', marker='x', markersize=7)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_4 = (d.ejected_al24[plotd_index]+d.ejected_mg24[plotd_index])/Mg24_solar_mass_frac
+Mg25_4 = (d.ejected_al25[plotd_index]+d.ejected_si25[plotd_index]+d.ejected_mg25[plotd_index])/Mg25_solar_mass_frac
+Mg26_4 = (d.ejected_mg26[plotd_index]+d.ejected_al26[plotd_index]+d.ejected_si26[plotd_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_4,Mg25_4,Mg26_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# Al27 = Si27+P27+Al27
+Al27_4 = (d.ejected_si27[plotd_index]+d.ejected_p27[plotd_index]+d.ejected_al27[plotd_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_4, color='r', marker='x', markersize=7) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_4 = (d.ejected_p28[plotd_index]+d.ejected_si28[plotd_index])/Si28_solar_mass_frac
+Si29_4 = (d.ejected_p29[plotd_index]+d.ejected_s29[plotd_index]+d.ejected_si29[plotd_index])/Si29_solar_mass_frac
+Si30_4 = (d.ejected_p30[plotd_index]+d.ejected_s30[plotd_index]+d.ejected_si30[plotd_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_4,Si29_4,Si30_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# P31 = S31+Cl31+P31
+P31_4 = (d.ejected_s31[plotd_index]+d.ejected_cl31[plotd_index]+d.ejected_p31[plotd_index])/P31_solar_mass_frac
+ax.plot(31, P31_4, color='r', marker='x', markersize=7) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_4 = (d.ejected_cl32[plotd_index]+d.ejected_ar32[plotd_index]+d.ejected_s32[plotd_index])/S32_solar_mass_frac
+S33_4 = (d.ejected_cl33[plotd_index]+d.ejected_ar33[plotd_index]+d.ejected_s33[plotd_index])/S33_solar_mass_frac
+S34_4 = (d.ejected_cl34[plotd_index]+d.ejected_ar34[plotd_index]+d.ejected_s34[plotd_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_4,S33_4,S34_4),linewidth='1',color='r',marker='x', markersize=7)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_4 = (d.ejected_ar35[plotd_index]+d.ejected_k35[plotd_index]+d.ejected_s35[plotd_index]+d.ejected_cl35[plotd_index])/Cl35_solar_mass_frac
+Cl37_4 = (d.ejected_ar37[plotd_index]+d.ejected_k37[plotd_index]+d.ejected_ca37[plotd_index]+d.ejected_cl37[plotd_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_4,Cl37_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_4 = (d.ejected_k36[plotd_index]+d.ejected_ca36[plotd_index]+d.ejected_ar36[plotd_index]+d.ejected_cl36[plotd_index])/Ar36_solar_mass_frac
+Ar38_4 = (d.ejected_k38[plotd_index]+d.ejected_ca38[plotd_index]+d.ejected_ar38[plotd_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_4,Ar38_4),linewidth='1',color='r',marker='x', markersize=7)
+
+# K39 = Ca39+K39+Ar39
+K39_4 = (d.ejected_ca39[plotd_index]+d.ejected_k39[plotd_index]+d.ejected_ar39[plotd_index])/K39_solar_mass_frac
+ax.plot(39,K39_4,linewidth='1',color='r',marker='x', markersize=7)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_4 = (d.ejected_ca40[plotd_index]+d.ejected_k40[plotd_index]+d.ejected_sc40[plotd_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_4,linewidth='1',color='r',marker='x', markersize=7)
+
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+H1_list = [H1_1,H1_2,H1_3,H1_4]
+H1 = max(H1_list)
+ax.text(1+x_centre_offset, H1+H1*y_offset_top, 'H', fontsize=13)
+He4_list = [He4_1,He4_2,He4_3,He4_4]
+He4 = max(He4_list)
+ax.text(4+x_centre_offset, He4+He4*y_offset_top, 'He', fontsize=13)
+Li7_list = [Li7_1,Li7_2,Li7_3,Li7_4]
+Li7 = max(Li7_list)
+ax.text(7+x_centre_offset, Li7+Li7*y_offset_top, 'Li', fontsize=13)
+C13_list = [C13_1,C13_2,C13_3,C13_4]
+C13 = max(C13_list)
+ax.text(13+x_centre_offset_2, C13+C13*y_offset_top, 'C', fontsize=13)
+N15_list = [N15_1,N15_2,N15_3,N15_4]
+N15 = max(N15_list)
+ax.text(15+x_centre_offset_2, N15+N15*y_offset_top, 'N', fontsize=13)
+O17_list = [O17_1,O17_2,O17_3,O17_4]
+O17 = max(O17_list)
+ax.text(17+x_centre_offset, O17+O17*y_offset_top, 'O', fontsize=13)
+F19_list = [F19_1,F19_2,F19_3,F19_4]
+F19 = max(F19_list)
+ax.text(19+x_centre_offset_2, F19+F19*y_offset_top, 'F', fontsize=13)
+Ne21_list = [Ne21_1,Ne21_2,Ne21_3,Ne21_4]
+Ne21 = min(Ne21_list)
+ax.text(21+x_centre_offset, Ne21-Ne21*y_offset_bot, 'Ne', fontsize=13)
+Na23_list = [Na23_1,Na23_2,Na23_3,Na23_4]
+Na23 = max(Na23_list)
+ax.text(23+x_centre_offset, Na23+Na23*y_offset_top, 'Na', fontsize=13)
+Mg25_list = [Mg25_1,Mg25_2,Mg25_3,Mg25_4]
+Mg25 = max(Mg25_list)
+ax.text(25+x_centre_offset, Mg25+Mg25*y_offset_top, 'Mg', fontsize=13)
+Al27_list = [Al27_1,Al27_2,Al27_3,Al27_4]
+Al27 = max(Al27_list)
+ax.text(27+x_centre_offset, Al27+Al27*y_offset_top, 'Al', fontsize=13)
+Si29_list = [Si29_1,Si29_2,Si29_3,Si29_4]
+Si29 = min(Si29_list)
+ax.text(29+x_centre_offset, Si29-Si29*y_offset_bot, 'Si', fontsize=13)
+P31_list = [P31_1,P31_2,P31_3,P31_4]
+P31 = max(P31_list)
+ax.text(31+x_centre_offset, P31+P31*y_offset_top, 'P', fontsize=13)
+S33_list = [S33_1,S33_2,S33_3,S33_4]
+S33 = max(S33_list)
+ax.text(33+x_centre_offset, S33+S33*y_offset_top, 'S', fontsize=13)
+Cl37_list = [Cl37_1,Cl37_2,Cl37_3,Cl37_4]
+Cl37 = max(Cl37_list)
+ax.text(37+x_centre_offset, Cl37+Cl37*y_offset_top, 'Cl', fontsize=13)
+Ar38_list = [Ar38_1,Ar38_2,Ar38_3,Ar38_4]
+Ar38 = max(Ar38_list)
+ax.text(38+x_centre_offset, Ar38+Ar38*y_offset_top, 'Ar', fontsize=13)
+K39_list = [K39_1,K39_2,K39_3,K39_4]
+K39 = max(K39_list)
+ax.text(39+x_centre_offset, K39+K39*y_offset_top, 'K', fontsize=13)
+Ca40_list = [Ca40_1,Ca40_2,Ca40_3,Ca40_4]
+Ca40 = max(Ca40_list)
+ax.text(40+x_centre_offset, Ca40+Ca40*y_offset_top, 'Ca', fontsize=13)
+
+
+
+
+legend_elements = [Line2D([0], [0], marker='s', color='tab:orange', label='Burst 1',
+                          markersize=7),
+                   Line2D([0], [0], marker='^', color='black', label='Burst 2',
+                          markersize=9),
+				   Line2D([0], [0], marker='.', color='#0343df', label='Burst 3',
+                          markersize=13),
+				   Line2D([0], [0], marker='x', color='r', label='Burst 4',
+                          markersize=8)]
+ax.legend(handles=legend_elements, frameon=False, loc='lower right',prop={'size': 18})
+
+
+ax.set_xscale('linear')
+ax.set_yscale('log')
+ax.set_xlim(0,41)
+ax.set_yticks([1e-10,1e-9,1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1,1,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10]) #replaces tick labels from '10^x' to 'x'
+ax.set_yticklabels(['-10','-9','-8','-7','-6','-5','-4','-3','-2','-1','0','1','2','3','4','5','6','7','8','9','10']) #replaces tick labels from '10^x' to 'x'
+ax.tick_params(axis='x', labelsize=16)
+ax.tick_params(axis='y', labelsize=16)
+ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='1')
+plt.minorticks_on()
+ax.grid(which='minor', linestyle=':', linewidth='0.4')
+ax.hlines(1, 0, 50, color='#000000', linestyle='--', linewidth=0.5)
+
+ax.set_xlabel('Mass number', fontsize=20)
+ax.set_ylabel('Mean overproduction factor $\\mathrm{log_{10}}\\left(\\dfrac{X_{i}}{X_{i,\\odot}}\\right)$', fontsize=20)
+# ax.set_ylabel('Mean Overproduction Factor $\\mathrm{\\frac{X_{i}}{X_{i,\\odot}}}$', fontsize=16)
+
+
+plt.show()
+# plt.savefig('Asplund_overproduction_plot_quadruple_comparison.pdf', dpi=500)
+
+
+
+
+
+
+# Elements not considered when graphing due to not being interested in their abundance
+# h2 - Stable
+# li6 -  Stable
+# be9 - Stable
+# b10 - Stable
+# b11 - Stable
+# c9 - decays to B9 which decyas to Be9 which we're not interested in
+# c11 - T1/2 = 30.364 min, decays to B11 which we're not interested in
+# s36 - Stable
+# ar40 - Stable
+
diff --git a/overproduction_plotters/Overproduction_triple_comparison_graph_Asplund09.py b/overproduction_plotters/Overproduction_triple_comparison_graph_Asplund09.py
new file mode 100644
index 0000000000000000000000000000000000000000..134505af59e110d5fd202a3e59d0ec26dfd4a290
--- /dev/null
+++ b/overproduction_plotters/Overproduction_triple_comparison_graph_Asplund09.py
@@ -0,0 +1,438 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+from matplotlib.lines import Line2D
+import fastmesareader as fmr
+
+plotting_tings = 'ejected_h1 ejected_h2 ejected_h3 ejected_he3 ejected_he4 ejected_li6 ejected_li7 ejected_be7 ejected_be9 ejected_b8 ejected_b10 ejected_b11 ejected_c9 ejected_c11 ejected_c12 ejected_c13 ejected_n12 ejected_n13 ejected_n14 ejected_n15 ejected_o13 ejected_o14 ejected_o15 ejected_o16 ejected_o17 ejected_o18 ejected_f17 ejected_f18 ejected_f19 ejected_ne18 ejected_ne19 ejected_ne20 ejected_ne21 ejected_ne22 ejected_na20 ejected_na21 ejected_na22 ejected_na23 ejected_mg21 ejected_mg22 ejected_mg23 ejected_mg24 ejected_mg25 ejected_mg26 ejected_al23 ejected_al24 ejected_al25 ejected_al26 ejected_al27 ejected_si25 ejected_si26 ejected_si27 ejected_si28 ejected_si29 ejected_si30 ejected_p27 ejected_p28 ejected_p29 ejected_p30 ejected_p31 ejected_s29 ejected_s30 ejected_s31 ejected_s32 ejected_s33 ejected_s34 ejected_s35 ejected_s36 ejected_cl31 ejected_cl32 ejected_cl33 ejected_cl34 ejected_cl35 ejected_cl36 ejected_cl37 ejected_ar32 ejected_ar33 ejected_ar34 ejected_ar35 ejected_ar36 ejected_ar37 ejected_ar38 ejected_ar39 ejected_ar40 ejected_k35 ejected_k36 ejected_k37 ejected_k38 ejected_k39 ejected_k40 ejected_ca36 ejected_ca37 ejected_ca38 ejected_ca39 ejected_ca40 ejected_sc40'
+a = fmr.FastMesaReader('LOGS/history.data', plotting_tings) 
+b = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+c = fmr.FastMesaReader('LOGS/history.data', plotting_tings)    
+
+plota_index = -1
+plotb_index = -1
+plotc_index = -1
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)	
+
+x_centre_offset = -0.3 #-0.2
+x_centre_offset_2 = -0.2
+y_offset_top = 0.5
+y_offset_bot = 0.55
+
+# From Asplund et. al. 2009
+H1_solar_mass_frac = 0.738085238
+He3_solar_mass_frac = 4.1251e-05
+He4_solar_mass_frac = 0.248458749
+Li7_solar_mass_frac = 5.347553867866217e-11
+C12_solar_mass_frac = 0.0023479921849246885
+C13_solar_mass_frac = 2.6264022162801824e-05
+N14_solar_mass_frac = 0.0006943429738573174
+N15_solar_mass_frac = 1.5936949716182629e-06
+O16_solar_mass_frac = 0.005745050422480951
+O17_solar_mass_frac = 2.182566435670741e-06
+O18_solar_mass_frac = 1.1517500979792827e-05
+F19_solar_mass_frac = 5.070647693536659e-07
+Ne20_solar_mass_frac = 0.0011625972594930384
+Ne21_solar_mass_frac = 2.7869381311259143e-06
+Ne22_solar_mass_frac = 8.548569964958532e-05
+Na23_solar_mass_frac = 2.9368444780430237e-05
+Mg24_solar_mass_frac = 0.0005544455826402614
+Mg25_solar_mass_frac = 7.019187019119655e-05
+Mg26_solar_mass_frac = 7.72812490805074e-05
+Al27_solar_mass_frac = 5.5900159597141475e-05
+Si28_solar_mass_frac = 0.0006137862206959798
+Si29_solar_mass_frac = 3.116657246812484e-05
+Si30_solar_mass_frac = 2.054523456687628e-05
+P31_solar_mass_frac = 5.852484710740299e-06
+S32_solar_mass_frac = 0.0002941173102666167
+S33_solar_mass_frac = 2.354673504715355e-06
+S34_solar_mass_frac = 1.3291512283195887e-05
+Cl35_solar_mass_frac = 6.160022812039695e-06
+Cl37_solar_mass_frac = 1.9688011679546237e-06
+Ar36_solar_mass_frac = 5.618233360211754e-05
+Ar38_solar_mass_frac = 1.021494559543339e-05
+K39_solar_mass_frac = 2.85828500433324e-06
+Ca40_solar_mass_frac = 6.230278628930155e-05
+
+
+H1_1 = (a.ejected_h1[plota_index])/H1_solar_mass_frac
+ax.plot(1, H1_1, color='tab:orange', marker='s', markersize=6)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_1 = (a.ejected_h3[plota_index]+a.ejected_he3[plota_index])/He3_solar_mass_frac
+He4_1 = (a.ejected_b8[plota_index]+a.ejected_he4[plota_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_1,He4_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Li7= Li7+Be7
+Li7_1 = (a.ejected_li7[plota_index]+a.ejected_be7[plota_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_1,color='tab:orange',marker='s', markersize=6)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_1 = (a.ejected_n12[plota_index]+a.ejected_c12[plota_index])/C12_solar_mass_frac
+C13_1 = (a.ejected_n13[plota_index]+a.ejected_o13[plota_index]+a.ejected_c13[plota_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_1,C13_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_1 = (a.ejected_o14[plota_index]+a.ejected_n14[plota_index])/N14_solar_mass_frac
+N15_1 = (a.ejected_o15[plota_index]+a.ejected_n15[plota_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_1,N15_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_1 = (a.ejected_o16[plota_index])/O16_solar_mass_frac
+O17_1 = (a.ejected_f17[plota_index]+a.ejected_o17[plota_index])/O17_solar_mass_frac
+O18_1 = (a.ejected_f18[plota_index]+a.ejected_ne18[plota_index]+a.ejected_o18[plota_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_1,O17_1,O18_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# F19 = Ne19+F19
+F19_1 = (a.ejected_ne19[plota_index]+a.ejected_f19[plota_index])/F19_solar_mass_frac
+ax.plot(19, F19_1, color='tab:orange', marker='s', markersize=6) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_1 = (a.ejected_na20[plota_index]+a.ejected_ne20[plota_index])/Ne20_solar_mass_frac
+Ne21_1 = (a.ejected_na21[plota_index]+a.ejected_mg21[plota_index]+a.ejected_ne21[plota_index])/Ne21_solar_mass_frac
+Ne22_1 = (a.ejected_mg22[plota_index]+a.ejected_na22[plota_index]+a.ejected_ne22[plota_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_1,Ne21_1,Ne22_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Na23 = Al23+Mg23+Na23
+Na23_1 = (a.ejected_al23[plota_index]+a.ejected_mg23[plota_index]+a.ejected_na23[plota_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_1, color='tab:orange', marker='s', markersize=6)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_1 = (a.ejected_al24[plota_index]+a.ejected_mg24[plota_index])/Mg24_solar_mass_frac
+Mg25_1 = (a.ejected_al25[plota_index]+a.ejected_si25[plota_index]+a.ejected_mg25[plota_index])/Mg25_solar_mass_frac
+Mg26_1 = (a.ejected_mg26[plota_index]+a.ejected_al26[plota_index]+a.ejected_si26[plota_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_1,Mg25_1,Mg26_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Al27 = Si27+P27+Al27
+Al27_1 = (a.ejected_si27[plota_index]+a.ejected_p27[plota_index]+a.ejected_al27[plota_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_1, color='tab:orange', marker='s', markersize=6) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_1 = (a.ejected_p28[plota_index]+a.ejected_si28[plota_index])/Si28_solar_mass_frac
+Si29_1 = (a.ejected_p29[plota_index]+a.ejected_s29[plota_index]+a.ejected_si29[plota_index])/Si29_solar_mass_frac
+Si30_1 = (a.ejected_p30[plota_index]+a.ejected_s30[plota_index]+a.ejected_si30[plota_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_1,Si29_1,Si30_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# P31 = S31+Cl31+P31
+P31_1 = (a.ejected_s31[plota_index]+a.ejected_cl31[plota_index]+a.ejected_p31[plota_index])/P31_solar_mass_frac
+ax.plot(31, P31_1, color='tab:orange', marker='s', markersize=6) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_1 = (a.ejected_cl32[plota_index]+a.ejected_ar32[plota_index]+a.ejected_s32[plota_index])/S32_solar_mass_frac
+S33_1 = (a.ejected_cl33[plota_index]+a.ejected_ar33[plota_index]+a.ejected_s33[plota_index])/S33_solar_mass_frac
+S34_1 = (a.ejected_cl34[plota_index]+a.ejected_ar34[plota_index]+a.ejected_s34[plota_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_1,S33_1,S34_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_1 = (a.ejected_ar35[plota_index]+a.ejected_k35[plota_index]+a.ejected_s35[plota_index]+a.ejected_cl35[plota_index])/Cl35_solar_mass_frac
+Cl37_1 = (a.ejected_ar37[plota_index]+a.ejected_k37[plota_index]+a.ejected_ca37[plota_index]+a.ejected_cl37[plota_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_1,Cl37_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_1 = (a.ejected_k36[plota_index]+a.ejected_ca36[plota_index]+a.ejected_ar36[plota_index]+a.ejected_cl36[plota_index])/Ar36_solar_mass_frac
+Ar38_1 = (a.ejected_k38[plota_index]+a.ejected_ca38[plota_index]+a.ejected_ar38[plota_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_1,Ar38_1),linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# K39 = Ca39+K39+Ar39
+K39_1 = (a.ejected_ca39[plota_index]+a.ejected_k39[plota_index]+a.ejected_ar39[plota_index])/K39_solar_mass_frac
+ax.plot(39,K39_1,linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_1 = (a.ejected_ca40[plota_index]+a.ejected_k40[plota_index]+a.ejected_sc40[plota_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_1,linewidth='1',color='tab:orange',marker='s', markersize=6)
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+# H1
+H1_2 = (b.ejected_h1[plotb_index])/H1_solar_mass_frac
+ax.plot(1, H1_2, color='black', marker='^', markersize=8)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_2 = (b.ejected_h3[plotb_index]+b.ejected_he3[plotb_index])/He3_solar_mass_frac
+He4_2 = (b.ejected_b8[plotb_index]+b.ejected_he4[plotb_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_2,He4_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Li7= Li7+Be7
+Li7_2 = (b.ejected_li7[plotb_index]+b.ejected_be7[plotb_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_2,color='black',marker='^', markersize=8)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_2 = (b.ejected_n12[plotb_index]+b.ejected_c12[plotb_index])/C12_solar_mass_frac
+C13_2 = (b.ejected_n13[plotb_index]+b.ejected_o13[plotb_index]+b.ejected_c13[plotb_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_2,C13_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_2 = (b.ejected_o14[plotb_index]+b.ejected_n14[plotb_index])/N14_solar_mass_frac
+N15_2 = (b.ejected_o15[plotb_index]+b.ejected_n15[plotb_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_2,N15_2),linewidth='1',color='black',marker='^', markersize=8)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_2 = (b.ejected_o16[plotb_index])/O16_solar_mass_frac
+O17_2 = (b.ejected_f17[plotb_index]+b.ejected_o17[plotb_index])/O17_solar_mass_frac
+O18_2 = (b.ejected_f18[plotb_index]+b.ejected_ne18[plotb_index]+b.ejected_o18[plotb_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_2,O17_2,O18_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# F19 = Ne19+F19
+F19_2 = (b.ejected_ne19[plotb_index]+b.ejected_f19[plotb_index])/F19_solar_mass_frac
+ax.plot(19, F19_2, color='black', marker='^', markersize=8) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_2 = (b.ejected_na20[plotb_index]+b.ejected_ne20[plotb_index])/Ne20_solar_mass_frac
+Ne21_2 = (b.ejected_na21[plotb_index]+b.ejected_mg21[plotb_index]+b.ejected_ne21[plotb_index])/Ne21_solar_mass_frac
+Ne22_2 = (b.ejected_mg22[plotb_index]+b.ejected_na22[plotb_index]+b.ejected_ne22[plotb_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_2,Ne21_2,Ne22_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Na23 = Al23+Mg23+Na23
+Na23_2 = (b.ejected_al23[plotb_index]+b.ejected_mg23[plotb_index]+b.ejected_na23[plotb_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_2, color='black', marker='^', markersize=8)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_2 = (b.ejected_al24[plotb_index]+b.ejected_mg24[plotb_index])/Mg24_solar_mass_frac
+Mg25_2 = (b.ejected_al25[plotb_index]+b.ejected_si25[plotb_index]+b.ejected_mg25[plotb_index])/Mg25_solar_mass_frac
+Mg26_2 = (b.ejected_mg26[plotb_index]+b.ejected_al26[plotb_index]+b.ejected_si26[plotb_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_2,Mg25_2,Mg26_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Al27 = Si27+P27+Al27
+Al27_2 = (b.ejected_si27[plotb_index]+b.ejected_p27[plotb_index]+b.ejected_al27[plotb_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_2, color='black', marker='^', markersize=8) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_2 = (b.ejected_p28[plotb_index]+b.ejected_si28[plotb_index])/Si28_solar_mass_frac
+Si29_2 = (b.ejected_p29[plotb_index]+b.ejected_s29[plotb_index]+b.ejected_si29[plotb_index])/Si29_solar_mass_frac
+Si30_2 = (b.ejected_p30[plotb_index]+b.ejected_s30[plotb_index]+b.ejected_si30[plotb_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_2,Si29_2,Si30_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# P31 = S31+Cl31+P31
+P31_2 = (b.ejected_s31[plotb_index]+b.ejected_cl31[plotb_index]+b.ejected_p31[plotb_index])/P31_solar_mass_frac
+ax.plot(31, P31_2, color='black', marker='^', markersize=8) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_2 = (b.ejected_cl32[plotb_index]+b.ejected_ar32[plotb_index]+b.ejected_s32[plotb_index])/S32_solar_mass_frac
+S33_2 = (b.ejected_cl33[plotb_index]+b.ejected_ar33[plotb_index]+b.ejected_s33[plotb_index])/S33_solar_mass_frac
+S34_2 = (b.ejected_cl34[plotb_index]+b.ejected_ar34[plotb_index]+b.ejected_s34[plotb_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_2,S33_2,S34_2),linewidth='1',color='black',marker='^', markersize=8)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_2 = (b.ejected_ar35[plotb_index]+b.ejected_k35[plotb_index]+b.ejected_s35[plotb_index]+b.ejected_cl35[plotb_index])/Cl35_solar_mass_frac
+Cl37_2 = (b.ejected_ar37[plotb_index]+b.ejected_k37[plotb_index]+b.ejected_ca37[plotb_index]+b.ejected_cl37[plotb_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_2,Cl37_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_2 = (b.ejected_k36[plotb_index]+b.ejected_ca36[plotb_index]+b.ejected_ar36[plotb_index]+b.ejected_cl36[plotb_index])/Ar36_solar_mass_frac
+Ar38_2 = (b.ejected_k38[plotb_index]+b.ejected_ca38[plotb_index]+b.ejected_ar38[plotb_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_2,Ar38_2),linewidth='1',color='black',marker='^', markersize=8)
+
+# K39 = Ca39+K39+Ar39
+K39_2 = (b.ejected_ca39[plotb_index]+b.ejected_k39[plotb_index]+b.ejected_ar39[plotb_index])/K39_solar_mass_frac
+ax.plot(39,K39_2,linewidth='1',color='black',marker='^', markersize=8)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_2 = (b.ejected_ca40[plotb_index]+b.ejected_k40[plotb_index]+b.ejected_sc40[plotb_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_2,linewidth='1',color='black',marker='^', markersize=8)
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+H1_3 = (c.ejected_h1[plotc_index])/H1_solar_mass_frac
+ax.plot(1, H1_3, color='#0343df', marker='.', markersize=12)
+
+# He3=H3+He3 & He4 = B8+He4
+He3_3 = (c.ejected_h3[plotc_index]+c.ejected_he3[plotc_index])/He3_solar_mass_frac
+He4_3 = (c.ejected_b8[plotc_index]+c.ejected_he4[plotc_index])/He4_solar_mass_frac
+ax.plot((3,4),(He3_3,He4_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Li7= Li7+Be7
+Li7_3 = (c.ejected_li7[plotc_index]+c.ejected_be7[plotc_index])/Li7_solar_mass_frac
+ax.plot(7,Li7_3,color='#0343df',marker='.', markersize=12)
+
+# C12 = N12+C12 & C13 = N13+O13+C13
+C12_3 = (c.ejected_n12[plotc_index]+c.ejected_c12[plotc_index])/C12_solar_mass_frac
+C13_3 = (c.ejected_n13[plotc_index]+c.ejected_o13[plotc_index]+c.ejected_c13[plotc_index])/C13_solar_mass_frac
+ax.plot((12,13),(C12_3,C13_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# N14 = O14+N14 & N15 = O15+N15
+N14_3 = (c.ejected_o14[plotc_index]+c.ejected_n14[plotc_index])/N14_solar_mass_frac
+N15_3 = (c.ejected_o15[plotc_index]+c.ejected_n15[plotc_index])/N15_solar_mass_frac
+ax.plot((14,15),(N14_3,N15_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+# O16 & O17 = F17+O17 & O18 = F18+Ne18+O18
+O16_3 = (c.ejected_o16[plotc_index])/O16_solar_mass_frac
+O17_3 = (c.ejected_f17[plotc_index]+c.ejected_o17[plotc_index])/O17_solar_mass_frac
+O18_3 = (c.ejected_f18[plotc_index]+c.ejected_ne18[plotc_index]+c.ejected_o18[plotc_index])/O18_solar_mass_frac
+ax.plot((16,17,18),(O16_3,O17_3,O18_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# F19 = Ne19+F19
+F19_3 = (c.ejected_ne19[plotc_index]+c.ejected_f19[plotc_index])/F19_solar_mass_frac
+ax.plot(19, F19_3, color='#0343df', marker='.', markersize=12) # F19 = Ne19+F19
+
+# Ne20 = Na20+ne20 & Ne21 = Na21+Mg21+Ne21 & Ne22 = Mg22+Na22+Ne22
+Ne20_3 = (c.ejected_na20[plotc_index]+c.ejected_ne20[plotc_index])/Ne20_solar_mass_frac
+Ne21_3 = (c.ejected_na21[plotc_index]+c.ejected_mg21[plotc_index]+c.ejected_ne21[plotc_index])/Ne21_solar_mass_frac
+Ne22_3 = (c.ejected_mg22[plotc_index]+c.ejected_na22[plotc_index]+c.ejected_ne22[plotc_index])/Ne22_solar_mass_frac
+ax.plot((20,21,22),(Ne20_3,Ne21_3,Ne22_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Na23 = Al23+Mg23+Na23
+Na23_3 = (c.ejected_al23[plotc_index]+c.ejected_mg23[plotc_index]+c.ejected_na23[plotc_index])/Na23_solar_mass_frac
+ax.plot(23, Na23_3, color='#0343df', marker='.', markersize=12)
+
+# Mg24 = Al24+Mg24 &  Mg25 = Al25+Si25+Mg25 & Mg26 = Al26+Si26+Mg26
+Mg24_3 = (c.ejected_al24[plotc_index]+c.ejected_mg24[plotc_index])/Mg24_solar_mass_frac
+Mg25_3 = (c.ejected_al25[plotc_index]+c.ejected_si25[plotc_index]+c.ejected_mg25[plotc_index])/Mg25_solar_mass_frac
+Mg26_3 = (c.ejected_mg26[plotc_index]+c.ejected_al26[plotc_index]+c.ejected_si26[plotc_index])/Mg26_solar_mass_frac
+ax.plot((24,25,26),(Mg24_3,Mg25_3,Mg26_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Al27 = Si27+P27+Al27
+Al27_3 = (c.ejected_si27[plotc_index]+c.ejected_p27[plotc_index]+c.ejected_al27[plotc_index])/Al27_solar_mass_frac
+ax.plot(27, Al27_3, color='#0343df', marker='.', markersize=12) 
+
+# Si28 = P28+Si28 & Si29 = P29+S29+Si29 & Si30 = P30+S30+Si30
+Si28_3 = (c.ejected_p28[plotc_index]+c.ejected_si28[plotc_index])/Si28_solar_mass_frac
+Si29_3 = (c.ejected_p29[plotc_index]+c.ejected_s29[plotc_index]+c.ejected_si29[plotc_index])/Si29_solar_mass_frac
+Si30_3 = (c.ejected_p30[plotc_index]+c.ejected_s30[plotc_index]+c.ejected_si30[plotc_index])/Si30_solar_mass_frac
+ax.plot((28,29,30),(Si28_3,Si29_3,Si30_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# P31 = S31+Cl31+P31
+P31_3 = (c.ejected_s31[plotc_index]+c.ejected_cl31[plotc_index]+c.ejected_p31[plotc_index])/P31_solar_mass_frac
+ax.plot(31, P31_3, color='#0343df', marker='.', markersize=12) 
+
+# S32 = Cl32+Ar32+S32 & S33 = Cl33+Ar33+S33 & S34 = Cl34+Ar34+S34
+S32_3 = (c.ejected_cl32[plotc_index]+c.ejected_ar32[plotc_index]+c.ejected_s32[plotc_index])/S32_solar_mass_frac
+S33_3 = (c.ejected_cl33[plotc_index]+c.ejected_ar33[plotc_index]+c.ejected_s33[plotc_index])/S33_solar_mass_frac
+S34_3 = (c.ejected_cl34[plotc_index]+c.ejected_ar34[plotc_index]+c.ejected_s34[plotc_index])/S34_solar_mass_frac
+ax.plot((32,33,34),(S32_3,S33_3,S34_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+# Cl35 = Ar35+K35+S35+Cl35 &  Cl37 = Ar37+K37+Ca37+Cl37
+Cl35_3 = (c.ejected_ar35[plotc_index]+c.ejected_k35[plotc_index]+c.ejected_s35[plotc_index]+c.ejected_cl35[plotc_index])/Cl35_solar_mass_frac
+Cl37_3 = (c.ejected_ar37[plotc_index]+c.ejected_k37[plotc_index]+c.ejected_ca37[plotc_index]+c.ejected_cl37[plotc_index])/Cl37_solar_mass_frac
+ax.plot((35,37),(Cl35_3,Cl37_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Ar36 = K36+Ca36+Ar36+Cl36 & Ar38 = K38+Ca38+Ar38 
+Ar36_3 = (c.ejected_k36[plotc_index]+c.ejected_ca36[plotc_index]+c.ejected_ar36[plotc_index]+c.ejected_cl36[plotc_index])/Ar36_solar_mass_frac
+Ar38_3 = (c.ejected_k38[plotc_index]+c.ejected_ca38[plotc_index]+c.ejected_ar38[plotc_index])/Ar38_solar_mass_frac
+ax.plot((36,38),(Ar36_3,Ar38_3),linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# K39 = Ca39+K39+Ar39
+K39_3 = (c.ejected_ca39[plotc_index]+c.ejected_k39[plotc_index]+c.ejected_ar39[plotc_index])/K39_solar_mass_frac
+ax.plot(39,K39_3,linewidth='1',color='#0343df',marker='.', markersize=12)
+
+# Ca40 = Sc40+K40+Ca40
+Ca40_3 = (c.ejected_ca40[plotc_index]+c.ejected_k40[plotc_index]+c.ejected_sc40[plotc_index])/Ca40_solar_mass_frac
+ax.plot(40,Ca40_3,linewidth='1',color='#0343df',marker='.', markersize=12)
+
+
+# ------------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+
+H1_list = [H1_1,H1_2,H1_3]
+H1 = max(H1_list)
+ax.text(1+x_centre_offset, H1+H1*y_offset_top, 'H', fontsize=13)
+He4_list = [He4_1,He4_2,He4_3]
+He4 = max(He4_list)
+ax.text(4+x_centre_offset, He4+He4*y_offset_top, 'He', fontsize=13)
+Li7_list = [Li7_1,Li7_2,Li7_3]
+Li7 = max(Li7_list)
+ax.text(7+x_centre_offset, Li7+Li7*y_offset_top, 'Li', fontsize=13)
+C13_list = [C13_1,C13_2,C13_3]
+C13 = max(C13_list)
+ax.text(13+x_centre_offset_2, C13+C13*y_offset_top, 'C', fontsize=13)
+N15_list = [N15_1,N15_2,N15_3]
+N15 = max(N15_list)
+ax.text(15+x_centre_offset_2, N15+N15*y_offset_top, 'N', fontsize=13)
+O17_list = [O17_1,O17_2,O17_3]
+O17 = max(O17_list)
+ax.text(17+x_centre_offset, O17+O17*y_offset_top, 'O', fontsize=13)
+F19_list = [F19_1,F19_2,F19_3]
+F19 = max(F19_list)
+ax.text(19+x_centre_offset_2, F19+F19*y_offset_top, 'F', fontsize=13)
+Ne21_list = [Ne21_1,Ne21_2,Ne21_3]
+Ne21 = min(Ne21_list)
+ax.text(21+x_centre_offset, Ne21-Ne21*y_offset_bot, 'Ne', fontsize=13)
+Na23_list = [Na23_1,Na23_2,Na23_3]
+Na23 = max(Na23_list)
+ax.text(23+x_centre_offset, Na23+Na23*y_offset_top, 'Na', fontsize=13)
+Mg25_list = [Mg25_1,Mg25_2,Mg25_3]
+Mg25 = max(Mg25_list)
+ax.text(25+x_centre_offset, Mg25+Mg25*y_offset_top, 'Mg', fontsize=13)
+Al27_list = [Al27_1,Al27_2,Al27_3]
+Al27 = max(Al27_list)
+ax.text(27+x_centre_offset, Al27+Al27*y_offset_top, 'Al', fontsize=13)
+Si29_list = [Si29_1,Si29_2,Si29_3]
+Si29 = min(Si29_list)
+ax.text(29+x_centre_offset, Si29-Si29*y_offset_bot, 'Si', fontsize=13)
+P31_list = [P31_1,P31_2,P31_3]
+P31 = max(P31_list)
+ax.text(31+x_centre_offset, P31+P31*y_offset_top, 'P', fontsize=13)
+S33_list = [S33_1,S33_2,S33_3]
+S33 = max(S33_list)
+ax.text(33+x_centre_offset, S33+S33*y_offset_top, 'S', fontsize=13)
+Cl37_list = [Cl37_1,Cl37_2,Cl37_3]
+Cl37 = max(Cl37_list)
+ax.text(37+x_centre_offset, Cl37+Cl37*y_offset_top, 'Cl', fontsize=13)
+Ar38_list = [Ar38_1,Ar38_2,Ar38_3]
+Ar38 = max(Ar38_list)
+ax.text(38+x_centre_offset, Ar38+Ar38*y_offset_top, 'Ar', fontsize=13)
+K39_list = [K39_1,K39_2,K39_3]
+K39 = max(K39_list)
+ax.text(39+x_centre_offset, K39+K39*y_offset_top, 'K', fontsize=13)
+Ca40_list = [Ca40_1,Ca40_2,Ca40_3]
+Ca40 = max(Ca40_list)
+ax.text(40+x_centre_offset, Ca40+Ca40*y_offset_top, 'Ca', fontsize=13)
+
+
+
+
+legend_elements = [Line2D([0], [0], marker='s', color='tab:orange', label='Burst 1',
+                          markersize=7),
+                   Line2D([0], [0], marker='^', color='black', label='Burst 2',
+                          markersize=9),
+				   Line2D([0], [0], marker='.', color='#0343df', label='Burst 3',
+                          markersize=13)]
+ax.legend(handles=legend_elements, frameon=False, loc='lower right',prop={'size': 18})
+
+
+ax.set_xscale('linear')
+ax.set_yscale('log')
+ax.set_xlim(0,41)
+ax.set_yticks([1e-10,1e-9,1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1,1,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10]) #replaces tick labels from '10^x' to 'x'
+ax.set_yticklabels(['-10','-9','-8','-7','-6','-5','-4','-3','-2','-1','0','1','2','3','4','5','6','7','8','9','10']) #replaces tick labels from '10^x' to 'x'
+ax.tick_params(axis='x', labelsize=16)
+ax.tick_params(axis='y', labelsize=16)
+ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='1')
+plt.minorticks_on()
+ax.grid(which='minor', linestyle=':', linewidth='0.4')
+ax.hlines(1, 0, 50, color='#000000', linestyle='--', linewidth=0.5)
+
+ax.set_xlabel('Mass number', fontsize=20)
+ax.set_ylabel('Mean overproduction factor $\\mathrm{log_{10}}\\left(\\dfrac{X_{i}}{X_{i,\\odot}}\\right)$', fontsize=20)
+# ax.set_ylabel('Mean Overproduction Factor $\\mathrm{\\frac{X_{i}}{X_{i,\\odot}}}$', fontsize=16)
+
+
+plt.show()
+# plt.savefig('Asplund_overproduction_plot_triple_comparison.pdf', dpi=500)
+
+
+
+
+
+
+# Elements not considered when graphing due to not being interested in their abundance
+# h2 - Stable
+# li6 -  Stable
+# be9 - Stable
+# b10 - Stable
+# b11 - Stable
+# c9 - decays to B9 which decyas to Be9 which we're not interested in
+# c11 - T1/2 = 30.364 min, decays to B11 which we're not interested in
+# s36 - Stable
+# ar40 - Stable
+
diff --git a/thesis_plot_scripts/IDM_test_Age_vs_radius.py b/thesis_plot_scripts/IDM_test_Age_vs_radius.py
new file mode 100644
index 0000000000000000000000000000000000000000..2c964d417109f00402daaee667b15fb7d090feae
--- /dev/null
+++ b/thesis_plot_scripts/IDM_test_Age_vs_radius.py
@@ -0,0 +1,70 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+import fastmesareader as fmr
+
+plotting_tings = 'star_age radius_cm star_mass model_number max_T v_surf max_eps_nuc time_step_sec surf_escape_v'
+
+a = fmr.FastMesaReader('LOGS_MLT/history.data', plotting_tings)
+b = fmr.FastMesaReader('LOGS_0p5_1_msun/history.data', plotting_tings)
+c = fmr.FastMesaReader('LOGS_0p6_1_msun/history.data', plotting_tings)
+d = fmr.FastMesaReader('LOGS_0p7_1_msun/history.data', plotting_tings)
+e = fmr.FastMesaReader('LOGS_0p8_1_msun/history.data', plotting_tings)
+f = fmr.FastMesaReader('LOGS_0p9_1_msun/history.data', plotting_tings)
+
+a_star_age = a.star_age
+b_star_age = b.star_age
+c_star_age = c.star_age
+d_star_age = d.star_age
+e_star_age = e.star_age
+f_star_age = f.star_age
+
+val = 5e6
+a_star_age[a_star_age < val] = np.nan
+b_star_age[b_star_age < val] = np.nan
+c_star_age[c_star_age < val] = np.nan
+d_star_age[d_star_age < val] = np.nan
+e_star_age[e_star_age < val] = np.nan
+f_star_age[f_star_age < val] = np.nan
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)	
+# ax = fig.add_subplot(111, title='1$\,\\mathrm{M_{\\odot}}$ $\\mathrm{Z=0.02}$ star from $4\\times10^{9}$ to $9\\times10^{9}$ yr past ZAMS')
+
+CB_color_cycle = ['#377eb8', '#ff7f00', '#4daf4a',
+                  '#f781bf', '#a65628', '#984ea3',
+                  '#999999', '#e41a1c', '#dede00']
+
+ax.plot(a_star_age/1e9, a.radius_cm/6.957e10, linewidth='2', color=CB_color_cycle[0], label='MLT')
+ax.plot(b_star_age/1e9, b.radius_cm/6.957e10, linewidth='2', color=CB_color_cycle[1], label='0.5-1$\,\\mathrm{M_{\odot}}$')
+ax.plot(c_star_age/1e9, c.radius_cm/6.957e10, linewidth='2', color=CB_color_cycle[2], label='0.6-1$\,\\mathrm{M_{\odot}}$')
+ax.plot(d_star_age/1e9, d.radius_cm/6.957e10, linewidth='2', color=CB_color_cycle[3], label='0.7-1$\,\\mathrm{M_{\odot}}$')
+ax.plot(e_star_age/1e9, e.radius_cm/6.957e10, linewidth='2', color=CB_color_cycle[4], label='0.8-1$\,\\mathrm{M_{\odot}}$')
+ax.plot(f_star_age/1e9, f.radius_cm/6.957e10, linewidth='2', color=CB_color_cycle[5], label='0.9-1$\,\\mathrm{M_{\odot}}$')
+
+# ax.set_xscale('log')
+# ax.set_yscale('log')
+ax.ticklabel_format(axis='both', style='plain', scilimits=(0,0), useOffset=False)
+
+
+legend = ax.legend(title='Imposed diffusive mixing region',fontsize=18, ncol=2) #(loc='upper left')
+legend.get_title().set_fontsize('20')
+
+ax.set_xlabel('Star age [Gyr]', fontsize=20)
+# ax.set_xlabel('$\\mathrm{Log_{10}\\left(Age \,/\, Gyr\\right)}$', fontsize=20)
+ax.set_ylabel('Radius [$\\mathrm{R_{\\odot}}$]', fontsize=20)
+
+fig.tight_layout()
+# plt.setp(ax.get_xticklabels(), visible=False)
+ax.tick_params(axis='x', labelsize=16)
+ax.tick_params(axis='y', labelsize=16)
+
+# ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='0.8')
+ax.grid(which='minor', linestyle=':', linewidth='0.3')
+
+# ax.set_xticks([1e-2,1e-1,1,1e1]) #replaces tick labels from '10^x' to 'x'
+# ax.set_xticklabels(['-2','-1','0','1']) #replaces tick labels from '10^x' to 'x'
+
+plt.show()
+# plt.savefig('IDM_test_Age_vs_radius.pdf', dpi=500)
diff --git a/thesis_plot_scripts/T_fermi_comparison.py b/thesis_plot_scripts/T_fermi_comparison.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1fec6456222c8ba742d234f28208fe36b0e3378
--- /dev/null
+++ b/thesis_plot_scripts/T_fermi_comparison.py
@@ -0,0 +1,160 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+import fastmesareader as fmr
+
+plotting_columns = 'mass Fermi_temperature abar zbar bernoulli_param q v_div_cs dm radius dr free_e dv_dt ionization_c12 energy tau total_energy v_div_vesc zone gradT dq pressure prad pgas radius_cm eps_nuc gradr grada luminosity log_Ledd velocity vel_km_per_s csound conv_vel mlt_mixing_type h1 he4 c12 n13 o16 temperature opacity density x_mass_fraction_H y_mass_fraction_He z_mass_fraction_metals cell_KE inject_energy'
+
+melec = 9.1093837015e-31 #electron mass kg
+mhyd = 1.673532838345678e-27 #mass of hydrogen in kg: mass in amu = 1.6605390671738466e-27 kg
+hbar2 = 1.1121217172106814e-68 # J^2 s^2 hbar = 1.054571817d-34
+boltzman_const = 1.3806485279e-23 #m^2 kg^ s^-2 K^-1
+pi = 3.1415926535897932384626433832795028841971693993751e0
+pi2 = pi * pi
+
+#------------------------------------------------------------------------------------------------------------------------------
+a = fmr.FastMesaReader('LOGS/profile128.data',  plotting_columns) #T = 7.213275583043994
+mass_a = a.mass
+c12_a = a.c12
+counter_a = 0
+for i, val in enumerate(mass_a):
+	if c12_a[i] > 4.8e-1:
+		WD_surface_a = mass_a[i+1]
+		counter_a = i+1
+		break
+env_mass_a = mass_a[0]-WD_surface_a
+print('WD_surface_a', WD_surface_a, 'env_mass_a', env_mass_a, 'max_T_a', max(a.temperature), 'counter_a', counter_a)
+T_fermi_a = np.zeros(counter_a)
+temperature_a = np.zeros(counter_a)
+q_a = np.zeros(counter_a)
+for i in range(counter_a):
+	T_fermi_a[i] = ( (hbar2/(2*melec)) * ((3*pi2*(a.zbar[i]/a.abar[i])*a.density[i]*1e3 ) / mhyd)**(2e0/3e0) ) / boltzman_const
+	temperature_a[i] = a.temperature[i]
+	q_a[i] = (a.mass[i]-WD_surface_a)/env_mass_a
+
+#------------------------------------------------------------------------------------------------------------------------------
+
+b = fmr.FastMesaReader('LOGS/profile177.data',  plotting_columns) #T = 7.213275583043994
+mass_b = b.mass
+c12_b = b.c12
+counter_b = 0
+for i, val in enumerate(mass_b):
+	if c12_b[i] > 4.8e-1:
+		WD_surface_b = mass_b[i+1]
+		counter_b = i+1
+		break
+env_mass_b = mass_b[0]-WD_surface_b
+print('WD_surface_b', WD_surface_b, 'env_mass_b', env_mass_b, 'max_T_b', max(b.temperature), 'counter_b', counter_b)
+T_fermi_b = np.zeros(counter_b)
+temperature_b = np.zeros(counter_b)
+q_b = np.zeros(counter_b)
+for i in range(counter_b):
+	T_fermi_b[i] = ( (hbar2/(2*melec)) * ((3*pi2*(b.zbar[i]/b.abar[i])*b.density[i]*1e3 ) / mhyd)**(2e0/3e0) ) / boltzman_const
+	temperature_b[i] = b.temperature[i]
+	q_b[i] = (b.mass[i]-WD_surface_b)/env_mass_b
+
+
+#------------------------------------------------------------------------------------------------------------------------------
+
+# fig, (ax1,ax2) = plt.subplots(2, sharex=True, figsize=(12.8,9.6)) 
+
+# ax1.plot(1e0-q_a, T_fermi_a, linewidth='2', linestyle='dashed', label='$T_{\\mathrm{F}}$')
+# ax1.plot(1e0-q_a, temperature_a, linewidth='2', label='$T_{\\mathrm{env}}$')
+
+# ax2.plot(1e0-q_b, T_fermi_b, linewidth='2', linestyle='dashed', label='$T_{\\mathrm{F}}$')
+# ax2.plot(1e0-q_b, temperature_b, linewidth='2', label='$T_{\\mathrm{env}}$')
+
+# ax2.set_xlabel('Normalised envelope mass coordinate $\\left[\\frac{m}{M_{\\mathrm{env}}}\\right]$', fontsize=16)
+# ax1.set_ylabel('Temperature [K]', fontsize=16)
+# ax2.set_ylabel('Temperature [K]', fontsize=16)
+
+# ax1.set_title('$T_{\\mathrm{env,max}}=1.6\\times10^{7}\,\\mathrm{K}$, $M_{\\mathrm{env}}=7.33\\times10^{-5}\,\\mathrm{M_{\\odot}}$', y=0.1, pad=-14, fontsize=16)
+# ax2.set_title('$T_{\\mathrm{env,max}}=8\\times10^{8}\,\\mathrm{K}$, $M_{\\mathrm{env}}=8.23\\times10^{-5}\,\\mathrm{M_{\\odot}}$', y=0.1, pad=-14, fontsize=16)
+
+# ax2.legend(fontsize=16, loc='lower left')
+# # ax2.legend(fontsize=12) #(loc='upper left')
+
+# ax1.set_xscale('log')
+# ax2.set_xscale('log')
+# ax1.set_yscale('log')
+# ax2.set_yscale('log')
+
+# # ax2.annotate('local max', xy=(1, 1), xycoords='figure fraction')
+
+# # ax1.set_xlim(-0.01,1.01)
+# # ax2.set_xlim(-0.01,1.01)
+# # ax1.set_ylim(1e5,1.2e8)
+# # ax2.set_ylim(1e5,1.2e8)
+
+# fig.tight_layout()
+# # plt.setp(ax1.get_xticklabels(), visible=False)
+# ax1.tick_params(axis='y', labelsize=14)
+# ax2.tick_params(axis='x', labelsize=14)
+# ax2.tick_params(axis='y', labelsize=14)
+
+# ax1.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+# ax1.grid(which='major', linestyle=':', linewidth='0.8')
+# ax1.grid(which='minor', linestyle=':', linewidth='0.3')
+# ax2.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+# ax2.grid(which='major', linestyle=':', linewidth='0.8')
+# ax2.grid(which='minor', linestyle=':', linewidth='0.3')
+# plt.minorticks_on()
+
+# plt.show()
+# # plt.savefig('envelope_fermi_temperatue_comparison_before_and_during_TNR.pdf', dpi=500)
+
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)	
+
+T_ferm_deg, = ax.plot(1e0-q_a, T_fermi_a, linewidth='2', color='#994F00', linestyle='dashed', label='$T_{\\mathrm{F}}$')
+T_deg, = ax.plot(1e0-q_a, temperature_a, linewidth='2', color='#994F00', label='$T_{\\mathrm{env}}$')
+
+T_ferm_nondeg, = ax.plot(1e0-q_b, T_fermi_b, linewidth='2',  color='#006CD1', linestyle='dashed', label='$T_{\\mathrm{F}}$')
+T_nondeg, = ax.plot(1e0-q_b, temperature_b, linewidth='2',  color='#006CD1', label='$T_{\\mathrm{env}}$')
+
+ax.set_xlabel('Normalised envelope mass coordinate $\\mathrm{Log_{10}}\\left(1-\\dfrac{m}{M_{\\mathrm{env}}}\\right)$', fontsize=20)
+ax.set_ylabel('$\\mathrm{Log_{10}\\left(Temperature\,/\,K\\right)}$', fontsize=20)
+
+ax.set_xscale('log')
+ax.set_yscale('log')
+
+ax.set_xlim(1e-3,1)
+ax.set_ylim(1e6,1.2e8)
+
+ax.set_xticks([1e-3,1e-2,1e-1,1]) #replaces tick labels from '10^x' to 'x'
+ax.set_xticklabels(['-3','-2','-1','0']) #replaces tick labels from '10^x' to 'x'
+
+ax.set_yticks([1e6,1e7,1e8]) #replaces tick labels from '10^x' to 'x'
+ax.set_yticklabels(['6','7','8']) #replaces tick labels from '10^x' to 'x'
+
+fig.tight_layout()
+# plt.setp(ax.get_xticklabels(), visible=False)
+ax.tick_params(axis='x', labelsize=16)
+ax.tick_params(axis='y', labelsize=16)
+
+# ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='0.8')
+ax.grid(which='minor', linestyle=':', linewidth='0.3')
+
+leg_deg = ax.legend(handles=[T_ferm_deg, T_deg], frameon=False, fontsize=20, loc='lower right', title='Degenerate envelope: \n $T_{\\mathrm{env,max}}=1.6\\times10^{7}\,\\mathrm{K}$ \n $M_{\\mathrm{env}}=7.33\\times10^{-5}\,\\mathrm{M_{\\odot}}$')
+leg_deg.get_title().set_fontsize('20')
+leg_deg.get_title().set_color('#994F00')
+for line, text in zip(leg_deg.get_lines(), leg_deg.get_texts()):
+    text.set_color(line.get_color())
+ax.add_artist(leg_deg)
+leg_nondeg = ax.legend(handles=[T_ferm_nondeg, T_nondeg], frameon=False, fontsize=20, loc='upper left', title='Non-degenerate envelope: \n $T_{\\mathrm{env,max}}=10^{8}\,\\mathrm{K}$ \n $M_{\\mathrm{env}}=8.23\\times10^{-5}\,\\mathrm{M_{\\odot}}$',)
+leg_nondeg.get_title().set_fontsize('20')
+leg_nondeg.get_title().set_color('#006CD1')
+for line, text in zip(leg_nondeg.get_lines(), leg_nondeg.get_texts()):
+    text.set_color(line.get_color())
+
+ax.annotate("Envelope surface", xy=(5e-2, 1.3e6), xytext=(1.01e-2, 1.3e6), fontsize=14)
+ax.annotate("", xy=(1e-2, 1.2e6), xytext=(2.7e-2, 1.2e6), arrowprops={"arrowstyle":"->", "color":"black", 'lw':3})
+
+ax.annotate("Envelope base", xy=(1e-1, 1.3e6), xytext=(4.1e-2, 1.3e6), fontsize=14)
+ax.annotate("", xy=(1e-1, 1.2e6), xytext=(3.9e-2, 1.2e6), arrowprops={"arrowstyle":"->", "color":"black", 'lw':3})
+
+
+# plt.show()
+plt.savefig('envelope_fermi_temperatue_comparison_before_and_during_TNR.pdf', dpi=500)
diff --git a/thesis_plot_scripts/energy_conservation_plot.py b/thesis_plot_scripts/energy_conservation_plot.py
new file mode 100644
index 0000000000000000000000000000000000000000..960b323d47a9cc789e1aa2791bd5d7f909ec5964
--- /dev/null
+++ b/thesis_plot_scripts/energy_conservation_plot.py
@@ -0,0 +1,45 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+import fastmesareader as fmr
+from matplotlib.ticker import FormatStrFormatter
+
+plot_vars = 'star_age model_number total_energy_start_of_step total_energy_of_model_after_mass_cut total_energy_of_cut_cells total_energy_old'
+
+a = fmr.FastMesaReader('LOGS/history.data', plot_vars)	
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)
+
+
+# ax.plot(a.model_number-6000, ((a.total_energy_start_of_step-a.total_energy_of_cut_cells)/a.total_energy_old)-1e0, linewidth='1', label='Energy Beginning of Step')
+# ax.set_ylabel('$\mathrm{\\frac{E_{start \\ model}-E_{cut \\ cells}}{E_{model \\ after \\ cut}}}-1$', fontsize=22)
+
+
+ax.plot(a.model_number-6000, (1e0-(a.total_energy_of_model_after_mass_cut/a.total_energy_old)), linewidth='1.5')
+
+ax.set_ylabel('$1-\mathrm{\\dfrac{estimated \\ energy \\ after \\ cut}{ actual \\ energy \\ after \\ cut}}$', fontsize=20)
+# ax.set_ylabel('1-(calculated energy after cut / actual energy after cut)', fontsize=20)
+ax.set_xlabel('Timestep number', fontsize=20)
+
+ax.tick_params(axis='x', labelsize=16)
+ax.tick_params(axis='y', labelsize=16)
+
+# ax.ticklabel_format(axis='y', style='sci', scilimits=(0,0), useOffset=False)
+ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='0.8')
+plt.minorticks_on()
+ax.grid(which='minor', linestyle=':', linewidth='0.4')
+
+f = mticker.ScalarFormatter(useOffset=False, useMathText=True)
+g = lambda x,pos : "${}$".format(f._formatSciNotation('%1.10e' % x))
+plt.gca().yaxis.set_major_formatter(mticker.FuncFormatter(g))
+
+# ax.xaxis.set_minor_formatter(mticker.LogFormatterSciNotation(base=10.0, labelOnlyBase=False, minor_thresholds=(np.inf, np.inf)))
+# plt.setp(ax.xaxis.get_minorticklabels(), rotation=90)
+
+fig.tight_layout()
+# plt.show()
+# plt.savefig('energy_comparison.pdf', dpi=500)
+plt.savefig('star_cut_hypothesised_vs_actual_energy_comparison.pdf', dpi=500)
+
diff --git a/useful_scripts/inject_energy_and_nuclear_energy _compare_Lsun_units.py b/useful_scripts/inject_energy_and_nuclear_energy _compare_Lsun_units.py
new file mode 100644
index 0000000000000000000000000000000000000000..a8a3a13b4c3024e016c12c931ec608c4b462586d
--- /dev/null
+++ b/useful_scripts/inject_energy_and_nuclear_energy _compare_Lsun_units.py	
@@ -0,0 +1,48 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+import fastmesareader as fmr
+
+plotting_tings = 'star_age luminosity radius_cm star_mass model_number max_T v_surf mass_conv_core cz_scale_height max_eps_nuc total_energy_erg total_extra_energy_erg'
+
+a = fmr.FastMesaReader('../LOGS_inject_energy/history.data', plotting_tings)	
+b = fmr.FastMesaReader('../LOGS_do_mix/history.data', plotting_tings)	
+# a = fmr.FastMesaReader('LOGS_extra_energy_1d12/history.data', plotting_tings)	
+
+# a = fmr.FastMesaReader('../standard_MLT_test/LOGS/history.data', plotting_tings)	
+
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)
+
+do_mix_energy_list = b.total_energy_erg
+total_do_mix_energy = do_mix_energy_list[-1]
+
+star_age_list = b.star_age
+star_age_sec = star_age_list[-1]*365*24*3600
+
+ax.plot(b.star_age*365*24, ((b.total_energy_erg)/star_age_sec)/3.828e33, color='k', linewidth='1')
+ax.plot(a.star_age*365*24, ((a.total_energy_erg+total_do_mix_energy)/star_age_sec)/3.828e33, color='k', linewidth='1', label='$\\sum \\epsilon_{\\mathrm{nuc}}$')
+ax.plot(a.star_age*365*24, (a.total_extra_energy_erg/star_age_sec)/3.828e33, linewidth='1', label='$\\sum E_{\\mathrm{inject}}$')
+
+
+ax.legend(prop={'size': 15}) #(loc='upper left')
+
+ax.set_xscale('log')
+ax.set_yscale('log')
+
+ax.set_xlabel('Star Age after Diffusive Convective Mixing [hr]', fontsize=16)
+ax.set_ylabel('Luminosity [$\\mathrm{L_{\\odot}}$]', fontsize=16)
+
+# ax.set_xlim(0,1)
+# ax.set_ylim(0,1.1)
+
+ax.tick_params(axis='x', labelsize=12)
+ax.tick_params(axis='y', labelsize=12)
+ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='0.8')
+plt.minorticks_on()
+ax.grid(which='minor', linestyle=':', linewidth='0.4')
+
+# plt.show()
+plt.savefig('sum_nuclear_generated_energy_and_sum_injected_energy_in_Lsun.pdf', dpi=500)
diff --git a/useful_scripts/inject_energy_and_nuclear_energy _compare_erg_units.py b/useful_scripts/inject_energy_and_nuclear_energy _compare_erg_units.py
new file mode 100644
index 0000000000000000000000000000000000000000..d982139309a528c90e246eee3846ce2afbf8361b
--- /dev/null
+++ b/useful_scripts/inject_energy_and_nuclear_energy _compare_erg_units.py	
@@ -0,0 +1,48 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+import fastmesareader as fmr
+
+plotting_tings = 'star_age luminosity radius_cm star_mass model_number max_T v_surf mass_conv_core cz_scale_height max_eps_nuc total_energy_erg total_extra_energy_erg'
+
+a = fmr.FastMesaReader('../LOGS_inject_energy/history.data', plotting_tings)	
+b = fmr.FastMesaReader('../LOGS_do_mix/history.data', plotting_tings)	
+# a = fmr.FastMesaReader('LOGS_extra_energy_1d12/history.data', plotting_tings)	
+
+# a = fmr.FastMesaReader('../standard_MLT_test/LOGS/history.data', plotting_tings)	
+
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)
+
+do_mix_energy_list = b.total_energy_erg
+total_do_mix_energy = do_mix_energy_list[-1]
+
+star_age_list = b.star_age
+star_age_sec = star_age_list[-1]*365*24*3600
+
+ax.plot(b.star_age*365*24, b.total_energy_erg, color='k', linewidth='1')
+ax.plot(a.star_age*365*24, (a.total_energy_erg+total_do_mix_energy), color='k', linewidth='1', label='$\\sum \\epsilon_{\\mathrm{nuc}}$')
+ax.plot(a.star_age*365*24, a.total_extra_energy_erg, linewidth='1', label='$\\sum E_{\\mathrm{inject}}$')
+
+
+ax.legend(prop={'size': 15}) #(loc='upper left')
+
+ax.set_xscale('log')
+ax.set_yscale('log')
+
+ax.set_xlabel('Star Age after Diffusive Convective Mixing [hr]', fontsize=16)
+ax.set_ylabel('Energy [erg]', fontsize=16)
+
+# ax.set_xlim(0,1)
+# ax.set_ylim(0,1.1)
+
+ax.tick_params(axis='x', labelsize=12)
+ax.tick_params(axis='y', labelsize=12)
+ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='0.8')
+plt.minorticks_on()
+ax.grid(which='minor', linestyle=':', linewidth='0.4')
+
+# plt.show()
+plt.savefig('sum_nuclear_generated_energy_and_sum_injected_energy_in_erg.pdf', dpi=500)
diff --git a/useful_scripts/inject_energy_div_nuclear_energy_ratio.py b/useful_scripts/inject_energy_div_nuclear_energy_ratio.py
new file mode 100644
index 0000000000000000000000000000000000000000..d0e0342b9791cb37e5a9873a50d08951d7512884
--- /dev/null
+++ b/useful_scripts/inject_energy_div_nuclear_energy_ratio.py
@@ -0,0 +1,46 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+import fastmesareader as fmr
+from matplotlib.ticker import FormatStrFormatter
+
+plotting_tings = 'star_age luminosity radius_cm star_mass model_number max_T v_surf mass_conv_core cz_scale_height max_eps_nuc total_energy_erg total_extra_energy_erg'
+
+# a = fmr.FastMesaReader('../LOGS_inject_energy/history.data', plotting_tings)	
+# b = fmr.FastMesaReader('../LOGS_do_mix/history.data', plotting_tings)	
+a = fmr.FastMesaReader('../LOGS/history.data', plotting_tings)	
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)
+
+# do_mix_energy_list = b.total_energy_erg
+# total_do_mix_energy = do_mix_energy_list[-1]
+# star_age_list = b.star_age
+# star_age_sec = star_age_list[-1]*365*24*3600
+# ax.plot(a.star_age*365*24, a.total_extra_energy_erg/(a.total_energy_erg+total_do_mix_energy), linewidth='1')
+
+# ax.plot(a.star_age*365*24, a.total_extra_energy_erg/a.total_energy_erg, linewidth='1')
+ax.plot(a.model_number, (a.total_extra_energy_erg)/(a.total_energy_erg), linewidth='1')
+
+# ax.set_xscale('log')
+# ax.set_yscale('log')
+# ax.ticklabel_format(axis='y', style='sci', scilimits=(0,0), useOffset=False)
+
+ax.set_xlabel('Star Age after Diffusive Convective Mixing [hr]', fontsize=16)
+ax.set_ylabel('$\\sum E_{\\mathrm{inject}}$ / $\\sum \\epsilon_{\\mathrm{nuc}}$', fontsize=16)
+
+# ax.set_xlim(0,1)
+# ax.set_ylim(0,1.1)
+
+ax.tick_params(axis='x', labelsize=12)
+ax.tick_params(axis='y', labelsize=12)
+ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='0.8')
+plt.minorticks_on()
+ax.grid(which='minor', linestyle=':', linewidth='0.4')
+
+# ax.xaxis.set_minor_formatter(mticker.LogFormatterSciNotation(base=10.0, labelOnlyBase=False, minor_thresholds=(np.inf, np.inf)))
+# plt.setp(ax.xaxis.get_minorticklabels(), rotation=90)
+
+plt.show()
+# plt.savefig('total_injected_energy_div_total_nuc_energy.pdf', dpi=500)
diff --git a/useful_scripts/injected_energy_div_nuclear_energy.py b/useful_scripts/injected_energy_div_nuclear_energy.py
new file mode 100644
index 0000000000000000000000000000000000000000..a34e98eadd86c2ef63aee9cacd381df77d7dd5e7
--- /dev/null
+++ b/useful_scripts/injected_energy_div_nuclear_energy.py
@@ -0,0 +1,85 @@
+import standard_plotting_package
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+import fastmesareader as fmr
+
+plotting_vars = 'star_age model_number total_extra_energy_erg total_energy_erg star_mass'
+a = fmr.FastMesaReader('../LOGS/history.data', plotting_vars)
+# b = fmr.FastMesaReader('../../no_dt_limit_and_standard_spatial_resolution_envelope_test/LOGS/history.data', plotting_vars)	
+
+
+fig = plt.figure()
+ax = fig.add_subplot(111)   
+
+# re_index = 17800
+# star_age = a.star_age[:re_index]
+# total_extra_energy_erg = a.total_extra_energy_erg[:re_index]
+# total_energy_erg = a.total_energy_erg[:re_index]
+
+# arr_length = len(a.total_extra_energy_erg)
+# total_extra_energy_erg = np.zeros(re_index)
+# total_energy_erg = np.zeros(re_index)
+# star_age = np.zeros(re_index)
+
+# for i in range(re_index):
+# 	total_extra_energy_erg[i] = a.total_extra_energy_erg[i]
+# 	total_energy_erg[i] = a.total_energy_erg[i]
+# 	star_age[i] = a.star_age[i]
+
+# ax.plot(star_age*365.25, (total_extra_energy_erg)/(total_energy_erg), linewidth=1)
+# ax.plot(a.star_age*365.25, (a.total_extra_energy_erg)/(a.total_energy_erg), linewidth=1)
+ax.plot(a.model_number, a.total_extra_energy_erg/(a.total_energy_erg), linewidth=1)
+
+# ax.plot(a.model_number, (a.star_mass), linewidth=1, label='a')
+# ax.plot(b.model_number, (b.star_mass), linewidth=1, label='b')
+
+# ax.plot(a.model_number, (a.total_extra_energy_erg), linewidth=1, label='a')
+# ax.plot(b.model_number, (b.total_extra_energy_erg), linewidth=1, label='b')
+
+ax.legend() #(loc='upper left')
+
+
+# fig.tight_layout()
+ax.grid(which='major', linestyle=':', linewidth='0.8')
+ax.grid(which='minor', linestyle=':', linewidth='0.3')
+
+# ax.set_xscale('log')
+ax.set_yscale('log')
+
+ax.set_xlabel('Star Age since IDF [day]')
+ax.set_ylabel('$\\mathrm{Log_{10}}\\left( \\sum E_{\\mathrm{inject}}\\,/\\,\\sum \\epsilon_{\\mathrm{nuc}} \\right)$')
+
+# ax.set_title('')
+# ax.legend() #title='', loc='upper left', ncol=2
+
+
+# OPTIONALS
+# --- Replaces tick labels from '10^x' to 'x' ---
+# ax.set_xticks([1e-10,1e-9,1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1,1,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10]) 
+# ax.set_xticklabels(['-10','-9','-8','-7','-6','-5','-4','-3','-2','-1','0','1','2','3','4','5','6','7','8','9','10'])
+# ax.set_yticks([1e-9,1e-8,1e-7,1e-6,1e-5,1e-4,1e-3]) 
+# ax.set_yticklabels(['-9','-8','-7','-6','-5','-4','-3'])
+
+# --- Stop sig figs at top of plot ---
+# ax.ticklabel_format(axis='both', style='plain', scilimits=(0,0), useOffset=False)
+
+# --- Make X-axis ticks not visible ---
+# plt.setp(ax.get_xticklabels(), visible=False)
+
+# --- Make Y-axis ticks not visible ---
+# plt.setp(ax.get_yticklabels(), visible=False)
+
+# --- To have Y-axis ticks in scientific notation ---
+# f = mticker.ScalarFormatter(useOffset=False, useMathText=True)
+# g = lambda x,pos : "${}$".format(f._formatSciNotation('%1.10e' % x))
+# plt.gca().yaxis.set_major_formatter(mticker.FuncFormatter(g))
+
+# --- Colorblind friendly pallete ---
+# CB_color_cycle = ['#377eb8', '#ff7f00', '#4daf4a', '#f781bf', '#a65628', '#984ea3', '#999999', '#e41a1c', '#dede00']
+
+# ax.set_xlim()
+# ax.set_ylim()
+
+plt.show()
+# plt.savefig('injected_energy_div_nuclear_energy.pdf', dpi=500)
\ No newline at end of file
diff --git a/useful_scripts/plot_opacity_graphs.py b/useful_scripts/plot_opacity_graphs.py
new file mode 100644
index 0000000000000000000000000000000000000000..a2bc3c1b237f075375e116022ebbdc80ff88f8e2
--- /dev/null
+++ b/useful_scripts/plot_opacity_graphs.py
@@ -0,0 +1,164 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+import fastmesareader as fmr
+import pandas as pd
+
+
+fig = plt.figure(figsize=(16,9.6))
+ax = fig.add_subplot(111)
+
+# df = pd.read_csv('before_opacity_bump.data', delim_whitespace=True, index_col=0)
+# log_rho = np.asarray(df.columns, dtype=float)
+# log_T = df.index.values
+# opacity_data_in_df = df.to_numpy()
+
+# cs = ax.contourf(log_rho, log_T, np.log10(opacity_data_in_df), levels=100, cmap='viridis', antialiased=True)
+# for c in cs.collections:
+#     c.set_rasterized(True)
+# bar = fig.colorbar(cs, pad=0.02)
+# bar.set_label('$\\mathrm{Log_{10}}(\kappa)$ [$\\mathrm{cm^{2}\,g^{-1}}$]', fontsize=14)
+# bar.outline.set_visible(False)
+
+# ax.set_xlabel('$\\mathrm{Log_{10}}(\\rho)$ [$\\mathrm{g\,cm^{-3}}$]', fontsize=14)
+# ax.set_ylabel('$\\mathrm{Log_{10}(T)}$ [K]', fontsize=14)
+# ax.set_title('Surface Z~0.20341, Before Surface Opacity Spike', fontsize=16)
+
+# ax.tick_params(axis='x', labelsize=12)
+# ax.tick_params(axis='y', labelsize=12)
+# ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+# plt.minorticks_on()
+# plt.savefig('surface_graphs/opacity_graphs_before_surface_opacity_spike.png', dpi=500)
+
+
+# plotting_tings = 'star_age photosphere_cell_density photosphere_cell_T photosphere_cell_opacity'
+# a = fmr.FastMesaReader('LOGS/history.data', plotting_tings) 
+# df = pd.read_csv('after_opacity_bump.data', delim_whitespace=True, index_col=0)
+# log_rho = np.asarray(df.columns, dtype=float)
+# log_T = df.index.values
+# opacity_data_in_df = df.to_numpy()
+
+# cs = ax.contourf(log_rho, log_T, np.log10(opacity_data_in_df), levels=100, cmap='viridis', antialiased=True)
+# for c in cs.collections:
+#     c.set_rasterized(True)
+# bar = fig.colorbar(cs, pad=0.02)
+# bar.set_label('$\\mathrm{Log_{10}}(\kappa)$ [$\\mathrm{cm^{2}\,g^{-1}}$]', fontsize=14)
+# bar.outline.set_visible(False)
+
+# ax.set_xlabel('$\\mathrm{Log_{10}}(\\rho)$ [$\\mathrm{g\,cm^{-3}}$]', fontsize=14)
+# ax.set_ylabel('$\\mathrm{Log_{10}(T)}$ [K]', fontsize=14)
+# ax.set_title('Surface Z~0.20426, $\\mathrm{P_{extra}}=1$', fontsize=16)
+
+# ax.tick_params(axis='x', labelsize=12)
+# ax.tick_params(axis='y', labelsize=12)
+# ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+# plt.minorticks_on()
+
+# ax.scatter(x=-9.6714411174554655, y=4.9939351437534620, marker='x', color='black', s=100, label='Density Inversion Occurs')
+# ax.plot(np.log10(a.photosphere_cell_density), np.log10(a.photosphere_cell_T), linewidth='1', color='black', label='Surface')
+# ax.legend()
+# plt.savefig('surface_graphs/opacity_graphs_with_surface_properties_overlayed.png', dpi=500)
+
+
+# plotting_tings = 'density temperature'
+# a = fmr.FastMesaReader('LOGS/profile56.data', plotting_tings) 
+# df = pd.read_csv('before_opacity_bump.data', delim_whitespace=True, index_col=0)
+# log_rho = np.asarray(df.columns, dtype=float)
+# log_T = df.index.values
+# opacity_data_in_df = df.to_numpy()
+# cs = ax.contourf(log_rho, log_T, np.log10(opacity_data_in_df), levels=1000, cmap='viridis', antialiased=True)
+# for c in cs.collections:
+#     c.set_rasterized(True)
+# bar = fig.colorbar(cs, pad=0.02)
+# bar.set_label('$\\mathrm{Log_{10}}(\kappa)$ [$\\mathrm{cm^{2}\,g^{-1}}$]', fontsize=14)
+# bar.outline.set_visible(False)
+# ax.set_xlabel('$\\mathrm{Log_{10}}(\\rho)$ [$\\mathrm{g\,cm^{-3}}$]', fontsize=14)
+# ax.set_ylabel('$\\mathrm{Log_{10}(T)}$ [K]', fontsize=14)
+# ax.set_title('Surface Z~0.20426, $\\mathrm{P_{extra}}=1$', fontsize=16)
+# ax.tick_params(axis='x', labelsize=12)
+# ax.tick_params(axis='y', labelsize=12)
+# ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+# plt.minorticks_on()
+# # ax.scatter(x=-9.6714411174554655, y=4.9939351437534620, marker='x', color='black', s=100, label='Density Inversion Occurs')
+# ax.plot(np.log10(a.density), np.log10(a.temperature), linewidth='1', color='black', label='Star Track')
+# ax.legend()
+# # plt.savefig('surface_graphs/opacity_graph_with_star_profile_before_inversion.png', dpi=500)
+# ax.set_xlim(-10.5,-9)
+# ax.set_ylim(4.8,5.5)
+# plt.savefig('surface_graphs/opacity_graph_with_star_profile_before_inversion_zoom_on_surface.png', dpi=500)
+
+
+# plotting_tings = 'density temperature'
+# a = fmr.FastMesaReader('LOGS/profile57.data', plotting_tings) 
+# df = pd.read_csv('after_opacity_bump.data', delim_whitespace=True, index_col=0)
+# log_rho = np.asarray(df.columns, dtype=float)
+# log_T = df.index.values
+# opacity_data_in_df = df.to_numpy()
+# cs = ax.contourf(log_rho, log_T, np.log10(opacity_data_in_df), levels=1000, cmap='viridis', antialiased=True)
+# for c in cs.collections:
+#     c.set_rasterized(True)
+# bar = fig.colorbar(cs, pad=0.02)
+# bar.set_label('$\\mathrm{Log_{10}}(\kappa)$ [$\\mathrm{cm^{2}\,g^{-1}}$]', fontsize=14)
+# bar.outline.set_visible(False)
+# ax.set_xlabel('$\\mathrm{Log_{10}}(\\rho)$ [$\\mathrm{g\,cm^{-3}}$]', fontsize=14)
+# ax.set_ylabel('$\\mathrm{Log_{10}(T)}$ [K]', fontsize=14)
+# ax.set_title('Surface Z~0.20426, $\\mathrm{P_{extra}}=1$', fontsize=16)
+# ax.tick_params(axis='x', labelsize=12)
+# ax.tick_params(axis='y', labelsize=12)
+# ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+# plt.minorticks_on()
+# # ax.scatter(x=-9.6714411174554655, y=4.9939351437534620, marker='x', color='black', s=100, label='Density Inversion Occurs')
+# ax.plot(np.log10(a.density), np.log10(a.temperature), linewidth='1', color='black', label='Star Track')
+# ax.legend()
+# # plt.savefig('surface_graphs/opacity_graph_with_star_profile_after_inversion.png', dpi=500)
+# ax.set_xlim(-10.5,-9)
+# ax.set_ylim(4.8,5.5)
+# plt.savefig('surface_graphs/opacity_graph_with_star_profile_after_inversion_zoom_on_surface.png', dpi=500)
+
+
+plotting_tings = 'density temperature'
+a = fmr.FastMesaReader('LOGS/profile56.data', plotting_tings) 
+b = fmr.FastMesaReader('LOGS/profile57.data', plotting_tings) 
+df = pd.read_csv('before_opacity_bump.data', delim_whitespace=True, index_col=0)
+log_rho = np.asarray(df.columns, dtype=float)
+log_T = df.index.values
+opacity_data_in_df = df.to_numpy()
+cs = ax.contourf(log_rho, log_T, np.log10(opacity_data_in_df), levels=1000, cmap='viridis', antialiased=True)
+for c in cs.collections:
+    c.set_rasterized(True)
+bar = fig.colorbar(cs, pad=0.02)
+bar.set_label('$\\mathrm{Log_{10}}(\kappa)$ [$\\mathrm{cm^{2}\,g^{-1}}$]', fontsize=14)
+bar.outline.set_visible(False)
+ax.set_xlabel('$\\mathrm{Log_{10}}(\\rho)$ [$\\mathrm{g\,cm^{-3}}$]', fontsize=14)
+ax.set_ylabel('$\\mathrm{Log_{10}(T)}$ [K]', fontsize=14)
+ax.set_title('Surface Z~0.20426, $\\mathrm{P_{extra}}=1$', fontsize=16)
+ax.tick_params(axis='x', labelsize=12)
+ax.tick_params(axis='y', labelsize=12)
+ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+plt.minorticks_on()
+ax.plot(np.log10(a.density), np.log10(a.temperature), linewidth='1', color='black', label='before $\\rho$ inversion')
+ax.plot(np.log10(b.density), np.log10(b.temperature), linewidth='1', color='red', label='after $\\rho$ inversion')
+ax.legend()
+# plt.savefig('surface_graphs/opacity_graph_before_after_inversion_compare.png', dpi=500)
+ax.set_xlim(-10.5,-9)
+ax.set_ylim(4.8,5.5)
+cs.clim(vmin=0.3, vmax=1)
+bar.clim(vmin=0.3, vmax=1)  
+# plt.savefig('surface_graphs/opacity_graph_before_after_inversion_compare_zoom_on_surface.png', dpi=500)
+
+
+
+plt.show()
+
+
+'''
+
+Density inversion at profle57.data. profile56.data does not have an inversion 
+profile57.data:
+    Age: 3.4986998091985647E-005
+    Radius: 4.8326851229081075E-001
+    model_number: 275
+    logT: 4.9939351437534620
+    logRho: -9.6714411174554655 
+
+'''
\ No newline at end of file
diff --git a/useful_scripts/plotter.py b/useful_scripts/plotter.py
new file mode 100644
index 0000000000000000000000000000000000000000..0bf69f1e0ac5b60dbb0b727d33437cb0d18b467b
--- /dev/null
+++ b/useful_scripts/plotter.py
@@ -0,0 +1,56 @@
+import standard_plotting_package
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+import fastmesareader as fmr
+
+plotting_vars = ''
+a = fmr.FastMesaReader('LOGS/history.data', plotting_vars)
+
+fig = plt.figure()
+ax = fig.add_subplot(111)   
+
+ax.plot(a. , a. , label='') # linestyle=, color= ,
+
+# fig.tight_layout()
+ax.grid(which='major', linestyle=':', linewidth='0.8')
+ax.grid(which='minor', linestyle=':', linewidth='0.3')
+
+# ax.set_xscale('log')
+# ax.set_yscale('log')
+
+ax.set_xlabel('')
+ax.set_xlabel('')
+# ax.set_title('')
+# ax.legend() #title='', loc='upper left', ncol=2
+
+
+# OPTIONALS
+# --- Replaces tick labels from '10^x' to 'x' ---
+# ax.set_xticks([1e-10,1e-9,1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1,1,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10]) 
+# ax.set_xticklabels(['-10','-9','-8','-7','-6','-5','-4','-3','-2','-1','0','1','2','3','4','5','6','7','8','9','10'])
+# ax.set_yticks([1e-10,1e-9,1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1,1,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10]) 
+# ax.set_yticklabels(['-10','-9','-8','-7','-6','-5','-4','-3','-2','-1','0','1','2','3','4','5','6','7','8','9','10'])
+
+# --- Stop sig figs at top of plot ---
+# ax.ticklabel_format(axis='both', style='plain', scilimits=(0,0), useOffset=False)
+
+# --- Make X-axis ticks not visible ---
+# plt.setp(ax.get_xticklabels(), visible=False)
+
+# --- Make Y-axis ticks not visible ---
+# plt.setp(ax.get_yticklabels(), visible=False)
+
+# --- To have Y-axis ticks in scientific notation ---
+# f = mticker.ScalarFormatter(useOffset=False, useMathText=True)
+# g = lambda x,pos : "${}$".format(f._formatSciNotation('%1.10e' % x))
+# plt.gca().yaxis.set_major_formatter(mticker.FuncFormatter(g))
+
+# --- Colorblind friendly pallete ---
+# CB_color_cycle = ['#377eb8', '#ff7f00', '#4daf4a', '#f781bf', '#a65628', '#984ea3', '#999999', '#e41a1c', '#dede00']
+
+# ax.set_xlim()
+# ax.set_ylim()
+
+plt.show()
+# plt.savefig('xxx.pdf', dpi=500)
\ No newline at end of file
diff --git a/useful_scripts/surface_properties.py b/useful_scripts/surface_properties.py
new file mode 100644
index 0000000000000000000000000000000000000000..7fe206459f4f39e22892b75bf16dd8b796b32842
--- /dev/null
+++ b/useful_scripts/surface_properties.py
@@ -0,0 +1,56 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import matplotlib.ticker as mticker
+import fastmesareader as fmr
+
+plotting_tings = 'star_age photosphere_cell_density photosphere_cell_T photosphere_cell_opacity'
+
+a = fmr.FastMesaReader('LOGS/history.data', plotting_tings)	
+# b = fmr.FastMesaReader('../standard_MLT_test/LOGS/history.data', plotting_tings)	
+
+
+fig = plt.figure(figsize=(12.8,9.6))
+ax = fig.add_subplot(111)
+
+
+ax.ticklabel_format(axis='both', style='plain', scilimits=(0,0), useOffset=False)
+ax.tick_params(axis='x', labelsize=12)
+ax.tick_params(axis='y', labelsize=12)
+ax.xaxis.set_minor_locator(mticker.AutoMinorLocator())
+ax.grid(which='major', linestyle=':', linewidth='0.8')
+plt.minorticks_on()
+ax.grid(which='minor', linestyle=':', linewidth='0.4')
+
+# cm = plt.cm.get_cmap('viridis')
+# sc = ax.scatter(np.log10(a.photosphere_cell_density), np.log10(a.photosphere_cell_T), c=a.star_age*525600, cmap=cm)
+# ax.plot(np.log10(a.photosphere_cell_density), np.log10(a.photosphere_cell_T), linewidth='0.5', color='k')
+# cbar = plt.colorbar(sc)
+# ax.set_xlabel('$\\mathrm{Log_{10}}(\\rho)$ [$\\mathrm{g\,cm^{-3}}$]', fontsize=14)
+# ax.set_ylabel('$\\mathrm{Log_{10}(T)}$ [K]', fontsize=14)
+# cbar.set_label('Time Since Imposed Diffusive Mixing [min]', fontsize=14)
+# plt.savefig('surface_graphs/surafce_temperature_vs_density_vs_time.png', dpi=500)
+
+# cm = plt.cm.get_cmap('viridis')
+# sc = ax.scatter(np.log10(a.photosphere_cell_density), np.log10(a.photosphere_cell_T), c=np.log10(a.photosphere_cell_opacity), cmap=cm)
+# ax.plot(np.log10(a.photosphere_cell_density), np.log10(a.photosphere_cell_T), linewidth='0.5', color='k')
+# cbar = plt.colorbar(sc)
+# cbar.ax.minorticks_on()
+# ax.set_xlabel('$\\mathrm{Log_{10}}(\\rho)$ [$\\mathrm{g\,cm^{-3}}$]', fontsize=14)
+# ax.set_ylabel('$\\mathrm{Log_{10}(T)}$ [K]', fontsize=14)
+# cbar.set_label('$\\mathrm{Log_{10}}(\kappa)$ [$\\mathrm{cm^{2}\,g^{-1}}$]', fontsize=14)
+# plt.savefig('surface_graphs/surafce_opacity_vs_temperature_vs_density.png', dpi=500)
+
+cm = plt.cm.get_cmap('viridis')
+sc = ax.scatter(np.log10(a.photosphere_cell_density), np.log10(a.photosphere_cell_T), c=np.log10(a.photosphere_cell_opacity), cmap=cm)
+ax.plot(np.log10(a.photosphere_cell_density), np.log10(a.photosphere_cell_T), linewidth='0.5', color='k')
+cbar = plt.colorbar(sc)
+cbar.ax.minorticks_on()
+ax.set_xlabel('$\\mathrm{Log_{10}}(\\rho)$ [$\\mathrm{g\,cm^{-3}}$]', fontsize=14)
+ax.set_ylabel('$\\mathrm{Log_{10}(T)}$ [K]', fontsize=14)
+cbar.set_label('', fontsize=14)
+plt.savefig('surface_graphs/temperature_vs_opacity.png', dpi=500)
+
+
+
+
+# plt.show()