-
Notifications
You must be signed in to change notification settings - Fork 0
SCT dual with FG
Cristian Lussana edited this page Mar 29, 2021
·
2 revisions
Work in progress
Returned values are: the p-vector of the quality flags
flag | description |
---|---|
-999 | missing flag (observation not checked) |
0 | good observation |
1 | bad observation |
11 | isolated observation, it is the only observation inside the inner circle |
12 | isolated observation, less than num_min_outer observations inside outer circle |
The constants to keep in mind are:
- M, the number of observation providers
- B, the number of background fields (see
--fg.files
) - N, the total number of tests. Each test is applied to just one background field. The N-vector
sct_fglab.fg
matches the tests with the background fields. Example:sct_fglab.fg
equals to (1,1,2), then: three tests are defined; the first two tests will make use of the first background file; the third test will make use of the second background field. The order of the background fields is given by the input order infg.file
The list of parameters is (type vector = it is possible to specify a sequence of buddy checks):
parameter | description | type |
---|---|---|
sct_fg_dual | do it, true or false | logical |
code.sct_fg_dual | code identifying bad observation flagged by the test | scalar |
i.sct_fg_dual | number of repetitions of the entire sequence of checks | scalar |
break.sct_fg_dual | break the loop over the tests if less than this number of observations has been flagged | scalar |
doit.sct_fg_dual | specify on a provider basis if the observations have to be tested (0=no; 1=yes) | M-vector |
prio.sct_fg_dual | specify on a provider basis the priorities the observations have (the smaller the number, the higher the piority) | M-vector |
fg_event_thresholds.sct_dual | event threshold used to divide the first-guess dataset into "yes, the event happend" or "no, the event did not happen". Either a single value or one value for each test AND provider (e.g. N tests, M providers; then N*M values; order is: val-1 (test-1,provider-1), val-2 (test-1,provider-2), val-3 (test-1,provider-3), ... ). | N-vector |
event_thresholds.sct_dual | event threshold used to divide the dataset into "yes, the event happend" or "no, the event did not happen". Either a single value or one value for each test AND provider (e.g. N tests, M providers; then N*M values; order is: val-1 (test-1,provider-1), val-2 (test-1,provider-2), val-3 (test-1,provider-3), ... ). | (N*M)-vector |
conditions.sct_dual | condition used to divide the dataset into "yes, the event happend" or "no, the event did not happen". One of: "Eq", "Gt", "Geq", "Lt", "Leq". Either one value valid for all N or N values. | N-vector |
thr_relinfo.sct_dual | SCT dual threshold for the relative information content (typically a number from 0 to 1). Useful to avoid flagging observations in areas where there is a transition between "yes" and "no". Either a single value or one value for each test AND provider (e.g. N tests, M providers; then N*M values; order is: val-1 (test-1,provider-1), val-2 (test-1,provider-2), val-3 (test-1,provider-3), ... ). | (N*M)-vector |
inner_radius.sct_fg_dual | radius (m) of the inner circle | N-vector |
outer_radius.sct_fg_dual | radius (m) of the outer circle | N-vector |
fg_lab.sct_fg_dual | labels identifying which of the background fields have to be used in the test | N-vector |
tpos.sct_fg_dual | threshold when the observed value is greater than the background | (N*M)-vector |
tneg.sct_fg_dual | threshold when the observed value is smaller than the background | (N*M)-vector |
eps2.sct | relative precision | (N*M)-vector |
num_min_outer.sct_fg_dual | minimum number of observations required inside the outer circle | N-vector |
num_max_outer.sct_fg_dual | maximum number of observations used | N-vector |
min_horizontal_scale.sct_fg_dual | lower limit for the horizontal decorrelation length scale in OI correlation function | N-vector |
max_horizontal_scale.sct_fg_dual | upper limit for the horizontal decorrelation length scale in OI correlation function | N-vector |
kth_closest_obs_horizontal_scale.sct_fg_dual | horizontal decorrelation length scale in OI correlation function is the average distance between an observation location and the k-th closest location | N-vector |
vertical_scale.sct_fg_dual | vertical decorrelation length scale in OI correlation function | N-vector |
#!/usr/bin/env Rscript
# Test TITAN for hourly precipitation
system("export TITANR_PATH=$HOME/projects/titanlab/R/functions;../titan.r --input.files data/observation_test_rr1_prid01_p02000_zero003percent.txt data/observation_test_rr1_prid02_p00100_zero001percent.txt --output.file data/out.txt --config.files ini/rr1_test_titan.ini ini/rr1_sct_fg_dual.ini --fg.files ini/background_test_rr1_det.ini ini/background_test_rr1_ens.ini")
conf <- list(
# M = 2 observation providers
#------------------------------------------------------------------------------
sct_fg_dual = T,
code.sct_fg_dual = 4,
i.sct_fg_dual = 10,
break.sct_fg_dual = 0,
# N=2 tests
fglab.sct_fg_dual = c( 1, 2),
# M vectors ((either 1 value or M)
doit.sct_fg_dual = 1,
prio.sct_fg_dual = c( 100, 1),
# N = 2 sct_dual checks (either 1 value or N)
inner_radius.sct_fg_dual = 10000,
outer_radius.sct_fg_dual = 40000,
num_min_outer.sct_fg_dual = 3,
num_max_outer.sct_fg_dual = 50,
min_horizontal_scale.sct_fg_dual = 1000,
max_horizontal_scale.sct_fg_dual = 25000,
kth_closest_obs_horizontal_scale.sct_fg_dual = 3,
vertical_scale.sct_fg_dual = 200000,
conditions.sct_fg_dual = "Gt",
# M * N (either 1 value or M*N)
thr_relinfo.sct_fg_dual = 0.6,
# prid1 prid2
event_thresholds.sct_fg_dual = c( 0.1, 0.1,
0.1, 0.1),
#
fg_event_thresholds.sct_fg_dual = c( 0.1,
0.1)
)
Copyright (C) 2021 MET Norway. Titan is licensed under GPL version 3 or (at your option) any later version.