code: def _check_required_common_attributes(ds):
      """Check common properties of the created AWIPS tiles for validity."""
      for attr_name in (
          "tile_row_offset",
          "tile_column_offset",
          "product_tile_height",
          "product_tile_width",
          "number_product_tiles",
          "product_rows",
          "product_columns",
      ):
          assert attr_name in ds.attrs
      _check_production_location(ds)
  
      for data_arr in ds.data_vars.values():
          if data_arr.ndim == 0:
              # grid mapping variable
              assert "grid_mapping_name" in data_arr.attrs
              continue
          assert data_arr.encoding.get("zlib", False)
          assert "grid_mapping" in data_arr.attrs
          assert data_arr.attrs["grid_mapping"] in ds
          assert "units" in data_arr.attrs
          if data_arr.name != "DQF":
              assert data_arr.dtype == np.int16
              assert data_arr.attrs["_Unsigned"] == "true"
  
imports: import logging
  import os
  import shutil
  from datetime import datetime, timedelta
  from glob import glob
  import dask
  import dask.array
  import numpy
  import pytest
  import xarray
  from pyproj import CRS
  from satpy.resample import update_resampled_coords
label_desc: Use image node_id 3 for calling a global function with example usage: _check_required_common_attributes(ds) without return types