operator_help.h 195 KB
Newer Older
Uwe Schulzweida's avatar
Uwe Schulzweida committed
1
/* Automatically created with makedoc, don't edit! */
Uwe Schulzweida's avatar
Uwe Schulzweida committed
2
3
4

static char *InfoHelp[] = {
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
5
    "    info, infov, map - Information and simple statistics",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
6
7
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
8
    "    <operator>  ifiles",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
9
10
    "",
    "DESCRIPTION",
11
    "    This module writes information about the structure and contents ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
12
13
14
    "    of all input files to standard output.  All input files need to have ",
    "    the same structure with the same variables on different time steps.",
    "    The information displayed depends on the chosen operator.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
15
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
16
    "OPERATORS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
17
    "    info   Dataset information listed by code number",
18
    "           Prints information and simple statistics for each field of all",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
19
    "           input datasets. For each field the operator prints one line with the following elements:",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
20
21
22
23
24
    "           - Date and Time",
    "           - Code number and Level",
    "           - Size of the grid and number of Missing values",
    "           - Minimum, Mean and Maximum \\",
    "           The mean value is computed without the use of area weights!",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
25
    "    infov  Dataset information listed by variable name",
26
27
    "           The same as operator info but using the name instead of the code",
    "           number to identify the variables.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
28
    "    map    Dataset information and simple map",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
29
    "           Prints information, simple statistics and a map for each field of all input",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
30
    "           datasets. The map will be printed only for fields on a regular lon/lat grid.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
31
32
33
34
35
    NULL
};

static char *SinfoHelp[] = {
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
36
    "    sinfo, sinfov, sinfop - Short information",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
37
38
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
39
    "    <operator>  ifiles",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
40
41
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
42
43
44
45
    "    This module writes information about the structure of ifiles to standard output.",
    "    ifiles is an unlimited number of input files. All input files need to have ",
    "    the same structure with the same variables on different time steps.",
    "    The information displayed depends on the chosen operator.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
46
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
47
    "OPERATORS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
48
    "    sinfo   Short dataset information listed by code number",
49
    "            Prints short information of a dataset. The information is divided into",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
50
    "            4 sections. Section 1 prints one line per variable with the following information:",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
51
52
53
    "            - institute and source",
    "            - parameter table and code number",
    "            - horizontal grid size and number",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
54
    "            - number of vertical levels and z-axis number",
55
56
    "            Section 2 and 3 gives a short overview of all horizontal and vertical grids.",
    "            And the last section contains short information of the time axis.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
57
    "    sinfov  Short dataset information listed by variable name",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
58
    "            The same as operator sinfo but using the name instead of the code number",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
59
    "            and parameter table to identify the variables.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
60
61
62
63
64
    NULL
};

static char *DiffHelp[] = {
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
65
    "    diff, diffv - Compare two datasets field by field",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
66
67
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
68
    "    <operator>  ifile1 ifile2",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
69
70
    "",
    "DESCRIPTION",
71
    "    Compares the contents of two datasets field by field. The input",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
72
    "    datasets need to have the same structure and its fields need to have ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
73
    "    the same header information and dimensions.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
74
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
75
    "OPERATORS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
76
77
78
    "    diff   Compare two datasets listed by code number",
    "           Provides statistics on differences between two datasets.",
    "           For each pair of fields the operator prints one line with the following information:",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
79
80
81
82
83
84
85
    "           - Date and Time",
    "           - Code number and Level",
    "           - Size of the grid and number of Missing values",
    "           - Occurrence of coefficient pairs with different signs (S)",
    "           - Occurrence of zero values (Z)",
    "           - Maxima of absolute difference of coefficient pairs",
    "           - Maxima of relative difference of non-zero coefficient pairs with equal signs",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
86
    "    diffv  Compare two datasets listed by variable name",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
87
88
    "           The same as operator diff. Using the name instead of the code number",
    "           to identify the variable.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
89
90
91
92
93
    NULL
};

static char *NinfoHelp[] = {
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
94
    "    npar, nlevel, nyear, nmon, ndate, ntime - ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
95
    "    Print the number of parameters, levels or times",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
96
97
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
98
    "    <operator>  ifile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
99
100
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
101
102
    "    This module prints the number of variables, levels or times of the ",
    "    input dataset.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
103
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
104
    "OPERATORS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
105
106
    "    npar    Number of parameters",
    "            Prints the number of parameters (variables).",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
107
108
109
110
111
112
113
114
    "    nlevel  Number of levels",
    "            Prints the number of levels for each variable.",
    "    nyear   Number of years",
    "            Prints the number of different years.",
    "    nmon    Number of months",
    "            Prints the number of different combinations of years and months.",
    "    ndate   Number of dates",
    "            Prints the number of different dates.",
115
116
    "    ntime   Number of time steps",
    "            Prints the number of time steps.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
117
118
119
120
121
    NULL
};

static char *ShowinfoHelp[] = {
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
122
    "    showformat, showcode, showname, showstdname, showlevel, showltype, showyear, ",
123
    "    showmon, showdate, showtime, showtimestamp - Show variables, levels or times",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
124
125
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
126
    "    <operator>  ifile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
127
128
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
129
    "    This module prints the format, variables, levels or times of the input dataset.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
130
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
131
    "OPERATORS",
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
    "    showformat     Show file format",
    "                   Prints the file format of the input dataset.",
    "    showcode       Show code numbers",
    "                   Prints the code number of all variables.",
    "    showname       Show variable names",
    "                   Prints the name of all variables.",
    "    showstdname    Show standard names",
    "                   Prints the standard name of all variables.",
    "    showlevel      Show levels",
    "                   Prints all levels for each variable.",
    "    showltype      Show GRIB level types",
    "                   Prints the GRIB level type for all z-axes.",
    "    showyear       Show years",
    "                   Prints all years.",
    "    showmon        Show months",
    "                   Prints all months.",
    "    showdate       Show date information",
    "                   Prints date information of all time steps (format YYYY-MM-DD).",
    "    showtime       Show time information",
    "                   Prints time information of all time steps (format hh:mm:ss).",
    "    showtimestamp  Show timestamp",
    "                   Prints timestamp of all time steps (format YYYY-MM-DDThh:mm:ss).",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
154
155
156
157
    NULL
};

static char *FiledesHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
158
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
159
    "    pardes, griddes, zaxisdes, vct - Dataset description",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
160
161
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
162
    "    <operator>  ifile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
163
164
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
165
166
    "    This module prints the description of the parameters, the grids,",
    "    the z-axis or the vertical coordinate table.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
167
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
168
    "OPERATORS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
169
170
171
172
173
174
    "    pardes    Parameter description",
    "              Prints a table with a description of all variables.",
    "              For each variable the operator prints one line listing the",
    "              code, name, description and units.",
    "    griddes   Grid description",
    "              Prints the description of all grids.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
175
176
    "    zaxisdes  Z-axis description",
    "              Prints the description of all z-axes.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
177
178
    "    vct       Vertical coordinate table",
    "              Prints the vertical coordinate table.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
179
180
181
182
    NULL
};

static char *CopyHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
183
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
184
    "    copy, cat - Copy datasets",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
185
186
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
187
    "    <operator>  ifiles ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
188
189
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
190
191
192
    "    This module contains operators to copy or concatenate datasets.",
    "    ifiles is an unlimited number of input files. All input files need to have ",
    "    the same structure with the same variables on different time steps.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
193
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
194
195
    "OPERATORS",
    "    copy  Copy datasets",
196
    "          Copies all input datasets to ofile. ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
197
    "    cat   Concatenate datasets",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
198
    "          Concatenates all input datasets and appends the result to the end ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
199
    "          of ofile. If ofile does not exist it will be created.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
200
201
202
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
203
static char *ReplaceHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
204
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
205
    "    replace - Replace variables",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
206
207
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
208
    "    replace  ifile1 ifile2 ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
209
210
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
211
212
    "    Replaces all common variables of ifile2 and ifile1 with those of ifile1",
    "    and write the result to ofile.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
213
    "    Both input datasets need to have the same number of time steps.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
214
215
216
217
    NULL
};

static char *MergeHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
218
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
219
    "    merge, mergetime - Merge datasets",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
220
221
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
222
    "    <operator>  ifiles ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
223
224
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
225
226
    "    This module reads datasets from several input files,",
    "    merges them and writes the resulting dataset to ofile.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
227
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
228
229
    "OPERATORS",
    "    merge      Merge datasets with different fields",
230
    "               Merges time series of different fields from several input datasets.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
231
232
    "               The number of fields per time step written to ofile",
    "               is the sum of the field numbers per time step in all input datasets.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
233
234
    "               The time series on all input datasets are required to have different",
    "               fields and the same number of time steps.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
235
236
    "    mergetime  Merge datasets sorted by date and time",
    "               Merges all time steps of all input files sorted by date and time.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
237
238
    "               All input files need to have the same structure with the same variables ",
    "               on different time steps.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
239
    "               After this operation every input time step is in ofile and",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
240
    "               all time steps are sorted by date and time.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
241
242
243
244
    NULL
};

static char *SplitHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
245
    "NAME",
246
247
    "    splitcode, splitname, splitlevel, splitgrid, splitzaxis, splittabnum - ",
    "    Split a dataset",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
248
249
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
250
    "    <operator>  ifile obase",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
251
252
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
253
254
255
    "    This module splits ifile into pieces. The output files will be named <obase><xxx><suffix>",
    "    where suffix is the filename extension derived from the file format. xxx and the contents ",
    "    of the output files depends on the chosen operator. ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
256
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
257
    "OPERATORS",
258
259
    "    splitcode    Split code numbers",
    "                 Splits a dataset into pieces, one for each different code number.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
260
    "                 xxx will have three digits with the code number.",
261
262
    "    splitname    Split variable names",
    "                 Splits a dataset into pieces, one for each variable name.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
263
    "                 xxx will be a string with the variable name.",
264
265
    "    splitlevel   Split levels",
    "                 Splits a dataset into pieces, one for each different level.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
266
    "                 xxx will have six digits with the level.",
267
268
    "    splitgrid    Split grids",
    "                 Splits a dataset into pieces, one for each different grid.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
269
    "                 xxx will have two digits with the grid number.",
270
271
    "    splitzaxis   Split z-axes",
    "                 Splits a dataset into pieces, one for each different z-axis.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
272
    "                 xxx will have two digits with the z-axis number.",
273
274
    "    splittabnum  Split parameter table numbers",
    "                 Splits a dataset into pieces, one for each GRIB1 parameter table number.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
275
276
277
278
279
280
281
    "                 xxx will have three digits with the GRIB1 parameter table number.",
    "",
    "ENVIRONMENT",
    "    CDO_FILE_SUFFIX",
    "        This environment variable can be used to set the default file suffix. This suffix will be",
    "        added to the output file names instead of the filename extension derived from the file format. ",
    "        Set this variable to NULL to disable the adding of a file suffix.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
282
283
284
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
285
static char *SplittimeHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
286
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
287
288
    "    splithour, splitday, splitmon, splitseas, splityear - ",
    "    Split time steps of a dataset",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
289
290
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
291
    "    <operator>  ifile obase",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
292
293
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
294
295
296
    "    This module splits ifile into  time steps pieces. The output files will be named",
    "    <obase><xxx><suffix> where suffix is the filename extension derived from the file format. ",
    "    xxx and the contents of the output files depends on the chosen operator. ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
297
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
298
299
300
    "OPERATORS",
    "    splithour  Split hours",
    "               Splits a file into pieces, one for each different hour.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
301
    "               xxx will have two digits with the hour.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
302
303
    "    splitday   Split days",
    "               Splits a file into pieces, one for each different day.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
304
    "               xxx will have two digits with the day.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
305
306
    "    splitmon   Split months",
    "               Splits a file into pieces, one for each different month.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
307
    "               xxx will have two digits with the month.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
308
309
    "    splitseas  Split seasons",
    "               Splits a file into pieces, one for each different season.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
310
    "               xxx will have three characters with the season.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
311
312
    "    splityear  Split years",
    "               Splits a file into pieces, one for each different year.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
313
314
315
316
317
318
319
    "               xxx will have four digits with the year.",
    "",
    "ENVIRONMENT",
    "    CDO_FILE_SUFFIX",
    "        This environment variable can be used to set the default file suffix. This suffix will be",
    "        added to the output file names instead of the filename extension derived from the file format. ",
    "        Set this variable to NULL to disable the adding of a file suffix.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
320
321
322
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
323
324
325
326
327
static char *SplitselHelp[] = {
    "NAME",
    "    splitsel - Split selected time steps",
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
328
    "    splitsel,nsets[,noffset[,nskip]]  ifile obase",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
329
330
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
331
332
333
334
    "    This operator splits ifile into pieces, one for each adjacent",
    "    sequence t_1, ...., t_n of time steps of the same selected time range.",
    "    The output files will be named <obase><nnnnnn><suffix> where nnnnnn is the ",
    "    sequence number and suffix is the filename extension derived from the file format.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
335
336
    "",
    "PARAMETER",
337
    "    nsets    INTEGER  Number of input time steps for each output file",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
338
339
    "    noffset  INTEGER  Number of input time steps skipped before the first time step range (optional)",
    "    nskip    INTEGER  Number of input time steps skipped between time step ranges (optional)",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
340
341
342
343
344
345
    "",
    "ENVIRONMENT",
    "    CDO_FILE_SUFFIX",
    "        This environment variable can be used to set the default file suffix. This suffix will be",
    "        added to the output file names instead of the filename extension derived from the file format. ",
    "        Set this variable to NULL to disable the adding of a file suffix.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
346
347
348
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
static char *SelectHelp[] = {
    "NAME",
    "    select, delete - Select fields",
    "",
    "SYNOPSIS",
    "    <operator>,keys  ifiles ofile",
    "",
    "DESCRIPTION",
    "    This module selects some fields from ifiles and writes them to ofile.",
    "    ifiles is an unlimited number of input files. All input files need to have ",
    "    the same structure with the same variables on different time steps.",
    "    The fields selected depends on the chosen operator and the parameters.",
    "",
    "OPERATORS",
    "    select  Select fields",
    "            Selects all fields with keys in a user given list.",
    "    delete  Delete fields",
    "            Deletes all fields with keys in a user given list.",
    "",
    "PARAMETER",
    "    keys  STRING  Comma separated list of keys",
    NULL
};

373
static char *SelvarHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
374
    "NAME",
375
    "    selcode, delcode, selname, delname, selstdname, sellevel, sellevidx, selgrid, ",
376
    "    selzaxis, selltype, seltabnum - Select fields",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
377
378
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
379
380
    "    selcode,codes  ifile ofile",
    "    delcode,codes  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
381
382
    "    selname,varnames  ifile ofile",
    "    delname,varnames  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
383
    "    selstdname,stdnames  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
384
    "    sellevel,levels  ifile ofile",
385
    "    sellevidx,levidx  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
386
    "    selgrid,grids  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
387
    "    selzaxis,zaxes  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
388
    "    selltype,ltypes  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
389
    "    seltabnum,tabnums  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
390
391
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
392
    "    This module selects some fields from ifile and writes them to ofile.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
393
    "    The fields selected depends on the chosen operator and the parameters.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
394
395
    "",
    "OPERATORS",
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
    "    selcode     Select variables by code number",
    "                Selects all fields with code numbers in a user given list.",
    "    delcode     Delete variables by code number",
    "                Deletes all fields with code numbers in a user given list.",
    "    selname     Select variables by name",
    "                Selects all fields with variable names in a user given list.",
    "    delname     Delete variables by name",
    "                Deletes all fields with variable names in a user given list.",
    "    selstdname  Select variables by standard name",
    "                Selects all fields with standard names in a user given list.",
    "    sellevel    Select levels",
    "                Selects all fields with levels in a user given list.",
    "    sellevidx   Select levels by index",
    "                Selects all fields with index of levels in a user given list.",
    "    selgrid     Select grids",
    "                Selects all fields with grids in a user given list.",
    "    selzaxis    Select z-axes",
    "                Selects all fields with z-axes in a user given list.",
    "    selltype    Select GRIB level types",
    "                Selects all fields with GRIB level type in a user given list.",
    "    seltabnum   Select parameter table numbers",
    "                Selects all fields with parameter table numbers in a user given list.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
418
419
    "",
    "PARAMETER",
420
421
422
423
424
425
426
427
428
    "    codes     INTEGER  Comma separated list of code numbers",
    "    varnames  STRING   Comma separated list of variable names",
    "    stdnames  STRING   Comma separated list of standard names",
    "    levels    FLOAT    Comma separated list of levels",
    "    levidx    INTEGER  Comma separated list of index of levels",
    "    ltypes    INTEGER  Comma separated list of GRIB level types",
    "    grids     STRING   Comma separated list of grid names or numbers",
    "    zaxes     STRING   Comma separated list of z-axis names or numbers",
    "    tabnums   INTEGER  Comma separated list of parameter table numbers",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
429
430
431
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
432
static char *SeltimeHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
433
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
434
435
    "    seltimestep, seltime, selhour, selday, selmon, selyear, selseas, seldate, ",
    "    selsmon - Select time steps",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
436
437
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
438
439
440
441
442
443
444
445
    "    seltimestep,timesteps  ifile ofile",
    "    seltime,times  ifile ofile",
    "    selhour,hours  ifile ofile",
    "    selday,days  ifile ofile",
    "    selmon,months  ifile ofile",
    "    selyear,years  ifile ofile",
    "    selseas,seasons  ifile ofile",
    "    seldate,date1[,date2]  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
446
    "    selsmon,month[,nts1[,nts2]]  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
447
448
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
449
    "    This module selects user specified time steps from ifile and writes them to ofile.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
450
    "    The time steps selected depends on the chosen operator and the parameters.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
451
452
    "",
    "OPERATORS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
453
454
    "    seltimestep  Select time steps",
    "                 Selects all time steps with a time step in a user given list.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
455
    "    seltime      Select times",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
456
    "                 Selects all time steps with a time in a user given list.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
457
    "    selhour      Select hours",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
458
    "                 Selects all time steps with a hour in a user given list.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
459
    "    selday       Select days",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
460
    "                 Selects all time steps with a day in a user given list.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
461
    "    selmon       Select months",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
462
    "                 Selects all time steps with a month in a user given list.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
463
    "    selyear      Select years",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
464
    "                 Selects all time steps with a year in a user given list.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
465
    "    selseas      Select seasons",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
466
    "                 Selects all time steps with a month of a season in a user given list.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
467
    "    seldate      Select dates",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
468
    "                 Selects all time steps with a date in a user given range.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
469
470
    "    selsmon      Select single month",
    "                 Selects a month and optional an unlimited number of time steps before and after this month.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
471
472
    "",
    "PARAMETER",
473
    "    timesteps  INTEGER  Comma separated list of time steps",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
474
    "    times      STRING   Comma separated list of times (format hh:mm:ss)",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
475
476
477
478
479
    "    hours      INTEGER  Comma separated list of hours",
    "    days       INTEGER  Comma separated list of days",
    "    months     INTEGER  Comma separated list of months",
    "    years      INTEGER  Comma separated list of years",
    "    seasons    STRING   Comma separated list of seasons (DJF, MAM, JJA, SON)",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
480
481
    "    date1      STRING   Start date (format YYYY-MM-DDThh:mm:ss)",
    "    date2      STRING   End date (format YYYY-MM-DDThh:mm:ss)",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
482
483
    "    nts1       INTEGER  Number of time steps before the selected month [default: 0]",
    "    nts2       INTEGER  Number of time steps after the selected month [default: nts1]",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
484
485
486
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
487
static char *SelboxHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
488
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
489
    "    sellonlatbox, selindexbox - Select a box of a field",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
490
491
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
492
493
    "    sellonlatbox,lon1,lon2,lat1,lat2  ifile ofile",
    "    selindexbox,idx1,idx2,idy1,idy2  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
494
495
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
496
    "    Selects a box of the rectangular understood field.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
497
    "    All input fields need to have the same horizontal grid.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
498
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
499
    "OPERATORS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
500
    "    sellonlatbox  Select a longitude/latitude box",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
501
502
    "                  Selects a longitude/latitude box. The user has to give the ",
    "                  longitudes and latitudes of the edges of the box.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
503
    "    selindexbox   Select an index box",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
504
505
506
    "                  Selects an index box. The user has to give the indexes of the ",
    "                  edges of the box. The index of the left edge may be greater ",
    "                  then that of the right edge.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
507
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
508
    "PARAMETER",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
509
510
511
512
    "    lon1  FLOAT    Western longitude",
    "    lon2  FLOAT    Eastern longitude",
    "    lat1  FLOAT    Southern or northern latitude",
    "    lat2  FLOAT    Northern or southern latitude",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
513
514
515
516
517
518
519
    "    idx1  INTEGER  Index of first longitude",
    "    idx2  INTEGER  Index of last longitude",
    "    idy1  INTEGER  Index of first latitude",
    "    idy2  INTEGER  Index of last latitude",
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
520
521
522
523
524
525
526
527
static char *CondHelp[] = {
    "NAME",
    "    ifthen, ifnotthen - Conditional select one field",
    "",
    "SYNOPSIS",
    "    <operator>  ifile1 ifile2 ofile",
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
528
    "    This module selects field elements from ifile2 with respect to ifile1 and writes them ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
529
    "    to ofile. The fields in ifile1 are handled as a mask. A value ",
530
    "    not equal to zero is treated as \"true\", zero is treated as \"false\".",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
531
532
533
    "    The number of fields in ifile1 has either to be the same as in ifile2 or the",
    "    same as in one time step of ifile2 or only one.",
    "    The fields in ofile inherit the meta data from ifile2.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
534
535
536
    "",
    "OPERATORS",
    "    ifthen     If then",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
537
    "                        / i_2(t,x) if i_1([t,]x) NE 0  AND  i_1([t,]x) NE miss",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
538
    "               o(t,x) =",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
539
    "                        \\ miss     if i_1([t,]x) EQ 0  OR   i_1([t,]x) EQ miss",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
540
    "    ifnotthen  If not then",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
541
    "                        / i_2(t,x) if i_1([t,]x) EQ 0  AND  i_1([t,]x) NE miss",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
542
    "               o(t,x) = ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
543
    "                        \\ miss     if i_1([t,]x) NE 0  OR   i_1([t,]x) EQ miss",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
544
545
546
547
548
549
550
551
552
553
554
    NULL
};

static char *Cond2Help[] = {
    "NAME",
    "    ifthenelse - Conditional select  two fields",
    "",
    "SYNOPSIS",
    "    ifthenelse  ifile1 ifile2 ifile3 ofile",
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
555
556
    "    This operator selects field elements from ifile2 or ifile3 with respect to",
    "    ifile1 and writes them to ofile. The fields in ifile1 are handled as a mask.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
557
    "    A value not equal to zero is treated as \"true\", zero is treated as \"false\".",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
558
559
560
561
562
563
564
565
    "    The number of fields in ifile1 has either to be the same as in ifile2 or the ",
    "    same as in one time step of ifile2 or only one.",
    "    ifile2 and ifile3 need to have the same number of fields.",
    "    The fields in ofile inherit the meta data from ifile2.",
    "    ",
    "              / i_2(t,x) if i_1([t,]x) NE 0  AND  i_1([t,]x) NE miss",
    "    o(t,x) = <  i_3(t,x) if i_1([t,]x) EQ 0  AND  i_1([t,]x) NE miss",
    "              \\ miss     if i_1([t,]x) EQ miss",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
566
567
568
569
570
571
572
573
574
575
576
577
    NULL
};

static char *CondcHelp[] = {
    "NAME",
    "    ifthenc, ifnotthenc - Conditional select a constant",
    "",
    "SYNOPSIS",
    "    <operator>,c  ifile ofile",
    "",
    "DESCRIPTION",
    "    This module creates fields with a constant value or missing value.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
578
    "    The fields in ifile are handled as a mask. A value not equal ",
579
    "    to zero is treated as \"true\", zero is treated as \"false\".",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
    "",
    "OPERATORS",
    "    ifthenc     If then constant",
    "                         / c      if i(t,x) NE 0  AND  i(t,x) NE miss",
    "                o(t,x) =",
    "                         \\ miss   if i(t,x) EQ 0  OR   i(t,x) EQ miss",
    "    ifnotthenc  If not then constant",
    "                         / c      if i(t,x) EQ 0  AND  i(t,x) NE miss",
    "                o(t,x) =",
    "                         \\ miss   if i(t,x) NE 0  OR   i(t,x) EQ miss",
    "",
    "PARAMETER",
    "    c  FLOAT  Constant",
    NULL
};

static char *CompHelp[] = {
    "NAME",
    "    eq, ne, le, lt, ge, gt - Comparison of two fields",
    "",
    "SYNOPSIS",
    "    <operator>  ifile1 ifile2 ofile",
    "",
    "DESCRIPTION",
    "    This module compares two datasets field by field. The resulting",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
605
606
607
608
    "    field is a mask containing 1 if the comparison is true and 0 if not. ",
    "    The number of fields in ifile1 should be the same as in ifile2.",
    "    One of the input files can contain only one time step or one field.",
    "    The fields in ofile inherit the meta data from ifile1 or ifile2.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
609
    "    The type of comparison depends on the chosen operator.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
    "",
    "OPERATORS",
    "    eq  Equal",
    "                  /   1   if i_1(t,x) EQ i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "        o(t,x) = <    0   if i_1(t,x) NE i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "                  \\  miss if i_1(t,x) EQ miss      OR   i_2(t,x) EQ miss",
    "    ne  Not equal",
    "                  /   1   if i_1(t,x) NE i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "        o(t,x) = <    0   if i_1(t,x) EQ i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "                  \\  miss if i_1(t,x) EQ miss      OR   i_2(t,x) EQ miss",
    "    le  Less equal",
    "                  /   1   if i_1(t,x) LE i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "        o(t,x) = <    0   if i_1(t,x) GT i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "                  \\  miss if i_1(t,x) EQ miss      OR   i_2(t,x) EQ miss",
    "    lt  Less than",
    "                  /   1   if i_1(t,x) LT i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "        o(t,x) = <    0   if i_1(t,x) GE i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "                  \\  miss if i_1(t,x) EQ miss      OR   i_2(t,x) EQ miss",
    "    ge  Greater equal",
    "                  /   1   if i_1(t,x) GE i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "        o(t,x) = <    0   if i_1(t,x) LT i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "                  \\  miss if i_1(t,x) EQ miss      OR   i_2(t,x) EQ miss",
    "    gt  Greater than",
    "                  /   1   if i_1(t,x) GT i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "        o(t,x) = <    0   if i_1(t,x) LE i_2(t,x)  AND  i_1(t,x),i_2(t,x) NE miss",
    "                  \\  miss if i_1(t,x) EQ miss      OR   i_2(t,x) EQ miss",
    NULL
};

static char *CompcHelp[] = {
    "NAME",
    "    eqc, nec, lec, ltc, gec, gtc - Comparison of a field with a constant",
    "",
    "SYNOPSIS",
    "    <operator>,c  ifile ofile",
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
647
648
    "    This module compares all fields of a dataset with a constant. The resulting",
    "    field is a mask containing 1 if the comparison is true and 0 if not.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
649
    "    The type of comparison depends on the chosen operator.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
650
651
652
653
654
655
656
657
658
659
660
661
662
663
    "",
    "OPERATORS",
    "    eqc  Equal constant",
    "                   /   1   if i(t,x) EQ c     AND  i(t,x),c NE miss",
    "         o(t,x) = <    0   if i(t,x) NE c     AND  i(t,x),c NE miss",
    "                   \\  miss if i(t,x) EQ miss  OR   c EQ miss",
    "    nec  Not equal constant",
    "                   /   1   if i(t,x) NE c     AND  i(t,x),c NE miss",
    "         o(t,x) = <    0   if i(t,x) EQ c     AND  i(t,x),c NE miss",
    "                   \\  miss if i(t,x) EQ miss  OR   c EQ miss",
    "    lec  Less equal constant",
    "                   /   1   if i(t,x) LE c     AND  i(t,x),c NE miss",
    "         o(t,x) = <    0   if i(t,x) GT c     AND  i(t,x),c NE miss",
    "                   \\  miss if i(t,x) EQ miss  OR   c EQ miss",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
664
    "    ltc  Less than constant",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
665
666
667
668
669
670
671
    "                   /   1   if i(t,x) LT c     AND  i(t,x),c NE miss",
    "         o(t,x) = <    0   if i(t,x) GE c     AND  i(t,x),c NE miss",
    "                   \\  miss if i(t,x) EQ miss  OR   c EQ miss",
    "    gec  Greater equal constant",
    "                   /   1   if i(t,x) GE c     AND  i(t,x),c NE miss",
    "         o(t,x) = <    0   if i(t,x) LT c     AND  i(t,x),c NE miss",
    "                   \\  miss if i(t,x) EQ miss  OR   c EQ miss",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
672
    "    gtc  Greater than constant",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
673
674
675
676
677
678
679
680
681
    "                   /   1   if i(t,x) GT c     AND  i(t,x),c NE miss",
    "         o(t,x) = <    0   if i(t,x) LE c     AND  i(t,x),c NE miss",
    "                   \\  miss if i(t,x) EQ miss  OR   c EQ miss",
    "",
    "PARAMETER",
    "    c  FLOAT  Constant",
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
682
static char *SetHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
683
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
684
    "    setpartab, setcode, setname, setlevel, setltype - Set field info",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
685
686
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
687
688
    "    setpartab,table  ifile ofile",
    "    setcode,code  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
689
    "    setname,name  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
690
    "    setlevel,level  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
691
    "    setltype,ltype  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
692
693
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
694
    "    This module sets some field information. Depending on the chosen",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
695
    "    operator the parameter table, code number, variable name or",
696
    "    level is set.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
697
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
698
699
700
    "OPERATORS",
    "    setpartab  Set parameter table",
    "               Sets the parameter table for all variables.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
701
702
    "    setcode    Set code number",
    "               Sets the code number for all variables to the same given value.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
703
    "    setname    Set variable name",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
704
705
706
    "               Sets the name of the first variable.",
    "    setlevel   Set level",
    "               Sets the first level of all variables.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
707
708
    "    setltype   Set GRIB level type",
    "               Sets the GRIB level type of all variables.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
709
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
710
711
712
713
714
    "PARAMETER",
    "    table  STRING   Parameter table file or name",
    "    code   INTEGER  Code number",
    "    name   STRING   Variable name",
    "    level  FLOAT    New level",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
715
    "    ltype  INTEGER  GRIB level type",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
716
717
718
719
    NULL
};

static char *SettimeHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
720
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
721
722
    "    setdate, settime, setday, setmon, setyear, settunits, settaxis, setreftime, ",
    "    setcalendar, shifttime - Set time",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
723
724
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
725
726
727
728
729
730
731
    "    setdate,date  ifile ofile",
    "    settime,time  ifile ofile",
    "    setday,day  ifile ofile",
    "    setmon,month  ifile ofile",
    "    setyear,year  ifile ofile",
    "    settunits,units  ifile ofile",
    "    settaxis,date,time[,inc]  ifile ofile",
732
    "    setreftime,date,time[,units]  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
733
734
    "    setcalendar,calendar  ifile ofile",
    "    shifttime,sval  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
735
736
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
737
    "    This module sets the time axis or part of the time axis. Which part of the",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
738
    "    time axis is overwritten depends on the chosen operator.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
739
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
740
741
    "OPERATORS",
    "    setdate      Set date",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
742
    "                 Sets the date in every time step to the same given value.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
743
    "    settime      Set time of the day",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
744
    "                 Sets the time in every time step to the same given value.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
745
    "    setday       Set day",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
746
    "                 Sets the day in every time step to the same given value.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
747
    "    setmon       Set month",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
748
    "                 Sets the month in every time step to the same given value.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
749
    "    setyear      Set year",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
750
    "                 Sets the year in every time step to the same given value.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
751
    "    settunits    Set time units",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
752
    "                 Sets the base units of a relative time axis.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
753
754
755
    "    settaxis     Set time axis",
    "                 Sets the time axis.",
    "    setreftime   Set reference time",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
756
    "                 Sets the reference time of a relative time axis.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
757
    "    setcalendar  Set calendar",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
758
    "                 Sets the calendar of a relative time axis.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
759
760
    "    shifttime    Shift time steps",
    "                 Shifts all time steps by the parameter sval.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
761
762
763
764
765
    "",
    "PARAMETER",
    "    day       INTEGER  Value of the new day",
    "    month     INTEGER  Value of the new month",
    "    year      INTEGER  Value of the new year",
766
    "    units     STRING   Base units of the time axis (seconds, minutes, hours, days, months, years)",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
767
768
    "    date      STRING   Date (format: YYYY-MM-DD)",
    "    time      STRING   Time (format: hh:mm:ss)",
769
    "    inc       STRING   Optional increment (seconds, minutes, hours, days, months, years) [default: 0hour]",
770
    "    calendar  STRING   Calendar (standard, proleptic, 360days, 365days, 366days)",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
771
772
773
774
775
    "    sval      STRING   Shift value (e.g. -3hour)",
    NULL
};

static char *ChangeHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
776
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
777
    "    chcode, chname, chlevel, chlevelc, chlevelv - Change field header",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
778
779
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
780
    "    chcode,oldcode,newcode[,...]  ifile ofile",
781
    "    chname,oldname,newname,...  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
782
783
    "    chlevel,oldlev,newlev,...  ifile ofile",
    "    chlevelc,code,oldlev,newlev  ifile ofile",
784
    "    chlevelv,name,oldlev,newlev  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
785
786
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
787
    "    This module reads fields from ifile, changes some header values",
788
    "    and writes the results to ofile. The kind of changes depends on ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
789
    "    the chosen operator.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
790
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
791
    "OPERATORS",
792
    "    chcode    Change code number",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
793
    "              Changes some user given code numbers to new user given values.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
794
    "    chname    Change variable name",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
795
796
797
798
799
800
    "              Changes some user given variable names to new user given names.",
    "    chlevel   Change level",
    "              Changes some user given levels to new user given values.",
    "    chlevelc  Change level of one code",
    "              Changes one level of a user given code number.",
    "    chlevelv  Change level of one variable",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
801
    "              Changes one level of a user given variable name.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
802
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
803
    "PARAMETER",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
804
    "    code                 INTEGER  Code number",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
805
    "    oldcode,newcode,...  INTEGER  Pairs of old and new code numbers",
806
807
    "    name                 STRING   Variable name",
    "    oldname,newname,...  STRING   Pairs of old and new variable names",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
808
809
810
    "    oldlev               FLOAT    Old level",
    "    newlev               FLOAT    New level",
    "    oldlev,newlev,...    FLOAT    Pairs of old and new levels",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
811
812
813
814
    NULL
};

static char *SetgridHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
815
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
816
    "    setgrid, setgridtype - Set grid type",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
817
818
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
819
820
    "    setgrid,grid  ifile ofile",
    "    setgridtype,gridtype  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
821
822
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
823
824
    "    This module sets the grid description of all fields with the same grid size",
    "    as the new grid.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
825
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
826
827
    "OPERATORS",
    "    setgrid      Set grid",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
828
    "                 Sets the grid description of all fields.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
829
    "    setgridtype  Set grid type",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
830
    "                 Sets the grid type of all grids to a user given value.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
831
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
832
    "PARAMETER",
833
834
    "    grid      STRING  Target grid description file or name",
    "    gridtype  STRING  Target grid type (curvilinear or cell)",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
835
836
837
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
838
static char *SetzaxisHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
839
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
840
    "    setzaxis - Set z-axis type",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
841
842
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
843
    "    setzaxis,zaxis  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
844
845
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
846
847
    "    This operator sets the z-axis description of all variables with the",
    "    same number of level as the new z-axis.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
848
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
849
    "PARAMETER",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
850
    "    zaxis  STRING  Z-axis description file or name of the target z-axis",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
851
852
853
854
    NULL
};

static char *SetgattHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
855
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
856
    "    setgatt, setgatts - Set global attribute",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
857
858
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
859
860
    "    setgatt,attname,attstring  ifile ofile",
    "    setgatts,attfile  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
861
862
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
863
    "    This module sets global text attributes of a dataset. Depending on the chosen ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
864
    "    operator the attributes are read from a file or can be specified by a parameter.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
865
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
866
867
868
869
870
871
    "OPERATORS",
    "    setgatt   Set global attribute",
    "              Sets one user defined global text attribute.",
    "    setgatts  Set global attributes",
    "              Sets user defined global text attributes. The name and text",
    "              of the global attributes are read from a file.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
872
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
873
    "PARAMETER",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
874
875
    "    attname,attstring  STRING  Name and text of the global attribute (without spaces!)",
    "    attfile            STRING  File name which contains global text attributes",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
876
877
878
879
    NULL
};

static char *InvertHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
880
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
881
    "    invertlat - Invert latitudes",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
882
883
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
884
    "    invertlat  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
885
886
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
887
    "    This operator inverts the latitudes of all fields with a regular lon/lat grid. ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
888
889
890
891
892
    NULL
};

static char *InvertlevHelp[] = {
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
893
    "    invertlev - Invert levels",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
894
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
895
896
897
898
    "SYNOPSIS",
    "    invertlev  ifile ofile",
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
899
    "    This operator inverts the levels of all non hybrid 3D variables.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
900
901
902
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
903
904
905
906
907
908
909
910
static char *MaskregionHelp[] = {
    "NAME",
    "    maskregion - Mask regions",
    "",
    "SYNOPSIS",
    "    maskregion,regions  ifile ofile",
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
911
912
913
    "    Masks different regions of fields with a regular lon/lat grid. ",
    "    The elements inside a region are untouched, the elements outside are ",
    "    set to missing value. All input fields must have the same horizontal grid.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
914
    "    The user has to give ASCII formatted files with different regions.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
915
    "    A region is defined by a polygon. Each line of a polygon description file ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
916
    "    contains the longitude and latitude of one point.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
917
918
    "    Each polygon description file can contain one or more polygons separated",
    "    by a line with the character \\&.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
919
920
921
922
923
924
    "",
    "PARAMETER",
    "    regions  STRING Comma separated list of ASCII formatted files with different regions",
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
925
static char *MaskboxHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
926
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
927
    "    masklonlatbox, maskindexbox - Mask a box",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
928
929
    "",
    "SYNOPSIS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
930
931
    "    masklonlatbox,lon1,lon2,lat1,lat2  ifile ofile",
    "    maskindexbox,idx1,idx2,idy1,idy2  ifile ofile",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
932
933
    "",
    "DESCRIPTION",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
934
935
    "    Masks a box of the rectangular understood field. The elements inside ",
    "    the box are untouched, the elements outside are set to missing value.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
936
    "    All input fields need to have the same horizontal grid.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
937
938
    "    Use sellonlatbox or selindexbox if only the data inside the",
    "    box are needed.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
939
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
940
    "OPERATORS",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
941
    "    masklonlatbox  Mask a longitude/latitude box",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
942
943
    "                   Masks a longitude/latitude box. The user has to give the ",
    "                   longitudes and latitudes of the edges of the box.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
944
    "    maskindexbox   Mask an index box",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
945
    "                   Masks an index box. The user has to give the indexes of the ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
946
947
    "                   edges of the box. The index of the left edge can be greater ",
    "                   then the one of the right edge.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
948
    "",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
949
    "PARAMETER",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
950
951
952
953
    "    lon1  FLOAT    Western longitude",
    "    lon2  FLOAT    Eastern longitude",
    "    lat1  FLOAT    Southern or northern latitude",
    "    lat2  FLOAT    Northern or southern latitude",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
954
    "    idx1  INTEGER  Index of first longitude",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
    "    idx2  INTEGER  Index of last longitude",
    "    idy1  INTEGER  Index of first latitude",
    "    idy2  INTEGER  Index of last latitude",
    NULL
};

static char *SetboxHelp[] = {
    "NAME",
    "    setclonlatbox, setcindexbox - Set a box to constant",
    "",
    "SYNOPSIS",
    "    setclonlatbox,c,lon1,lon2,lat1,lat2  ifile ofile",
    "    setcindexbox,c,idx1,idx2,idy1,idy2  ifile ofile",
    "",
    "DESCRIPTION",
    "    Sets a box of the rectangular understood field to a constant value. ",
    "    The elements outside the box are untouched, the elements inside are ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
972
    "    set to the given constant. All input fields need to have the same ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
973
974
975
976
977
978
979
980
981
    "    horizontal grid.",
    "",
    "OPERATORS",
    "    setclonlatbox  Set a longitude/latitude box to constant",
    "                   Sets the values of a longitude/latitude box to a constant value. The ",
    "                   user has to give the longitudes and latitudes of the edges of the box.",
    "    setcindexbox   Set an index box to constant",
    "                   Sets the values of an index box to a constant value. The user has to ",
    "                   give the indexes of the edges of the box. The index of the left edge ",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
982
    "                   can be greater than the one of the right edge.",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
983
984
985
986
987
988
989
990
    "",
    "PARAMETER",
    "    c     FLOAT    Constant",
    "    lon1  FLOAT    Western longitude",
    "    lon2  FLOAT    Eastern longitude",
    "    lat1  FLOAT    Southern or northern latitude",
    "    lat2  FLOAT    Northern or southern latitude",
    "    idx1  INTEGER  Index of first longitude",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
991
992
993
    "    idx2  INTEGER  Index of last longitude",
    "    idy1  INTEGER  Index of first latitude",
    "    idy2  INTEGER  Index of last latitude",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
994
995
996
    NULL
};

Uwe Schulzweida's avatar
Uwe Schulzweida committed
997
static char *EnlargeHelp[] = {
Uwe Schulzweida's avatar
Uwe Schulzweida committed
998
    "NAME",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
999
    "    enlarge - Enlarge fields",
Uwe Schulzweida's avatar
Uwe Schulzweida committed
1000
    "",
For faster browsing, not all history is shown. View entire blame