4DVAR variational inversions (4dvar / std)

Description

The variational mode computes the minimum of a function (called simulator) provided a minimizer. It can be applied to the minimization of any function, but in practice, it is mostly used to compute the minimum of the Bayesian Gaussian cost function.

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:

Optional arguments

save_out_netcdf: (optional): False

Save final posterior vector as NetCDF. This argument overwrites the corresponding argument in the controlvect.

accepted type: bool

montecarlo: (optional)

Number of perturbed inversions to compute posterior inversions.

accepted structure:

nsample: (mandatory)

Number of members in the Monte-Carlo. The control run with no perturbation will be computed as the last member of the ensemble.

accepted type: True

perturb_x: (optional): True

Perturb the control vector or not

accepted type: bool

seed_x: (optional)

Seed for the random generator for perturbing x.Useful to run the same perturbationsfor various cases

accepted type: int

perturb_y: (optional): True

Perturb the observation vector or not

accepted type: bool

seed_y: (optional)

Seed for the random generator for perturbing y.Useful to run the same perturbationsfor various cases

accepted type: int

compute_reference: (optional): True

Recompute the unperturbed member

accepted type: bool

aggregate_results: (optional): False

Aggregate ensemble results and re-run prior/posterior cost functions

accepted type: bool

Requirements

The current plugin requires the present plugins to run properly:

Requirement name

Requirement type

Explicit definition

Any valid

Default name

Default version

obsvect

ObsVect

False

True

standard

std

controlvect

ControlVect

True

True

standard

std

obsoperator

ObsOperator

True

True

standard

std

minimizer

Minimizer

True

True

M1QN3

std

simulator

Simulator

True

True

gausscost

std

platform

Platform

True

True

None

None

Yaml template

Please find below a template for a Yaml configuration:

 1mode:
 2  plugin:
 3    name: 4dvar
 4    version: std
 5    type: mode
 6
 7  # Optional arguments
 8  save_out_netcdf: XXXXX  # bool
 9  montecarlo:
10    nsample: XXXXX  # True
11    perturb_x: XXXXX  # bool
12    seed_x: XXXXX  # int
13    perturb_y: XXXXX  # bool
14    seed_y: XXXXX  # int
15    compute_reference: XXXXX  # bool
16    aggregate_results: XXXXX  # bool