environmentaltools.temporal.storm_properties

environmentaltools.temporal.storm_properties(data, cols, info)[source]

Extract and characterize individual storm event properties.

Identifies storm events and computes their statistical properties including duration, peak values, integrated values, and seasonal classification.

Parameters:
  • data (pd.DataFrame) – Raw time series with datetime index

  • cols (list) – Names of variables to analyze for each storm

  • info (dict) –

    Storm event criteria and analysis parameters:

    • thresholdfloat

      Minimum value to define storm event

    • min_durationint

      Minimum storm duration (in data_timestep units)

    • inter_timeint

      Minimum inter-arrival time between storms

    • data_timestepstr

      Time step of input data: ‘D’ (days) or ‘H’ (hours)

    • interpolationbool, optional

      Whether to interpolate storm boundaries. Default: False

    • class_typestr, optional

      Season classification scheme: ‘WSSF’, ‘WS’, ‘SF’. Default: None

    • filenamestr, optional

      Output file name for saving results

Returns:

Dictionary containing storm event DataFrames with computed properties: - Peak values for each variable - Integrated (cumulative) values - Storm duration - Temporal information (start, end, peak time) - Seasonal classification (if class_type specified)

Return type:

dict

Notes

For each storm event, computes:

  • Maximum values (peaks)

  • Integrated values (area under curve)

  • Duration

  • Timing information

  • Season assignment (optional)

Examples

>>> info = {
...     'threshold': 1.5,
...     'min_duration': 6,
...     'inter_time': 24,
...     'data_timestep': 'H',
...     'interpolation': True,
...     'class_type': 'WSSF'
... }
>>> storms = storm_properties(data, ['Hs', 'Tp', 'Dir'], info)