aboutsummaryrefslogtreecommitdiff
path: root/CarpetDev/CarpetIOF5/param.ccl
blob: f9d1249bd8b33fb5d3ceb44b1e27abf82ba47201 (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
# Parameter definitions for thorn CarpetIOF5

BOOLEAN verbose "Produce screen output while running"
{
} no

BOOLEAN veryverbose "Produce much screen output while running"
{
} no



SHARES: IO

USES KEYWORD out_mode
USES INT     out_proc_every

USES INT     out_timesteps_per_file

USES KEYWORD out_save_parameters

USES STRING  out_dir       AS IO_out_dir
USES KEYWORD out_criterion AS IO_out_criterion
USES INT     out_every     AS IO_out_every
USES REAL    out_dt        AS IO_out_dt



PRIVATE:

STRING out_dir "Output directory (overrides IO::out_dir)" STEERABLE=always
{
  "^$" :: "Empty: use IO::out_dir"
  ".+" :: "Not empty: directory name"
} ""

KEYWORD file_content "Create one file for every x" STEERABLE=always
{
  "variable"   :: ""
  "group"      :: ""
  "thorn"      :: ""
  "everything" :: ""
} "group"

INT iteration_digits "Minimum number of digits for iteration number" STEERABLE=always
{
  0:* :: ""
} 10

STRING out_filename "File name (without extension) for file_content='everything'" STEERABLE=always
{
  "" :: ""
} "output"

INT processor_digits "Minimum number of digits for processor number" STEERABLE=always
{
  0:* :: ""
} 6

STRING out_extension "File name extension" STEERABLE=always
{
  "" :: "File extension (including a leading dot, if desired)"
} ".f5"

BOOLEAN create_subdirs "Create subdirectories for the output files to reduce the number of files per directory" STEERABLE=always
{
} "no"

BOOLEAN one_dir_per_file "Create one subdirectory per output file to reduce locking overhead" STEERABLE=always
{
} "no"




STRING out_vars "Variables and groups which should be output in the F5 file format" STEERABLE=always
{
  "" :: "List of group or variable names"
} ""

KEYWORD out_criterion "Criterion to select CarpetIOHDF5 output intervals" STEERABLE=always
{
  "default"   :: "Use IO::out_criterion"
  "always"    :: "Always output"
  "never"     :: "Never output"
  "iteration" :: "Output every so many iterations"
  "time"      :: "Output every that much coordinate time"
} "default"

INT out_every "How often to do CarpetIOF5 output (overrides IO::out_every)" STEERABLE=always
{
  1:* :: "Output every so many time steps"
  0   :: "As often as possible"
  -1  :: "No output"
  -2  :: "Use IO::out_every"
} -2

REAL out_dt "How often to do CarpetIOF5 output (overrides IO::out_dt)" STEERABLE=always
{
  (0:* :: "In intervals of that much coordinate time"
  0    :: "As often as possible"
  -1   :: "No output"
  -2   :: "Use IO::out_dt"
} -2

REAL dt_fudge "Fudge factor for time comparisons" STEERABLE=always
{
  0:* :: ""
} 1.0e-12



INT chunk_size_x "Chunk size for chunked datasets" STEERABLE=always
{
  -1  :: "no chunking (use actual dataset size)"
  1:* :: "desired chunk size"
} -1

INT chunk_size_y "Chunk size for chunked datasets" STEERABLE=always
{
  -1  :: "no chunking (use actual dataset size)"
  1:* :: "desired chunk size"
} -1

INT chunk_size_z "Chunk size for chunked datasets" STEERABLE=always
{
  -1  :: "no chunking (use actual dataset size)"
  1:* :: "desired chunk size"
} -1

INT compression_level "Compression level to use for writing HDF5 data" STEERABLE=always
{
  0   :: "no compression"
  1:9 :: "higher numbers compress better"
} 0

BOOLEAN write_checksum "Add a checksum when writing HDF5 files" STEERABLE=always
{
} "no"

BOOLEAN check_checksum "Check checksum (if present) when reading HDF5 files" STEERABLE=always
{
} "no"



KEYWORD output_regions "Regions which should be output" STEERABLE=always
{
  "exterior"     :: "whole region (including boundaries)"
  #"communicated" :: "exterior without outer boundary"
  "owned"        :: "evolved in time"
  # "active"       :: "owned minus buffers"
  "interior"     :: "interior (without ghost zones)"
} "exterior"