test = np.fft.ifft(U)

    from windspharm.standard import VectorWind
    from windspharm.tools import prep_data, recover_data, order_latdim

    uwnd, uwnd_info = prep_data(u_n[4:-4, 4:-4], 'xyp')

    vwnd, vwnd_info = prep_data(v_n[4:-4, 4:-4], 'xyp')

    lats, uwnd, vwnd = order_latdim(phi, uwnd, vwnd)
    w = VectorWind(uwnd, vwnd)
    sf, vp = w.sfvp()
    sf = recover_data(sf, uwnd_info)
    vp = recover_data(vp, vwnd_info)
    uchi, vchi, upsi, vpsi = w.helmholtz()
    uchi = recover_data(uchi, uwnd_info)
    vchi = recover_data(vchi, uwnd_info)
    upsi = recover_data(upsi, uwnd_info)
    vpsi = recover_data(vpsi, uwnd_info)

    s = w.s
    #convert vort + div from A-grid model to u,v using Spharm
    vrt, vrt_info = prep_data(vort_n[4:-4, 4:-4], 'xyp')
    div, div_info = prep_data(div_n[4:-4, 4:-4], 'xyp')

    lats, vrt, div = order_latdim(phi, vrt, div)
    vrtspec = s.grdtospec(vrt)
    divspec = s.grdtospec(div)
    ugrid, vgrid = s.getuv(vrtspec, divspec)
    ugrid = recover_data(ugrid, vrt_info)