text: r""" 
  Sukhbold et al. (2016), ApJ, 821, 38 core collapse supernova yields 
  
  **Signature**: from vice.yields.ccsne import S16 
  
  Importing this module will automatically set the CCSN yield settings for all 
  elements to the IMF-averaged yields calculated with the Sukhbold et al. (2016) 
  yield table for [M/H] = 0 stars. This will adopt an upper mass limit of 
  120 :math:`M_\odot`. 
  
  .. tip:: By importing this module, the user does not sacrifice the ability to 
  	specify their yield settings directly. 
  
  .. note:: This module is not imported with a simple ``import vice`` statement. 
  
  Contents 
  -------- 
  set_params : <function> 
  	Update the parameters with which the yields are calculated. 
  engines : module 
  	Stellar explodability as a function of stellar mass under various 
  	explosion engines as determined by the Sukhbold et al. (2016) study. 
  """ 
  
  from __future__ import absolute_import 
  try: 
  	__VICE_SETUP__ 
  except NameError: 
  	__VICE_SETUP__ = False 
  
  if not __VICE_SETUP__: 
  
  	__all__ = ["engines", "set_params", "test"]  
  	from ...._globals import _RECOGNIZED_ELEMENTS_ 
  	from .. import fractional as __fractional 
  	from .. import settings as __settings 
  	from . import engines 
  	from .tests import test 
  
  	def set_params(**kwargs): 
  		r""" 
  		Update the parameters with which the yields are calculated from the 
  		Sukhbold et al. (2016) [1]_ data. 
  
  		**Signature**: vice.yields.ccsne.S16.set_params(\*\*kwargs) 
  
  		Parameters 
  		----------
  		kwargs : varying types 
  			Keyword arguments to pass to vice.yields.ccsne.fractional. 
  
  		Raises 
  		------
  		* TypeError 
  			-	Recieved a keyword argument "study". This will always be 
  				"S16/W18" when called from this module. 
  
  		Other exceptions are raised by vice.yields.ccsne.fractional. 
  
  		Example Code 
  		------------
  		>>> import vice 
  		>>> from vice.yields.ccsne import S16 
  		>>> S16.set_params(m_lower = 0.3, m_upper = 45, IMF = "salpeter") 
  
  		.. seealso:: vice.yields.ccsne.fractional 
  
  		.. [1] Sukhbold et al. (2016), ApJ, 821, 38 
  		""" 
  		if "study" in kwargs.keys(): 
  			raise TypeError("Got an unexpected keyword argument: 'study'") 
  		else: 
  			for i in _RECOGNIZED_ELEMENTS_: 
  				__settings[i] = __fractional(i, study = "S16/W18", **kwargs)[0] 
  
  	set_params(m_upper = 120) 
  
  else: 
  	pass 
  
  