wavespectra.partition.partition.Partition#

class wavespectra.partition.partition.Partition(dset)[source]#

Spectra partition methods.

Note

  • When defined from a Dataset and the dataset_transforms option is set with wavespectra.set_options(dataset_transforms=True), the partitioning methods return a Dataset carrying the non-spectral variables from the source dataset, and the wspd, wdir and dpt arguments of the hp01 and track methods default to the dataset variables with those names. This will become the default behaviour in wavespectra 5.0. When defined from a DataArray, the partitioned spectra are returned as a DataArray (except for track which always returns a Dataset).

- ptm1

In PTM1, topographic partitions for which the percentage of wind-sea energy exceeds a defined fraction are aggregated and assigned to the wind-sea component (e.g., the first partition). The remaining partitions are assigned as swell components in order of decreasing wave height.

- ptm2

PTM2 works in a similar way to PTM1 by identifying a primary wind sea (assigned as partition 0) and one or more swell components. In this method however all the swell partitions are checked for the influence of wind-sea with energy within spectral bins within the wind-sea range (as defined by a wave age criterion) removed and combined into a secondary wind-sea partition (assigned as partition 1). The remaining swell partitions are then assigned in order of decreasing wave height from partition 2 onwards. This implies PTM2 has an extra partition compared to PTM1.

- ptm3

PTM3 does not classify the topographic partitions into wind-sea or swell - it simply orders them by wave height. This approach is useful for producing data for spectral reconstruction applications using a limited number of partitions, where the classification of the partition as wind-sea or swell is less important than the proportion of overall spectral energy each partition represents.

- ptm4

PTM4 uses the wave age criterion derived from the local wind speed to split the spectrum in to a wind-sea and single swell partition. In this case waves with a celerity greater than the directional component of the local wind speed are considered to be freely propogating swell (i.e. unforced by the wind). This is similar to the method commonly used to generate wind-sea and swell from the WAM model.

- ptm5

PTM5 splits spectra into wind sea and swell based on a user defined static cutoff.

- hp01

HP01 partitions the spectra and merges wind-sea components as in the PTM1 method, then it combines adjacent swells belonging to the same wave system following the criteria outlined in Hanson and Phillips (2001) and Hanson et al. (2009). Useful for noisy measured spectra which the watershed algorithm tends to over-segment, and to prescribe an exact number of output partitions.

- bbox

BBOX partitions the spectra based on user-defined bounding boxes in frequency-direction space.

- track

Partition spectra using any of the ptm1, ptm2, ptm3 or hp01 methods and track the partitions using the evolution of peak frequency and peak direction in time.

References

  • Hanson and Phillips (2001), Automated Analysis of Ocean Surface Directional Wave Spectra, Journal of Atmospheric and Oceanic Technology, 18, 277-293.

  • Hanson et al. (2009), Pacific hindcast performance of three numerical wave models, JTECH 26.8, 1614-1633.

  • Portilla et al. (2009), Spectral Partitioning and Identification of Wind Sea and Swell, Journal of Atmospheric and Oceanic Technology, 107-122.

  • Tracy et al. (2007), Wind Sea and Swell Delineation for Numerical Wave Modeling, JCOMM Tech. Rep. 41, WMO/TDNo, 1442, Paper P12.

  • Vincent et al. (1991) Watersheds in digital spaces: an efficient algorithm based on immersion simulations, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 13, No. 6, June 1991, p. 583-598.

  • WW3 wave model documentation, NOAA-EMC/WW3.

__init__(dset)[source]#

Methods

__init__(dset)

bbox(bboxes)

Partition based on user-defined bounding boxes in frequency-direction space.

hp01([wspd, wdir, dpt, agefac, wscut, ...])

Hanson and Phillips 2001 spectra partitioning and swell merging.

ptm1([wspd, wdir, dpt, agefac, wscut, ...])

PTM1 watershed partitioning.

ptm2([wspd, wdir, dpt, agefac, wscut, ...])

PTM2 watershed partitioning with secondary wind-sea.

ptm3([parts, smooth, freq_window, ...])

PTM3 watershed partitioning with no wind-sea or swell classification.

ptm4([wspd, wdir, dpt, agefac])

PTM4 WAM partitioning of sea and swell based on wave age criterion..

ptm5(fcut[, interpolate])

PTM5 SWAN partitioning of sea and swell based on user-defined threshold.

track([wspd, wdir, dpt, method, ...])

Partition the spectra and track the wave systems over time.