# SEACAS FAQ

Question | Answer
--- | ---
How do I link exodusII for the new netcdf4? | The new netcdf-4 is hdf5-based and requires linking with hdf5. The link line should be: `-L${ACCESS}/lib -lexoIIv2c -lnetcdf -lhdf5_hl -lhdf5 -ldl -lz -lm` You can also use the output from ``${ACCESS}/bin/nc-config --libs``

# SEACAS Changes

Date | Code | Version | Change
--- | --- | --- | ---
2016-03-10 | grepos | 1.75 | Added variable rename option. Syntax is `RENAME [global|nodal|node|elemnet|nodeset|nset|sideset|sset] VARIABLE [oldname] [newname]`
2013-08-14 | algebra | 3.40 | Algebra will now add a timestep to an exodus file with no previous timesteps. The equation defining the new variable(s) can access constants and coordinates.
2013-06-27 | aprepro | 2.33 | Aprepro now has switch statements and more capable if/elseif capability. See the Aprepro documentation for details.
2013-04-15 | grope | 1.59 | The file where output from a print command is written can be changed from the default grope.o to a user-specified file via the `output {filename}` command. The filename must be all lowercase.
2012-12-07 | aprepro | 2.28 | A file to be parsed prior to the main aprepro input file can be specified via the `-include {filename}` option. All variables defined in that file will be immutable.
2012-12-05 | aprepro | 2.27 | Added support for immutable variables in which once a variable is given an value, it cannot be redefined (unless it has a '_' prefix).
2012-10-30 | epu | 4.05 | Added `-join_subcycles` option which will do the final join to a single file if using the `-subcycle` option to do incremental joins.
2012-09-14 | grepos | 1.64 | Added `move global|local node {id} to|by {x} {y} {z}` command so user can specify exact location of a node in the mesh.
2012-09-07 | grepos | 1.63 | Grepos has a node merge command for explicitly combining two nodes into one. The syntax is: `merge {global|local} node {id1} into node {id2}` The node with global/local id {id1} is deleted and replaced by the node with id {id2}.
2012-04-14 | nemesis |  | The nemesis library is now included in the exodus library. All api functions have been renamed from ne_* to ex_*. The nemesis library still exists with a wrapper routine which forwards all calls to the exodus library for backward-compatability.
2012-04-04 | blot | 3.00 | Blot now uses and displays global node and element ids. Start blot with "-nomap node|elemen|all" to get old local id display.
2011-11-17 | aprepro | 2.24 | Added command line editing and recall.
2011-10-10 | nem_spread (decomp/loadbal) | 5.17 | Allow subset of files to be written Added -s <start_proc> and -n <num_proc> options to allow processing only the files for processors <start_proc> to <start_proc>+<num_proc>-1. For example, -s 3 -n 2 would output files for processors 3 and 4. This can then be used with gnu parallel or some other method to run multiple nem_spread jobs simultaneously and speed up the spread process.
2011-09-14 | ejoin | 1.2.8 | Added "-info_records p#,p#,..." option which will transfer information records from the specified part(s) or "all" to the output mesh.
2011-08-25 | epu | 3.35 | Added "-sum_shared_nodes" flag which will sum the nodal results values of all nodes on processor boundaries instead of assuming that the values are equal.
2011-07-28 | grepos | 1.60 | Add "-name_length {len}" command line option to specify the size of names on the output file.
2011-07-27 | grepos | 1.59 | Add range to entity deletion/undeletion. Can now do "delete block {n1} to {n2} by {n3}" in addition to listing ids. For example, "delete block 1 to 10 by 2 13 17 21 to 40 by 3"
2011-04-05 | aprepro | 3.06 | Added "srand(integer)" function for seeding the random number generator. Also added an automatic call to srand(time) so you won't get the same random numbers for each run of aprepro.
2011-03-18 | grope | 1.56 | Add printing of coordinate frames via the "print frames" or "list frames" command.
2011-02-14 | exodiff | 2.41 | Added "eigen_relative", "eigen_absolute", and "eigen_combined" diff options which are meant to be used for diffing variables that are typically eigenvectors or related quantities where the vector 'V' should be considered equal to the vector '-V'. The eigen_ forms of the tolerances simply diff the absolute values of the variable values instead of diffing the values. Eventually there should be some code to determine whether V_0 == -V_1 or V_0 == V_1 and not simply that V_0 == |V_1|
2011-01-26 | algebra | 1.37 | Implement 'removal' of elements by global id. The syntax is: `REMOVE ELEMENT {id1} {id2} ... {idn}` A maximum of 1024 ids may be specified. It is currently not very efficient, but should work.
2011-01-06 | ejoin | 1.2.4 | Several changes to improve functionality and robustness: New omit options -- omit_blocks, omit_nodesets, and omit_sidesets. Can specify which entities should be omitted. See -h output for details. Add case insensitive matching during parsing. Fixed sideset output in cases where blocks are omitted. Maintain element order maps if possible
2010-12-16 | algebra | 1.33 | Implement 'filtering' of elements which is the capabilty to remove elements based on the value of a specified element variable. The syntax is: `FILTER ELEMENT {variable} {lt|le|ge|ne|gt|ge} {value} TIME {db_time}` 'variable' is the name of an element variable on the database. 'value' is the value that this variable will be compared against 'lt|le|ge|ne|gt|ge' is the type of comparison corresponding to: lt -- less than, le == less than or equal, ... 'db_time' is the time on the database where the variable will be read. If db_time is < the minimum db time, then the minimum time will be used; if greater than the maximum db time, then the maximum time will be used. If the variable doesn't exist on an element block, then all of the elements in that element block will be retained.
2010-12-15 | algebra | 1.32 | Added inverse zoom capability -- delete all nodes and elements inside the specified zoom box unless the element contains nodes that are outside the zoom box. This is specified by adding OUTSIDE to the end of the zoom command line.
2010-09-29 | ioss | 1.01 | The io_shell and io_info executables are now installed. io_shell can be used with the generated mesh option to create rectangular meshes for testing.
2010-09-16 | ejoin | 1.1.3 | Added a new option "-convert_nodal_to_nodesets {list_of_parts|ALL}". For each part listed (or ALL parts), create a nodeset in the output mesh containing the nodes of the part and output the nodal fields from the part as nodeset fields instead of nodal fields. The name of the nodeset will be "p" + part_ordinal + "_nodes". For example, p1_nodes, p2_nodes. Add subsetting of output steps; use LAST to specify last step only
2010-09-16 | aprepro | 2.20 | Added ":" as valid character in a variable name.
2010-09-10 | grepos | 1.51 | Added capability to rotate a selected subset of attributes. The syntax is: REVOLVE ATTRIBUTE {which} BLOCK {id|ALL} {x|y|z} {angle} REVOLVE ATTRIBUTE {which} TYPE {blk_type} REVOLVE ATTRIBUTE RESET The "which" argument specifies the index (1-based) of the first of {spatial_dimension} attributes which will be rotated by the specified angles. ROTATE is now a synonym for REVOLVE The "list block" command will list the names of the element attributes defined on the block if the names are defined in the exodus file.
2010-09-10 | grope | 1.53 | The "list block" command will list the names of the element attributes defined on the block if the names are defined in the exodus file.
2010-09-10 | ejoin | 1.1.0 | The variable subsetting now works to select all/none or selected node, element, nodeset, or sideset variables.
2010-06-04 | exomatlab2 | 1.0.0 | Created C++ version. Will eventually replace the fortran version and add new capability.
2010-05-06 | exodus nemesis |  | The exodusII library name was changed from libexoIIv2c.a to libexodus.a and libnemIc.a to libnemesis.a. There is a link to the old names, but hopefully the new names are easier to remember and use. No functionality changes; simply the name.
2010-05-26 | ejoin | 1.0.0 | Added ejoin which is a gjoin-like tool for merging 2 or more exodus meshes into a single mesh. If one or more of the meshes have compatible results data, the data will be copied to the merged file. Initial functionality is working.
2010-05-06 | ioss | 1.00 | Added the IO Subsystem (ioss) as a library. Will be used as basis for some future seacas tools.
2010-04-25 | exodiff | 2.36 | Add support for differencing element attributes. Use option `-ignore_attributes` to turn this off.
2010-03-19 | epu | 3.28 | Add -append option which will append to an existing output file instead of overwriting. Assumes that the input and output meshes match. Will skip steps on input files until the time is larger than the maximum time on the output file.
2010-03-16 | aprepro | 2.14 | Add distinction between predefined and user-defined variables. `DUMP()` outputs user-defined `DUMP_PREVAR()` outputs predefined
2010-03-14 | grepos | 1.49 | Added "elementize {nodal_variable}" command which will create an element variable named "n_{nodal_variable}" which is the average of the nodal variable values for each element. Do "list names" to see the valid nodal variable names.
2010-03-12 | exodiff | 2.34 | Added "-show_all_diffs" option which will output each entity that fails the tolerance test instead of just the entity with the maximum diff.
2010-03-01 | aprepro | 2.11 | Added `output_append(filename)` function which redirects output to specified file. If file exists, it is appended to; if it doesn't exist, then it is created. If `output("stdout")` is specified, then the currently open output file is closed and output again is directed to stdout which is the default aprepro output. Added `file_to_string(filename)` function which creates an aprepro string containing the contents of the specified file. Added `rand_normal(mean,stddev)`, `rand_lognormal(mean,stddev)`, `rand_weibull(alpha, beta) functions.` Typing `{DUMP_FUNC()}` gives list of all functions with their syntax and description.
2010-02-23 | blot fastq |  | Modified the default geometry of the svdi window to be based on the desktop height only. Previously it was 65% of desktop width and 65% of desktop height which gave a stretched out window on dual-monitor systems. Now height is 65% of desktop height and width is 1.63 * height. It can be overridden by adding `"svdi.Geometry: widthxheight+xoff+yoff"` to your .Xresources or .Xdefaults file.
| exodusII |  | The hdf5-based netcdf4 is being used on several systems. If linking with that version, need to use the link line: `"-lnetcdf -lhdf5_hl -lhdf5 -lz -lm"`
2010-02-05 | blot | 1.77 | When specifying the death variable, the summary now shows what value signifies an alive element.
2010-01-28 | blot | 1.76 | When plotting a mesh with lots of shell elements, blot will automatically set "hidden 2" mode which plots much (orders of magnitude) quicker for large shell meshes. User can switch back to hidden 3 or higher when zoomed in.
2010-01-21 | grepos | 1.47 | Added a command for setting block, nodeset, sideset names. Command is "Name BLOCK|NSET|NODESET|SSET|SSIDESET {id} {the_name}"
2010-01-21 | grope | 1.48 | Added detection of repeated element face in a sideset to the "check" command.
2009-11-17 | conjoin | 0.9.06 | Handles id reuse now
2009-11-17 | gjoin |  | gjoin and gjoin2 both refer to the same exodusII version; gjoin1 is the exodus-1 version
2009-11-12 | blot | 1.71 | Added capability to go to previous plot using 'P' key in multiple plot mode
2009-11-11 | exodiff | 2.31 | Change default matching to use file ids; add -match_file_order to get old default. Make -nsmap and -ssmap the default. Add -no_nsmap and -no_ssmap options; reorder file metadata before mapping code
2009-10-19 | aprepro | 2.08 | Fix so ifdef, loop, endif, else, endloop can have whitespace at beginning of line

Last modified: Thu Mar 10 08:43:44 MST 2016