# Parameter definitions for thorn IOASCII # $Header$ ############################################################################# ### declare IOASCII parameters ############################################################################# private: ########################## # Directories to output to ########################## STRING out1D_dir "Output directory for 1D IOASCII files, overrides IO::out_dir" STEERABLE = RECOVER { ".+" :: "A valid directory name" "^$" :: "An empty string to choose the default from IO::out_dir" } "" STRING out2D_dir "Output directory for 2D IOASCII files, overrides out_dir" STEERABLE = RECOVER { ".+" :: "A valid directory name" "^$" :: "An empty string to choose the default from IO::out_dir" } "" STRING out3D_dir "Output directory for 3D IOASCII files, overrides IO::out_dir" STEERABLE = RECOVER { ".+" :: "A valid directory name" "^$" :: "An empty string to choose the default from IO::out_dir" } "" ########################## # What variables to output ########################## STRING out1D_vars "Variables to output in 1D IOASCII file format" STEERABLE = ALWAYS { ".+" :: "Space-separated list of fully qualified variable/group names" "^$" :: "An empty string to output nothing" } "" STRING out2D_vars "Variables to output in 2D IOASCII file format" STEERABLE = ALWAYS { ".+" :: "Space-separated list of fully qualified variable/group names" "^$" :: "An empty string to output nothing" } "" STRING out3D_vars "Variables to output in 3D IOASCII file format" STEERABLE = ALWAYS { ".+" :: "Space-separated list of fully qualified variable/group names" "^$" :: "An empty string to output nothing" } "" ######################## # How often to do output ######################## INT out1D_every "How often to do 1D IOASCII output, overrides IO::out_every" STEERABLE = ALWAYS { 1:* :: "Every so many iterations" 0: :: "Disable 1D IOASCII output" -1: :: "Default to IO::out_every" } -1 INT out2D_every "How often to do 2D IOASCII output, overrides IO::out_every" STEERABLE = ALWAYS { 1:* :: "Every so many iterations" 0: :: "Disable 2D IOASCII output" -1: :: "Default to IO::out_every" } -1 INT out3D_every "How often to do 3D IOASCII output, overrides IO::out_every" STEERABLE = ALWAYS { 1:* :: "Every so many iterations" 0: :: "Disable 3D IOASCII output" -1: :: "Default to IO::out_every" } -1 ################# # output style ################# KEYWORD out1D_style "Which style for 1D lines IOASCII output" { "xgraph" :: "f over x plots suitable for xgraph" "gnuplot f(x)" :: "f over x plots suitable for gnuplot" "gnuplot f(t,x)" :: "f over t,x plots suitable for gnuplot" } "xgraph" KEYWORD out2D_style "Which style for 2D slices IOASCII output" { "gnuplot f(x,y)" :: "f over x,y plots suitable for gnuplot" "gnuplot f(t,x,y)" :: "f over t,x,y plots suitable for gnuplot" } "gnuplot f(x,y)" KEYWORD out3D_style "Which style for 3D volume IOASCII output" { "gnuplot f(x,y,z)" :: "f over x,y,z plots suitable for gnuplot" "gnuplot f(t,x,y,z)" :: "f over t,x,y,z plots suitable for gnuplot" } "gnuplot f(x,y,z)" STRING out_format "Which format for IOASCII floating-point number output" STEERABLE = ALWAYS { "^(\.[1]?[0-9])?[EGefg]$" :: "output with given precision in exponential / floating point notation" } ".13f" ############################ # Specific to 1D output # Choosing what output to do ############################ BOOLEAN out1D_x "Do 1D IOASCII output in the x-direction" STEERABLE = ALWAYS { } "yes" BOOLEAN out1D_y "Do 1D IOASCII output in the y-direction" STEERABLE = ALWAYS { } "yes" BOOLEAN out1D_z "Do 1D IOASCII output in the z-direction" STEERABLE = ALWAYS { } "yes" BOOLEAN out1D_d "Do 1D IOASCII output in the diagonal-direction" STEERABLE = ALWAYS { } "yes" ################################ # Choosing what slices to output ################################ REAL out1D_xline_y "y-coord for 1D lines in x-direction" STEERABLE = RECOVER { *:* :: "A value between [ymin, ymax]" -424242: :: "Default to IO::out_xline_y" } -424242 REAL out1D_xline_z "z-coord for 1D lines in x-direction" STEERABLE = RECOVER { *:* :: "A value between [zmin, zmax]" -424242: :: "Default to IO::out_xline_z" } -424242 REAL out1D_yline_x "x-coord for 1D lines in y-direction" STEERABLE = RECOVER { *:* :: "A value between [xmin, xmax]" -424242: :: "Default to IO::out_yline_x" } -424242 REAL out1D_yline_z "z-coord for 1D lines in y-direction" STEERABLE = RECOVER { *:* :: "A value between [zmin, zmax]" -424242: :: "Default to IO::out_yline_z" } -424242 REAL out1D_zline_x "x-coord for 1D lines in z-direction" STEERABLE = RECOVER { *:* :: "A value between [xmin, xmax]" -424242: :: "Default to IO::out_zline_x" } -424242 REAL out1D_zline_y "y-coord for 1D lines in z-direction" STEERABLE = RECOVER { *:* :: "A value between [ymin, ymax]" -424242: :: "Default to IO::out_zline_y" } -424242 INT out1D_xline_yi "y-index (from 0) for 1D lines in x-direction" STEERABLE = RECOVER { 0:* :: "An index between [0, ny)" -1: :: "Choose the default from IO::out_xline_yi" } -1 INT out1D_xline_zi "z-index (from 0) for 1D lines in x-direction" STEERABLE = RECOVER { 0:* :: "An index between [0, nz)" -1: :: "Choose the default from IO::out_xline_zi" } -1 INT out1D_yline_xi "x-index (from 0) for 1D lines in y-direction" STEERABLE = RECOVER { 0:* :: "An index between [0, nx)" -1: :: "Choose the default from IO::out_yline_xi" } -1 INT out1D_yline_zi "z-index (from 0) for 1D lines in y-direction" STEERABLE = RECOVER { 0:* :: "An index between [0, nz)" -1: :: "Choose the default from IO::out_yline_zi" } -1 INT out1D_zline_xi "x-index (from 0) for 1D lines in z-direction" STEERABLE = RECOVER { 0:* :: "An index between [0, nx)" -1: :: "Choose the default from IO::out_zline_xi" } -1 INT out1D_zline_yi "y-index (from 0) for 1D lines in z-direction" STEERABLE = RECOVER { 0:* :: "An index between [0, ny)" -1: :: "Choose the default from IO::out_zline_yi" } -1 ################################ # Specific to 2D output # Choosing what planes to output ################################ REAL out2D_yzplane_x "x-coord for 2D planes in yz" STEERABLE = RECOVER { *:* :: "A value between [xmin, xmax]" -424242: :: "Default to IO::out_yzplane_x" } -424242 REAL out2D_xzplane_y "y-coord for 2D planes in xz" STEERABLE = RECOVER { *:* :: "A value between [ymin, ymax]" -424242: :: "Default to IO::out_xzplane_y" } -424242 REAL out2D_xyplane_z "z-coord for 2D planes in xy" STEERABLE = RECOVER { *:* :: "A value between [zmin, zmax]" -424242: :: "Default to IO::out_xyplane_z" } -424242 INT out2D_yzplane_xi "x-index (from 0) for 2D planes in yz" STEERABLE = RECOVER { 0:* :: "An index between [0, nx)" -1: :: "Choose the default from IO::out_yzplane_xi" } -1 INT out2D_xzplane_yi "y-index (from 0) for 2D planes in xz" STEERABLE = RECOVER { 0:* :: "An index between [0, ny)" -1: :: "Choose the default from IO::out_xzplane_yi" } -1 INT out2D_xyplane_zi "z-index (from 0) for 2D planes in xy" STEERABLE = RECOVER { 0:* :: "An index between [0, nz)" -1: :: "Choose the default from IO::out_xyplane_zi" } -1 ############################################################################# ### import IOUtil parameters ############################################################################# shares: IO USES STRING out_dir USES INT out_every USES REAL out_xline_y USES REAL out_xline_z USES REAL out_yline_x USES REAL out_yline_z USES REAL out_zline_x USES REAL out_zline_y USES INT out_xline_yi USES INT out_xline_zi USES INT out_yline_xi USES INT out_yline_zi USES INT out_zline_xi USES INT out_zline_yi USES REAL out_yzplane_x USES REAL out_xzplane_y USES REAL out_xyplane_z USES INT out_yzplane_xi USES INT out_xzplane_yi USES INT out_xyplane_zi USES INT out_downsample_x USES INT out_downsample_y USES INT out_downsample_z USES KEYWORD verbose USES KEYWORD out_fileinfo USES BOOLEAN new_filename_scheme USES BOOLEAN strict_io_parameter_check