class_docstr: Reader class for FCI L2 products in NetCDF4 format.
class_docstr_tok: ["Reader","class","for","FCI","L2","products","in","NetCDF4","format","."]
docstr: Sum the cloud optical thickness from the two OCA layers.
  
  The optical thickness has to be transformed to linear space before adding the values from the two layers. The
  combined/total optical thickness is then transformed back to logarithmic space.
docstr_tok: ["Sum","the","cloud","optical","thickness","from","the","two","OCA","layers",".","The","optical","thickness","has","to","be","transformed","to","linear","space","before","adding","the","values","from","the","two","layers",".","The","combined\/total","optical","thickness","is","then","transformed","back","to","logarithmic","space","."]
code: def get_total_cot(variable):
      """Sum the cloud optical thickness from the two OCA layers.
  
      The optical thickness has to be transformed to linear space before adding the values from the two layers. The
      combined/total optical thickness is then transformed back to logarithmic space.
      """
      attrs = variable.attrs
      variable = 10**variable
      variable = variable.fillna(0.0)
      variable = variable.sum(
          dim="maximum_number_of_layers", keep_attrs=True
      )
      variable = variable.where(variable != 0.0, np.nan)
      variable = np.log10(variable)
      variable.attrs = attrs
  
      return variable
  
imports: import logging
  from contextlib import suppress
  import numpy
  import xarray
  from pyresample import geometry
  from satpy._compat import cached_property
  from satpy.readers._geos_area import get_geos_area_naming, make_ext
  from satpy.readers.eum_base import get_service_mode
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.resample import get_area_def
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 8 for calling the FciL2NCFileHandler obj's underlying member method code with example usage: obj.get_total_cot(variable) and returns: variable