code: def _split_wrapped_mesh_data(C, mask):
      """
      Helper function for splitting GeoQuadMesh array values between the
      pcolormesh and pcolor objects when wrapping.  Apply a mask to the grid
      cells that should not be plotted with each method.
  
      """
      # The original data mask (regardless of wrapped cells)
      C_mask = getattr(C, "mask", None)
      if C.ndim == 3:
          # RGB(A) array.
          if not _MPL_38:
              raise ValueError(
                  "GeoQuadMesh wrapping for RGB(A) requires "
                  "Matplotlib v3.8 or later"
              )
  
          # mask will need an extra trailing dimension
          mask = np.broadcast_to(mask[..., np.newaxis], C.shape)
  
      # create the masked array to be used with pcolormesh
      full_mask = mask if C_mask is None else mask | C_mask
      pcolormesh_data = ma.array(C, mask=full_mask)
  
      # create the masked array to be used with pcolor
      full_mask = ~mask if C_mask is None else ~mask | C_mask
      pcolor_data = ma.array(C, mask=full_mask)
  
      return pcolormesh_data, pcolor_data, ~mask
  
file_path: cartopy/lib/cartopy/mpl/geocollection.py
imports: from matplotlib.collections import QuadMesh
  import numpy
  import numpy.ma
  from cartopy.mpl import _MPL_38
label_desc: Use image node_id 1 for calling a global function with example usage: _split_wrapped_mesh_data(C, mask) and returns: pcolormesh_data,  pcolor_data,  unknown