pysteps.noise.motion.initialize_bps

Contents

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 – A dictionary containing the perturbator that can be supplied to generate_motion_perturbations_bps.

Return type:

dict