<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def nse(sim=None, obs=None, node=None, skip_nan=False):
 """Calculate the efficiency criteria after Nash & Sutcliffe. If the simulated values predict the observed values as well as the average observed value (regarding the the mean square error), the NSE value is zero: 0.0 0.0 For worse and better simulated values the NSE is negative or positive, respectively: -3.0 0.5 The highest possible value is one: 1.0 See the documentation on function |prepare_arrays| for some additional instructions for use of function |nse|. """

    sim, obs = prepare_arrays(sim, obs, node, skip_nan)
    return 1.-numpy.sum((sim-obs)**2)/numpy.sum((obs-numpy.mean(obs))**2)