swirlspy.ltg package

Submodules

swirlspy.ltg.map module

swirlspy.ltg.map.gen_ltg_binary(ltg, area_def, coord_label=['x', 'y'], cloud_indicator='total')

A function to generate a grid of binary lightning signals.

Parameters
  • ltg (swirlspy.obs.Lightning) – Lightning class.

  • area_def (pyresample.geometry.AreaDefinition) – AreaDefinition of the grid.

  • coord_label (list of strings) – The x and y coordinate labels. Defaults to ‘x’ and ‘y’ respectively.

  • cloud_indicator (str or int) – Type of lightning. 0 refers to cloud-to-ground lightning only. 1 refers to cloud-to-cloud lightning only. ‘total’ refers to both cloud-to-cloud and cloud-to-cloud lightning.

Returns

ltg_bin – Gridded lightning observations. 0 refers to no lightning, 1 refers to lightning.

Return type

xarray.DataArray

swirlspy.ltg.map.gen_ltg_density(ltg, area_def, start_time, end_time, tolerance=8000, coord_label=['x', 'y'], cloud_indicator='total', unit_dim=(1000000, Timedelta('0 days 01:00:00'), 'strikes/$km^2$/h'), shape='circle')

Computes lightning density in an area.

Parameters
  • ltg (Lightning object) – Lightning object containing data of lightning strike.

  • area_def (pyresample.geometry.AreaDefinition) – AreaDefinition of the desired grid in coordinates of the data in the Lightning object.

  • start_time (pandas.Timestamp) – Start time of lightning observation period.

  • end_time (pandas.Timestamp) – End time of lightning observation period.

  • tolerance (float) – The radius of influence of a lightning strike.

  • coord_label (list of strings) – [‘x’, ‘y’] Coordinate labels.

  • cloud_indicator (int or str) – The cloud indicator. 0 for cloud-to-ground discharge. 1 for cloud-to-cloud discharge. ‘total’ for combined cloud-to-cloud and cloud-to-ground discharge.

  • unit_dim (tuple of float and str respectively) – The unit area expressed in the units of the projection the name of the unit area. Defaults to (1000000, pd.Timedelta(1, ‘h’), ‘strikes/$km^2$/h’), i.e. per square kilometer per hour assuming that the projection is expressed in meters. Change according to the unit of the projection system.

  • shape (str) – The shape of the searcher. Can either be a circle or a square. Choose square for less computational power. Defaults to circle.

Returns

ltg_density – Gridded lightning density.

Return type

xarray.DataArray

swirlspy.ltg.map.gen_ltgv(ltg, area_def, start_time, end_time, sigma, coord_label=['x', 'y'])

Generates lightning potential in an area. Lightning potential is calculated using a multivariate normal distribution.

Parameters
  • ltg (Lightning object) – Lightning object containing data of lightning strike.

  • area_def (pyresample.geometry.AreaDefinition) – Areadefinition of the desired grid in coordinates of the data in the Lightning object.

  • start_time (pandas.Timestamp) – Start time of lightning observation period.

  • end_time (pandas.Timestamp) – End time of lightning observation period.

  • sigma (float) – Standard deviation of the Gaussian Distribution. Assume that distribution is symmetrical.

  • coord_label (list of strings) – Defaults to [‘x’, ‘y’].

Returns

ltgv – Gridded lightning potential.

Return type

xarray.DataArray

swirlspy.ltg.map.gen_mask_in_radius(x_coords, y_coords, center, radius)

Generate a mask for a meshgrid of coordinates.

Parameters
  • x_coords (numpy.ndarray) – 1d x-coordinate array.

  • y_coords (numpy.1darray) – 1d y-coordinate array

  • center (tuple of scalar) – The (x, y) coordinates of the center of the circular region.

  • radius (scalar) – The radius of the circular region.

Returns

mask – 2d mask of area within circular region.

Return type

numpy.ndarray, shape (len(y_coords), len(y_coords))

swirlspy.ltg.map.in_radius(obs_site, center, radius)

Investigates whether an observation e.g. a lightning strikes lies within a circular region of radius radius centered at center. The units of all three parameters should be the same e.g. all in meters or all in degrees etc.

Parameters
  • obs_site (array_like of scalar, shape (n, 2)) – The location of the observation(s).

  • center (array_like of scalar, shape (2,)) – The (x, y) coordinates of the center of the circular region.

  • radius (scalar) – The radius of the circular region.

Returns

obs_in_radius – The boolean result of each site

Return type

array_like, shape (n,) or scalar