BUFR_SET(1)

🌸 NAME 🌸

bufr_set β€” the manual page for bufr_set, living in section 1 (User Commands) of your friendly neighbourhood manual. That's it, that's the name. ✨


πŸ’– DESCRIPTION πŸ’–

okay bestie, gather round, because this one's actually so useful. 🫢

bufr_set sets key/value pairs in the input BUFR file(s) and writes each message out to the output_bufr_file. And it's a bit of a perfectionist β€” it fails when an error occurs (like, say, a key not found). No silent sloppy behaviour, we don't know her. 😭

yes, the original page literally prints this whole thing twice. consider this the single-serve version β€” same facts, half the scroll. πŸ’…

πŸ¦‹ USAGE πŸ¦‹

bufr_set [options] bufr_file bufr_file ... output_bufr_file

πŸ’… OPTIONS πŸ’…

  • -s key[:{s|d|i}]=value,key[:{s|d|i}]=value,... β€” the keys and values you wanna set. For every key you can declare a type: string (key:s), double (key:d) or integer (key:i). If you don't say anything, the native type gets set by default. no notes. πŸ’–
  • -p key[:{s|d|i}],key[:{s|d|i}],... β€” declaring the keys you want to print. Again, per key you can ask for string (key:s), double (key:d) or integer (key:i). Default type here is string. πŸŽ€
  • -P key[:{s|d|i}],key[:{s|d|i}],... β€” literally the same as -p, except it adds the declared keys to the default list instead of replacing it. the "and also" of options. ✨
  • -w key[:{s|d|i}]=value,key[:{s|d|i}]=value,... β€” the where clause, aka the vibe check. The set only happens for BUFR messages that match all the key/value constraints. If a BUFR message doesn't match, it gets copied unchanged to the output_bufr_file β€” unless you flip that behaviour with -S. Per key you can define string (key:s), double (key:d) or integer (key:i); default type is string. In the value you can also drop a forward-slash character / to mean an OR condition (a logical disjunction, for the logic girlies). ⚠️ Note: only one -w clause is allowed. one. uno. periodt.
  • -7 β€” does not fail when the message has the wrong length. chaotic, but okay. πŸ’€
  • -S β€” Strict. Only messages matching all the constraints are copied to the output file. nobody else is invited to the party. πŸ‘‘
  • -V β€” print version. short and sweet.
  • -g β€” copy the GTS header. πŸ¦‹
  • -f β€” Force. Forces the execution to not fail on error. live dangerously.
  • -v β€” Verbose. tell me everything, I wanna know. πŸ™ˆ
  • -h β€” display this help text and exit. the classic escape hatch. 🌈

πŸ”Ž SEE ALSO πŸ”Ž

Full documentation and examples are living right here, go read her:

https://confluence.ecmwf.int/display/ECC/bufr_set


and that's the whole page, bestie β€” every flag, every default, every constraint, all accounted for, not a single one left in the drafts. this was bufr_set, October 2026, BUFR_SET(1), signed off with love πŸ’œπŸ§šπŸ“

πŸ“¦ where this page comes from