| Author(s): | Gabrielle Allen |
| Thomas Radke |
| Date: | Date |
Thorn IOBasic provides I/O methods for outputting scalar values in ASCII format into files and for printing them as runtime information to screen.
Thorn IOBasic registers 2 I/O methods with the I/O interface in the flesh which both output the same following information:
The I/O methods differ in the destination the output is written to:
Parameters to control the Scalar I/O method are:
Parameters to control the Info I/O method are:
All of the above parameters marked as steerable can be changed at runtime.
The following parameter settings request info output for variables grid::r, wavetoy::phi (both are CCTK grid functions) and mythorn::complex (a complex CCTK scalar) at every other iteration.
The minimum and maximum of grid::r is printed according to the list of default reductions for info output (parameter IOBasic::outInfo_reductions). This list is overridden for wavetoy::phi where only the L2 norm is output as specified in the option string for this variable. You can also add other reduction operators within the {} braces.
For the scalar variable mythorn::complex both the real and imaginary part are printed.
The resulting screen output would look like this:
The following parameter settings request scalar output for all grid function variables in the group
grid::coordinates and for the scalar variable grid::coarse_dx.
Output occurs every 10th iteration. gnuplot output style is selected for the ASCII files which are placed into a
subdirectory scalar_output. The minimum and maximum of grid::r is printed according to the list of default
reductions for scalar output (parameter IOBasic::outScalar_reductions). This list is overridden for
wavetoy::phi where only the L1 norm is output as specified in the option string for this variable. You can also
add other reduction operators within the {} braces.
This would create the following ASCII files:
Possible Reduction Operations
In order to get output of reduction values for CCTK_GF and CCTK_ARRAY variables you need to activate a thorn
which provides reduction operators (eg. thorn PUGHReduce in the CactusPUGH arrangement). For a list of
possible reduction operations please refer to the documention of this reduction thorn.
Getting Output from IOBasic’s I/O Mehtods
You obtain output by an I/O method by either
For a description of basic I/O parameters and the I/O function interface to invoke I/O methods by application
thorns please see the documentation of thorn IOUtil and the flesh.
Building Cactus configurations with IOBasic
Since IOBasic uses parameters from IOUtil it also needs this I/O helper thorn be compiled into Cactus and
activated at runtime in the ActiveThorns parameter in your parameter file.
out_dir | Scope: private | STRING |
Description: Output directory for IOBasic’s scalar files, overrides IO::out_dir
| ||
| Range | Default: (none) | |
.+ | A valid directory name
| |
![]() | An empty string to choose the default from IO::out_dir
| |
out_format | Scope: private | STRING |
Description: Which format for Scalar floating-point number output
| ||
| Range | Default: .13f | |
see [1] below | output with given precision in exponential / floating point notation
| |
[1]
outinfo_criterion | Scope: private | KEYWORD |
Description: Criterion to select Info output intervals
| ||
| Range | Default: iteration | |
never | Never output
| |
iteration | Output every so many iterations
| |
time | Output every that much coordinate time
| |
outinfo_dt | Scope: private | REAL |
Description: How often to do Info output
| ||
| Range | Default: -2 | |
(0:* | In intervals of that much coordinate time
| |
As often as possible
| ||
-1 | Disable output
| |
-2 | Default to IO::out_dt
| |
outinfo_every | Scope: private | INT |
Description: How often to do Info output
| ||
| Range | Default: -1 | |
1:* | Every so many iterations
| |
0: | Disable Info output
| |
-1: | Default to IO::out_every
| |
outinfo_reductions | Scope: private | STRING |
Description: List of reductions to output as Info to screen
| ||
| Range | Default: minimum maximum | |
.+ | Space-separated list of reduction operators
| |
outinfo_vars | Scope: private | STRING |
Description: Variables to output as Info to screen
| ||
| Range | Default: (none) | |
.+ | Space-separated list of fully qualified variable/group names
| |
![]() | An empty string to output nothing
| |
outscalar_criterion | Scope: private | KEYWORD |
Description: Criterion to select Scalar output intervals
| ||
| Range | Default: iteration | |
never | Never output
| |
iteration | Output every so many iterations
| |
time | Output every that much coordinate time
| |
outscalar_dt | Scope: private | REAL |
Description: How often to do Scalar output
| ||
| Range | Default: -2 | |
(0:* | In intervals of that much coordinate time
| |
As often as possible
| ||
-1 | Disable output
| |
-2 | Default to IO::out_dt
| |
outscalar_every | Scope: private | INT |
Description: How often to do Scalar output
| ||
| Range | Default: -1 | |
1:* | Every so many iterations
| |
0: | Disable Scalar output
| |
-1: | Default to IO::out_every
| |
outscalar_reductions | Scope: private | STRING |
Description: List of reductions to output into files
| ||
| Range | Default: minimum maximum norm1 norm2 | |
.+ | Space-separated list of reduction operators
| |
outscalar_style | Scope: private | KEYWORD |
Description: Which style for Scalar output
| ||
| Range | Default: xgraph | |
gnuplot | 1D output readable by gnuplot
| |
xgraph | 1D output readable by xgraph
| |
outscalar_vars | Scope: private | STRING |
Description: Variables to output into files
| ||
| Range | Default: (none) | |
.+ | Space-separated list of fully qualified variable/group names
| |
![]() | An empty string to output nothing
| |
io_out_dir | Scope: shared from IO | STRING |
new_filename_scheme | Scope: shared from IO | BOOLEAN |
out_criterion | Scope: shared from IO | KEYWORD |
out_dt | Scope: shared from IO | REAL |
out_every | Scope: shared from IO | INT |
out_fileinfo | Scope: shared from IO | KEYWORD |
strict_io_parameter_check | Scope: shared from IO | BOOLEAN |
verbose | Scope: shared from IO | KEYWORD |
Implements:
iobasic
Inherits:
io
| Group Names | Variable Names | Details | |
| next_info_output_time | compact | 0 | |
| next_info_output_time | dimensions | 0 | |
| distribution | CONSTANT | ||
| group type | SCALAR | ||
| stagger type | NONE | ||
| timelevels | 1 | ||
| variable type | REAL | ||
| next_scalar_output_time | compact | 0 | |
| next_scalar_output_time | dimensions | 0 | |
| distribution | CONSTANT | ||
| group type | SCALAR | ||
| stagger type | NONE | ||
| timelevels | 1 | ||
| variable type | REAL | ||
This section lists all the variables which are assigned storage by thorn CactusBase/IOBasic. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.
| Always: | |
| next_info_output_time next_scalar_output_time | |
CCTK_STARTUP
iobasic_startup
startup routine
| After: | ioutil_startup | |
| Language: | c | |
| Type: | function | |
CCTK_INITIAL
iobasic_init
initialisation routine
| Language: | c | |
| Type: | function | |