code: def ccmod_xstep(k):
      
  
      YU = mp_D_Y - mp_D_U[k]
      b = mp_ZSf[k] + mp_drho * sl.rfftn(YU, None, mp_cri.axisN)
      Xf = sl.solvedbi_sm(mp_Zf[k], mp_drho, b, axis=mp_cri.axisM)
      mp_D_X[k] = sl.irfftn(Xf, mp_cri.Nv, mp_cri.axisN)
docs: Do the X step of the ccmod stage. The only parameter is the slice
      index `k` and there are no return values; all inputs and outputs are
      from and to global variables.