Language for new Observation Operator

I noticed some interesting verbiage in the documentation regarding writing new Observation Operators:

The new observation operator has to have a C++ interface, because all observation operators have to be accessed by a generic data assimilation layer written in C++ in oops. Most of the observation operators, however, are written in Fortran.

Link here

Is it desirable for us to write the operators themselves in Fortran and simply create a C++ interface, or is it acceptable to write them in C++ instead of Fortran?

It is acceptable to write observation operators in C++ (and it is more straightforward to do so); there are quite a few in UFO that are written in C++. The verbiage in the documentation can indeed look misleading; thank you for pointing this out. We will update it to specify that observation operators can be written in C++ or Fortran. The tool referenced on that documentation page is only relevant and useful for the new observation operators written in Fortran.