exponential exp/std#
Description#
exp transform: element-wise exponential of a tracer field.
Computes \(y = e^x\) for each grid cell of the input tracer.
This transform is typically used when the control vector is optimised in log-space to enforce positivity (e.g. for emission fluxes), so that the physical field is the exponential of the optimised variable: \(x_{phys} = e^{x_{ctrl}}\).
Adjoint: \(s_{ctrl} = s_{phys} \cdot e^{x_{ctrl}}\) (product of the output sensitivity and the forward value, reloaded from disk).
The forward input is saved to chain/product/ inside the run
sub-directory so the adjoint can reload it without re-running the forward.
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#
- parameter : str, mandatory
Tracer of the input tracers of which exponential is taken
- component : str, mandatory
Component of the input tracers of which exponential is taken
Optional arguments#
- orig_parameter_plg : Plugin, optional
Plugin object on which the transform works on
- orig_component_plg : Plugin, optional
Corresponding component object on which the transform works on
- successor : str, optional
Name of the successor transform
- precursor : str, optional
Name of the precursor transform
Requirements#
The current plugin requires the present plugins to run properly:
Requirement name |
Requirement type |
Explicit definition |
Any valid |
Default name |
Default version |
|---|---|---|---|---|---|
model |
False |
True |
None |
None |
YAML template#
Please find below a template for a YAML configuration:
1transform:
2 plugin:
3 name: exp
4 version: std
5 type: transform
6
7 # Mandatory arguments
8 parameter: XXXXX # str
9 component: XXXXX # str
10
11 # Optional arguments
12 orig_parameter_plg: XXXXX # Plugin
13 orig_component_plg: XXXXX # Plugin
14 successor: XXXXX # str
15 precursor: XXXXX # str
See also