class_docstr: File handler for NC seviri files.
  
  **Calibration**
  
  See :mod:`satpy.readers.seviri_base`. Note that there is only one set of
  calibration coefficients available in the netCDF files and therefore there
  is no `calib_mode` argument.
  
  **Metadata**
  
  See :mod:`satpy.readers.seviri_base`.
docstr: Get the area extent.
code: def get_area_extent(self, dsid):
      """Get the area extent."""
      # following calculations assume grid origin is south-east corner
      # section 7.2.4 of MSG Level 1.5 Image Data Format Description
      origins = {0: "NW", 1: "SW", 2: "SE", 3: "NE"}
      grid_origin = self.mda["vis_ir_grid_origin"]
      grid_origin = int(grid_origin, 16)
      if grid_origin != 2:
          raise NotImplementedError(
              "Grid origin not supported number: {}, {} corner".format(
                  grid_origin, origins[grid_origin]
              )
          )
  
      center_point = 3712 / 2
  
      column_step = self.mda["vis_ir_column_dir_grid_step"]
  
      line_step = self.mda["vis_ir_line_dir_grid_step"]
  
      # check for Earth model as this affects the north-south and
      # west-east offsets
      # section 3.1.4.2 of MSG Level 1.5 Image Data Format Description
      earth_model = self._get_earth_model()
      if earth_model == 2:
          ns_offset = 0  # north +ve
          we_offset = 0  # west +ve
      elif earth_model == 1:
          ns_offset = -0.5  # north +ve
          we_offset = 0.5  # west +ve
      else:
          raise NotImplementedError(
              "unrecognised earth model: {}".format(earth_model)
          )
      # section 3.1.5 of MSG Level 1.5 Image Data Format Description
      ll_c = (center_point - self.west - 0.5 + we_offset) * column_step
      ll_l = (self.south - center_point - 0.5 + ns_offset) * line_step
      ur_c = (center_point - self.east + 0.5 + we_offset) * column_step
      ur_l = (self.north - center_point + 0.5 + ns_offset) * line_step
      area_extent = (ll_c, ll_l, ur_c, ur_l)
  
      return area_extent
  
imports: import datetime
  import logging
  from datetime import timedelta
  import numpy
  from satpy._compat import cached_property
  from satpy.readers._geos_area import get_area_definition, get_geos_area_naming
  from satpy.readers.eum_base import get_service_mode
  from satpy.readers.file_handlers import BaseFileHandler, open_dataset
  from satpy.readers.seviri_base import CHANNEL_NAMES, SATNUM, NoValidOrbitParams, OrbitPolynomialFinder, SEVIRICalibrationHandler, add_scanline_acq_time, get_cds_time, get_satpos, mask_bad_quality, round_nom_time
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 17 for calling the NCSEVIRIFileHandler obj's underlying member method code with example usage: obj.get_area_extent(dsid) and returns: area_extent