jacobianSetFuncTransformation

Workspace.jacobianSetFuncTransformation(self: pyarts.arts._Workspace, jacobian_quantities: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.ArrayOfRetrievalQuantity]] = self.jacobian_quantities, transformation_func: Union[pyarts.arts.WorkspaceVariable, pyarts.arts.String], z_min: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Numeric]] = 0, z_max: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Numeric]] = -99e99, verbosity: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Verbosity]] = self.verbosity) None

Sets the functional transformation of the last element of jacobian_quantities.

See below for a general description of how retrieval transformations are defined. Transformations are not applied by methods such as yCalc(). Instead, the method jacobianAdjustAndTransform() must be called to activate the transformations.

The following transformations can be selected (by transformation_func):

  • "log": The natural logarithm

  • "log10": The base-10 logarithm

  • "atanh": Area hyperbolic tangent

  • "none": No transformation at all

This method needs only to be called if a functional transformation is wanted. Default is to make no such tranformation at all (i.e. the option “none” exists only for reasons of flexibility).

The log-options are applied as log(z-z_min) and log10(z-z_min). The default for z_min is zero, but by changing it the lower limit for z can be changed. Note that z_min becomes the lower limit for allowed values of z. The GIN z_max is here ignored.

For the atanh-option, also z_max is considered. This transformation is applied as atanh((2(z-z_min)/(z_max-z_min))-1). As above,``z_min`` is lower limit for allowed values of z. On the other hand, z_max eines the upper limit for z.

The GIN transformation_func is so far only used for atanh. The parameter specifies the maximum allowed value allowed for u. That is, the valid range for u becomes ]0,tfunc_parameter[. Note that log and log10 demands/ensures that u > 0, but implies no upper limit.

General handling of retrieval units and transformations: — Default is that quantities are retrieved as defined in ARTS, but both some unit conversion and transformations are provided. These operations are applied as:

x = A * ( f(u(z)) - b )

where

  • z is the quantity as defined ARTS

  • u represents the change of unit

  • f is the transformation function

  • A and b define together an affine transformation

  • x is the retrieved quantity

For example, this systen allows to retrive a principal component representation (A and b) of the log (f) of relative humidity (u).

Change of unit is selected by the quantity specific jacobian-add methods (so far only at hand for gas species).

Activating a transformation function is done by this method. Note that the functions are defined as the transformation from z to x. For more details on affine transformations, see jacobianSetAffineTransformation().

Author(s): Patrick Eriksson, Simon Pfreundschuh

Parameters:
  • jacobian_quantities (ArrayOfRetrievalQuantity, optional) – The retrieval quantities in the Jacobian matrix. See jacobian_quantities, defaults to self.jacobian_quantities [INOUT]

  • transformation_func (String) – The transformation function. [IN]

  • z_min (Numeric, optional) – Lower limit of z. Defaults to 0 [IN]

  • z_max (Numeric, optional) – Upper limit of z. Defaults to -99e99 [IN]

  • verbosity (Verbosity) – ARTS verbosity. See verbosity, defaults to self.verbosity [IN]