code: def _generate_visible_data(
      resolution: int, num_bands: int, dtype=np.uint16
  ) -> np.ndarray:
      shape = _shape_for_resolution(resolution)
      data = np.ones((num_bands, shape[0], shape[1]), dtype=dtype)
  
      # add fill value to every band
      data[:, -1, -1] = 65535
  
      # add band 2 saturation and can't aggregate fill values
      data[1, -1, -2] = 65533
      data[1, -1, -3] = 65528
      return data
  
imports: from __future__ import annotations
  from datetime import datetime, timedelta
  from typing import Optional
  import numpy
  import pytest
  from pyhdf.SD import SD, SDC
label_desc: Use image node_id 4 for calling a global function with example usage: _generate_visible_data(resolution, num_bands, dtype) and returns: data