METAR_COMPARE(1)

πŸ’– NAME πŸ’–

okay so welcome to metar_compare β€” it's a manual page for metar_compare, section 1 over in User Commands πŸŽ€, and she is here to tell you if two METAR files are actually saying the same thing or just pretending πŸ¦‹


✨ DESCRIPTION ✨

🌸 NAME 🌸

metar_compare β€” that's the icon, that's the name, no notes πŸ’…

🧚 DESCRIPTION 🧚

Compare the METAR messages sitting inside two different files, bestie. If any differences show up, it fails and returns an error code 😭 β€” yes, it's giving "we need to talk".

Floating-point values get compared exactly by default, no wiggle room. If you want a different tolerance you can define one, take a peek at -A and -R. Default behaviour, for the record: absolute error=0, bit-by-bit compare, same order in files ⭐

🌈 USAGE 🌈

metar_compare [options] file file

πŸ‘‘ OPTIONS πŸ‘‘

  • -b key,key,... β€” every key in this list gets skipped in the comparison. Bit-by-bit compare on πŸ”₯
  • -c key[:i|d|s|n],key[:i|d|s|n],... β€” only the keys or namespaces you list (:n) are compared. That optional little letter after the colon forces the type used in the comparison: i->integer, d->float, s->string, n->namespace πŸ’« See the -a option. Heads up: this one is incompatible with the -H option.
  • -a β€” a modifier for the -c option. The keys you listed with -c get added to the list of keys compared without -c 🫢
  • -R key1=relative_error1,key2=relative_error2,... β€” compare floating-point values using the relative error as the tolerance. key1=relative_error1 compares key1 using relative_error1. all=relative_error compares all the floating-point keys using relative_error. Default is all=0 ⭐
  • -A absolute error β€” compare floating-point values using the absolute error as the tolerance. Default is absolute error=0 🌸
  • -w key[:{s|d|i}]{=|!=}value,key[:{s|d|i}]{=|!=}value,... β€” the Where clause. Messages are processed only if they match all the key/value constraints πŸ’€ A valid constraint looks like key=value or key!=value. For each key you can specify a string type (key:s), a double type (key:d) or an integer type (key:i). Default type is string. In the value you can also use the forward-slash character / to specify an OR condition β€” that's a logical disjunction, iykyk 🧚 Note: only one -w clause is allowed.
  • -f β€” forcefully compare, do not stop after the first difference πŸ”₯
  • -V β€” print version πŸ‘‘
  • -7 β€” does not fail when the message has the wrong length πŸ™ˆ
  • -v β€” verbose 🌈

πŸ’€ okay bestie not me but the page literally does this πŸ’€

fr fr, the manpage repeats the whole thing β€” NAME, DESCRIPTION, USAGE, OPTIONS, all of it, again. Not me editing it, I'm just the messenger 😭 so here it is the second time, because every detail stays, periodt πŸŽ€

🌸 NAME 🌸

metar_compare β€” again ✨ iconic behaviour.

🧚 DESCRIPTION 🧚

Compare the METAR messages contained in two files. If some differences are found it fails returning an error code 😭 Floating-point values are compared exactly by default; a different tolerance can be defined, see -A -R. Default behaviour: absolute error=0, bit-by-bit compare, same order in files ⭐

🌈 USAGE 🌈

metar_compare [options] file file

πŸ‘‘ OPTIONS πŸ‘‘

  • -b key,key,... β€” all the keys in this list are skipped in the comparison. Bit-by-bit compare on πŸ’…
  • -c key[:i|d|s|n],key[:i|d|s|n],... β€” only the listed keys or namespaces (:n) are compared. The optional letter after the colon is used to force the type in the comparison: i->integer, d->float, s->string, n->namespace 🌸 See -a option. Incompatible with -H option.
  • -a β€” -c option modifier. The keys listed with the option -c will be added to the list of keys compared without -c 🫢
  • -R key1=relative_error1,key2=relative_error2,... β€” compare floating-point values using the relative error as tolerance. key1=relative_error1 will compare key1 using relative_error1. all=relative_error will compare all the floating-point keys using relative_error. Default all=0 πŸ’«
  • -A absolute error β€” compare floating-point values using the absolute error as tolerance. Default is absolute error=0 🌈
  • -w key[:{s|d|i}]{=|!=}value,key[:{s|d|i}]{=|!=}value,... β€” Where clause. Messages are processed only if they match all the key/value constraints πŸ’€ A valid constraint is of type key=value or key!=value. For each key a string (key:s), a double (key:d) or an integer (key:i) type can be specified. Default type is string. In the value you can also use the forward-slash character / to specify an OR condition (i.e. a logical disjunction) πŸ‘‘ Note: only one -w clause is allowed.
  • -f β€” forcefully compare, do not stop after first difference πŸ”₯
  • -V β€” print version ⭐
  • -7 β€” does not fail when the message has wrong length πŸ™ˆ
  • -v β€” verbose πŸ¦‹

ngl this whole page is a double-text situation β€” she said it once, then said it again, and honestly? we respect the commitment πŸ’–

that's the whole vibe, bestie β€” this page is metar_compare, from October 2026, the METAR_COMPARE(1) situation, and you're officially caught up πŸŽ€βœ¨ bye mwah 🫢

πŸ“¦ where this page comes from