credit.preblock.log
===================

.. py:module:: credit.preblock.log


Classes
-------

.. autoapisummary::

   credit.preblock.log.LogTransform


Module Contents
---------------

.. py:class:: LogTransform(variables: list[str], data_types: list[str] = None, base: str = 'e', eps: float = 1e-08)

   Bases: :py:obj:`credit.preblock.base.BasePreblock`


   Applies a log transformation to specified variables in a batch dict.

   Expected dict structure:
       batch[source][data_type]['source/var_type/var_shape/var_name']

   Config example:
       type: "log_transform"
       args:
           variables:
               - 'ERA5/prognostic/3D/Q'
           data_types:     # optional, defaults to ['input', 'target']
               - 'input'
               - 'target'
           base: 'e'       # optional, default 'e'. Options: 'e', '2', '10'
           eps: 1.0e-8     # optional, default 1e-8


   .. py:attribute:: variables


   .. py:attribute:: data_types
      :value: ['input', 'target']



   .. py:attribute:: eps


   .. py:method:: forward(batch: dict) -> dict


