code: def pad_data_vertically(data, final_size, south_bound, north_bound):
      """Pad the data given south and north bounds and the desired size."""
      ncols = final_size[1]
      if north_bound - south_bound != data.shape[0] - 1:
          raise IndexError(
              "South and north bounds do not match data shape"
          )
  
      padding_south = get_padding_area(
          (south_bound - 1, ncols), data.dtype
      )
      padding_north = get_padding_area(
          ((final_size[0] - north_bound), ncols), data.dtype
      )
  
      return np.vstack((padding_south, data, padding_north))
  
imports: from __future__ import annotations
  import warnings
  from datetime import datetime, timedelta
  import dask.array
  import numpy
  import pyproj
  from numpy.polynomial.chebyshev import Chebyshev
  from satpy.readers.eum_base import issue_revision, time_cds_short
  from satpy.readers.utils import apply_earthsun_distance_correction
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 13 for calling a global function with example usage: pad_data_vertically(data, final_size, south_bound, north_bound) and returns: np