code: def rfft2(a, s=None, axes=(-2, -1), norm=None):
      """
      Compute the 2-dimensional FFT of a real array.
  
      Parameters
      ----------
      a : array
          Input array, taken to be real.
      s : sequence of ints, optional
          Shape of the FFT.
      axes : sequence of ints, optional
          Axes over which to compute the FFT.
      norm : {"backward", "ortho", "forward"}, optional
          .. versionadded:: 1.10.0
  
          Normalization mode (see `numpy.fft`). Default is "backward".
          Indicates which direction of the forward/backward pair of transforms
          is scaled and with what normalization factor.
  
          .. versionadded:: 1.20.0
  
              The "backward", "forward" values were added.
  
      Returns
      -------
      out : ndarray
          The result of the real 2-D FFT.
  
      See Also
      --------
      rfftn : Compute the N-dimensional discrete Fourier Transform for real
              input.
  
      Notes
      -----
      This is really just `rfftn` with different default behavior.
      For more details see `rfftn`.
  
      Examples
      --------
      >>> a = np.mgrid[:5, :5][0]
      >>> np.fft.rfft2(a)
      array([[ 50.  +0.j        ,   0.  +0.j        ,   0.  +0.j        ],
             [-12.5+17.20477401j,   0.  +0.j        ,   0.  +0.j        ],
             [-12.5 +4.0614962j ,   0.  +0.j        ,   0.  +0.j        ],
             [-12.5 -4.0614962j ,   0.  +0.j        ,   0.  +0.j        ],
             [-12.5-17.20477401j,   0.  +0.j        ,   0.  +0.j        ]])
      """
      return rfftn(a, s, axes, norm)
  
imports: import functools
  from numpy.core import asarray, zeros, swapaxes, conjugate, take, sqrt
  from .None import _pocketfft_internal
  from numpy.core.multiarray import normalize_axis_index
  from numpy.core import overrides
label_desc: Use image node_id 20 for calling a global function with example usage: rfft2(a, s, axes, norm) and returns: rfftn