pysteps.noise.motion.initialize_bps

pysteps.noise.motion.initialize_bps(V, pixelsperkm, timestep, p_par=None, p_perp=None, randstate=None, seed=None)

Initialize the motion field perturbator described in [BPS06]. For simplicity, the bias adjustment procedure described there has not been implemented. The perturbator generates a field whose magnitude increases with respect to lead time.

Parameters:
V : array_like

Array of shape (2,m,n) containing the x- and y-components of the m*n motion field to perturb.

p_par : tuple

Tuple containing the parameters a,b and c for the standard deviation of the perturbations in the direction parallel to the motion vectors. The standard deviations are modeled by the function f_par(t) = a*t**b+c, where t is lead time. The default values are taken from [BPS06].

p_perp : tuple

Tuple containing the parameters a,b and c for the standard deviation of the perturbations in the direction perpendicular to the motion vectors. The standard deviations are modeled by the function f_par(t) = a*t**b+c, where t is lead time. The default values are taken from [BPS06].

pixelsperkm : float

Spatial resolution of the motion field (pixels/kilometer).

timestep : float

Time step for the motion vectors (minutes).

randstate : mtrand.RandomState

Optional random generator to use. If set to None, use numpy.random.

seed : int

Optional seed number for the random generator.

Returns:
out : dict

A dictionary containing the perturbator that can be supplied to generate_motion_perturbations_bps.