def set_plot_surface_abu(self,fig=2,species=['Sr-88','Ba-136'],decay=False,number_frac=False,xaxis='cycles',age_years=False,ratio=False,sumiso=False,eps=False,samefigure=False,samefigureall=False,withkip=False,sparsity=200,linestyle=['--'],marker=['o'],color=['r'],label=[],markevery=100,t0_model=-1,savefig=''):
		
		'''	
			Simply plots surface abundance versus model number or time

		'''
		extralabel=False
		if len(label)>0:
			extralabel=True
                import nugridse as mp
                import utils as u
		idx=0
		if eps==True:
			species= species + ['H-1']
		if samefigureall==True and ratio==False:
			plt.figure(fig)
                for i in range(len(self.runs_H5_surf)):
			idx=0
                        sefiles=mp.se(self.runs_H5_surf[i])
			if samefigure==True:
				plt.figure(i)
			cycles=range(int(sefiles.se.cycles[0]),int(sefiles.se.cycles[-1]),sparsity)
			mini=sefiles.get("mini")
			zini=sefiles.get("zini")
			if not extralabel:
				label1=str(mini)+'$M_{\odot}$, Z='+str(zini)
			if xaxis=='cycles':
				x=cycles
			if xaxis=='age':
				x=sefiles.get(cycles,'age')
				if age_years==True:
					x=np.array(x)*sefiles.get('age_unit')/(365*24*3600)
					print 'x is age'
				if t0_model>0:
					#print cycles
					idxt0=0
					for kk in range(len(cycles)):
						print int(cycles[kk]),t0_model
						if int(cycles[kk]) == t0_model:
							idxt0=kk
							break
					print 'found t0_model idx',idxt0
					#idxt0=cycles.index(t0_model)
					cycles=cycles[idxt0:]
					if idxt0==0:
						print 'Warning, t0modle not found'
					x=x[idxt0:] - x[idxt0]
				else:
					idxt0=0
			if xaxis=='mass':
				x=sefiles.get(cycles,'mass')
			if decay==False:
				
				species_abu1=sefiles.get(cycles,species)
			else:
				species_abu11=sefiles.get(cycles,'iso_massf_decay')
				species_abu1=[]
				for jj in range(len(cycles)):
				    species_abu1.append([])	
				    for j in range(len(species)):
					species_abu1[-1].append(species_abu11[jj][sefiles.se.isotopes.index(species[j])])

			if len(species)==1:
				species_abu11=[]
				for kk in range(len(species_abu1)):
					species_abu11.append([species_abu1[kk]])
				species_abu1=species_abu11	
			species_abu=[]
			for k in range(len(species)):
				print 'species ',k
				species_abu.append([])
			for k in range(len(species)):
				for h in range(len(cycles)):
					species_abu[k].append(species_abu1[h][k])
			#print species_abu
			#if t0_model>0:
		#		species_abu=species_abu[t0_model:]
			for k in range(len(species)):
				if samefigure==False and ratio==False:
					fig=plt.figure(species[k])
				if xaxis=='cycles':
					plt.xlabel('model number')
				if xaxis=='age':
					plt.xlabel('Age [yrs]')
				if xaxis=='mass':
					plt.xlabel('$M/M_{\odot}$')
				plt.ylabel('X$_i$')
				if ratio==True:
					continue
				if extralabel:
					label=label[k]
				else:
					label=label1
				if samefigure==True:
					if sumiso == True:
						sumiso_massfrac=np.array(species_abu[0])
						for hh in range(1,len(species_abu)):
							sumiso_massfrac = sumiso_massfrac + np.array(species_abu[hh])
						plt.plot(x,sumiso_massfrac,linestyle=linestyle[idx],marker=marker[idx],label=species[k]+', '+label,color=color[idx],markevery=markevery)
						break #leave iso looop 
					
					else:
                                                if eps==True:
                                                        species_abu[0]=np.log10(np.array(species_abu[0])/(np.array(species_abu[1])*7))   + 12.

						plt.plot(x,species_abu[k],linestyle=linestyle[idx],marker=marker[idx],label=species[k]+', '+label,color=color[idx],markevery=markevery)
					idx+=1
					if eps==True:
						break

				else:
					if withkip==True:
						print 'test'
					else:
						plt.ylabel('X('+species[k]+')')
                                                if eps==True:
                                                        species_abu[0]=np.log10(np.array(species_abu[0])/(np.array(species_abu[1])*7))   + 12.

						plt.plot(x,species_abu[k],linestyle=linestyle[i],marker=marker[i],label=label,color=color[i],markevery=markevery)
                                        if eps==True:
                                                break
						
				plt.legend(loc=2)
				plt.yscale('log')
			if ratio==True:
				if number_frac==True:
					print 'plot number frac'
					plt.plot(x,4./3.*np.array(species_abu[1])/np.array(species_abu[0]),linestyle=linestyle[i],marker=marker[i],label=label,color=color[i],markevery=markevery)
				else:
					plt.plot(x,np.array(species_abu[1])/np.array(species_abu[0]),linestyle=linestyle[i],marker=marker[i],label=label,color=color[i],markevery=markevery)
                                plt.legend(loc=2)
                                plt.yscale('log')
			name='M'+str(mini)+'Z'+str(zini)
			plt.legend(loc=4)
			plt.savefig(savefig+'/surf_'+name+'.png')