calc_ensemble_ellipse

tropycal.utils.calc_ensemble_ellipse(member_lons, member_lats)[source]

Calculate an ellipse representing ensemble member location spread. This function follows the methodology of Hamill et al. (2011).

Parameters
  • member_lons (list) – List containing longitudes of ensemble members valid at a single time.

  • member_lats (list) – List containing latitudes of ensemble members valid at a single time.

Returns

dict – Dictionary containing the longitude and latitude of the ellipse.

Notes

The ensemble ellipse used in this function follows the methodology of Hamill et al. (2011), denoting the spread in ensemble member cyclone positions. The size of the ellipse is calculated to contain 90% of ensemble members at any given time. This ellipse can be used to determine the primary type of ensemble variability:

  • Along-track variability - if the major axis of the ellipse is parallel to the ensemble mean motion vector.

  • Across-track variability - if the major axis of the ellipse is normal to the ensemble mean motion vector.

This code is adapted from NCAR Command Language (NCL) code courtesy of Ryan Torn and Thomas Hamill.

Examples

>>> lons = [-60, -59, -59, -61, -67, -58, -60, -57]
>>> lats = [40, 40, 41, 39, 37, 42, 40, 41]
>>> ellipse = utils.calc_ensemble_ellipse(lons, lats)
>>> print(ellipse.keys())
dict_keys(['ellipse_lon', 'ellipse_lat'])