def surfaceTemp(theta_inf, theta_1, R0, Rsurf):
    """ Surface temperature

	Parameters
	----------	
	theta_inf : float or (m x n) np.array
		ambient temperature [°C] or [K]

	theta_1 : float or (m x n) np.array
		first node temperature [°C] or [K]

	R0 : float or (m x n) np.array 
		resistance between ambient and first node [K/W]
		
	Rsurf : float or (m x n) np.array 
		surface resistance [K/W]

	Returns
	-------
	R : (n+1,) np.array
		heat transfer resistance [K/W]

	Comment
	-------
	- To be superseded by 2D concept
	- Different return options in code give same result; speed difference unclear
	
	Example use
	-----------
	>>> XXX		 
	"""
    return theta_inf - (theta_inf - theta_1) * Rsurf / R0
