PETSCDALETKF#
The Local ETKF performs the analysis update locally around each grid point, enabling scalable assimilation on large domains by avoiding the global ensemble covariance matrix.
Options Database Keys#
-petscda_type letkf - set the
PetscDATypetoPETSCDALETKF-petscda_ensemble_size size - number of ensemble members
-petscda_ensemble_inflation factor - multiplicative inflation factor applied to anomalies
-petscda_letkf_batch_size batch_size - set the batch size for GPU processing
-petscda_letkf_localization_radius radius - localization cutoff radius for the built-in kernels (must be positive)
-petscda_letkf_localization_type (none|gaspari_cohn|gaussian|boxcar) - select the localization kernel
-petscda_view - view the
PetscDAat the end of everyPetscDAEnsembleAnalysis()call
Notes#
The default localization kernel is PETSCDA_LETKF_LOC_GASPARI_COHN, which requires the user to
call PetscDALETKFSetLocalizationRadius() and PetscDALETKFSetLocalizationCoordinates() before
the first analysis. To skip localization entirely use PetscDALETKFSetLocalizationType(da, PETSCDA_LETKF_LOC_NONE)
(or -petscda_letkf_localization_type none).
Both the CPU and Kokkos analysis paths support multi-rank runs; the Kokkos backend is selected
when the covariance matrix da->R is a Kokkos AIJ type, otherwise the CPU per-vertex (or LOC_NONE
replicated) path is used.
-petscda_view fires at the tail of every PetscDAEnsembleAnalysis() call (mirroring KSPSolve()/SNESSolve()),
so over a multi-cycle assimilation run the view is emitted once per analysis. Code that wants a single
end-of-run snapshot should call PetscDAView() explicitly after the assimilation loop instead.
See Also#
PetscDA: Data Assimilation, PetscDA, PetscDACreate(), PetscDALETKFSetLocalizationRadius(), PetscDALETKFGetLocalizationRadius(),
PetscDALETKFSetLocalizationType(), PetscDALETKFGetLocalizationType(), PetscDALETKFSetLocalizationCoordinates(),
PetscDALETKFResetLocalization(), PetscDAEnsembleSetSize(), PetscDASetSizes(), PetscDAEnsembleSetInflation(),
PetscDAEnsembleComputeMean(), PetscDAEnsembleComputeAnomalies(), PetscDAEnsembleAnalysis(), PetscDAEnsembleForecast()
Level#
beginner
Location#
Examples#
src/ml/da/tutorials/ex3.c
src/ml/da/tutorials/ex2.c
Index of all PetscDA routines
Table of Contents for all manual pages
Index of all manual pages