aboutsummaryrefslogtreecommitdiff
path: root/param.ccl
blob: 3c702adc4397d61d08a4cc15da9124287f5e7322 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# 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