In the first part of the thesis we consider data assimilation. We consider the nudging data assimilation algorithm applied to the 3D Navier-Stokes equations and we derive conditions, based entirely on the observations, that guarantee the global well-posedness, the regularity, and the tracking property of the nudging solution. Next we consider the nudging data assimilation algorithm applied to the 2D Navier-Stokes equations. We allow for random uncertainty in the model and we allow the observations to be contaminated with unbounded Gaussian error. We then do a computational study that compares the nudging and ensemble Kalman filter. Finally we consider the nudging algorithm applied to a planetary geostrophic viscous model for oceanic and atmosphere dynamics. In the second part of the thesis we study stochastic partial differential equations. We study the 2D stochastic Navier-Stokes equations with random viscosity. This is done with stochastic finite element discretizations and generalized polynomial chaos. Finally we study the linear stability of solutions to the 2D stochastic Navier-Stokes equations with random viscosity