code: def l2_le_schema(settings=None):
      """Define schema for LI L2 LE product."""
      settings = settings or {}
      nobs = settings.get("num_obs", 123)
      nchunks = settings.get("num_chunks", 23)
      nfilters = settings.get("num_filters", 2)
  
      def rand_u16(num):
          return np.random.randint(
              low=0,
              high=np.iinfo(np.uint16).max - 1,
              size=num,
              dtype=np.uint16,
          )
  
      return {
          "providers": settings.get("providers", {}),
          "variable_path": settings.get("variable_path", "data/"),
          "dimensions": {
              "unfiltered_events": nobs,
              "l1b_chunks": nchunks,
              "l1b_offsets": nchunks,
              "filters": nfilters,
              "scalar": 1,
          },
          "variables": {},
          "sector_variables": {
              "event_id": {
                  "format": "u2",
                  "shape": ("unfiltered_events",),
                  "fill_value": 65535,
                  "long_name": "ID of LI L2 Event",
                  "default_data": lambda: rand_u16(nobs),
              },
              "group_id": {
                  "format": "u2",
                  "shape": ("unfiltered_events",),
                  "fill_value": 65535,
                  "long_name": "ID of associated LI L2 Group object",
                  "default_data": lambda: rand_u16(nobs),
              },
              "l1b_chunk_ids": {
                  "format": "u4",
                  "shape": ("l1b_chunks",),
                  "fill_value": 4294967295,
                  "long_name": "Array of L1b event chunk IDs",
                  "default_data": lambda: np.arange(nchunks) + 10000,
              },
              "l1b_chunk_offsets": {
                  "format": "u4",
                  "shape": ("l1b_offsets",),
                  "fill_value": 4294967295,
                  "long_name": "Array offset for L1b event chunk boundaries",
                  "default_data": lambda: np.arange(nchunks),
              },
              "l1b_window": {
                  "format": "u4",
                  "shape": ("unfiltered_events",),
                  "fill_value": 4294967295,
                  "long_name": "window index of associated L1b event",
                  "default_data": lambda: (np.arange(nobs) + 10000),
              },
              "filter_values": {
                  "format": "u1",
                  "shape": (
                      "unfiltered_events",
                      "filters",
                  ),
                  "fill_value": 255,
                  "scale_factor": 0.004,
                  "add_offset": 0.0,
                  "long_name": "L2 filter results",
                  "default_data": lambda: np.random.randint(
                      low=0,
                      high=255,
                      size=(nobs, nfilters),
                      dtype=np.uint8,
                  ),
              },
              "epoch_time": {
                  "format": "f8",
                  "shape": ("scalar",),
                  "fill_value": 9.96920996886869e36,
                  "long_name": "Start time of integration frame",
                  "default_data": lambda: 1.234,
                  "precision": "1 millisecond",
                  "time_standard": "UTC",
                  "standard_name": "time",
                  "units": "seconds since 2000-01-01 00:00:00.0",
              },
              "time_offset": {
                  "format": "f4",
                  "shape": ("unfiltered_events",),
                  "fill_value": 9.96921e36,
                  "long_name": "Time offset from epoch time",
                  "default_data": lambda: np.linspace(
                      0.0, 1000.0, nobs
                  ),
                  "units": "seconds",
              },
          },
      }
  
imports: from datetime import datetime
  import numpy
  import xarray
  from satpy.tests.reader_tests.test_netcdf_utils import FakeNetCDF4FileHandler
label_desc: Use image node_id 1 for calling a global function with example usage: l2_le_schema(settings) and returns: dict, np