# Parameter definitions for thorn IOFlexIO ############################################################################# ### declare IOFlexIO parameters ############################################################################# private: ######################## # How often to do output ######################## INT out2D_every "How often to do 2D output, overrides out_every" STEERABLE = ALWAYS { -1:* :: } -1 INT out3D_every "How often to do 3D output, overrides out_every" STEERABLE = ALWAYS { -1:* :: } -1 #################### # Output directories #################### STRING outdir2D "Name of IO 2D output directory, overrides outdir" { .* :: A regex which matces everything } "." STRING outdir3D "Name of IO 3D output directory, overrides outdir" { .* :: A regex which matces everything } "." ########################## # What variables to output ########################## STRING out2D_vars "Variables to output in 2D FlexIO file format" STEERABLE = ALWAYS { .* :: A regex which matces everything } "" STRING out3D_vars "Variables to output in 3D FlexIO file format" STEERABLE = ALWAYS { .* :: A regex which matces everything } "" ################ # Various things ################ BOOLEAN checkpoint "Do checkpointing with IOFlexIO" { } "no" BOOLEAN out3d_reuse_filehandles "Reuse IEEEIO file handles by closing files at file system level after each output request." { } "yes" ############################################################################# ### import grid parameters ############################################################################# shares: grid USES KEYWORD domain "" { } ############################################################################# ### import IOUtil parameters ############################################################################# shares: IO #################### # Output directories #################### USES STRING outdir "Name of IO output directory" { } "." ######################## # How often to do output ######################## USES INT out_every "How often to do IO output" { -1:* :: } -1 ################ # various things ################ USES BOOLEAN verbose "Give extended screen output in IO?" { } "no" USES BOOLEAN out3D_datestamp "Write date as attribute to IO 3D output file?" { } "yes" USES BOOLEAN out3D_parameters "Write parameters to IO 3D output file?" { } "yes" USES BOOLEAN print_timing_info "Print timing information on I/O operations." { } "no" ####################### # Specific to 3D output ####################### USES 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 ioproc_every" "onefile" :: "all output is written into a single file by processor 0" } "proc" USES INT out3D_procs "Do IO on every N processors." { 1:* :: "Must be a positive integer" } 8 USES BOOLEAN out3D_septimefiles "Write one file per time slice, as opposed to all data in one file" { } "no" USES BOOLEAN out3D_unchunked "Don't write data in chunks." { } "no" ############################################## # Downsampling parameters (only for 3D output) ############################################## USES INT out3D_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 USES INT out3D_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 USES INT out3D_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 USES BOOLEAN out3D_single "Output 3D data in single precision ? This parameter is ignored for Cactus compiled with single precision" { } "no" ################################### # Checkpointing/recovery parameters ################################### USES BOOLEAN checkpoint_ID "Checkpoint initial data ?" { } "no" USES BOOLEAN checkpoint_keep_all "Keep all checkpoint files ?" { } "no" USES BOOLEAN recover "Recover from a checkpoint file ?" { } "no" USES INT checkpoint_every "Checkpoint every x iterations" { -1:* :: "negative values disable checkpointing" } -1 USES INT checkpoint_keep "How many checkpoint files to keep" { 1:* :: "1 overwrites the latest checkpoint file" } 1 USES STRING checkpoint_file "File name for regular checkpoint" { } "checkpoint" USES STRING checkpoint_ID_file "File name for initial data checkpoint" { } "checkpointID" USES STRING recover_file "File name of recovery file" { } "checkpoint" USES STRING checkpoint_dir "Output directory for checkpoint files" { } "." USES STRING recovery_dir "Directory to look for the recovery file" { } "."