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 metadata.
code: def get_metadata(self):
      """Get metadata."""
      # Obtain some area definition attributes
      equatorial_radius = self.nc.attrs["equatorial_radius"] * 1000.0
      polar_radius = (
          self.nc.attrs["north_polar_radius"] * 1000
          + self.nc.attrs["south_polar_radius"] * 1000
      ) * 0.5
      ssp_lon = self.nc.attrs["longitude_of_SSP"]
      self.mda["vis_ir_grid_origin"] = self.nc.attrs[
          "vis_ir_grid_origin"
      ]
      self.mda["vis_ir_column_dir_grid_step"] = (
          self.nc.attrs["vis_ir_column_dir_grid_step"] * 1000.0
      )
      self.mda["vis_ir_line_dir_grid_step"] = (
          self.nc.attrs["vis_ir_line_dir_grid_step"] * 1000.0
      )
      # if FSFile is used h5netcdf engine is used which outputs arrays instead of floats for attributes
      if isinstance(equatorial_radius, np.ndarray):
          equatorial_radius = equatorial_radius.item()
          polar_radius = polar_radius.item()
          ssp_lon = ssp_lon.item()
          self.mda["vis_ir_column_dir_grid_step"] = self.mda[
              "vis_ir_column_dir_grid_step"
          ].item()
          self.mda["vis_ir_line_dir_grid_step"] = self.mda[
              "vis_ir_line_dir_grid_step"
          ].item()
  
      self.mda["projection_parameters"] = {
          "a": equatorial_radius,
          "b": polar_radius,
          "h": 35785831.00,
          "ssp_longitude": ssp_lon,
      }
  
      self.mda["number_of_lines"] = int(self.nc.sizes["y"])
      self.mda["number_of_columns"] = int(self.nc.sizes["x"])
  
      # only needed for HRV channel which is not implemented yet
      # self.mda['hrv_number_of_lines'] = int(self.nc.dims['num_rows_hrv'])
      # self.mda['hrv_number_of_columns'] = int(self.nc.dims['num_columns_hrv'])
  
      self.deltaSt = self.reference + datetime.timedelta(
          days=int(self.nc.attrs["true_repeat_cycle_start_day"]),
          milliseconds=int(
              self.nc.attrs["true_repeat_cycle_start_mi_sec"]
          ),
      )
  
      self.deltaEnd = self.reference + datetime.timedelta(
          days=int(self.nc.attrs["planned_repeat_cycle_end_day"]),
          milliseconds=int(
              self.nc.attrs["planned_repeat_cycle_end_mi_sec"]
          ),
      )
  
      self.north = int(self.nc.attrs["north_most_line"])
      self.east = int(self.nc.attrs["east_most_pixel"])
      self.west = int(self.nc.attrs["west_most_pixel"])
      self.south = int(self.nc.attrs["south_most_line"])
      self.platform_id = int(self.nc.attrs["satellite_id"])
  
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 10 for calling the NCSEVIRIFileHandler obj's underlying member method code with example usage: obj.get_metadata() without return types