Ensemble Square-Root Filter EnSRF/std
#
Description#
Compute an Ensemble Square Root Filter (EnSRF) based on CTDAS implementation (Peters et al., 2005).
YAML arguments#
The following arguments are used to configure the plugin. pyCIF will return an exception at the initialization if mandatory arguments are not specified, or if any argument does not fit accepted values or type:
Mandatory arguments#
- nsample : int, mandatory
Number of random samples in the ensemble
Optional arguments#
- reload_results : bool, optional, default False
Reload results from previous simulations
- batch_sampling : bool, optional, default True
Compute samples into a single observation operator or as separate jobs if False
- batch_subjob : bool, optional, default False
Force submitting the batch sampling inside a separate job. Otherwise, run as a sub-instance of python
- serial_optimization : bool, optional, default True
Assimilate the observations sequentially. If False, assimilate the observations in bulk (matrix operations).
- window_length : str, optional
Time length of each assimilation window
- nlag : int, optional, default 1
Number of windows in each segment.
- mean_propagwgt : optional, default 0
The propagation weight to use When a new assimilation segment begins and a new window is included. Either a general weight to apply to all components or a mapper (component -> value) can be provided. This parameter is taken into account only if nlag >= 2.
- localization : optional
Apply localization to every assimilated observation.
- Argument structure:
- decay_length : float, mandatory
Correlation length to apply.
- decay_func : “exponential” or “normal”, optional, default “normal”
Correlation function to apply.
- restart_format : str, optional, default “restart_%Y%m%d%H.nc”
Format of the restart file to fetch after a posterior forward simulation.
- seed : bool, optional, default False
Use a seed to generate random samples.
- seed_id : int, optional, default 0
ID of the numpy seed to use.
- unbias_ensemble : bool, optional, default False
Force the ensemble to have a mean and a standard deviation consistent with the distribution modes.
- set_deviations_equal : bool, optional, default False
During the generation of samples, ensure each window contains the same deviations from the mean to reduce noise cancellation.
- level_metrics : int, optional, default 1
Level which defines the number of metrics to compute:” 0. No metrics computed. 1. Only metrics not involving the calculation of the posterior matrix’s eigenvalues. 2. All metrics
Requirements#
The current plugin requires the present plugins to run properly:
Requirement name |
Requirement type |
Explicit definition |
Any valid |
Default name |
Default version |
---|---|---|---|---|---|
obsvect |
False |
True |
standard |
std |
|
controlvect |
True |
True |
standard |
std |
|
obsoperator |
True |
True |
standard |
std |
|
platform |
True |
True |
None |
None |
YAML template#
Please find below a template for a YAML configuration:
1mode:
2 plugin:
3 name: EnSRF
4 version: std
5 type: mode
6
7 # Mandatory arguments
8 nsample: XXXXX # int
9
10 # Optional arguments
11 reload_results: XXXXX # bool
12 batch_sampling: XXXXX # bool
13 batch_subjob: XXXXX # bool
14 serial_optimization: XXXXX # bool
15 window_length: XXXXX # str
16 nlag: XXXXX # int
17 mean_propagwgt: XXXXX # any
18 localization:
19 decay_func: XXXXX # exponential|normal
20 decay_length: XXXXX # float
21 restart_format: XXXXX # str
22 seed: XXXXX # bool
23 seed_id: XXXXX # int
24 unbias_ensemble: XXXXX # bool
25 set_deviations_equal: XXXXX # bool
26 level_metrics: XXXXX # int