BPLS.MPI(1)

πŸ“¦
version 2.12.1 Β· 2 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ‘‘ NAME πŸ‘‘

okay bestie, so bpls.mpi is literally the ADIOS2 utility and she's here to spill the entire contents of your file. no cap. πŸ’…


✨ DESCRIPTION ✨

The vibe check first, because the usage line is sacred and we do not touch it:

usage: bpls [OPTIONS] file [mask1 mask2 ...]

So what does she do? She lists and/or dumps the content of a BP or HDF5 file. 🫢

A mask can be a shell pattern, exactly like what you'd hand to ls β€” think something like "*/x?". iykyk. And here's the iconic part: variables with multiple timesteps get reported with an extra dimension, and that time dimension is the first dimension. she's organized like that. πŸ’–

πŸŽ€ OPTIONS πŸŽ€

  • --long, -l β€” print the values of all scalars and attributes, plus the min/max values of arrays. and the bestie said "no overhead to get them!" like she's not even stressed about it. queen behavior. πŸ‘‘
  • --attrs, -a β€” list/match attributes too, not just the variables
  • --attrsonly, -A β€” attributes ONLY. nothing else. she's laser focused. 🎯
  • --meshes, -m β€” list meshes
  • --timestep, -t β€” read content step by step (stream reading, so you're literally watching it happen) 🌊
  • --ignore_flatten β€” display steps as they were actually written; don't flatten, even if the writer said to. respect the original vision fr fr. ✨
  • --dump, -d β€” dump the matched variables/attributes. and heads up: to match attributes too, you gotta add option -a πŸ’€
  • --regexp, -e β€” treat masks as extended regular expressions
  • --output, -o <path> β€” print to a file instead of stdout
  • --start, -s "spec" β€” offset indices in each dimension (default is 0 for all dimensions). and <0 is handled like python does it, so -1 is the last one 🐍
  • --count, -c "spec" β€” number of elements in each dimension. -1 means "until end" of that dimension (default is -1 for all dimensions)
  • --noindex, -y β€” print data without array indices
  • --string, -S β€” print 8bit integer arrays as strings
  • --columns, -n "cols" β€” number of data elements per row to print
  • --format, -f "str" β€” format string to use for one data item in print instead of the default. e.g. "%6.3f"
  • --hidden_attrs β€” show the hidden ADIOS attributes in the file πŸ‘€ secrets!
  • --decomp, -D β€” show the decomposition of variables as layed out in file
  • --error, -X string β€” specify read accuracy as (error,norm,rel|abs), e.g. error="0.0,0.0,abs" L2 norm = 0.0, Linf = inf
  • --transport-parameters, -T β€” specify File transport parameters, e.g. "Library=stdio"
  • --engine, -E <name> β€” specify ADIOS Engine
  • --engine-params, -P string β€” specify ADIOS Engine Parameters, e.g. "SelectSteps=0:n:2"

🌸 Examples for slicing 🌸

not me giving you the exact receipts for slicing, because this is the part everyone asks about:

  • -s "0,0,0" -c "1,99,1" β€” print 100 elements (of the 2nd dimension)
  • -s "0,0" -c "1,-1" β€” print the whole 2nd dimension however large it is
  • -s "-1,-1" -c "1,1" β€” print the very last element (of a 2D array)

πŸ¦‹ Help options πŸ¦‹

  • --help, -h β€” print this help
  • --verbose, -v β€” print log about what this program is doing. use multiple -v to increase the logging level πŸ“ˆ (yes, stacking them is the move)
  • --version, -V β€” print version information; compatible with --verbose for additional information, i.e. -v --version

Typical use: bpls -lav <file>

like. that's the whole thing. -lav. memorize it. put it on a sticky note. πŸ“


and that's the page, bestie β€” this one came from the ADIOS manual, dated September 2024. go forth and list your files, you absolute main character. πŸ§šπŸ’œ

πŸ“¦ where this page comes from