===== Current Metabots ===== * Out of band data filtering * Potential Reconstruction - create PHI_* files from restart data to enable the visualization metabot below when a restart file is written. * fdtree - More of an LWFS utility than a metabot it lets you do all sorts of basic LWFS operations, including pipe LWFS objects (by OID or LWFS name) to/from stdout/stdin so that you can write metabot like shell scripts * boundingbox - this is old and untested metabot which will filter an evpath stream based on a 3D-bounding box * append - This metabot reads data stored on LWFS. The format of this data is defined in gtc.h (the last version sent by Hasan). The data stored on LWFS are results from executions of the GTC application. Before being written to LWFS, the structures are encoded using PBIO. The metabot thus decodes each structure using PBIO after reading an encoded structure from LWFS. By doing so, it checks each structure for correctness. If the structure is not corrupt, the metabot appends the structure onto a new object also stored on LWFS. This procedure makes managing the data much easier (according to Jay). Instead of having a set of files for each iteration (potentially tens of thousands) or for each processor (also potentially tens of thousands), there are fewer files of a few GBytes each. * oldappend - a dummy metabot that appends large buffers to files; uses evpath but not lwfs; This metabot uses a data structure called "hunk" that contains a hunk of random data, an integer identifying an imaginary node, and an integer for the timestep. The hunk's data does not have any format or structure. The metabot receives each hunk via an EVpath connection to another application. The metabot checks if a hunk of data is "corrupt", based on a probability assigned for a hunk being corrupt. The hunk's data is then appended to a file if the hunk's size does not break the size limit placed on the file. If the hunk is too big, a new file is created and the data is written there.