Skip to content

perturbation.BredVector

Import path: earth2studio.perturbation.BredVector

View source on GitHub

Documentation

Bred Vector perturbation method, a classical technique for pertubations in ensemble forecasting.

Parameters:

  • model (Callable[[Tensor], Tensor]) –

    Dynamical model, typically this is the prognostic AI model. TODO: Update to prognostic looper

  • noise_amplitude (float | Tensor, default: 0.05 ) –

    Noise amplitude, by default 0.05. If a tensor, this must be broadcastable with the input data.

  • integration_steps (int, default: 20 ) –

    Number of integration steps to use in forward call, by default 20

  • ensemble_perturb (bool, default: False ) –

    Perturb the ensemble in an interacting fashion, by default False

  • seeding_perturbation_method (Perturbation, default: Brown() ) –

    Method to seed the Bred Vector perturbation, by default Brown Noise

Note

For additional information:

__call__

__call__(
    x: Tensor, coords: CoordSystem
) -> tuple[Tensor, CoordSystem]

Apply perturbation method

Parameters:

  • x (Tensor) –

    Input tensor intended to apply perturbation on

  • coords (CoordSystem) –

    Ordered dict representing coordinate system that describes the tensor

Returns:

  • tuple[torch.Tensor, CoordSystem]: –

    Output tensor and respective coordinate system dictionary