Summary of all configuration file options

The configuration files are located in the directory $KVALOBS/Qc2Config

A valid configuration file has the suffix “.cfg” e.g. “AlgorithmXY.cfg”, only files with this suffix are parsed.

Active

Name to use in the configfuration file	Type	Default Value	Description
RunAtMinute	int	Min at which to run
RunAtHour	int	2	Hour at which to run
RunAtMinute	int	Min at which to run
RunAtHour	int	2	Hour at which to run
Start_YYYY	int	Current Year	Start Year
Start_MM	int	Current Month	Start Month
Start_DD	int	Current Day	Start Day
Start_hh	int	Current Hour	Start Hour
Start_mm	int	Start Minute
Start_ss	int	Start Second
End_YYYY	int	Current Year	End Year
End_MM	int	Current Month	End Month
End_DD	int	Current Day	End Day
End_hh	int	Current Hour	End Hour
End_mm	int	End Minute
End_ss	int	End Second
Last_NDays	int	-1	Last N Days to Run Algorithm
ParamId	int	Parameter ID (of data to process)
TypeId	int	Type ID (of data to process)
Start_YYYY	int	Current Year	Start Year
Start_MM	int	Current Month	Start Month
Start_DD	int	Current Day	Start Day
Start_hh	int	Current Hour	Start Hour
Start_mm	int	Start Minute
Start_ss	int	Start Second
End_YYYY	int	Current Year	End Year
End_MM	int	Current Month	End Month
End_DD	int	Current Day	End Day
End_hh	int	Current Hour	End Hour
End_mm	int	End Minute
End_ss	int	End Second
Last_NDays	int	-1	Last N Days to Run Algorithm
ParamId	int	Parameter ID (of data to process)
TypeId	int	Type ID (of data to process)
The Step aprameters determine the time step between the start and stop times (kvalobs db obstime) for data to process.
Step_YYYY	int	Step Year
Step_MM	int	0	Step Minute
Step_DD	int	0	Step Day
Step_hh	int	0	Step Hour
Step_mm	int	0	Step Minute
Step_ss	int	0	Step Second
-	-	-	-	=
AlgoCode	int	-1	Algoritham Code
InterpCode	int	-1	Code to determine method of interpolation
BestStationFilename	std::string	NotSet	Filename containing the best station list
CfailedString	std::string	Value to add to CFAILED if the algorithm runs and writes data back to the database
MissingValue	int	-32767	Original Missing Data Value
InterpolationDistance	float	25	Nearest Neighbour Limiting Distance
-	-	-	-
Specific flag value to test when (R) reading the database
R_fqclevel	unsigned char	0x3F	fqclevel
R_fr	unsigned char	0x3F	fr
R_fcc	unsigned char	0x3F	fcc
R_fs	unsigned char	0x3F	fs
R_fnum	unsigned char	0x3F	fnum
R_fpos	unsigned char	0x3F	fpos
R_fmis	unsigned char	0x3F	fmis
R_ftime	unsigned char	0x3F	ftime
R_fw	unsigned char	0x3F	fw
R_fstat	unsigned char	0x3F	fstat
R_fcp	unsigned char	0x3F	fcp
R_fclim	unsigned char	0x3F	fclim
R_fd	unsigned char	0x3F	fd
R_fpre	unsigned char	0x3F	fpre
R_fcombi	unsigned char	0x3F	fcombi
R_fhqc	unsigned char	0x3F	fhqc
Setting the following value to “false” inverts the R logic
Rbool	bool	true	Option to change logic of all flag controls
-	-	-	-
Specific flag value to test before (I) interpolation is carried out
I_fqclevel	unsigned char	0x3F	fqclevel
I_fr	unsigned char	0x3F	fr
I_fcc	unsigned char	0x3F	fcc
I_fs	unsigned char	0x3F	fs
I_fnum	unsigned char	0x3F	fnum
I_fpos	unsigned char	0x3F	fpos
I_fmis	unsigned char	0x3F	fmis
I_ftime	unsigned char	0x3F	ftime
I_fw	unsigned char	0x3F	fw
I_fstat	unsigned char	0x3F	fstat
I_fcp	unsigned char	0x3F	fcp
I_fclim	unsigned char	0x3F	fclim
I_fd	unsigned char	0x3F	fd
I_fpre	unsigned char	0x3F	fpre
I_fcombi	unsigned char	0x3F	fcombi
I_fhqc	unsigned char	0x3F	fhqc
Setting the following value to “false” inverts the I logic
Ibool	bool	true	Option to change logic of all flag controls
-	-	-	-
Specific flag value to test before the (A) algorithm is run
A_fqclevel	unsigned char	0x3F	fqclevel
A_fr	unsigned char	0x3F	fr
A_fcc	unsigned char	0x3F	fcc
A_fs	unsigned char	0x3F	fs
A_fnum	unsigned char	0x3F	fnum
A_fpos	unsigned char	0x3F	fpos
A_fmis	unsigned char	0x3F	fmis
A_ftime	unsigned char	0x3F	ftime
A_fw	unsigned char	0x3F	fw
A_fstat	unsigned char	0x3F	fstat
A_fcp	unsigned char	0x3F	fcp
A_fclim	unsigned char	0x3F	fclim
A_fd	unsigned char	0x3F	fd
A_fpre	unsigned char	0x3F	fpre
A_fcombi	unsigned char	0x3F	fcombi
A_fhqc	unsigned char	0x3F	fhqc
Setting the following value to “false” inverts the A logic
Abool	bool	true	Option to change logic of all flag controls
-	-	-	-
Specific flag value to test before (W) writing results back to the database
W_fqclevel	unsigned char	0x3F	fqclevel
W_fr	unsigned char	0x3F	fr
W_fcc	unsigned char	0x3F	fcc
W_fs	unsigned char	0x3F	fs
W_fnum	unsigned char	0x3F	fnum
W_fpos	unsigned char	0x3F	fpos
W_fmis	unsigned char	0x3F	fmis
W_ftime	unsigned char	0x3F	ftime
W_fw	unsigned char	0x3F	fw
W_fstat	unsigned char	0x3F	fstat
W_fcp	unsigned char	0x3F	fcp
W_fclim	unsigned char	0x3F	fclim
W_fd	unsigned char	0x3F	fd
W_fpre	unsigned char	0x3F	fpre
W_fcombi	unsigned char	0x3F	fcombi
W_fhqc	unsigned char	0x3F	fhqc
Setting the following value to “false” inverts the W logic
Wbool	bool	true	Option to change logic of all flag controls
-	-	-	-
Specific flag value to set if algorithm or check is successful
S_fqclevel	unsigned char	0x3F	fqclevel
S_fr	unsigned char	0x3F	fr
S_fcc	unsigned char	0x3F	fcc
S_fs	unsigned char	0x3F	fs
S_fnum	unsigned char	0x3F	fnum
S_fpos	unsigned char	0x3F	fpos
S_fmis	unsigned char	0x3F	fmis
S_ftime	unsigned char	0x3F	ftime
S_fw	unsigned char	0x3F	fw
S_fstat	unsigned char	0x3F	fstat
S_fcp	unsigned char	0x3F	fcp
S_fclim	unsigned char	0x3F	fclim
S_fd	unsigned char	0x3F	fd
S_fpre	unsigned char	0x3F	fpre
S_fcombi	unsigned char	0x3F	fcombi
S_fhqc	unsigned char	0x3F	fhqc

Available

Name to use in the configfuration file	Type	Default Value	Description
RunAtMinute	int	Min at which to run
RunAtHour	int	2	Hour at which to run
RunAtMinute	int	Min at which to run
RunAtHour	int	2	Hour at which to run
Start_YYYY	int	Current Year	Start Year
Start_MM	int	Current Month	Start Month
Start_DD	int	Current Day	Start Day
Start_hh	int	Current Hour	Start Hour
Start_mm	int	Start Minute
Start_ss	int	Start Second
End_YYYY	int	Current Year	End Year
End_MM	int	Current Month	End Month
End_DD	int	Current Day	End Day
End_hh	int	Current Hour	End Hour
End_mm	int	End Minute
End_ss	int	End Second
Last_NDays	int	-1	Last N Days to Run Algorithm
ParamId	int	Parameter ID (of data to process)
TypeId	int	Type ID (of data to process)
Start_YYYY	int	Current Year	Start Year
Start_MM	int	Current Month	Start Month
Start_DD	int	Current Day	Start Day
Start_hh	int	Current Hour	Start Hour
Start_mm	int	Start Minute
Start_ss	int	Start Second
End_YYYY	int	Current Year	End Year
End_MM	int	Current Month	End Month
End_DD	int	Current Day	End Day
End_hh	int	Current Hour	End Hour
End_mm	int	End Minute
End_ss	int	End Second
Last_NDays	int	-1	Last N Days to Run Algorithm
Step_YYYY	int	Step Year
Step_MM	int	0	Step Minute
Step_DD	int	0	Step Day
Step_hh	int	0	Step Hour
Step_mm	int	0	Step Minute
Step_ss	int	0	Step Second
ParamId	int	Parameter ID
TypeId	int	Type ID
AlgoCode	int	-1	Algoritham Code
InterpCode	int	-1	Code to determine method of interpolation
ControlString	std::string	Control Info
ControlVector	std::vector<int>	Control Vector
BestStationFilename	std::string	NotSet	Filename containing the best station list
CfailedString	std::string	Value to add to CFAILED if the algorithm runs and writes data back to the database
MissingValue	int	-32767	Original Missing Data Value
MinValue	int	-32767	Minimum Data Value FOr Some Controls
InterpolationDistance	float	25	Nearest Neighbour Limiting Distance
z_fqclevel	unsigned char	0x3F	fqclevel
z_fr	unsigned char	0x3F	fr
z_fcc	unsigned char	0x3F	fcc
z_fs	unsigned char	0x3F	fs
z_fnum	unsigned char	0x3F	fnum
z_fpos	unsigned char	0x3F	fpos
z_fmis	unsigned char	0x3F	fmis
z_ftime	unsigned char	0x3F	ftime
z_fw	unsigned char	0x3F	fw
z_fstat	unsigned char	0x3F	fstat
z_fcp	unsigned char	0x3F	fcp
z_fclim	unsigned char	0x3F	fclim
z_fd	unsigned char	0x3F	fd
z_fpre	unsigned char	0x3F	fpre
z_fcombi	unsigned char	0x3F	fcombi
z_fhqc	unsigned char	0x3F	fhqc
zbool	bool	true	Option to change logic of all flag controls
R_fqclevel	unsigned char	0x3F	fqclevel
R_fr	unsigned char	0x3F	fr
R_fcc	unsigned char	0x3F	fcc
R_fs	unsigned char	0x3F	fs
R_fnum	unsigned char	0x3F	fnum
R_fpos	unsigned char	0x3F	fpos
R_fmis	unsigned char	0x3F	fmis
R_ftime	unsigned char	0x3F	ftime
R_fw	unsigned char	0x3F	fw
R_fstat	unsigned char	0x3F	fstat
R_fcp	unsigned char	0x3F	fcp
R_fclim	unsigned char	0x3F	fclim
R_fd	unsigned char	0x3F	fd
R_fpre	unsigned char	0x3F	fpre
R_fcombi	unsigned char	0x3F	fcombi
R_fhqc	unsigned char	0x3F	fhqc
Rbool	bool	true	Option to change logic of all flag controls
I_fqclevel	unsigned char	0x3F	fqclevel
I_fr	unsigned char	0x3F	fr
I_fcc	unsigned char	0x3F	fcc
I_fs	unsigned char	0x3F	fs
I_fnum	unsigned char	0x3F	fnum
I_fpos	unsigned char	0x3F	fpos
I_fmis	unsigned char	0x3F	fmis
I_ftime	unsigned char	0x3F	ftime
I_fw	unsigned char	0x3F	fw
I_fstat	unsigned char	0x3F	fstat
I_fcp	unsigned char	0x3F	fcp
I_fclim	unsigned char	0x3F	fclim
I_fd	unsigned char	0x3F	fd
I_fpre	unsigned char	0x3F	fpre
I_fcombi	unsigned char	0x3F	fcombi
I_fhqc	unsigned char	0x3F	fhqc
Ibool	bool	true	Option to change logic of all flag controls
A_fqclevel	unsigned char	0x3F	fqclevel
A_fr	unsigned char	0x3F	fr
A_fcc	unsigned char	0x3F	fcc
A_fs	unsigned char	0x3F	fs
A_fnum	unsigned char	0x3F	fnum
A_fpos	unsigned char	0x3F	fpos
A_fmis	unsigned char	0x3F	fmis
A_ftime	unsigned char	0x3F	ftime
A_fw	unsigned char	0x3F	fw
A_fstat	unsigned char	0x3F	fstat
A_fcp	unsigned char	0x3F	fcp
A_fclim	unsigned char	0x3F	fclim
A_fd	unsigned char	0x3F	fd
A_fpre	unsigned char	0x3F	fpre
A_fcombi	unsigned char	0x3F	fcombi
A_fhqc	unsigned char	0x3F	fhqc
Abool	bool	true	Option to change logic of all flag controls
W_fqclevel	unsigned char	0x3F	fqclevel
W_fr	unsigned char	0x3F	fr
W_fcc	unsigned char	0x3F	fcc
W_fs	unsigned char	0x3F	fs
W_fnum	unsigned char	0x3F	fnum
W_fpos	unsigned char	0x3F	fpos
W_fmis	unsigned char	0x3F	fmis
W_ftime	unsigned char	0x3F	ftime
W_fw	unsigned char	0x3F	fw
W_fstat	unsigned char	0x3F	fstat
W_fcp	unsigned char	0x3F	fcp
W_fclim	unsigned char	0x3F	fclim
W_fd	unsigned char	0x3F	fd
W_fpre	unsigned char	0x3F	fpre
W_fcombi	unsigned char	0x3F	fcombi
W_fhqc	unsigned char	0x3F	fhqc
Wbool	bool	true	Option to change logic of all flag controls
S_fqclevel	unsigned char	0x3F	fqclevel
S_fr	unsigned char	0x3F	fr
S_fcc	unsigned char	0x3F	fcc
S_fs	unsigned char	0x3F	fs
S_fnum	unsigned char	0x3F	fnum
S_fpos	unsigned char	0x3F	fpos
S_fmis	unsigned char	0x3F	fmis
S_ftime	unsigned char	0x3F	ftime
S_fw	unsigned char	0x3F	fw
S_fstat	unsigned char	0x3F	fstat
S_fcp	unsigned char	0x3F	fcp
S_fclim	unsigned char	0x3F	fclim
S_fd	unsigned char	0x3F	fd
S_fpre	unsigned char	0x3F	fpre
S_fcombi	unsigned char	0x3F	fcombi
S_fhqc	unsigned char	0x3F	fhqc
V_fqclevel	std::vector<unsigned char>	fqclevel
V_fr	std::vector<unsigned char>	fr
V_fcc	std::vector<unsigned char>	fcc
V_fs	std::vector<unsigned char>	fs
V_fnum	std::vector<unsigned char>	fnum
V_fpos	std::vector<unsigned char>	fpos
V_fmis	std::vector<unsigned char>	fmis
V_ftime	std::vector<unsigned char>	ftime
V_fw	std::vector<unsigned char>	fw
V_fstat	std::vector<unsigned char>	fstat
V_fcp	std::vector<unsigned char>	fcp
V_fclim	std::vector<unsigned char>	fclim
V_fd	std::vector<unsigned char>	fd
V_fpre	std::vector<unsigned char>	fpre
V_fcombi	std::vector<unsigned char>	fcombi
V_fhqc	std::vector<unsigned char>	fhqc

Controlflags ControlFlags set by Qc1 or other Qc2 algorithms are used to manage the operation of each Qc2 algorithm. Five different steps are identified and for each different controlflags can be specified to control the step. There must be corresponding logic in the Qc2 algorithm for each flag specified.

The five steps in which controlflags may be checked are:

READ: controlflag settings to filter which data is read

INTERPOLATE: control flag settings to determine if a model value shall be interpolated

ALGORITHM: control flag settings to determine if the algorithm shall be run

SET: the control flag values to set if an algorithm is successful

WRITE: control flag settings to determine if the result sshall be written to the database

The corresponding names of the controlflags are:

READ: R_fqclevel,R_fr,R_fcc,R_fs,R_fnum,R_fpos,R_fmis,R_ftime,R_fw,R_fstat,R_fcp,R_fclim,R_fd,R_fpre,R_fcombi,R_fhqc

INTERPOLATE: I_fqclevel,I_fr,I_fcc,I_fs,I_fnum,I_fpos,I_fmis,I_ftime,I_fw,I_fstat,I_fcp,I_fclim,I_fd,I_fpre,I_fcombi,I_fhqc

ALGORITHM: A_fqclevel,A_fr,A_fcc,A_fs,A_fnum,A_fpos,A_fmis,A_ftime,A_fw,A_fstat,A_fcp,A_fclim,A_fd,A_fpre,A_fcombi,A_fhqc

WRITE: W_fqclevel,W_fr,W_fcc,W_fs,W_fnum,W_fpos,W_fmis,W_ftime,W_fw,W_fstat,W_fcp,W_fclim,W_fd,W_fpre,W_fcombi,W_fhqc

SET: S_fqclevel,S_fr,S_fcc,S_fs,S_fnum,S_fpos,S_fmis,S_ftime,S_fw,S_fstat,S_fcp,S_fclim,S_fd,S_fpre,S_fcombi,S_fhqc

V_flag is also available as a vector container to hold multiple instances of the same flag when algorithms rely on multiple options. :: EXPAND!!!

In general, using X_flag to represent a general flag:

Name	Value Format	Default Value	Description
X_flag	unsigned char [0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F]	? (i.e. 0x3F)	...
...	...	...	...

Blurb

Name	Value Format	Default Value	Description
...	...	...	...
...	...	...	...
...	...	...	...
...	...	...	...