Skip to content

es⚓︎

ES type schemes

esMixIn ⚓︎

This is the straightforward ES analysis scheme. We treat this as a all-data-at-once EnKF step, hence the calc_analysis method here is identical to that in the enkf class. Since, for the moment, ASSIMINDEX is parsed in a specific manner (or more precise, single rows and columns in the PIPT init. file is parsed to a 1D list), a Simultaneous 'loop' had to be implemented, and es will use this to do the inversion. Maybe in the future, we can make the enkf class do simultaneous updating also. The consequence of all this is that we inherit BOTH enkf and Simultaneous classes, which is convenient. The Simultaneous class is inherited to set up the correct inversion structure and enkf is inherited to get calc_analysis, so we do not have to implement it again.

__init__(keys_da, keys_fwd, sim) ⚓︎

The class is initialized by passing the PIPT init. file upwards in the hierarchy to be read and parsed in pipt.input_output.pipt_init.ReadInitFile.

check_convergence() ⚓︎

Calculate the "convergence" of the method. Important to

es_approx ⚓︎

Bases: esMixIn, enkf_approx

Mixin of ES class and approximate update

es_full ⚓︎

Bases: esMixIn, enkf_full

mixin of ES class and full update. Note that since we do not iterate there is no difference between is full and approx.

es_subspace ⚓︎

Bases: esMixIn, enkf_subspace

mixin of ES class and subspace update.