class_docstr: Reader class for ICI L1B products in netCDF format.
class_docstr_tok: ["Reader","class","for","ICI","L1B","products","in","netCDF","format","."]
docstr: Perform the orthorectification.
  
  Args:
      variable: xarray DataArray containing the dataset to correct for
          orthorectification.
      orthorect_data_name: name of the orthorectification correction data
          in the product.
  
  Returns:
      DataArray: array containing the corrected values and all the
          original metadata.
code: def _orthorectify(self, variable, orthorect_data_name):
      """Perform the orthorectification.
  
      Args:
          variable: xarray DataArray containing the dataset to correct for
              orthorectification.
          orthorect_data_name: name of the orthorectification correction data
              in the product.
  
      Returns:
          DataArray: array containing the corrected values and all the
              original metadata.
  
      """
      try:
          # Convert the orthorectification delta values from meters to
          # degrees based on the simplified formula using mean Earth radius
          orthorect_data = self[orthorect_data_name]
          dim = self._get_third_dimension_name(orthorect_data)
          orthorect_data = orthorect_data.sel({dim: variable[dim]})
          variable += np.degrees(
              orthorect_data.values / MEAN_EARTH_RADIUS
          )
      except KeyError:
          logger.warning(
              "Required dataset %s for orthorectification not available, skipping",
              orthorect_data_name,
          )  # noqa: E501
      return variable
  
imports: import logging
  from datetime import datetime
  from enum import Enum
  from functools import cached_property
  import dask.array
  import numpy
  import xarray
  from geotiepoints.geointerpolator import GeoInterpolator
  from satpy.readers.netcdf_utils import NetCDF4FileHandler
label_desc: Use image node_id 21 for calling the IciL1bNCFileHandler obj's underlying member method code with example usage: obj._orthorectify(variable, orthorect_data_name) and returns: variable