NB: UPDATED ON SEPTEMBER 29, 2010 Here is the current meaning of the QUALITY keyword for the line-of-sight observables: //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 (0x8000000) //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 (0x4000000) //the target filtergram does not belong to the current framelist (something is wrong either with the framelist or the target filtergram) QUAL_MISSINGLEV1D (0x2000000) //not enough lev1d filtergrams to produce an observable (too many lev 1 records were missing or corrupted) QUAL_MISSINGKEYWORDLEV1D (0x1000000) //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 (0x800000) //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 (0x400000) //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 (0x200000) //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 (0x100000) //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 (0x80000) //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 (0x40000) //the temporal interpolation routine failed (no lev1d record was produced) QUAL_MISSINGLEV1P (0x20000) //not enough lev1p records to produce an observable (too many lev 1 records were missing or corrupted) QUAL_NOCOEFFKEYWORD (0x200) //could not read the keywords of the polynomial coefficient series for the correction of the MDI-like algorithm QUAL_NOCOEFFPRECORD (0x80) //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 (0x10000) //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 (0x8000) //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 (0x4000) //the ISS loop was OPEN for one or several filtergrams used to produce the observable QUAL_NOTEMP (0x2000) //cannot read the temperatures needed for polarization calibration (default temperature used) QUAL_NOGAPFILL (0x1000) //the code could not properly gap-fill all the lev 1 filtergrams QUAL_LIMBFITISSUE (0x800) //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 (0x400) //some cosmic-ray hit lists could not be read for the level 1 filtergrams QUAL_ECLIPSE (0x100) //at least one lev1 record was taken during an eclipse Here is the 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 (0x8000000) //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 (0x4000000) //the current framelist size does not match the value from the command line QUAL_WRONGNPOL (0x2000000) //the current framelist npol does not match the value from the command line QUAL_WRONGPOLTYPE (0x1000000) //the current framelist does not allow for the production of I,Q,U, and V data QUAL_WRONGTARGET (0x800000) //the target filtergram does not belong to the current framelist (something is wrong either with the framelist or with the target filtergram) QUAL_ERRORFRAMELIST (0x400000) //the filtergrams are not where they should be in the framelist (issue with the framelist) QUAL_WRONGWAVELENGTHNUM (0x200000) //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 (0x100000) //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 (0x80000) //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 (0x40000) //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 (0x20000) //the temporal interpolation routine failed //OBSERVABLES CREATED BUT IN SUB-OPTIMAL CONDITIONS QUAL_LOWINTERPNUM (0x10000) //the number of averaging points is lower than TempIntNum, AND/OR 2 interpolation points were separated by more than the cadence QUAL_LOWKEYWORDNUM (0x8000) //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 (0x4000) //the ISS loop was OPEN for one or several filtergrams used to produce the observable QUAL_NOTEMP (0x2000) //cannot read the temperatures needed for polarization calibration (default temperature used) QUAL_NOGAPFILL (0x1000) //the code could not properly gap-fill all the lev 1 filtergrams QUAL_LIMBFITISSUE (0x800) //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 (0x400) //some cosmic-ray hit lists could not be read for the level 1 filtergrams QUAL_ECLIPSE (0x300) //at least one lev1 record was taken during an eclipse