IOBasic

Gabrielle Allen
Thomas Radke

Date

Abstract

Thorn IOBasic provides I/O methods for outputting scalar values in ASCII format into files and for printing them as runtime information to screen.

1 Purpose

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:

2 IOBasic Parameters

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.

3 Examples

3.1 Example for Info Output

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.

  IOBasic::outInfo_every      = 2  
  IOBasic::outInfo_vars       = "grid::r  
                                 wavetoy::phi{reductions = ’norm2’}  
                                 mythorn::complex"  
  IOBasic::outInfo_reductions = "minimum maximum"

The resulting screen output would look like this:

---------------------------------------------------------------------------------------------  
  it  |          | GRID::r                     | WAVETOY::phi | MYTHORN::complex            |  
      |    t     | minimum      | maximum      | norm2        | real part    | imag part    |  
---------------------------------------------------------------------------------------------  
    0 |    0.000 |   0.02986294 |   0.86602540 |   0.04217014 |   6.90359593 |   0.00000000 |  
    2 |    0.034 |   0.02986294 |   0.86602540 |   0.00934749 |   6.90359593 |   0.00000000 |  
    4 |    0.069 |   0.02986294 |   0.86602540 |   0.02989811 |   6.90359593 |   0.00000000 |  
    6 |    0.103 |   0.02986294 |   0.86602540 |   0.05899959 |   6.90359593 |   0.00000000 |  
    8 |    0.138 |   0.02986294 |   0.86602540 |   0.07351147 |   6.90359593 |   0.00000000 |  
   10 |    0.172 |   0.02986294 |   0.86602540 |   0.07781795 |   6.90359593 |   0.00000000 |

3.2 Example for Scalar Output

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.

  IOBasic::outScalar_every      = 10  
  IOBasic::outScalar_vars       = "grid::coordinates grid::coarse_dx wavetoy::phi{reductions = ’norm1’}"  
  IOBasic::outScalar_reductions = "minimum maximum"  
  IOBasic::outScalar_style      = "gnuplot"  
  IOBasic::out_dir              = "scalar_output"

This would create the following ASCII files: