class_docstr: NWCSAF PPS&MSG NetCDF reader.
docstr: Init method.
docstr_tok: ["Init","method","."]
code: def __init__(self, filename, filename_info, filetype_info):
      """Init method."""
      super(NcNWCSAF, self).__init__(
          filename, filename_info, filetype_info
      )
  
      self._unzipped = unzip_file(self.filename)
      if self._unzipped:
          self.filename = self._unzipped
  
      self.cache = {}
      self.nc = xr.open_dataset(
          self.filename,
          decode_cf=True,
          mask_and_scale=False,
          chunks=CHUNK_SIZE,
      )
  
      self.nc = self.nc.rename({"nx": "x", "ny": "y"})
      self.sw_version = self.nc.attrs["source"]
  
      self.pps = False
      self.platform_name = None
      self.sensor = None
      self.file_key_prefix = filetype_info.get("file_key_prefix", "")
  
      try:
          # NWCSAF/Geo:
          try:
              kwrgs = {"sat_id": self.nc.attrs["satellite_identifier"]}
          except KeyError:
              kwrgs = {
                  "sat_id": self.nc.attrs[
                      "satellite_identifier"
                  ].astype(str)
              }
      except KeyError:
          # NWCSAF/PPS:
          kwrgs = {"platform_name": self.nc.attrs["platform"]}
  
      self.set_platform_and_sensor(**kwrgs)
  
      self.upsample_geolocation = functools.lru_cache(maxsize=1)(
          self._upsample_geolocation_uncached
      )
  
imports: import functools
  import logging
  import os
  from contextlib import suppress
  from datetime import datetime
  import dask.array
  import numpy
  import xarray
  from pyproj import CRS
  from pyresample.geometry import AreaDefinition
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.readers.utils import unzip_file
  from satpy.utils import get_chunk_size_limit
label_desc: Use image node_id 1 to create a new NcNWCSAF object from inherited base classes: BaseFileHandler with example: obj = NcNWCSAF(filename, filename_info, filetype_info)