4DVAR variational inversions 4dvar/std

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 : bool, optional, default False

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

montecarlo : optional

Number of perturbed inversions to compute posterior inversions.

Argument structure:
nsample : True, mandatory

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

perturb_x : bool, optional, default True

Perturb the control vector or not

seed_x : int, optional

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

perturb_y : bool, optional, default True

Perturb the observation vector or not

seed_y : int, optional

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

compute_reference : bool, optional, default True

Recompute the unperturbed member

aggregate_results : bool, optional, default False

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

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