Skip to content

Supporting Change Sets

Greg Sjaardema edited this page Feb 6, 2025 · 33 revisions

Adding support for change_sets (groups) to SEACAS applications

  • exodus
    • Need to figure out caching in the exodus file_item struct. The values are not valid when switching to a new group which can be done without closing/opening a file...
      • Do we need a ex_open_group and ex_close_group which update the cached values...
    • Need to decide how to handle the group file_id vs root_id in file_item and check_valid_file type calls...
  • io_info
    • change groups to change_sets
    • use new API in IOSS instead of going down to exodus level
    • show which change_set the info is being show for and number of change_sets in file
    • show info for multiple change sets
  • io_shell
    • change groups to change_sets
    • If copying a file, output should have same change_sets as input
    • add option to copy only selected change_sets from input file to output file.
    • add option to extract all change_sets or list of change_sets to output file (Use %G in filename to substitute change_set name)
    • --compare option should compare all change_sets in the file by default
    • --compare option should have option to compare specified change_sets in the file
    • parallel io_shell can decompose a file with change sets (all change sets in decomposed file)
    • parallel io_shell can compose a file with change sets (all change sets in composed file)
    • parallel io_shell can decompose a file with change sets (specified change set in output file)
    • parallel io_shell can compose a file with change sets (specified change set in composed file)
  • exodiff
    • if input and output have change_sets, do diff on each change_set
    • allow diffing a specific change_set in a file with a specific change_set in the other file
    • allow diffing a specific change_set in a file with a file that has no change_sets.
    • allow specifying one or more change sets (index or name) to compare with the same number of specified change sets in the other file.
    • summary mode works on files with change sets
    • how does the command file option work...
  • epu
    • a set of file-per-rank files with change_sets should produce a single file with the same set of change_sets.
    • specify a change_set (1-based index) from the input file(s) to write to output file.
    • specify a change_set by name from the input file(s) to write to output file
  • conjoin
    • "union" all change_sets in a file to a single file with status variables (treat the change_sets similar to how individual files are currently handled)
    • Handle multiple input files each containing 0 or more change sets...
  • aprepro
    • create a variable containing the names of the change_sets in the file ex_change_set_names
    • create a variable containing the count of change_sets in the file ex_change_set_count
    • permit opening a specific change_set in an exodus file.
      • exodus_meta function takes optional cs_index parameter to open that change set.
      • Opens first change set if no change set index specified
      • Reports error if change set index exceeds change set count.
      • Added exodus_query_change_sets function which sets ex_change_set_count and ex_change_set_names
  • Other applications -- If an input file has change sets, either read the first change set by default, or add an option to select a specific change set by index
    • algebra
    • blot
    • exo2mat
    • exo_format $${\color{blue}\textsf{(outputs change set count only)}}$$
    • exomatlab $${\color{blue}\textsf{(reads first change set)}}$$
    • exotxt $${\color{blue}\textsf{(reads first change set)}}$$
    • explore
    • grepos
    • decomp script
    • nem_slice
    • nem_spread
    • numbers $${\color{blue}\textsf{(reads first change set)}}$$
    • slice $${\color{blue}\textsf{(currently just splits first change set)}}$$
    • Add option to select a specific change set by name(?)​
    • Check change set count at file open and default to first change set if it contains change sets​
      • Output a warning message that file contains change sets​