code: def _get_projection(self):
          
          try:
              proj_str = self.nc.attrs['gdal_projection']
          except TypeError:
              proj_str = self.nc.attrs['gdal_projection'].decode()
  
          # Check the a/b/h units
          radius_a = proj_str.split('+a=')[-1].split()[0]
          if float(radius_a) > 10e3:
              units = 'm'
              scale = 1.0
          else:
              units = 'km'
              scale = 1e3
  
          if 'units' not in proj_str:
              proj_str = proj_str + ' +units=' + units
  
          area_extent = (float(self.nc.attrs['gdal_xgeo_up_left']) / scale,
                         float(self.nc.attrs['gdal_ygeo_low_right']) / scale,
                         float(self.nc.attrs['gdal_xgeo_low_right']) / scale,
                         float(self.nc.attrs['gdal_ygeo_up_left']) / scale)
  
          return proj_str, area_extent
docs: Get projection from the NetCDF4 attributes