lidarwind.filters.SecondTripEchoFilter

class lidarwind.filters.SecondTripEchoFilter(data, n_prof=500, center=True, min_periods=30, n_std=2, str_h='09', end_h='16')[source]

Boundary layer second trip echoes filter

This filter minimises the presence of second trip echoes (STE). This filter is based on the standard deviation of the anomaly of the observaions. It is applicable in regions where there is a contrast between the real data and the STE.

Parameters:
  • data (object) – the object returned from the GetRestructuredData

  • timeCloudMaks (xarray.DataArray) – it is a time series for indicating the presence of clouds above the maximum WinCube range. 1 indicates cloud and 0 indicates no cloud. (THIS MAKS IS NOT NEEDED NOW)

  • n_prof (int) – number of profiles used to calculating the anomaly

  • center (bool, optional) – it defines how the mean value for the anomaly will be calculated

  • min_periods (int) – minimum number of profiles used for calculating the mean value

  • n_std (int) – Multiplication factor for defining the size of the window to keep the data. The filter removes any anomaly larger than n_std * std

  • str_h (str) – starting hour for calculating the anomaly

  • end_h (str) – end hour for calculating the anomaly

Returns:

object – an object containing data filtered for STE

Return type:

object

__init__(data, n_prof=500, center=True, min_periods=30, n_std=2, str_h='09', end_h='16')[source]

Methods

__init__(data[, n_prof, center, ...])

cal_mean_and_anom_90()

It calculates the anomaly from the vertical observations

cal_mean_and_anom_slant()

It calculates the anomaly from the slanted observations

cleaning()

It removes the data that is larger than the n_std * anomaly from the slanted observations

cleaning90()

It removes the data that is larger than the n_std * anomaly from the vertical observations

get_time_edges([str_h, end_h])

It creates the time boundaries for the STD anomaly calculation