Documentation to the each project is included; it is automatically generated from XML comments of classes and therefore is self-explaining.
Example of documentation can be on-line found at

As a tutorial example, simple project is included demonstrating how to download, retrieve and generate metar string. Tutorials form example is on home page of the project.

The metar decomposition is mostly build on World Meteoroligal Organization ( and its document describing how metar string is created and combined together - document is labeled as CODE FORMS and can be found on WMO pages, or via google.

However, this standard is not fully hold in whole decoding library, so there may be (and I am absolutely sure that there are) mistakes. Use Issue tracker just simply to pass METAR which should be correct and was not accepted by library.

Information about info-strings
From release 0.4 there is possibility to create "information string" from decoded metar (see Home-page examples). This feature is builded on interfaces and class implementation. In future, there will be probably mechanism supporting cultures, but at this time the whole part is hard-coded into inherited classes. It is quite simple to create own inherited class, but there is still missing documentation explaining how to create own string. So only for short:

Primary idea is the same as usage of string.Format function. There are two params, first is "pattern", second is array of values. Pattern is used the same way, e.g. 3 will use fourth parameter (zero-index based) in array of values as replacement. The meaning of values is explained in enums in class ENG.Metar.Decoder.Formatters.InfoFormatter.
Moreover, there is simple conditional mechanism. Simply {[3|blabla]} means that "blabla" is used only if fourth argumetn in array of values passes the condition. Syntax: condition is marked in characters, delimiter for value and string is | . In "blabla" string there can be used another {3} references, and also another conditions. There is also negative altenative [!3|blabla}, which means that "blabla" will be used only if fourth argument does not pass the condition. When is condition fulfiled? [3|... means take the fourth parameter from array of values. The make decision this way: If value is null, return false. If value is bool and false, return false. Otherwise return true. If !3 - negated form - is used, the result is also negated.

Last edited Nov 7, 2011 at 9:55 AM by Engin1980, version 10


No comments yet.