|
◆ qcsummaryflagr()
elemental logical function modqc::qcsummaryflagr |
( |
real, intent(in), optional |
flag0, |
|
|
real, intent(in), optional |
flag1, |
|
|
real, intent(in), optional |
flag2, |
|
|
real, intent(in), optional |
flag3 |
|
) |
| |
|
private |
Check data validity based on multiple confidences.
Compute final decision boolean flag Quality control is complete if one of 3 conditions is verified: a) invalidated data b) gross error check failed c) tot variable less -1 Controllo di validita' del dato basato su test multipli. Per il calcolo della validita' del dato (flag booleano B33007), si prendono in considerazione 3 test; il dato risulta invalidato (flag booleano posto a false) se e solo se uno dei test risulta soddisfatto: a) il dato e' stato invalidato a mano (flag0=B33196=0) b) il dato non ha passato il gross erro check (flag1=B33192=0) c) la variabile tot risulta minore a -1 La variabile tot e' il risultato del confronto tra controllo climatologico (flag1, B33192), controllo temporale (flag2, B33193) e controllo spaziale (flag3, B33194). Ad ognuno di tali controlli e' stato attribuito un punteggio a seconda che ciascuno dei valori relativi ai flag di qualita' risulti inferiore od uguale-maggiore di 10. Nel dettaglio: se B33192 < 10 tot=-1; se B33192>=10 tot=0 se B33193 < 10 tot=-1; se B33193>=10 tot=1 se B33194 < 10 tot=-1; se B33194>=10 tot=1 Ogni dato e' controllato nei 3 flag di qualita' presenti, e viene valutata la somma risultante di tot. Se tot risulta inferiore a -1, qcsummaryflag e' posto a false ed il dato e' invalitato (B33007=0). Se tot risulta maggiore od uguale a -1 qcsummaryflag e' true ed il dato e' valido.
Definizione alla linea 587 del file modqc.F90.
587 #include "modqc_peeling_include.F90" 588 #undef VOL7D_POLY_TYPE 589 #undef VOL7D_POLY_TYPES 590 #define VOL7D_POLY_TYPE DOUBLE PRECISION 591 #define VOL7D_POLY_TYPES d 592 #include "modqc_peeling_include.F90" 593 #undef VOL7D_POLY_TYPE 594 #undef VOL7D_POLY_TYPES 595 #define VOL7D_POLY_TYPE INTEGER 596 #define VOL7D_POLY_TYPES i 597 #include "modqc_peeling_include.F90" 598 #undef VOL7D_POLY_TYPE 599 #undef VOL7D_POLY_TYPES 600 #define VOL7D_POLY_TYPE INTEGER(kind=int_b) 601 #define VOL7D_POLY_TYPES b 602 #include "modqc_peeling_include.F90" 603 #undef VOL7D_POLY_TYPE 604 #undef VOL7D_POLY_TYPES 605 #define VOL7D_POLY_TYPE CHARACTER(len=vol7d_cdatalen) 606 #define VOL7D_POLY_TYPES c 607 #include "modqc_peeling_include.F90" 610 #undef VOL7D_POLY_SUBTYPE 611 #undef VOL7D_POLY_SUBTYPES 612 #define VOL7D_POLY_SUBTYPE INTEGER(kind=int_b) 613 #define VOL7D_POLY_SUBTYPES b 615 #undef VOL7D_POLY_TYPE 616 #undef VOL7D_POLY_TYPES 617 #define VOL7D_POLY_TYPE REAL 618 #define VOL7D_POLY_TYPES r 619 #include "modqc_peeling_include.F90" 620 #undef VOL7D_POLY_TYPE 621 #undef VOL7D_POLY_TYPES 622 #define VOL7D_POLY_TYPE DOUBLE PRECISION 623 #define VOL7D_POLY_TYPES d 624 #include "modqc_peeling_include.F90" 625 #undef VOL7D_POLY_TYPE 626 #undef VOL7D_POLY_TYPES 627 #define VOL7D_POLY_TYPE INTEGER 628 #define VOL7D_POLY_TYPES i 629 #include "modqc_peeling_include.F90" 630 #undef VOL7D_POLY_TYPE 631 #undef VOL7D_POLY_TYPES
|