aboutsummaryrefslogtreecommitdiff
path: root/param.ccl
blob: 2286f292c01ddc852b435467e2a0beb64ee4f5a2 (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
# Parameter definitions for thorn IOBasic
# $Header$


#############################################################################
### declare IOBasic parameters
#############################################################################
private:

##########################
# Directory to output to
##########################
STRING out_dir "Output directory for IOBasic's scalar 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 outInfo_vars "Variables to output as Info to screen" STEERABLE = ALWAYS
{
  ".+" :: "Space-separated list of fully qualified variable/group names"
  "^$" :: "An empty string to output nothing"
} ""
STRING outScalar_vars "Variables to output into files" STEERABLE = ALWAYS
{
  ".+" :: "Space-separated list of fully qualified variable/group names"
  "^$" :: "An empty string to output nothing"
} ""


##########################
# What reductions to output
##########################
STRING outInfo_reductions "List of reductions to output as Info to screen" STEERABLE = ALWAYS
{
  ".+" :: "Space-separated list of reduction operators"
} "minimum maximum"
STRING outScalar_reductions "List of reductions to output into files" STEERABLE = ALWAYS
{
  ".+" :: "Space-separated list of reduction operators"
} "minimum maximum norm1 norm2"


########################
# How often to do output
########################
KEYWORD outInfo_criterion "Criterion to select Info output intervals"
{
  "never"     :: "Never output"
  "iteration" :: "Output every so many iterations"
  "time"      :: "Output every that much coordinate time"
} "iteration"
INT outInfo_every "How often to do Info output" STEERABLE = ALWAYS
{
   1:* :: "Every so many iterations"
   0:  :: "Disable Info output"
  -1:  :: "Default to IO::out_every"
} -1
REAL outInfo_dt "How often to do Info output" STEERABLE = ALWAYS
{
  (0:* :: "In intervals of that much coordinate time"
   0   :: "As often as possible"
  -1   :: "Disable output"
  -2   :: "Default to IO::out_dt"
} -2

KEYWORD outScalar_criterion "Criterion to select Scalar output intervals"
{
  "never"     :: "Never output"
  "iteration" :: "Output every so many iterations"
  "time"      :: "Output every that much coordinate time"
} "iteration"
INT outScalar_every "How often to do Scalar output" STEERABLE = ALWAYS
{
   1:* :: "Every so many iterations"
   0:  :: "Disable Scalar output"
  -1:  :: "Default to IO::out_every"
} -1
REAL outScalar_dt "How often to do Scalar output" STEERABLE = ALWAYS
{
  (0:* :: "In intervals of that much coordinate time"
   0   :: "As often as possible"
  -1   :: "Disable output"
  -2   :: "Default to IO::out_dt"
} -2


#####################
# Scalar output style
#####################
KEYWORD outScalar_style "Which style for Scalar output" STEERABLE = RECOVER
{
  "gnuplot" :: "1D output readable by gnuplot"
  "xgraph"  :: "1D output readable by xgraph"
} "xgraph"

STRING out_format "Which format for Scalar floating-point number output" STEERABLE = ALWAYS
{
  "^(\.[1]?[0-9])?[EGefg]$" :: "output with given precision in exponential / floating point notation"
} ".13f"


#############################################################################
### import IOUtil parameters
#############################################################################
shares: IO

USES STRING out_dir AS io_out_dir
USES KEYWORD out_criterion
USES INT out_every
USES REAL out_dt
USES KEYWORD verbose
USES KEYWORD out_fileinfo
USES BOOLEAN new_filename_scheme
USES BOOLEAN strict_io_parameter_check