A non-transitory computer-readable storage medium having stored thereon a set of instructions, executable by at least one processor, for generating a phase-resolved ocean wave forecast with ensemble based data assimilation, the instructions comprising:
- (a) instructions for receiving a set of radar data corresponding to an ocean surface;
- (b) instructions for determining, based on the set of radar data, a surface elevation and a particle velocity of a portion of the ocean surface;
- (c) instructions for generating an ensemble of perturbed ocean surface data based on the surface elevation and the particle velocity, wherein said ensemble is generated by adding random noise to the surface elevation;
- (d) instructions for applying a phase-resolved nonlinear wave model to the ensemble of perturbed ocean surface data to generate a set of forecast ocean surface data;
- (e) instructions for receiving a subsequent set of radar data corresponding to the ocean surface;
- (f) instructions for determining, based on the subsequent set of radar data, a subsequent surface elevation and a subsequent particle velocity of the portion of the ocean surface;
- and
- (g) instructions for combining, by applying an ensemble Kalman filter, the set of forecast ocean surface data with the subsequent surface elevation and the subsequent particle velocity to generate a phase-resolved ocean wave forecast.