FV3 Bundle
Object-Oriented Prediction System


Welcome to the documentation for the Object-Oriented Prediction System (OOPS).

OOPS consists of three layers. The top layer is written in C++, and defines a set of abstract (polymorphic) objects that are used to define the data assimilation algorithm. Below the abstract layer, we have concrete definitions for different models, also written in C++. Below this layer, is a set of Fortran routines that perform the computational, array-based tasks.

The Models

Currently, the following models are available:

  • The Lorenz 1995 (40-variable) model.
  • A two-layer quasi-geostrophic model.

Where to Start

The general design of OOPS is described in the Overview documents.

The following function implements incremental weak-constraint 4d-Var, and may be a suitable starting point for exploring the code:

  • runVariational.h

    Instructions for running the models can be found in the README file.