qa-dkrz: CORDEX_qa.conf

File CORDEX_qa.conf, 30.4 KB (added by zequi, 4 years ago)
Line 
1#
2# Configuration file for the Quality Control of CORDEX
3# ========================================================
4# Note: Default values in []
5# Note: may contain deprecated or even obsolete options.
6
7# KEY WORDS controlling the application in the quality-control-run.
8# SYNTAX: key[[+][=]value[,value[,value]]
9# Detailed explanation of syntax rules at the end of this file.
10
11# Section: Customisation
12# ----------------------
13
14# Path to the root of directory tree(s) with netCDF data files.
15# Note: the contained sub-directory tree(s) are appended to QA_RESULTS.
16# Note: this option is mandatory.
17PROJECT_DATA=/home/vagrant/drs
18
19# Path to QA results and logs.
20# Note that results will be inegrated into the path to QA-DKRZ by default
21# (not recommended).
22QA_RESULTS=/tmp/QA_results/zequi
23
24# Selection of paths and variables (RegExp of the 'expr' command,
25# i.e. full specification from the beginning of the word).
26# Paths and variables are given by '[path1[,path2,..]][=][var1[,var2,..]]'.
27# 1) The '=' character is required when both path and variable items are specified.
28#    It is also required for paths without any '/'.
29# 2) Omission of path components selects variables in all sub-paths
30#    cointained in PROJECT_DATA.
31# 3) Omission of variable component(s) selects all variables in the path(s).
32# 4) By default, all files in PROJECT_DATA (and sub-trees) are selected.
33# Full syntax rules and examples  at the end of this file.
34# SELECT path=var
35# SELECT AFR-44/CLMcom/MPI-ESM-LR/historical/r1i1p1/CCLM4-8-17
36
37# Locking of variables (takes precedence over SELECT).
38# See SELECT for a description.
39# LOCK .*/Z=   # [disabled]
40
41# Purpose: If the QA package is installed on a file system
42# accessed by machines of different architectures and if more than one
43# is dedicated to run the QA, then these
44# require different names for the directories
45# of residing executables. By default: your-path/QA-DKRZ/bin . The
46# bin-directories must have been specified during the installation process.
47# If the path is relative, the directory has to be a sub-dir of QA-DKRZ.
48# If directories are prefixed by the hostname(s) of computer(s) separated
49# by ':' from the directory, then multiple directories may be specified
50# as comma-separated-list. The name(s) of the computer(s) must be
51# available in the list of hosts, i.e. QA_EXEC_HOSTS. A name without a prefix
52# is dedicated for the host on which qcManager is running (but could also
53# have a prefix).
54# You have to compile all executables into all bin-directories specified.
55# QA_BIN=bin  # surge:bin,another-host:bin2 #[bin]
56
57# This option forces the QA to check only meta-data on the basis of the
58# standard table and Controlled Vocabulary. In case of CORDEX:
59# CORDEX_variables_requirement and CORDEX_archive_design.
60# There is neither a check on time values nor on data (even the existence of
61# data is not tested). No project table will be generated or consulted.
62# USE_STRICT
63
64
65# Section: Files and Tables
66# -------------------------
67
68# This option controls whether the second time-stamp in the filename
69# expresses the sharp end (deadline) of the period or whether the
70# most frequent componente of the period in the stamp has to be extended to the end,
71# e.g. 2000-03 <=> 2000-03-31 for extended.
72# The difference is explained best by examples.
73# 1) Sharp:     2000 - 2001 <=> 2000-01-01T00:00:00 - 2001-01-01T00:00:00
74# 2) Extended:  2000 - 2001 <=> 2000-01-01T00:00:00 - 2001-12-31T24:00:00
75# If there is a mix for the components of the stamps, then use this
76# Syntax: 'Yx-Mx-Dx-hx-mx-sx' with x=s or x=e for sharp and extended
77# respectively. APPLY_MAXIMUM_DATE_RANGE without any assignment enables 'extended' for
78# the date and sharp for the time component.
79  APPLY_MAXIMUM_DATE_RANGE
80
81# CF Conventions used if not specified in the global attributes of the file.
82# CF=1.4 # [global attribute]
83
84  CF_CHECK_LIST=CF_check-list.conf
85  CF_FOLLOW_RECOMMENDATIONS # [f]
86
87# http://cfconventions.org
88  CF_AREA_TYPES=CF_area-type-table.txt
89  CF_STD_REGION_NAMES=CF_standardized-region-names.txt
90  CF_STANDARD_NAMES=cf-standard-name-table.xml
91
92# User-defined handling of exceptions, i.e. how to proceed with
93# notification of QA check results. Explanations in file
94# QA-DKRZ/projects/CORDEX/CORDEX_check-list.conf.
95# Keys: Flag, L[1-4], D, PT, ST, variable names. Please note that
96# any misspelling is considered the name of a variable and would
97# throw a flag in most cases.
98  CF_NOTE={plev,height,CF_5h,D}
99
100# Apply a unique annotation handling to all entries of the check-list.
101# CF_NOTE_ALWAYS=L1,EM
102
103# Limit maximum annotation level to all entries of the check-list.
104# CF_NOTE_LEVEL_LIMIT=L1
105
106# The original directory tree structure of the source data is preserved,
107# i.e. a symbolic link in the data causes making a corresponding symbolic link
108# in the directory tree of the QA results, too. Enable this option if
109# symbolic links are to be dereferenced, i.e. genuine data are to
110# replace the symbolic links in the QA result tree.
111# DEREFERENCE_SYM_LINKS # [disabled]
112
113# If distributed computing is also involved with distributed file system,
114# then enable this option. Bi-directional communication and data
115# transfer is done by ssh and scp, respectively. IMPORTANT NOTE: this is
116# not installed and not projected for CMIP5 or CORDEX.
117# But, the QA may have anyway distributed computing with a shared file system.
118# DISTRIBUTED_FS # [disabled]
119
120# The directory in the path at which indices of LOG_PATH_INDEX start.
121# Note that the first occurrence from left is taken. If there
122# are more than a single instance with the same name, and the right most is used.
123  DRS_PATH_BASE=CORDEX
124
125# The position (zero-based index) of the frequency within the filename
126  FILE_NAME_FREQ_INDEX=7
127
128# The separator for delimiting the filename components
129  FILE_NAME_SEP=_
130
131  # The position (zero-based index) of the variable within the filename
132  FILE_NAME_VAR_INDEX=0
133
134# By default, paths to data are found ignoring hidden directories.
135# HIDDEN_DIRECTORY_DESCENT
136
137# Skip broken links in the directory tree of data,
138# i.e. files pointing to a non-existing target.
139# By default, a warning is issued.
140# IGNORE_BROKEN_LINKS
141
142# Occurrences rising a notification of level L>2 cuase the
143# creation of a qc_lock_<filename>.txt file, which will prevent
144# any further checking of files of the given variable.
145# This option ignores any blocking of following temporal subsets.
146# Note: In case that a blocking file was found
147# but no qc_<filename>.nc file, then the blocking holds anyway.
148# IGNORE_LOCK_FILES
149
150# The purpose of an experiment-like name is just to tag a larger set of various
151# checks with a name that corresponds to a certain volume of netCDF files.
152# There are several ways to define LOG_NAME: explicite string, respresenting
153# a path to a file ensemble, a pattern of data file names, and
154# 'undefined-scope' by default (precedence as here).
155
156# Explicit experiment-like name.
157# LOG_FNAME=string  # [disabled]
158
159# Based on DRS_PATH_BASE, LOG_NAME is constructed by path components whose indices
160# are provided by LOG_PATH_INDEX, a comma-separated sequence with index==1 following
161# directly DRS_PATH_BASE.
162# Note that the example provides index in [], which are not part of the name.
163# For instance, the sequence 1,4,2,3,5 applied to the path
164# /base[0]/AFR-44[1]/SMHI[2]/CCCma-CanESM2[3]/historical[4]/r1i1p1[5]/SMHI-RCA4[6]/v1[7]/day[8]/clh[9]
165# results in AFR-44_historical_SMHI_CCCma-CanESM2_r1i1p1.
166# Note: if any versioning is done in the filename but not in the path,
167# then LOG_FNAME_PATTERN should be preferred.
168# If LOG_PATH_INDEX remains disabled, then consistency checks are disabled, too.
169  LOG_PATH_INDEX=2,3,4,7,5,8,11 # [disabled] note: 11 for versioning if available
170
171# LOG_FILE_INDEX analogously to LOG_PATH_INDEX; the first filename component,
172# delimited by LOG_FILE_SEPARATOR, with index=0.
173# Note that this method is raised when no DRS_PATH_BASE could be found.
174  LOG_FILE_INDEX=1,2,5,3
175
176# Delimiter for filename decomposition; '_' by default.
177# LOG_FILE_SEPARATOR='_'
178
179# The separator for delimiting the filename components
180  PATH_NAME_SEP=/
181
182# When the name of the PROJECT_TABLE is generated automatically, it will be
183# prefixed by 'pt_' by default.
184# PROJECT_TABLE_PREFIX=pt
185
186# Purpose: automatic determination of the project table name.
187# Note that meta-data of each file will be checked against the consistency table.
188# Usage and example as for LOG_PATH_INDEX.
189  PT_PATH_INDEX=2,3,4,7,8,11
190
191# This table is telling the QA-program about notification codings, discarding
192# certain test, issuing email, and grade of severeness of findings.
193# An automatically updated version by default.
194  QA_CHECK_LIST=CORDEX_check-list.conf
195
196# The QA ignores empty or non-project data files by default.
197# If it is clear that an empty or alien file should never be present in
198# in the data directory tree, then issuing messages in the log-files can be enabled.
199  QUERY_NON_NC_FILE  # [ disabled]
200  QUERY_EMPTY_DIR  # [ disabled]
201  QUERY_EMPTY_FILE  # [ disabled]
202  QUERY_ONLY_NC  # [ disabled; disables other file queries]
203
204# By default, the QA examines the begin and end dates specified
205# by the time records of all sub-temporal files and finds
206# by synchronisation the right file for proceeding
207# (or starting) a check. The purpose of this option:
208# a) check the times in the filenames as well as in the files and
209#    search for overlapping periods in the set of sub-temporal files
210#    of a given variable.
211# b) check the modification times of the sub-temporal files of a given
212#    variable. Issue a warning, if the modification time of the set of
213#    the sorted files according to a) is not ascending.
214#    This is disabled by assigning 'no_mod'.
215# c) ignore filename embedded times by assigning 'mixed' (csl accepted)
216# SYNC_FILE_AMBIGUITY_CHECK  # [disabled]
217# SYNC_FILE_AMBIGUITY_CHECK=no_mod,mixed # [disabled]
218
219# Specification of requirements.
220# An automatically updated version by default.
221  TABLE_DRS_CV=CORDEX_DRS_CV.csv # CORDEX_archive_design.csv
222
223# List of available GCM model names from
224# http://cordex.dmi.dk/joomla/images/CORDEX/GCMModelName.txt
225  TABLE_GCM_NAME=CORDEX_GCMModelName.txt
226
227# List of available RCM model names from
228# http://cordex.dmi.dk/joomla/images/CORDEX/RCMModelName.txt
229  TABLE_RCM_NAME=CORDEX_RCMs_ToU.txt
230
231# Specification of requirements.
232# An automatically updated version by default.
233  TABLE_VAR_REQ=CORDEX_variables_requirement_table.csv
234
235# By default, the record of time is tested on the basis of regular
236# steps and for consistency across files and experiments. However
237# the entire set of CMIP5 experiments includes also irregularities
238# and distinct periods. Time information was extracted from the
239# CMIP5 standard table and is given in QA-DKRZ/tables/projects/CMIP5/time_table.csv
240# which provides a default. Please have a copy of your own with a
241# different name in case of individual settings; the file
242# 'time_table.csv' is part of svn updates. Please have a very close
243# look at the file, because this table is certainly not free of errors.
244# If you detect any, please give a short note.
245# The default falls back to 'regular' when no time table file is
246# found in QA-DKRZ/tables/projects/CMIP5.
247# TABLE_TIME_SCHEDULE=...  [time_table.csv]
248
249
250# Section: Command-line used Options
251# ----------------------------------
252
253# Remove former results corresponding to the paths and variables
254# selected before re-doing the QA. However, corresponding logfiles
255# are not affected. Assignments:
256# 1) CLEAR=only, do a clearing, but no QA will take place.
257# 2) CLEAR=lock for files qc_lock_<filename>.txt .
258# 3) CLEAR=note for qc_note_<filename>.txt.
259# 4) CLEAR='resume', then qc_lock_<filename>.txt files will
260#    be removed before processing any further.
261# 5) CLEAR=follow_links. When targets are pointed to
262#    by symbolic links, then both target and link will be removed.
263#    Note: symbolic links are removed by default, but not the targets.
264# 6) CLEAR=mark, when a file 'clear.mark' or a file
265#    <filename_root>.clear is present.
266# Multiple options by a comma-separated-list; the order doesn't matter.
267# Note: CLEAR=lock,note or mark enables option FORCE_STND_TABLE for the respective variable.
268# CLEAR=only
269# CLEAR=lock,note
270
271# Check and show availability of tools and exit.
272# Note that this is done at the beginning of each session.
273# CHECK_TOOLS
274
275# Log execution of qcConfigurator processing to STDERR.
276# DEBUG_C
277
278# Log execution of qcExecutor processing to files corresponding to
279# variable names (in the directory where qcManager was started).
280# DEBUG_E
281
282# Log execution of the qcManager to STDERR.
283# DEBUG_M
284
285# Enable debugging of external scripts invoked in qcManager; default: every.
286# If the name of a script is specified, then this applied only to this one.
287# DEBUG_X[=script]
288
289# Flow trace analysis of the qcManager main-loop.
290# Note that specific commenting-in is required for qcManager and qcExecutor.
291# e.g.: sed -i 's/#trace/trace/' qcManager
292# FLOW_TRACE
293
294# Move/merge QA results, when the corresponding data have been moved.
295# a) slash-less value: append this to all paths of all experiments affected
296#    by the configuration selection.
297# MOVE_LOG=v12345
298
299# Process the next num variable-frequency occurrences.
300# NEXT[=num]
301
302# Only progress by the given number of records at each check.
303# Purpose: probably debugging
304# NEXT_RECORDS=50
305
306# Results are not summarised.
307# NO_SUMMARY
308
309# Force creation of annotation files in QA_RESULTS/check_logs.
310# Usually for testing, because results are summarised at the end of each run.
311# If a comma-separated list of experiment names is assigned to the option,
312# then only these are summarised. Else, the experiment names resulting from
313# the current configuration in use.
314# ONLY_SUMMARY  # [ disabled]
315
316# Show the qC_main.x call; no execution. Purpose: debugging of C++ programs
317# SHOW_CALL
318
319# Show files whose qa results would be affected by a clearance.
320# SHOW_CLEAR
321
322# Show configuration and exit.
323# SHOW_CONF
324
325# Show paths affected by the current SELECTion and the corresponding log-file name.
326# SHOW_EXP
327
328# Show the names of log-files created or modified by the current SELECTion.
329# SHOW_LOG_FNAME
330
331# Show the next num variable-frequency occurrences scheduled for processing.
332# SHOW_NEXT[=num]
333
334
335# Section: Processing
336# -------------------
337
338# Automatic update of the QA package. If enabled, automatic update
339# is kept until it is disabled. Alternatively and easier is the
340# command-line option '--auto-up' for the scripts
341# 'qcManager' and 'install'. Keword '--auto-up' enables while
342# '--auto-up=disable' cancels any previous setting.
343# AUTO_UPDATE[=disable] # [disabled]
344
345# This option affects only the test of periods i the filename vs. the
346# span of time values given in the file.
347# DATA_IN_PRODUCTION
348
349# Send a summary of notifications and checked periods of variables
350# to this (list of) email recipients after each finished QA session.
351# Default: no email is sent.
352# Note: this is different from EMAIL_TO.
353# EMAIL_SUMMARY=name@site.dom [disabled]
354
355# In case of error: send e-mails to this comma-separated-list.
356# EMAIL_TO=name@site.dom #[disabled]
357
358# If the QA stores results in a files system with occasional
359# 'no space left on device', then you could enable a disk space
360# inquiry before write operations are started for each variable.
361# ENABLE_DISK_SPACE_INQ  # [disabled]
362
363# Set group name. This is necessary, if the QA is also operated
364# by users who are not in the default group of the user who initially
365# checked out from the svn repository. This will automatically also
366# set the SGID-bit, i.e. grant permissions to all group members.
367# The current setting of user permissions of each file is duplicated
368# to the respective group permissions.
369# Note: this can only be done by the owner of the QA directory.
370# GROUP_NAME=  # [none]
371
372# In order to enable trapping signals, long sleeping period are
373# subdivided into smaller intervals of consecutive sleep commands.
374# HARD_SLEEP_PERIOD=10  # [10]s
375
376# If there are (temporary) files failing the right filename syntax
377# required for temporal sub-files AND it is obvious that the syntax
378# rules are always followed, then ignore these in the syncFile process.
379# Exception: files below the 'fx' directory in the data directory tree.
380# IGNORE_TEMP_FILES
381
382# Available disk space is checked before a file is processed.
383# If you know that there will be always space enough, then enable
384# this option. NOTE: If the compiler complains about
385# structure 'statvfs64', please try the macro -DSTATVFS parameter
386# for compilation of the program 'diskUsage.c'.
387# INQ_DISK_SPACE  # [disabled]
388
389# Notifications of level 4 as well as segmentation fault will terminate
390# a running session immediately. This behaviour may be cancelled.
391# Note that Ctrl C, i.e. TERM, terminates nevertheless always.
392  NEVER_BREAK_SESSION
393
394# Apply linux 'nice' command to executables on
395# guest machines (see 'man nice').
396# NICE=15  # [0]
397
398# Suspend processes between 8 - 19 o'clock on guest hosts and
399# allow only a single process on the qcManager host.
400# NIGHT_SHIFT # [disabled]
401
402# List of number(s) of simultaneous execution processes per host.
403# Note: there is always a single qcManager process.
404# Special: If a single number is specified, this is assigned to
405# all hosts in the QA_EXEC_HOSTS list.
406# Fine tuning: each positional number in the list corresponds to a
407# position in the QA_EXEC_HOSTS list. If less positions are given
408# than in QA_EXEC_HOSTS, then the last position is assigned to
409# the omitted positions.
410  NUM_EXEC_THREADS=2 #1,0  # [1]
411
412# More configuration options in another file. These options have a lower priority than those
413# given in the current file. Note that there is no nesting depths
414# of additional configuration files.
415# QA_CONF=another-configuration-file
416
417# The list of machines executing jobs for this session. Usually disabled
418# causing the current computer to be the only one.
419# QA_EXEC_HOSTS=comma-separated-list-of-hosts  # [HOSTNAME of qcManager]
420
421# If a process cannot be run, because  the data base is not available
422# or a server is absent for instance, then retry after a sleep for the specified number.
423# REATTEMPT_LIMIT=5  # [5]
424
425# The traditional processing of the summary was done by bash scripts; at present,
426# however, by QA_DKRZ/scripts/python/qa-dkrz/qa_summary.py. If new results
427# are appended to QA_RESULTS, the program recognises traditional or new
428# and switches respectively. Enabling TRADITIONAL_SUMMARY and PY_SUMMARY
429# will force correspondingly.
430# TRADITIONAL_SUMMARY  # [disabled]
431# PY_SUMMARY  #[yes]
432
433# Sleep period if waiting for a server or anything else. Note:
434# particular ordinary processes have a sleep time of their own
435# to distinguish them in the output of 'ps'.
436# Start the analysis on a guest machine, if the average load from
437# the uptime command is < 1.5 for 5 minutes and < 1 for 15 min.
438# This option is not available at present.
439# WORK_AT_LOW_LOAD  # [disabled]
440
441# Kill a stalled check-job (not the session) after specified seconds.
442# Note that such a kill would usually initiate a mail message and would
443# generate a lock-file.
444# ZOMBIE_LIMIT=3600  # [3600]
445
446# Section: Miscellaneous
447# ---------------------
448
449# By default, calculation of cell averages over a geographical grid is
450# performed by weighting with the corresponding grid-cell area. In
451# particular for ocean basin cross-section, this is very time consuming
452# due to the irregular shape of the basins taken into account by
453# varying filling values (also for regular grids with varying effective
454# areas, e.g. T of snow). If the precise value of the average is less
455# important, this option reduces calculation time.
456  ARITHMETIC_MEAN  # [disabled]
457
458# The QA checks are organised in modules, which can be selected
459# independently by a comma-separated, case-independent list [all by default].
460# Modules: {DRS, DRS_F, DRS_P, CF, CV, CNSTY}=META, TIME, and DATA.
461# Acronyms: Data Reference System (DRS) which could be specialised by DRS_F for a
462# filename check and DRS_P for the path, Climate Forcing Convention (CF),
463# Controlled Vocabulary (CV), and consistency check (CNSTY).
464# It is also possible to disable a mode by putting a minus sign in front of a key .
465# CHECK_MODE=meta  #[all]
466
467# Calculate checksum of every file that passes successfully the QA.
468# md5sum is applied by default, but sha1sum as well as any other program
469# giving a checksum as first item in the output will do; abbreviation sha1
470# will also work as assignment to CHECKSUM. Any other program must be available in
471# the user's search path for commands or specified with absolute path.
472# Checksum, filename, path components, and modification time of the file are
473# written to a checksum-table; creation_date and tracking_id are added when available.
474# If any of the CS_* options below is enabled, then CHECKSUM or CHECKSUM=t may be discarded.
475# CHECKSUM  # [disabled]
476
477# Path to the checksum-table; by default in QA_RESULTS/cs_table.
478# CS_DIR=cs_table
479
480# Checksums are unique, and creations_date and tracking_id are supposed just as well.
481# Thus, when a file changed, but creation_date or tracking_id did not, will be annotated.
482# This option ignores earlier values.
483  CS_NO_HISTORY
484
485# Checksums are stored in container-files by default. This option lets store checksum etc.
486# for each file separately in the QA_RESULTS/data/DRS-PATH with a corresponding filename. If
487# CS_DIR is also provided, then the checksum-files are stored therein.
488# CS_STAND_ALONE
489
490# If there is no definition of variables's attributes valid_range attribute,
491# valid_max, valid_min, respectively, then these defaults are used.
492  DEFAULT_VALID_MAX=1E+17
493  DEFAULT_VALID_MIN=-1E-15
494
495# Disable testing for Inf or Nan.
496# Note that this may also be disabled by setting D[iscard] in the check-list file
497# for flag R6400.
498# DISABLE_INF_NAN
499
500# Exclude specific attributes from any check.
501# EXCLUDE_ATTRIBUTE=history,comment,associated_files
502
503# Exclude specific variables globally from a check.
504# EXCLUDE_VARIABLE=average_T1,average_T2,average_DT
505
506# Issue a note for every variable-frequency case specified in
507# CORDEX_variables_requirement, which is not available in a data set,
508# to files annotation_outline.txt and annotation_summary.txt
509# within the QA RESULTS/check_logs/_Notes directory.
510# FIND_NOT_DELIVERED [enabled}
511
512# By default, the reference date of variable 'time' written to the
513# project table is checked for each file, even across experiments.
514# There is nothing wrong with different reference dates in principle
515# thus throwing warnings can be disabled. Please, notice the difference
516# to the option IGNORE_REFERENCE_DATE, which disables any check for
517# differing reference dates, even across files.
518  IGNORE_REF_DATE_ACROSS_EXP  # [ disabled]
519
520# This option disables any check for
521# differing reference dates, even across files
522# (includes option IGNORE_REF_DATE_ACROSS_EXP).
523  IGNORE_REFERENCE_DATE  # [disabled]
524
525# Log execution time of the QA.cpp exectuable
526# LOG_CPU_TIME  # [disabled]
527
528# This disables any check related to a constant time step within a
529# file, across files, or across experiments. In fact, the only
530# property of time to be checked is that time marches on and that
531# time bounds don't overlap.
532# NON_REGULAR_TIME_STEP  # [disabled]
533
534# User-defined handling of exceptions, i.e. how to proceed with
535# notification of QA check results. Explanations in file
536# QA-DKRZ/projects/CORDEX/CORDEX_check-list.conf.
537# Keys: Flag, L[1-4], D, PT, ST, variable names. Please note that
538# any misspelling is considered the name of a variable and would
539# throw a flag in most cases.
540# NOTE={o2,PT,58_2,L1}
541
542# Apply a unique annotation handling to all entries of the check-list.
543# NOTE_ALWAYS=L1,EM
544
545# Limit maximum annotation level to all entries of the check-list.
546# NOTE_LEVEL_LIMIT=L1
547
548# Min/max of data are tested whether they could be out of scope
549# of reasonable value ranges. Peaks/breaks are considered such that
550# a constant number of data points satisfys M-times of n in a row the condition
551#    abs( value - average) > ( stdDev + n * stdDev / 4 )
552# with increment n= 1,2,3,... Average, standard deviation, and range
553# for the statistics of global minimum and maximum, respectively.
554# But, if more than P % of all the data points were found to be outside,
555# then these are considered regular. In that case, outliers are
556# still detected when exceeding orders of magnitude L. Alternatively
557# a fixed number N, which must not be exceeded, may be provided. Both
558# N and P are accepted and taken into account simultaneously.
559# Default setting: M=5/P=1/L=5, disabled N);
560# M,P, and/or L may be assigned to the OUTLIER_TEST option.
561# Keyword 'ignore' suppresses email notification as usual.
562# Comma-sep-list of variables may be specified. Groups of parameters may be
563# indicated by braces {}, which may be nested.
564# Multiple lines are accepted, even with unclosed braces. All lines
565# will be concatenated in the order of appearance.
566# Matching pairs of '{' and '}' are checked.
567# Compatibility: ignore{var_1,...,var_n} still accepted (same for discard).
568# OUTLIER_TEST  # [def: enabled with M5,P0.01,L5 ]
569  OUTLIER_TEST=N10,P0.01,M3,L3
570
571# The name of the project. Supported at present: CMIP5, CORDEX.
572# If project of different name follows (almost) a supported one,
573# then enabling option 'NOTE={2_8,D}' discards mis-match annotations.
574# Disabling suppresses related meta-data checks.
575  PROJECT=CORDEX # [CMIP5]
576
577# Switch on a Quality Control run (on by default). It is possible to
578# switch it off, for instance to calculate only frequency distributions.
579# (not a good example, because both can be run simultaneously).
580# QA=off  # [on]
581
582# Find occurrence of multiple identical data records.
583# A checksum of all data is calculated for each record and compared
584# to each other. Special assignments (without ''):
585# 1) no_0-D:      ignore for 0-D variables.
586# 2) only_groups: omit isolated replicated records, report only groups.
587#                   The size of the group may be specified by appending
588#                   '=num'; by default num=2.
589# 3) clear_bitsN: clear the N least significant bits of data values
590#                   with default of N=2.
591# REPLICATED_RECORD=pr,tas
592# REPLICATED_RECORD=no_0-D,only_groups_12,clear_bits
593# REPLICATED_RECORD=no_0-D,only_groups=12
594
595# Stop the QA at a specific time value.
596# Use ISO-8601 format (yyyy-mm-ddThh:mm:ss). Truncations are accepted
597# (1955-06 would process the records before 1955-06-01 00:00:00).
598# If the parameter gets a leading 't' or 'T' character, then
599# a time value (a pure number) is accepted that must correspond to the
600# reference date in the data file.
601# TIME_LIMIT=1955-08
602
603
604# Section: Frequency Distribution
605# -------------------------------
606# Please, note thath this was not tested for a rather long time.
607
608# Calculate the frequency distribution of the entire domain
609# Note: generally, you will need post-processing with 'hist.x' to
610# assemble the final frequency distribution, except you select specific
611# debug options.
612# Rules for selecting class widths and starting point (e.g. centering):
613# Firstly, a fd-build-file of the same variable at destination has precedence.
614# Second choice is a fd-build-file or fd-prop-file (the header of
615# a build-file) in a specified path.
616# Thirdly, explicit statement of properties.
617# Default: automatic determination of fd properties.
618# FREQ_DIST  # [disabled]
619
620# Partitioning the total time span of an experiment into
621# smaller ranges. FreqDists will be calculated separately for each
622# window. Note: the residual time interval may be shorter.
623# Note: if no unit-designator is appended (y, mo, d, h, mi, s)
624# the unit from the time variable is used.
625# FD_TIME_PART=5y # 30y [ default: the entire experiment]
626
627# By default, frequency distributions adjust automatically the bin (class) width
628# while processing the first time window (or the total time span),
629# which is then used in subsequent time windows for the entire experiment.
630# Specifying this path enables to retain the properties of the same
631# variable (if found) of another experiment, e.g. control run.
632# Such a file must have extension .build or .prop
633# FD_PROPERTY_PATH=  # [no path]
634
635# Explicit properties (two quantities separated by '/'):
636#    class-width (number) / init value (number),
637# e.g. 1/0 will centre a bin (class) of the freq.dist around zero.
638# Note: The alignment of the fd-bin borders is done automatically.
639#       It is not possible, do have a class boundary exactly
640#       at say 273.15 with class-width of 1.
641# This option is only reasonable for selecting a particular common type
642# of variable, e.g. temperature, in a separate run. See priority rules.
643# FD_EXPLICIT_PROPS=1.E-05/3.5E-05
644
645# Output of the Freq Dist as ready-to-use. By default, the output
646# will be in a format to be re-read later in order to resume a
647# previous session (the output file gets extension '.build').
648# File extension in plain mode: '.hist'. Attention: this starts
649# and completes a FD calculation. Makes little sense for
650# multi-sessions. Purpose: debugging
651# FD_PLAIN  # [disabled]
652
653# Like FREQ_DIST_PLAIN, but output of the Freq Dist shows complete
654# shapes of bars. Purpose: debugging
655# FD_BARS  # [disabled]
656
657# Section: Syntax Rules of the Configuration File
658# -----------------------------------------------
659# KEY WORDS controlling the application in the quality-control-run.
660# SYNTAX: KEY-WORD[[+][=]value[,value[,value]]
661#
662
663# -) KEY-WORD
664#    Consisting only of alphanumeric characters and underscore;
665#    only upper-case with alphabetic begin. KEY_WORD and following
666#    '=' or '+=' may be separated by spaces.
667# -) KEY-WORD
668#    Set alone enables a corresponding feature. Equivalent to KEY-WORD=t .
669# -) KEY-WORD=value
670#    Make a simple assignment; any previous assignment is overwritten;
671#    also by KEY-WORD alone.
672# -) KEY-WORD=value1,value2, ...
673#    Assign a comma-separated-expression. This will be expanded to an array.
674# -) KEY-WORD+=value
675# -) Add another item to a comma-separated expression.
676# -) Configuration options may be supplied on the command line with the prefix -E_.
677# -) Options SELECT and LOCK are special.
678#    Additionally, -S param and -L param may be given alternatively
679#    on the command-line.
680# -) Invalid/misspelled KEY_WORD is discarded without notice;
681#    this may cause 'amazement'.
682#    The effect of invalid assignments is trapped sometimes.
683
684# Note for SELECT, LOCK, -S and -L usage:
685# General setting:  {space, = ,+=}[path[=]][variable]
686
687# Examples:
688# leading character(s) supplied by the calling instances
689# -) '=': define or overwrite
690# -) '+=': prolong array of paths/variables
691# -) no leading '=' character: equivalent to +=
692
693# -) path=var
694#    specifies a single path where to look for a single variable
695# -) p1,p2=var
696#    two paths to look for a variable
697# -) p1,p2=
698#    two paths with every variable, equivalent to p1,p2=.*
699# -) p1=v1,v2
700#    one path with two variables
701# -) str1[,str2,str3]
702#    a) no '/' --> variables
703#    b) '/' anywhwere  --> only paths; no trapping of errors
704# -) relative path without a '/' must have '=' appended
705# -) p1=,p2=v1...  --> ERROR
706