The other metric was a "moment-type" deviation with different exponents (see snippet below from previous commit).  In the examples I looked at,  the heatmap plot looks almost identical between the current `_top_n_mean` and the code below. However, I find interpretation of the `_top_n_mean` values more straight forward (e.g. a value of 20 simply means that the 2 ensemble members with the highest forecasted wind speed are on average 20kn above the GFS forecast value vis-a-vis a dimensionless figure obtained by squaring and rooting).  

```
def _pos_dev_moment(delta, moment=2, normalizer=5/1.944):
    """
    Calculates indicator for ensemble spread, considering only positive
    deviations.

    Parameter:
    ----------
    delta: array
        Array with differentces between ensemble and GFS forecast values for
        all ensemble members.  First dimension must be ensembles. Only
        positive differences (ensemble value higher than GFS) will be
        considered in calculation.
    normalizer: float
        Used to make delta values dimensionless (division by normalizer).
    moment: float
        'Moment' to be used in the calculation. Positive deltas (divided by
        normalizer) will taken to the *moment*th power, summed across all
        ensemble members, and then the *power*th root will be taken of the
        sum, before dividing by the number of ensemble members.

    Returns:
    --------
    Tuple consisting of:
        Array with ensemble deviation indicator for each forecast time at
            each grid point. Shape is delta.shape[1:].
        Dictionary with keys 'moment' and 'normalizer', to which the
            respective values used in the calculation will be mapped.
    """
    pos_delta_norm = np.power(
            np.where(delta > 0, delta, 0) / float(normalizer), moment)
    return (np.power(
            pos_delta_norm.sum(0), 1. / moment) / float(delta.shape[0]),
            {'moment': moment, 'normalizer': normalizer})
```

I did consider the wind_speed range across the ensemble which would be good as a general indicator of the model's confidence. However, it will also be impacted by ensemble speeds lower than the GFS value - about which you're probably less concerned (at least as a cruiser - for racers we could simply invert the logic ;-). Ultimately, what I think I'd like to see underway is an indication of the worst case scenario, somewhat mitigated against outlier noise by averaging the top n positive deviations. Open of course to try other metrics as well.