.. _DpdDqcDynamicFlags DQC Dynamic Flags ================= Metadata ______________________ +------------------------------------------------+----------------------------------------------------------------------------------------------+ | Data product name | DpdDqcDynamicFlags | +------------------------------------------------+----------------------------------------------------------------------------------------------+ | Data product custodian | DQC | +------------------------------------------------+----------------------------------------------------------------------------------------------+ | Name of the Schema file | .. raw:: html | | | | | | `euc-dqc-DynamicFlags.xsd `_ | +------------------------------------------------+----------------------------------------------------------------------------------------------+ | Last Edited for DPDD Version | 10.0 | +------------------------------------------------+----------------------------------------------------------------------------------------------+ | Processing Element(s) creating/using the data | **Creators:** | | product | | | | * ST-DQ/ST_DQT_DynamicFlags | | | | | | **Consumers:** | | | | | | * Euclid Metadata Explorer, i.e. QualityViewer | +------------------------------------------------+----------------------------------------------------------------------------------------------+ | Processing function using the data product | None. | +------------------------------------------------+----------------------------------------------------------------------------------------------+ | Proposed for inclusion in EAS/SAS | | +------------------------------------------------+----------------------------------------------------------------------------------------------+ Data Product Elements _____________________ +--------------+----------------------------------------------+ | Header | object of type sys:genericHeader | +--------------+----------------------------------------------+ | Data | object of type dqc:dynamicFlagData | +--------------+----------------------------------------------+ | QualityFlags | object of type sqf:sqfDpdDqcDynamicFlags | +--------------+----------------------------------------------+ | Parameters | object of type ppr:genericKeyValueParameters | +--------------+----------------------------------------------+ Detailed Description of the Data Product ________________________________________ .. DetailedDescStart The DynamicFlags data product may contain flags for a specific data product. These flags have been raised when either a flagCondition returned true or an exception occurred during evaluation of the flagRuleSet. A flagRuleSet contains conditions to be tested against values in a data product. The PE ST_DQT_DynamicFlags evaluates the flagConditions for one or more data products and produces one DynamicFlag data product per input data product. A DynamicFlag data product may contain no flags at all, but it will contain the flagRuleSet(s) that were tested. See `Quality Flags `__ for details. This data product will be automatically loaded when someone is looking at the flagged data product in the `Euclid Metadata Explorer `__ . The flagged items are shown in the 'Quality' section. Elements ++++++++ **FlaggedProductId** The Product ID of the DataProduct that is the input to the DynamicFlags PE. All Flags in this specific DpdDqcDynamicFlags DP refer to this input DP. **InputProductIds** The Dynamic Flags PE may receive multiple DPs as input. In this case, a DpdDqcDynamicFlags DP is generated for each input DP separately, and all input DP's IDs will be stored as a list, in case e.g. a flagCondition is performed across all input DPS. (e.g. DpName.Data.ExpTime LT Dp[:].Data.ExpTime) **ExceptionFlags** A list of flags that have been raised due to an exception error. E.g. invalid itemPath, type mismatch. * FlagId An ID is required so the flag can be referred to by a reassessment. Might be removed if reassessments are modified to include an element of type flagInstance (directly referencing the flag instance in the table of flags). NOTE: There can be reassessments of all kinds of flags - i.e. a polymorphism - is this allowed? Can an "xs:choice" mechanism be used? The current implementation of humanReassessmentFlag uses *both* mechanisms! Delete one of them. * FlagRuleSetId The ID of the FlagRuleSet giving rise to this flag. * FlagRuleSetIndex The index (into Data.FlagRuleSets) of the FlagRuleSet being used in this evaluation. * ExceptionType The type of exception, e.g. "invalid path", "type mismatch" etc. * FlagConditionIndex The index of the FlagCondition within the FlagRuleSet indicated by FlagRuleSetIndex. * XPaths The XPaths that were involved in creating this exception. **NumberOfExceptionFlags** Number of exception flags. **DynamicFlags** A list of flags that have been raised for InputProductId. A flag is raised when a flagCondition returns true. * FlagId An ID is required so the flag can be referred to by a reassessment. Might be removed if reassessments are modified to include an element of type flagInstance (directly referencing the flag instance in the table of flags). NOTE: There can be reassessments of all kinds of flags - i.e. a polymorphism - is this allowed? Can an "xs:choice" mechanism be used? The current implementation of humanReassessmentFlag uses *both* mechanisms! Delete one of them. * FlagRuleSetId The ID of the FlagRuleSet giving rise to this flag. * FlagRuleSetIndex The index (into Data.FlagRuleSets) of the FlagRuleSet being used in this evaluation. * TriggeredConditions List of flagConditions that evaluated to true, and thus triggered a flag. * FlagConditionIndex The index of flagCondition within the flagRuleSet * LeftSide Left side of a condition is always an instance (never a literal value). An instance always requires a **Path**, a **Value** and an **InstanceProductIds**. * Operator An operator to be applied on the left side can be unary or binary * RightSide Operator might be unary - no right side. In case of a binary operator, the right hand side is either a **Literal** value or an item **Instance** (which requires a **Path**, a **Value** and an **InstanceProductIds**). * AbortProcessing "No" (default) means raise flag in case of condition evaluates to true, but continue evaluating subsequent conditions. "Yes" means raise flag in case of condition evaluates to true, and skip subsequent conditions. "Silent" means skip (do not evaluate) subsequent conditions without raising any flag. E.g. if numStars eq 0 succeeds, don't go on to calculate the average of the (empty) list of star magnitudes. * NonEvaluatedConditionsIndices List of indices of conditions that were *not* evaluated due to an abort flag in a succeeded flagCondition. * FlaggedItems List of flagged items, i.e. all items that are mentioned in **TriggeredConditions** or **AdditionalItemsToFlag** in the FlagRuleSet. * ItemPath A specific XPath pointing to a value that is flagged. For example: //Data/SomePath/SomeValue[1]. * TriggeredConditionIndices Indices of all triggered conditions flagging this item. **FlagRuleSets** List of flagRuleSets that have been processed for the InputProductId. The content of this element is the full content of the :ref:`DpdDqcFlagRuleSet`. .. DetailedDescEnd