BUFR_COMPARE(1)
π NAME π
okay bestie, so this is bufr_compare β the manual page for bufr_compare. she lives in User Commands, section 1, and she is so good at her job π
β¨ DESCRIPTION β¨
first things first, the β¨NAMEβ¨ of it all:
bufr_compare
...and now the actual β¨DESCRIPTIONβ¨:
So picture this: you've got BUFR messages sitting in two different files, and you need to know if they're the same. That's her. She compares them. And if she finds differences? She fails and returns an error code β no pretending everything's cute π
Floating-point values get compared exactly by default. But if you wanna loosen the vibe, you can define different tolerances (peep -A and -R for that π«Ά).
Default behaviour, write it on your hand: absolute error=0, bit-by-bit compare, same order in files. That's the baseline, periodt πΈ
π¦ USAGE π¦
bufr_compare [options] bufr_file1 bufr_file2
π OPTIONS π
-b key,key,...β every key in this list gets skipped in the comparison. Bit-by-bit compare on.-dβ writes the different messages out on files.-2β enables two-way comparison (both directions, she's thorough like that π).-c key[:i|d|s|n],key[:i|d|s|n],...β only the listed keys or namespaces (:n) are compared. That optional letter after the colon forces the type in the comparison:i->integer,d->float,s->string,n->namespace. See the-aoption. Incompatible with-Hβ those two are not friends, do not invite them to the same party.-S startβ first field to be processed.-E endβ last field to be processed.-aβ a-cmodifier. The keys listed with-cget added to the list of keys compared without-c.-Hβ compares only message headers. Bit-by-bit compare on. Incompatible with-c.-R key1=relative_error1,key2=relative_error2,...β compares floating-point values using the relative error as tolerance.key1=relative_error1compareskey1usingrelative_error1.all=relative_errorcompares all the floating-point keys usingrelative_error. Default isall=0.-A absolute errorβ compares floating-point values using the absolute error as tolerance. Default is absolute error=0.-t factorβ compares data values usingfactormultiplied by the tolerance you specified in-Rand-A.-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 iskey=valueorkey!=value. For each key you can specify a string (key:s), a double (key:d) or an integer (key:i) type. 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. one. single. clause. π
-fβ forcefully compare, do not stop after the first difference.-Vβ print version.-7β does not fail when the message has wrong length.-vβ verbose.-hβ display this help text and exit.
π₯ SEE ALSO π₯
Full documentation and examples at:
https://confluence.ecmwf.int/display/ECC/bufr_compare
okay so. story time π this manpage is that girl and she said the whole thing twice. same sections, same order, zero shame. so here's the encore, bestie β nothing skipped, nothing summarised π
πΈ NAME πΈ
bufr_compare
πΈ DESCRIPTION πΈ
Compare the BUFR messages contained in two files. If some differences are found, it fails and returns an error code. Floating-point values are compared exactly by default, and different tolerances can be defined (see -A and -R). Default behaviour: absolute error=0, bit-by-bit compare, same order in files.
πΈ USAGE πΈ
bufr_compare [options] bufr_file1 bufr_file2
πΈ OPTIONS πΈ
-b key,key,...β all the keys in this list are skipped in the comparison. Bit-by-bit compare on.-dβ write different messages on files.-2β enable two-way comparison.-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 the-aoption. Incompatible with the-Hoption.-S startβ first field to be processed.-E endβ last field to be processed.-aβ-coption modifier. The keys listed with the option-cwill be added to the list of keys compared without-c.-Hβ compare only message headers. Bit-by-bit compare on. Incompatible with the-coption.-R key1=relative_error1,key2=relative_error2,...β compare floating-point values using the relative error as tolerance.key1=relative_error1will comparekey1usingrelative_error1.all=relative_errorwill compare all the floating-point keys usingrelative_error. Defaultall=0.-A absolute errorβ compare floating-point values using the absolute error as tolerance. Default is absolute error=0.-t factorβ compare data values usingfactormultiplied by the tolerance specified in options-R-A.-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 typekey=valueorkey!=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.-hβ display this help text and exit.
πΈ SEE ALSO πΈ
Full documentation and examples at:
https://confluence.ecmwf.int/display/ECC/bufr_compare
and that's the whole page, bestie, we made it π«Ά source and version is just her name, bufr_compare, dated October 2026, filed under manual page BUFR_COMPARE(1). iconic. no notes. byeee πβ¨
π¦ where this page comes from
- fedora 44: eccodes 2.50.0-1.fc44 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms