We design an autonomous soaring controller for an unpowered UAV in a nonlinear MPC framework. The UAV is controlled with the aim of extracting the maximum amount of potential/kinetic energy from the environment's updrafts. We focus on conceptual feasibility at this stage and make the realistic assumption that the UAV obtains updraft information only along the flight trajectory. The surrounding updraft distribution is then recursively estimated (online) by combining the measurements from the optimal trajectory with a heuristic search, if necessary. A variation of the standard grid search is used such that the grid spacing is altered depending on the updraft information along the UAV's flight path. Results from both standard and adaptive grid search approaches are presented. In abstract terms, this work can be viewed as finding optimal paths in uncertain vector fields.