Assess#

Huracanpy module for tracker assessment

huracanpy.assess.match_pair(tracks1, tracks2, name1='1', name2='2', max_dist=300, min_overlap=0)[source]#
Parameters:
  • (pd.DataFrame) (tracks2)

  • (pd.DataFrame)

  • (str) (name2)

  • (str)

  • (float) (max_dist)

  • (int) (min_overlap)

Returns:

Dataframe containing the matching tracks with

the id from both datasets the number of matching time steps the distance between two tracks

Return type:

pd.DataFrame

huracanpy.assess.match_multiple(datasets, names, max_dist=300, min_overlap=0)[source]#

Function to match any number of tracks sets

Parameters:
  • datasets (list of xr.Dataset) – list of the sets to be matched.

  • names (list of str) – labels for the datasets. names must have the same length as datasets

  • max_dist (float) – Threshold for maximum distance between two tracks

  • min_overlap (int) – Minimum number of overlapping time steps for matching

Raises:

NotImplementedError – If two datasets have no match.

Returns:

M – table of matching tracks among all the datasets

Return type:

pd.dataframe

huracanpy.assess.overlap(tracks1, tracks2, matches=None)[source]#

Function computing the overlap between matched tracks.

Parameters:
  • (pd.Dataframe) (matches)

  • (pd.Dataframe)

  • (pd.Dataframe) – If None, match_tracks is run on tracks1 and tracks2.

Returns:

Match dataset with added deltas in days

Return type:

pd.Dataframe

Functions for score computation

huracanpy.assess.scores.POD(matches, ref, ref_name='ib')[source]#
Parameters:
  • matches

  • ref

  • ref_name

huracanpy.assess.scores.FAR(matches, detected, detected_name='UZ')[source]#
Parameters:
  • matches

  • detected

  • detected_name