Standard CIF control vector standard/std#

Description#

This plugin takes care of initializing the control vector and to compute all operations relative to the control vector.

The control vector is initialized according to the information specified in the data vector.

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 NetCDF format in addition to pickle when saving the control vector

force_adj_netcdf : bool, optional, default False

Force saving sensitivities to the adjoint as netcdf

reduced_chi : bool, optional, default False

The Chi space can be reduced by clipping the eigen vectors. Beware that it is an approximation that may save some memory and accelerate converge of variational inversions, but miss some correlation structures

save_full_B : bool, optional, default False

Force dumping the full B matrix.

Warning

Beware of the size of your problem. The full B matrix may be to big to be explicitly defined and stored

reload_xb : bool, optional, default False

Load x from a pre-defined file

perturb_xb : bool, optional, default False

Perturb xb using B

reload_file : str, optional, default “”

File from which to reload x

use_boundaries : bool, optional, default False

Define range of validity for the control variables

transform_pipe : optional

List of transformations to build the main observation operator pipeline

Argument structure:
any_key : optional

Name of a given transformation to be included. The name has no impact on the way the observation operator is computed, although it is recommended to use explicit names to help debugging.

Argument structure:
**args : optional

Arguments to set-up the given transform

Requirements#

The current plugin requires the present plugins to run properly:

Requirement name

Requirement type

Explicit definition

Any valid

Default name

Default version

domain

Domain

True

True

None

None

model

Model

True

True

None

None

datavect

DataVect

True

True

standard

std

YAML template#

Please find below a template for a YAML configuration:

 1controlvect:
 2  plugin:
 3    name: standard
 4    version: std
 5    type: controlvect
 6
 7  # Optional arguments
 8  save_out_netcdf: XXXXX  # bool
 9  force_adj_netcdf: XXXXX  # bool
10  reduced_chi: XXXXX  # bool
11  save_full_B: XXXXX  # bool
12  reload_xb: XXXXX  # bool
13  perturb_xb: XXXXX  # bool
14  reload_file: XXXXX  # str
15  use_boundaries: XXXXX  # bool
16  transform_pipe:
17    any_key:
18      **args: XXXXX  # any