= Level-1.5 (Observables) Quality Flag Quality Bit Documentation = NB: UPDATED TO MATCH http://jsoc.stanford.edu/doc/data/hmi/Quality_Bits/QUALITY.txt version of 24 May 2013 '''Current meaning of the QUALITY keyword for the line-of-sight observables''' ||'''QUALITY''' ||||'''NO OBSERVABLES PRODUCED AND THE REASON WHY''' || ||QUAL_NODATA || (0x80000000) ||no l.o.s. observables image was produced (empty record created, with NO DATA SEGMENT. Most keywords have default value) || ||QUAL_TARGETFILTERGRAMMISSING || (0x40000000) ||no target filtergram was found near target time (target filtergram=filtergram used to identify the framelist): due either to missing filtergrams or because no observable sequence was run || ||QUAL_NOINTERPOLATEDKEYWORDS || (0x20000000) ||could not interpolate some keywords at target time (CROTA2, DSUN_OBS, and CRLT_OBS are required by do_interpolate()), because several lev 1 records are missing/corrupted || ||QUAL_NOFRAMELISTINFO ||(0x10000000) ||could not figure out which observables framelist was used, or the framelist run for the required time range is not an observables framelist || ||QUAL_WRONGCADENCE || (0x08000000) ||the cadence corresponding to the framelist run at the required time does not match the expected value provided by user (error from user, or issue with the framelist) || ||QUAL_WRONGTARGET || (0x04000000) ||the target filtergram does not belong to the current framelist (something is wrong either with the framelist or the target filtergram) || ||QUAL_MISSINGLEV1D || (0x02000000) ||not enough lev1d filtergrams to produce an observable (too many lev 1 records were missing or corrupted) || ||QUAL_MISSINGKEYWORDLEV1D || (0x01000000) ||could not read some needed keywords (like FID) in the lev1d data (too many lev 1 records were missing or corrupted and the corresponding lev 1d record is unusable) || ||QUAL_WRONGWAVELENGTHNUM || (0x00800000) ||the number of wavelengths in the lev1d records is not correct (issue with the framelist, or too many lev 1 records were missing or corrupted) || ||QUAL_MISSINGKEYWORDLEV1P || (0x00400000) ||could not read some needed keywords in the lev1p data (too many lev 1 records were missing or corrupted and the corresponding lev 1p record is unusable) || ||QUAL_NOLOOKUPRECORD || (0x00200000) ||could not find a record for the look-up tables for the MDI-like algorithm (the MDI-like algorithm could not be applied) || ||QUAL_NOLOOKUPKEYWORD || (0x00100000) ||could not read the keywords of the look-up tables for the MDI-like algorithm (the MDI-like algorithm could not be applied) || ||QUAL_NOTENOUGHINTERPOLANTS ||(0x00080000) ||not enough interpolation points for the temporal interpolation at a given wavelength and polarization (too many lev 1 records were missing or corrupted) || ||QUAL_INTERPOLATIONFAILED || (0x00040000) ||the temporal interpolation routine failed (no lev1d record was produced) || ||QUAL_MISSINGLEV1P || (0x00020000) ||not enough lev1p records to produce an observable (too many lev 1 records were missing or corrupted) || ||QUAL_NOCOEFFKEYWORD || (0x00000200) ||could not read the keywords of the polynomial coefficient series for the correction of the MDI-like algorithm || ||QUAL_NOCOEFFPRECORD || (0x00000080) ||could not find a record for the polynomial coefficient for the correction of the MDI-like algorithm, or could not access the keywords of a specific record || || ||||'''OBSERVABLES CREATED BUT IN SUB-OPTIMAL CONDITIONS''' || ||QUAL_LOWINTERPNUM || (0x00010000) || the number of interpolation points (for temporal interpolation) was not always as high as expected, AND/OR 2 interpolation points were separated by more than the cadence || ||QUAL_LOWKEYWORDNUM || (0x00008000) || some keywords (especially CROTA2, DSUN_OBS, and CRLT_OBS) could not be interpolated properly at target time, but a closest-neighbour approximation was used || ||QUAL_ISSTARGET || (0x00004000) || the ISS loop was OPEN for one or several filtergrams used to produce the observable || ||QUAL_NOTEMP || (0x00002000) || cannot read the temperatures needed for polarization calibration (default temperature used) || ||QUAL_NOGAPFILL || (0x00001000) ||the code could not properly gap-fill all the lev 1 filtergrams || ||QUAL_LIMBFITISSUE || (0x00000800) ||some lev1 records were discarded because R_SUN, and/or CRPIX1/CRPIX2 were missing or were too different from the median value of the other lev1 records (too much jitter for instance) || ||QUAL_NOCOSMICRAY || (0x00000400) ||some cosmic-ray hit lists could not be read for the level 1 filtergrams || ||QUAL_ECLIPSE || (0x00000100) ||at least one lev1 record was taken during an eclipse || ||QUAL_LARGEFTSID || (0x00000040) ||HFTSACID of target filtergram > 4000, which adds noise to observables || ||QUAL_POORQUALITY || (0x00000020) ||poor quality: careful when using these observables due to eclipse, or lunar transit, or thermal recovery, or open ISS, or other issues...|| '''Current meaning of the QUALITY keyword for the 12-min averaged IQUV''' || ||||'''SOME (OR ALL) IQUV DATA SEGMENTS WERE NOT PRODUCED AND THE REASON WHY''' || ||QUAL_NODATA || (0x80000000) || not all the IQUV images were produced (SOME OR ALL DATA SEGMENTS ARE MISSING) || ||QUAL_TARGETFILTERGRAMMISSING ||(0x40000000) || no target filtergram was found near target time (target filtergram=filtergram used to identify the framelist): due either to missing filtergrams or because no observable sequence was run || ||QUAL_NOINTERPOLATEDKEYWORDS || (0x20000000) || could not interpolate some keywords at target time (CROTA2, DSUN_OBS, and CRLT_OBS are required by do_interpolate()), because several level 1 records are missing/corrupted || ||QUAL_NOFRAMELISTINFO || (0x10000000) || could not figure out which observables framelist was used, or the framelist run for the required dates is not an observables framelist || ||QUAL_WRONGCADENCE ||(0x08000000) || the cadence corresponding to the framelist run at required times does not match the expected value provided by user (error from user, or issue with the framelist) || ||QUAL_WRONGFRAMELISTSIZE || (0x04000000) || the current framelist size does not match the value from the command line || ||QUAL_WRONGNPOL || (0x02000000) || the current framelist npol does not match the value from the command line || ||QUAL_WRONGPOLTYPE ||(0x01000000) || the current framelist does not allow for the production of I,Q,U, and V data || ||QUAL_WRONGTARGET || (0x00800000) || the target filtergram does not belong to the current framelist (something is wrong either with the framelist or with the target filtergram) || ||QUAL_ERRORFRAMELIST || (0x00400000) || the filtergrams are not where they should be in the framelist (issue with the framelist) || ||QUAL_WRONGWAVELENGTHNUM || (0x00200000) || the number of wavelengths in the lev1d records is not correct (issue with the framelist, or too many lev 1 records were missing or corrupted) || ||QUAL_NOLOOKUPRECORD || (0x00100000) || could not find a record for the look-up tables for the MDI-like algorithm (the MDI-like algorithm could not be used). NB: THIS BIT IS CURRENTLY NOT USED BUT SHOULD BE IN THE NEAR FUTURE || ||QUAL_NOLOOKUPKEYWORD || (0x00080000) || could not read the keywords of the look-up tables for the MDI-like algorithm (the MDI-like algorithm could not be used). NB: THIS BIT IS CURRENTLY NOT USED BUT SHOULD BE IN THE NEAR FUTURE || ||QUAL_NOTENOUGHINTERPOLANTS || (0x00040000) || not enough interpolation points for the temporal interpolation at a given wavelength and polarization (too many lev 1 records were missing or corrupted) || ||QUAL_INTERPOLATIONFAILED ||(0x00020000) || the temporal interpolation routine failed || || ||||'''OBSERVABLES CREATED BUT IN SUB-OPTIMAL CONDITIONS''' || ||QUAL_LOWINTERPNUM || (0x00010000) || the number of averaging points is lower than TempIntNum, AND/OR 2 interpolation points were separated by more than the cadence || ||QUAL_LOWKEYWORDNUM ||(0x00008000) || some keywords (especially CROTA2, DSUN_OBS, and CRLT_OBS) could not be interpolated properly at target time, but a closest-neighbour approximation was used || ||QUAL_ISSTARGET || (0x00004000) || the ISS loop was OPEN for one or several filtergrams used to produce the observable || ||QUAL_NOTEMP || (0x00002000) || cannot read the temperatures needed for polarization calibration (default temperature used) || ||QUAL_NOGAPFILL || (0x00001000) || the code could not properly gap-fill all the lev 1 filtergrams || ||QUAL_LIMBFITISSUE || (0x00000800) || some lev1 records were discarded because R_SUN, and/or CRPIX1/CRPIX2 were missing or too different from the median value of the other lev 1 records (too much jitter for instance) || ||QUAL_NOCOSMICRAY || (0x00000400) || some cosmic-ray hit lists could not be read for the level 1 filtergrams || ||QUAL_ECLIPSE || (0x00000200) || at least one lev1 record was taken during an eclipse || ||QUAL_LARGEFTSID || (0x00000100) || HFTSACID of target filtergram > 4000, which adds noise to observables || ||QUAL_TEMPERROR || (0x00000080) || Code error discovered that will be corrected in later processing versions, see notes at http://jsoc2.stanford.edu/doc/data/hmi/Quality_Bits || ||QUAL_POORQUALITY || (0x00000020) ||poor quality: careful when using these observables due to eclipse, or lunar transit, or thermal recovery, or open ISS, or other issues...||