# Parameter definitions for thorn IOUtil ############################################################################# ### import grid parameters ############################################################################# shares: grid USES KEYWORD domain "" { } ############################################################################# ### declare IOUtil parameters ### These are declared protected so that they can be seen by other IO thorns. ############################################################################# restricted: #################### # Output directories #################### STRING outdir "Name of IO output directory" STEERABLE = RECOVER { .* :: A regex which matches everything } "." ######################## # How often to do output ######################## INT out_every "How often to do IO output" STEERABLE = ALWAYS { -1:* :: } -1 ################ # various things ################ BOOLEAN verbose "Give extended screen output in IO?" STEERABLE = ALWAYS { } "no" BOOLEAN out3D_datestamp "Write date as attribute to IO 3D output file?" { } "yes" BOOLEAN out3D_parameters "Write parameters to IO 3D output file?" { } "yes" BOOLEAN print_timing_info "Print timing information on I/O operations." { } "no" ####################### # Specific to 3D output ####################### KEYWORD out3D_mode "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 out3D_procs" "onefile" :: "all output is written into a single file by processor 0" } "proc" INT out3D_procs "Do IO on every N processors." { 1:* :: "Must be a positive integer" } 8 BOOLEAN out3D_septimefiles "Write one file per time slice, as opposed to all data in one file" { } "no" BOOLEAN out3D_unchunked "Don't write data in chunks. This parameter is ignored for single-processor runs where output is always done in unchunked mode." { } "no" ############################################## # Downsampling parameters (only for 3D output) ############################################## INT out3D_downsample_x "Factor by which to downsample output in x direction. Point (0,0,0) is always included." STEERABLE = ALWAYS { 1:* :: "Must be a positive integer" } 1 INT out3D_downsample_y "Factor by which to downsample output in y direction. Point (0,0,0) is always included." STEERABLE = ALWAYS { 1:* :: "Must be a positive integer" } 1 INT out3D_downsample_z "Factor by which to downsample output in z direction. Point (0,0,0) is always included." STEERABLE = ALWAYS { 1:* :: "Must be a positive integer" } 1 BOOLEAN out3D_single "Output 3D data in single precision ? This parameter is ignored for Cactus compiled with single precision" { } "no" ################################### # Checkpointing/recovery parameters ################################### BOOLEAN checkpoint_ID "Checkpoint initial data ?" STEERABLE = RECOVER { } "no" BOOLEAN checkpoint_keep_all "Keep all checkpoint files ?" STEERABLE = RECOVER { } "no" KEYWORD recover "Recover from a checkpoint file ?" STEERABLE = RECOVER { "no" :: "Don't recover" "manual" :: "Recover from the checkpoint file given as /" "yes" :: "Same as \"manual\" (this value is depricated)" "auto" :: "Automatically recover from the latest checkpoint file found in " } "no" INT checkpoint_every "Checkpoint every x iterations" STEERABLE = RECOVER { -1:* :: "negative values disable checkpointing" } -1 INT checkpoint_keep "How many checkpoint files to keep" STEERABLE = RECOVER { 1:* :: "1 overwrites the latest checkpoint file" } 1 STRING checkpoint_file "File name for regular checkpoint" STEERABLE = RECOVER { .* :: A regex which matches everything } "checkpoint.chkpt" STRING checkpoint_ID_file "File name for initial data checkpoint" STEERABLE = RECOVER { .* :: A regex which matches everything } "checkpointID" STRING recover_file "File name of recovery file" STEERABLE = RECOVER { .* :: A regex which matches everything } "checkpoint.chkpt" STRING checkpoint_dir "Output directory for checkpoint files" STEERABLE = RECOVER { .* :: A regex which matches everything } "." STRING recovery_dir "Directory to look for the recovery file" STEERABLE = RECOVER { .* :: A regex which matches everything } "." STRING recover_ID_files "List of files to read in as initial data" STEERABLE = RECOVER { .* :: A regex which matches everything } "" STRING recover_ID_vars "List of variables to read in from the given initial data files" STEERABLE = RECOVER { .* :: A regex which matches everything } "all"