GRIB_LS(1)

πŸ‘‘ NAME πŸ‘‘

grib_ls</p> β€” literally just the manual page for grib_ls. That's the whole intro, bestie. This one comes from the User Commands section of the manual, and it's giving "chaos goblin utility with a heart of gold" energy. πŸ’…βœ¨


πŸ¦‹ DESCRIPTION πŸ¦‹

kk, so lowkey the DESCRIPTION section has its own little NAME / DESCRIPTION / USAGE / OPTIONS situation going on inside it. We contain multitudes. 🫢

🌸 NAME 🌸

grib_ls

🌸 DESCRIPTION 🌸

It lists the content of GRIB files, printing the values of some keys. And here's the iconic part β€” it does not fail when a key is not found. No dramatic exit, no screaming into the void, it just moves on. Main character energy fr fr. 😌

🌸 USAGE 🌸

grib_ls [options] grib_file grib_file ...

Yep, you can hand it as many GRIB files as you want. Stack 'em up. πŸ’–

🌸 OPTIONS 🌸

Oh we're in the candy shop now, bestie. Twenty options, all of them, no skips, periodt:

  • -p key[:{s|d|i}],key[:{s|d|i}],... β€” Your declaration of which keys to print. For each key you can ask for a string (key:s), a double (key:d) or an integer (key:i) type. Default type is string, because string is the default, obviously. πŸŽ€
  • -F format β€” A C-style format for your floating-point values. Give your floats a lil makeover. ✨
  • -P key[:{s|d|i}],key[:{s|d|i}],... β€” Same as -p, but instead of replacing anything it adds the declared keys to the default list. Best of both worlds, we love a union. 🀝
  • -w key[:{s|d|i}]{=|!=}value,key[:{s|d|i}]{=|!=}value,... β€” The where clause, aka the bouncer at the club. Messages are only processed 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 (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), so you can be flexible with your vibes. ⚠️ Note: only one -w clause is allowed. One bouncer. That's it.
  • -j β€” JSON output. For when you want your data to look like it's wearing a tiny suit. πŸ•΄οΈ
  • -B 'order by' directive β€” Order by, bestie! The output gets ordered according to the 'order by' directive. Example: "step:i asc, centre desc" (that's step numeric ascending and centre descending, for the uninitiated πŸ’€). Default sort mode is 'asc'.
  • -l latitude,longitude[,MODE,file] β€” Gives you the value close to the point of a latitude, longitude (nearest neighbour). Allowed values for MODE are:
    • 4 β€” 4 values in the nearest points are printed. Default is 1 (the value at the nearest point is printed). πŸ™ˆ
    • file β€” file is used as mask. The closer point with mask value >=0.5 is printed.
  • -s key[:{s|d|i}]=value,key[:{s|d|i}]=value,... β€” Key/values to set. For each key a string (key:s), a double (key:d) or an integer (key:i) type can be defined. By default the native type is set β€” let it be itself, let it be free. πŸ¦‹
  • -i index β€” Prints the data value corresponding to the given index. Point at a thing, get the thing. 🎯
  • -n namespace β€” Prints all the keys belonging to the given namespace. The whole squad, assembled. πŸ‘―
  • -m β€” Prints all the keys belonging to the 'mars' namespace. Specifically mars. Not the other ones. Just mars. πŸͺ
  • -V β€” Prints the version. Identity check. πŸͺž
  • -W width β€” Minimum width of each column in output. Default is 10. Give your columns room to breathe, they deserve it. 🌬️
  • -M β€” Multi-field support off. This turns off support for multiple fields in a single GRIB message. Bye bestie. πŸ‘‹
  • -g β€” Copies the GTS header. Copy-paste but make it meteorological. πŸ“‹
  • -T T | B | A β€” Message type. T->GTS, B->BUFR, A->Any (Experimental, so proceed with the caution of someone touching a hot pan πŸ™ˆ). The input file is interpreted according to the message type.
  • -7 β€” Does not fail when the message has wrong length. Chaos tolerance setting: enabled. πŸ’€
  • -X offset β€” Input file offset in bytes. Processing of the input file will start from the given offset. Skip ahead, no regrets. ⏭️
  • -x β€” Fast parsing option, only headers are loaded. Gotta go fast. πŸ”₯
  • -h β€” Displays this help text and exits. The classic escape hatch. πŸšͺ

πŸ”₯ SEE ALSO πŸ”₯

Full documentation and examples at: <https://confluence.ecmwf.int/display/ECC/grib_ls>


Okay so here's the thing β€” the original page literally prints this whole block twice: once nested inside DESCRIPTION, and then again right after SEE ALSO. So we're doing it twice too. No skips, no edits, no cap. πŸ™ˆπŸ’–

🧚 NAME 🧚

grib_ls</p>

🧚 DESCRIPTION 🧚

πŸ’œ NAME πŸ’œ

grib_ls

πŸ’œ DESCRIPTION πŸ’œ

List content of GRIB files printing values of some keys. It does not fail when a key is not found. (Still not failing. Still unbothered. Still iconic. ✨)

πŸ’œ USAGE πŸ’œ

grib_ls [options] grib_file grib_file ...

πŸ’œ OPTIONS πŸ’œ

  • -p key[:{s|d|i}],key[:{s|d|i}],... β€” Declaration of keys to print. For each key a string (key:s), a double (key:d) or an integer (key:i) type can be requested. Default type is string. πŸŽ€
  • -F format β€” C-style format for floating-point values. ✨
  • -P key[:{s|d|i}],key[:{s|d|i}],... β€” Same as -p but adds the declared keys to the default list. 🀝
  • -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. ⚠️
  • -j β€” JSON output. πŸ•΄οΈ
  • -B 'order by' directive β€” Order by. The output will be ordered according to the 'order by' directive. Example: "step:i asc, centre desc" (step numeric ascending and centre descending). Default sort mode is 'asc'.
  • -l latitude,longitude[,MODE,file] β€” Value close to the point of a latitude, longitude (nearest neighbour). Allowed values for MODE are:
    • 4 β€” 4 values in the nearest points are printed. Default 1 (the value at the nearest point is printed). πŸ™ˆ
    • file β€” file is used as mask. The closer point with mask value >=0.5 is printed.
  • -s key[:{s|d|i}]=value,key[:{s|d|i}]=value,... β€” Key/values to set. For each key a string (key:s), a double (key:d) or an integer (key:i) type can be defined. By default the native type is set. πŸ¦‹
  • -i index β€” Data value corresponding to the given index is printed. 🎯
  • -n namespace β€” All the keys belonging to the given namespace are printed. πŸ‘―
  • -m β€” All the keys belonging to the 'mars' namespace are printed. πŸͺ
  • -V β€” Print version. πŸͺž
  • -W width β€” Minimum width of each column in output. Default is 10. 🌬️
  • -M β€” Multi-field support off. Turn off support for multiple fields in a single GRIB message. πŸ‘‹
  • -g β€” Copy GTS header. πŸ“‹
  • -T T | B | A β€” Message type. T->GTS, B->BUFR, A->Any (Experimental). The input file is interpreted according to the message type.
  • -7 β€” Does not fail when the message has wrong length. πŸ’€
  • -X offset β€” Input file offset in bytes. Processing of the input file will start from the given offset. ⏭️
  • -x β€” Fast parsing option, only headers are loaded. πŸ”₯
  • -h β€” Display this help text and exit. πŸšͺ

πŸ’œ SEE ALSO πŸ’œ

Full documentation and examples at: <https://confluence.ecmwf.int/display/ECC/grib_ls>


<div>ok that's genuinely the whole page, you ate it, you read all of it, I'm so proud πŸ₯Ή</div>

This one's brought to you by grib_ls, dated October 2026 β€” and that's the lil footer sign-off, mwah πŸ’‹πŸ’–βœ¨

πŸ“¦ where this page comes from