docs: def get_fallback_coord(self,isotope='Ni-56',masslimit=0.1,masscutlim=False,delay=True):
  
  		'''
  			Returns fallback mass coordinate so that the amount of masslimit
  			of the isotope isotope is ejected. Explosion type chosen with delay option.
  			
  			masscutlim: If true, new fallback coordinate can only as small as the original fallback
  				  prescription by C. Fryer. Useful for more massive stars which would not eject any metals
  		 		with Freyer's prescription.
  		'''
  
  		def getmasscut(m_ini,z_ini,delay): 
  			if int(m_ini)==12:
  				m_ini=15
  			z_metal=z_ini/0.02
  
  			print 'MINI',m_ini,z_metal
  			if ((m_ini>=11.) and (m_ini<30.)):
  				if delay==True:
  					mass_cut = 1.1 + 0.2*np.exp((m_ini-11.0)/4.) - (2.0 + z_metal)*np.exp(0.4*(m_ini -26.0))
  				####rapid cc
  				else:
  					if m_ini<22.:
  						mass_cut= 1.1 +0.2*np.exp((m_ini-11.0)/7.5) + 10*(1.0+z_metal)*np.exp(-(m_ini-23.5)**2/(1.0+z_metal)**2)
  					elif m_ini<30 :
  						mass_cut=  1.1 + 0.2*np.exp((m_ini-11.0)/4.) - (2.0 + z_metal)*np.exp(0.4*(m_ini -26.0)) - 1.85 + 0.25*z_metal +10.0*(1.0+z_metal)*np.exp(-(m_ini-23.5)**2/(1.0+z_metal)**2)
  			##at higher mass difference
  			elif ((m_ini>30) and (m_ini<50)):
  				#delay
  				if delay==True:
  					mass_cut= min( 33.35 + (4.75 + 1.25*z_metal)*(m_ini-34.),m_ini-z_metal**0.5 *(1.3*m_ini - 18.35))
  				else:
  					mass_cut = min( 33.35 + (4.75 + 1.25*z_metal)*(m_ini-34.),m_ini-z_metal**0.5 *(1.3*m_ini - 18.35)) - 1.85 + z_metal*(75. -m_ini)/20.
  			elif m_ini>50:
  				#Page 7, Fryer12, only at solar Z valid
  				if z_metal==1:
  					if m_ini<90.:
  						mass_cut = 1.8 + 0.04*(90. - m_ini)
  					else:
  						mass_cut = 1.8 + np.log10(m_ini - 89.)
  				#The part below will probably never be used
  				if z_metal <1:
  					if m_ini<90.:
  						mass_cut = max(min( 33.35 + (4.75 + 1.25*z_metal)*(m_ini-34.),m_ini-z_metal**0.5 *(1.3*m_ini - 18.35)),1.8 + 0.04*(90. - m_ini))
  					else:
  						mass_cut = max(min( 33.35 + (4.75 + 1.25*z_metal)*(m_ini-34.),m_ini-z_metal**0.5 *(1.3*m_ini - 18.35)),1.8 + np.log10(m_ini - 89.))
  
  			mass_cut=round(mass_cut,2)
  						   
  			return mass_cut	
  	
  		fallback_coords=[]
  		orig_fallback=[]
  		minis=[]
  		ni56_mass_all=[]
  		o16_mass_all=[]
                  for i in range(len(self.runs_H5_surf)):
                          sefiles=se(self.runs_H5_restart[i])
  			m_ini=sefiles.get("mini")
  			z_ini=sefiles.get("zini")
  			minis.append(m_ini)
  			mass_cut=getmasscut(m_ini,z_ini,delay)
  			print 'mass cut',mass_cut		
  			cycle=int(sefiles.se.cycles[-1])
  			mass_cycle=sefiles.get(cycle,"mass")
  			mass_limit=mass_cycle[-1] #maximum mass_test can be
  			idx_start=min(range(len(mass_cycle)), key=lambda i: abs(mass_cycle[i]-mass_cut))
  			ni56_frac=sefiles.get(cycle,'Ni-56')
  			o16_frac=sefiles.get(cycle,'O-16')
  			deltam=mass_cycle[1:]-mass_cycle[:-1]
  			ni56_mass=0
  			o16_mass=0
  			ni56_mass_orig=0
  			newremnant=mass_cut
  			#go fromm outside to the inside
  			for k in range(len(mass_cycle)-1)[::-1]:
  				cellm=deltam[k]*ni56_frac[k]
  				#in case fallback coordinate should not be smaller then mass_cut (fryer)
  				if masscutlim==True:
  					if mass_cycle[k]<mass_cut:
  						break
  				if ni56_mass>masslimit:
  					newremnant=mass_cycle[k]
  					print 'found new  remnant',newremnant,'ni56:',ni56_mass
  					break
  				ni56_mass+=cellm
  				o16_mass+= (deltam[k]*o16_frac[k])
  			if newremnant == mass_limit:
  				print 'Ni-56 does not reach 0.1Msun, take old remnant',newremnant
  			fallback_coords.append(newremnant)
  			orig_fallback.append(mass_cut)
  			ni56_mass_all.append(ni56_mass)
  			o16_mass_all.append(o16_mass)
  		print '########Results:######'
  		for k in range(len(minis)):
  			print 'Initial mass: '+str(minis[k])+'Original fallback coord (fryer): '+str(orig_fallback[k])+',New fallback coord: '+str(fallback_coords[k])+'Ni-56 ejected: '+str(ni56_mass_all[k])+'O16: '+str(o16_mass_all[k])
  
  
  		return minis, fallback_coords