earth2studio.perturbation
.BredVector#
- class earth2studio.perturbation.BredVector(model, noise_amplitude=0.05, integration_steps=20, ensemble_perturb=False, seeding_perturbation_method=<earth2studio.perturbation.brown.Brown object>)[source]#
Bred Vector perturbation method, a classical technique for pertubations in ensemble forecasting.
- Parameters:
model (Callable[[torch.Tensor], torch.Tensor]) – Dynamical model, typically this is the prognostic AI model. TODO: Update to prognostic looper
noise_amplitude (float | Tensor, optional) – Noise amplitude, by default 0.05. If a tensor, this must be broadcastable with the input data.
integration_steps (int, optional) – Number of integration steps to use in forward call, by default 20
ensemble_perturb (bool, optional) – Perturb the ensemble in an interacting fashion, by default False
seeding_perturbation_method (Perturbation, optional) – Method to seed the Bred Vector perturbation, by default Brown Noise
Note
For additional information:
- __call__(x, coords)[source]#
Apply perturbation method
- Parameters:
x (torch.Tensor) – Input tensor intended to apply perturbation on
coords (CoordSystem) – Ordered dict representing coordinate system that describes the tensor
- Returns:
Output tensor and respective coordinate system dictionary
- Return type:
tuple[torch.Tensor, CoordSystem]