pysteps.noise.motion.initialize_bps

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.