code: def _get_geo_data(num_scans, rows_per_scan, num_cols, prefix):
      geo = {
          prefix
          + "Longitude": xr.DataArray(
              da.ones(
                  (num_scans * rows_per_scan, num_cols), chunks=1024
              ),
              attrs={
                  "Slope": np.array([1.0] * 1),
                  "Intercept": np.array([0.0] * 1),
                  "units": "degree",
                  "valid_range": [-90, 90],
              },
              dims=("_rows", "_cols"),
          ),
          prefix
          + "Latitude": xr.DataArray(
              da.ones(
                  (num_scans * rows_per_scan, num_cols), chunks=1024
              ),
              attrs={
                  "Slope": np.array([1.0] * 1),
                  "Intercept": np.array([0.0] * 1),
                  "units": "degree",
                  "valid_range": [-180, 180],
              },
              dims=("_rows", "_cols"),
          ),
          prefix
          + "SensorZenith": xr.DataArray(
              da.ones(
                  (num_scans * rows_per_scan, num_cols), chunks=1024
              ),
              attrs={
                  "Slope": np.array([0.01] * 1),
                  "Intercept": np.array([0.0] * 1),
                  "units": "degree",
                  "valid_range": [0, 28000],
              },
              dims=("_rows", "_cols"),
          ),
      }
      return geo
  
imports: import os
  from unittest import mock
  import dask.array
  import numpy
  import pytest
  import xarray
  from satpy.tests.reader_tests.test_hdf5_utils import FakeHDF5FileHandler
label_desc: Use image node_id 5 for calling a global function with example usage: _get_geo_data(num_scans, rows_per_scan, num_cols, prefix) and returns: geo