World Meteorological Organization


  • technical analysis
  • technical project management
  • web application development

OSCAR/Space contains data on all the weather satellites that circle the earth, and for each satellite it knows which instruments are on that satellite, and what these instruments can measure: which wavelength it operates on, for example, or if it can take pictures, or measure other physical properties.

For each of these instruments it knows how accurate the measurements are that it produces, how long the instrument has been in operation, what the manufacturer and type number are, and whether or not it is still operating correctly or if it’s (partially) broken. It is basically a humongous database of all the weather satellites and all the instruments on those satellites. Additionally, there is a list of meteorological variables that are used in generating weather predictions.

Rule based expert system

One of the key functionalities of OSCAR/Space is determining which instruments are best suited for measuring a specific meteorological variable. The way this is determined is by means of a rather large rule based system that has been internally developed (and independently verified) by the senior scientific officer of the WMO Space programme. The nearly 2000 rules that resulted from that independent scientific endeavor are formulaic expressions such as

    if (
        (number of scanning channels >= 6) AND 
        (measuring frequency >= 10) AND 
        (measuring frequency < 20)
    ) OR ( 
        (number of scanning channels > 8)
        suitability(X) = 5

where X represents a meteorological variable, and the outcome of this formula (“rule”) is the suitability of an instrument for measuring that variable on a scale between 1 and 5. This rule, along with all the other ones, is calculated for each instrument in the database. There can be more than one rule for each meteorological variable. Once all rules are calculated, you know which instrument is best suited for measuring, say, the freezing level height in clouds.


The rules are entered by a free-form formula editor with auto-complete functionality (see screenshot). The resulting formula is checked for syntax and internal consistency and then parsed into an abstract syntax tree (AST). The AST is then stored in the database (as a nested set) and then evaluated for each available instrument. The answer is cached in the database to speed up any dependent functionality.

Interactive formula editor for OSCAR/Space

In this project we helped sharpen the original requirements, suggested almost everything that is written above, and implemented the backend (existing CakePHP application) and the frontend code (Javascript and CSS).


Please contact us if the above interested you and if you might have a comparable project.