# Parameter definitions for thorn IOUtil ############################################################################# ### import grid parameters ############################################################################# shares: grid USES KEYWORD symmetry "" { } ############################################################################# ### declare IOUtil parameters ### These are declared protected so that they can be seen by other IO thorns. ############################################################################# restricted: #################### # Output directories #################### STRING IO_outdir "Name of IO output directory" { } "." STRING IO_outdir0D "Name of IO 0D output directory, overrides IO_outdir" { } "IO_outdir" STRING IO_outdir1D "Name of IO 1D output directory, overrides IO_outdir" { } "IO_outdir" STRING IO_outdir2D "Name of IO 2D output directory, overrides IO_outdir" { } "IO_outdir" STRING IO_outdir3D "Name of IO 3D output directory, overrides IO_outdir" { } "IO_outdir" ######################## # How often to do output ######################## INT IO_every "How often to do IO output" { -1:* :: } -1 INT info_every "How often to do Info output" { -1:* :: } -1 INT IO_0Devery "How often to do 0D output, overrides IO_every" { -1:* :: } -1 INT IO_1Devery "How often to do 1D output, overrides IO_every" { -1:* :: } -1 INT IO_2Devery "How often to do 2D output, overrides IO_every" { -1:* :: } -1 INT IO_3Devery "How often to do 3D output, overrides IO_every" { -1:* :: } -1 ################ # various things ################ LOGICAL IO_verbose "Give extended screen output in IO?" { } "no" LOGICAL IO_datestamp "Write date as attribute to IO 3D output file?" { } "yes" LOGICAL IO_parameters "Write parameters to IO 3D output file?" { } "yes" LOGICAL IO_structures "Write structures to IO 3D output file?" { } "yes" ####################### # Specific to 1D output # Choosing what output to do ####################### LOGICAL Dox_1D "Do 1D output in the x-direction" { } "yes" LOGICAL Doy_1D "Do 1D output in the y-direction" { } "yes" LOGICAL Doz_1D "Do 1D output in the z-direction" { } "yes" LOGICAL Dod_1D "Do 1D output in the diagonal-direction" { } "yes" ####################### # Specific to 3D output ####################### KEYWORD iomode "Which mode for 3D IO" { "proc" :: "every processor writes its share of data into a separate file" "np" :: "data is collected and written by every N'th processor into a separate file, where N is specified by the parameter ioproc_every" "onefile" :: "all output is written into a single file by processor 0" } "proc" INT ioproc_every "Do IO on every N processors." { 1:* :: "Must be a positive integer" } 8 LOGICAL onefileperslice "Write one file per time slice, as opposed to all data in one file" { } "no" LOGICAL unchunked "Don't write data in chunks." { } "no" ############################################## # Downsampling parameters (only for 3D output) ############################################## INT downsample_x "Factor by which to downsample output in x direction. Point (0,0,0) is always included." { 1:* :: "Must be a positive integer" } 1 INT downsample_y "Factor by which to downsample output in y direction. Point (0,0,0) is always included." { 1:* :: "Must be a positive integer" } 1 INT downsample_z "Factor by which to downsample output in z direction. Point (0,0,0) is always included." { 1:* :: "Must be a positive integer" } 1 LOGICAL out_single "Output 3D data in single precision ? This parameter is ignored for Cactus compiled with SINGLE_PRECISION." { } "no" ################################### # Checkpointing/recovery parameters ################################### LOGICAL checkpoint_ID "Checkpoint initial data ?" { } "no" LOGICAL checkpoint_keep_all "Keep all checkpoint files ?" { } "no" LOGICAL recover "Recover from a checkpoint file ?" { } "no" INT checkpoint_every "Checkpoint every x iterations" { -1:* :: "negative values disable checkpointing" } -1 INT checkpoint_keep "How many checkpoint files to keep" { 1:* :: "1 overwrites the latest checkpoint file" } 1 STRING checkpoint_file "File name for regular checkpoint" { } "checkpoint" STRING checkpoint_ID_file "File name for initial data checkpoint" { } "checkpointID" STRING recover_file "File name of recovery file" { } "checkpoint" STRING checkpoint_dir "Output directory for checkpoint files" { } "." STRING recovery_dir "Directory to look for the recovery file" { } "."