The following can all be achieved from the d)ata options menu:
The data can be re-read from the dump file or a new dump file can be selected by choosing the d)ata menu, option 1 (or just ``d1'' from the main menu). In practise it is usually faster to exit splash and restart with the new dump file name on the command line (remember to save by pressing 'S' from the main menu before exiting to save both the current settings and the plot limits -- then you can continue plotting with the current settings using a new dump file).
If you have placed more than one file on the command line, then pressing space in interactive mode will read (and plot) the next file (press 'h' in interactive mode for a full list of commands - you can move forwards and backwards using arbitrary jumps). For non-interactive devices or where interactive mode is turned off dump files are cycled through automatically, plotting the same plot for each file/timestep.
When splash is invoked with more than one filename on the command line (for example, where all files are selected with something like ``splash DUMP*'') it is often helpful to use only a subset of the files. This can be set in the d)ata menu, selecting option 2 ``change number of timesteps used''. This prompts something like:
Start at timestep ([1:10], default=1): End at timestep ([1:10], default=10): Frequency of steps to read ([1:10], default=1):
so that the beginning, end and frequency (e.g. 2 would mean read every second step) of dump files to use can be set.
To plot a subset of the data files in *any* order, see §??.
Of course, another way to achieve the same thing is to explicitly order the files on the command line. A method I often use is to write all filenames to a file, e.g.
> ls DUMP* > splash.filenames
then edit the file to list only the files I want to use, then invoke splash with no files on the command line:
which will use the list of files specified in the
A subset of data files from the command line can be chosen in any order using the ``plot selected steps only'' option from the d)ata submenu, which then prompts the user to enter something like the following:
Enter number of steps to plot ([1:10], default=0):5 Enter step 1 ([1:10], default=1):5 Enter step 2 ([1:10], default=2):2 Enter step 3 ([1:10], default=3):1 Enter step 4 ([1:10], default=4):4 Enter step 5 ([1:10], default=5):3
Note that only a limited number of steps can be selected in this way. An alternative way is to order the files on the command line before invoking splash (see §??).
For small data sets (or a small number of dump files) it is often useful to read all of the data into memory so that you can move rapidly forwards and backwards between dumps (e.g. in interactive mode, or where both dumps are plotted on the same page) without unnecessary re-reading of data from disk. This is achieved by turning ``buffering of data'' on in the d)ata menu (provided you have the memory of course!!). Non-buffered data means that only one file at a time is read.
Turn ``calculate extra quantities'' on in the d)ata menu. As of splash version 1.13.0 it is possible to specify new columns of data as completely arbitrary functions of the data read from the SPH particles. Option d5 in the data menu leads, for a typical data read, to a prompt similar to the following:
Specify a function to calculate from the data Valid variables are the column labels, 't', 'gamma', 'x0', 'y0' and 'z0' (origin setting) Spaces, escape sequences (\d) and units labels are removed from variable names Note that previously calculated quantities can be used in subsequent calculations Examples based on current data: r = sqrt((x-x0)**2 + (y-y0)**2 + (z-z0)**2) pressure = (gamma-1)*density*u |v| = sqrt(vx**2 + vy**2 + vz**2) Enter function string to calculate (blank for none) (default=""):
Thus, one can for example calculate the pressure from the density and thermal energy according by copying the second example given. Note that the function calculation is completely general and can use any of the columns read from the file, the time for each step (`
t'), the adiabatic index $γ$ (`
gamma') and the current origin setting (
z0). Previously calculated quantities can also be used - e.g. in the above example we could further compute, say, an entropy variable using
s=pressure/density^gamma after the pressure has been specified. The resultant quantities appear in the main splash menu as standard columns just as if they had been read from the original data file.
The origin for the calculation of radius can be changed via the ``rotation on/off/settings'' option in the x) submenu. If particle tracking limits are set (see §??) the radius is calculated relative to the particle being tracked.
Note that if you simply want to multiply a column by a fixed number (e.g. say you have sound speed squared and you want to plot temperature) - this can also be achieved by defining a unit for the column (i.e., a factor by which to multiply the column by) -- see §?? for details. The corresponding label can be changed by creating a
splash.columns file (or for the ascii read just a file called `columns') containing labels which are used to override the default ones from the data read (one per line) -- see §?? for more details.
See also §?? for how to transform vectors (and positions) into different coordinate systems.
Data can be plotted in physical units by turning on the ``use physical units'' option in the d)ata submenu. The settings for transforming the data into physical units may be changed via the ``change physical unit settings'' option in the d)ata menu. (see §??)
For some data reads (sphNG, srosph) the scalings required to transform the data into physical units are read from the dump file. These are used as the default values but are overridden as soon as changes are made by the user (that is, by the presence of a `splash.units' file) (see §??).
The labelling of columns is usually specific to the data format read (except in the case of the ascii read, asplash, where columns are labelled by the creation of a file called `columns'). Aside from changing the labels in the
read_data file specific to the format you are reading, it is also possible to override the labelling of columns at runtime by creating a file called
splash.columns (or with a different prefix if the
-p command line option is used), with one label per line corresponding to each column read from the dump file, e.g.
column 1 column 2 column 3 my quantity another quantity
Note that the labels in the
splash.columns file will not override the labels of coordinate axes or labels for vector quantities (as these require the ability to be changed by plotting in different coordinate systems -- see §??).
See §??. In addition to units for each column (and a unit for time -- see §??) a unit can be set for the length scale added in 3D column integrated plots. The prompt for this appears after the units of either $x$, $y$, $z$ or $h$ has been changed via the ``change physical unit settings'' option in the d)ata menu. The length unit for integration is saved in the first row of the splash.units file, after the units for time.
See §?? for details on changing the default labelling scheme for 3D column integrated (projection) plots.
The settings for transforming the data into physical units may be changed via the ``change physical unit settings'' option in the d)ata menu. To apply the physical units to the data select the ``use physical units'' option in the d)ata submenu.
The transformation used is $new= old*units$ where ``old'' is the data as read from the dump file and ``new'' is the value actually plotted. The data menu option also prompts for a units label which is appended to the usual label. Brackets and spaces should be explicitly included in the label as required.
Once units have been changed, the user is prompted to save the unit settings to a file called
splash.units. Another way of changing units is simply to edit this file yourself in any text editor (the format is fairly self-explanatory). To revert to the default unit settings simply delete this file. To revert to code units turn ``use physical units'' off in the d)ata menu.
A further example of where this option can be useful is where the $y-$axis looks crowded because the numeric axis labels read something like $1×10^-4$. The units option can be used to rescale the data so that the numeric label reads $1$ (by setting $units=10^4$) whilst the label string is amended to read $y [×10^-4]$ by setting the units label to $ [ ×10^-4]$.
Units for the time used in the legend can be changed using the ``change physical unit settings'' in the d)ata menu. Changing the units of column zero corresponds to the time (appears as the first row in the `splash.units' file).