ocssw
V2022
|
Reflective_Cal.c
Go to the documentation of this file.
81 No calibration is performed for a scan if both sides of PCLW electronics are on at the same time.
1122 * U2: The uncertainty due to calibrations using calibrators and the linear approximation in RVS AOI dependence.
uint16 EV_500m_Aggr1km_RefSB[NUM_500M_BANDS][DETECTORS_PER_1KM_BAND][EV_1km_FRAMES]
Definition: Granule.h:985
Definition: Granule.h:1067
int32 num_bad_dn_star_star_RSB_EV_data[NUM_DETECTORS]
Definition: Granule.h:1086
float32 DN_obc_1km_night_avg[MAX_1KM_TRACK_DIM][NUM_1000M_NIGHT_BANDS][NUM_1KM_SUBSAMP]
Definition: Preprocess.h:121
float32 DN_obc_500m_avg[MAX_500M_TRACK_DIM][NUM_500M_BANDS][NUM_500M_SUBSAMP]
Definition: Preprocess.h:119
float32 X_OOB_0[NUM_SWIR_BANDS][MAX_DETECTORS_PER_SWIR_BAND][MAX_NUM_SWIR_SUBSAMPLES][NUM_MIRROR_SIDES]
Definition: L1B_Tables.h:624
uint16 EV_1km_RefSB[NUM_1000M_REFL_BANDS][DETECTORS_PER_1KM_BAND][EV_1km_FRAMES]
Definition: Granule.h:901
float32 m1_des_sq[NUM_REFLECTIVE_BANDS][MAX_DETECTORS_PER_BAND][MAX_SAMPLES_PER_BAND][NUM_MIRROR_SIDES]
Definition: Granule.h:818
float32 RVS_500m[NUM_500M_BANDS][DETECTORS_PER_500M_BAND][EV_500m_FRAMES][NUM_MIRROR_SIDES]
Definition: Granule.h:830
uint16 EV_500m_RefSB[NUM_500M_BANDS][DETECTORS_PER_500M_BAND][EV_500m_FRAMES]
Definition: Granule.h:897
Definition: Granule.h:773
int32 num_sector_rotation_EV_data[NUM_DETECTORS]
Definition: Granule.h:1082
int16 SWIR_correction_switch
Definition: L1B_Tables.h:618
int32 num_nadir_door_closed_EV_data[NUM_DETECTORS]
Definition: Granule.h:1088
int32 num_saturated_EV_data[NUM_DETECTORS]
Definition: Granule.h:1083
Definition: L1B_Tables.h:616
float32 RVS_250m[NUM_250M_BANDS][DETECTORS_PER_250M_BAND][EV_250m_FRAMES][NUM_MIRROR_SIDES]
Definition: Granule.h:825
Definition: Granule.h:745
SWIR_correction_tables_t SWIR_correction_tables
Definition: L1B_Tables.h:725
int32 num_exceed_max_for_scaling[NUM_DETECTORS]
Definition: Granule.h:1087
Definition: Granule.h:956
float32 u2[NUM_REFLECTIVE_DETECTORS][EV_1km_FRAMES][NUM_MIRROR_SIDES]
Definition: Granule.h:839
float64 dn_sat_ev[NUM_REFLECTIVE_BANDS][MAX_DETECTORS_PER_BAND][MAX_SAMPLES_PER_BAND][NUM_MIRROR_SIDES]
Definition: L1B_Tables.h:732
int16 EV_1km_day[DETECTORS_PER_1KM_BAND][NUM_1000M_DAY_BANDS][EV_1km_FRAMES]
Definition: Granule.h:787
float32 K_FPA[NUM_REFLECTIVE_BANDS][MAX_DETECTORS_PER_BAND][MAX_SAMPLES_PER_BAND][NUM_MIRROR_SIDES]
Definition: L1B_Tables.h:660
uint16 EV_250m_RefSB[NUM_250M_BANDS][DETECTORS_PER_250M_BAND][EV_250m_FRAMES]
Definition: Granule.h:893
const double F
PGSt_SMF_status Band_26_Crosstalk_Correction(L1B_Scan_t *L1B_Scan, int16 *b5_frame_offset, float32 *b26_fr_b5_scaled_corr, QA_Common_t *QA_Common, uint32 *valid_pixels, uint32 *negative_value_below_noise_pixels, int16 *bad_data_flag, boolean isdaymode, boolean perform_B26_correction)
Definition: Reflective_Cal.c:1252
float32 DN_obc_250m_avg[MAX_250M_TRACK_DIM][NUM_250M_BANDS][NUM_250M_SUBSAMP]
Definition: Preprocess.h:118
float32 u4_coeffs[NUM_REFLECTIVE_BANDS][MAX_DETECTORS_PER_BAND][MAX_SAMPLES_PER_BAND][NUM_MIRROR_SIDES][NUM_2ND_ORDER_COEFFS]
Definition: L1B_Tables.h:749
Definition: Preprocess.h:173
uint8 EV_500m_RefSB_UI[NUM_500M_BANDS][DETECTORS_PER_500M_BAND][EV_500m_FRAMES]
Definition: Granule.h:916
Definition: Granule.h:856
uint8 EV_500m_Aggr1km_RefSB_UI[NUM_500M_BANDS][DETECTORS_PER_1KM_BAND][EV_1km_FRAMES]
Definition: Granule.h:1002
float32 counts_scale_RefSB[NUM_REFLECTIVE_BANDS]
Definition: Granule.h:805
float32 RSB_specified_uncertainty[NUM_REFLECTIVE_BANDS]
Definition: L1B_Tables.h:721
float32 m0[NUM_REFLECTIVE_BANDS][MAX_DETECTORS_PER_BAND][MAX_SAMPLES_PER_BAND][NUM_MIRROR_SIDES]
Definition: L1B_Tables.h:665
float32 X_OOB_2[NUM_SWIR_BANDS][MAX_DETECTORS_PER_SWIR_BAND][MAX_NUM_SWIR_SUBSAMPLES][NUM_MIRROR_SIDES]
Definition: L1B_Tables.h:634
PGSt_SMF_status Copy_Band_26_Data(L1B_Scan_t *L1B_Scan)
Definition: Reflective_Cal.c:1200
uint8 EV_250m_RefSB_UI[NUM_250M_BANDS][DETECTORS_PER_250M_BAND][EV_250m_FRAMES]
Definition: Granule.h:912
int32 num_missing_data_in_scans[NUM_DETECTORS]
Definition: Granule.h:1079
int16 EV_500m[DETECTORS_PER_500M_BAND][NUM_500M_BANDS][EV_500m_FRAMES]
Definition: Granule.h:783
uint8 Detector_Quality_Flag2_Values[NUM_HIGH_RESOLUTION_DETECTORS][NUM_BITS_IN_UINT8]
Definition: L1B_Tables.h:897
uint8 EV_1km_RefSB_UI[NUM_1000M_REFL_BANDS][DETECTORS_PER_1KM_BAND][EV_1km_FRAMES]
Definition: Granule.h:920
instead the metadata field ProcessingEnvinronment is filled in from the output of a call to the POSIX compliant function uname from within the L1B code A small bug in L1B_Tables an incorrect comparison of RVS coefficients for TEBs to RVS coefficients for RSBs was being made This was replaced with a comparison between TEB coefficients This error never resulted in an incorrect RVS correction but did lead to recalculating the coefficients for each detector in a thermal band even if the coefficients were the same for all detectors To reduce to overall size of the reflective LUT HDF fill values were eliminated from all LUTs previously dimensioned where and where NUM_TIMES is the number of time dependent table pieces In Preprocess a small error where the trailing dropped scan counter was incremented when the leading dropped scan counter should have been was fixed This counter is internal only and is not yet used for any chiefly to casting of were added to make it LINUX compatible Output of code run on LINUX machines displays differences of at most scaled sector incalculable values of the Emissive calibration factor and incalculable values of SV or BB averages was moved outside the loop over frames in Emissive_Cal c since none of these quantities are frame dependent Initialization of b1 and XMS values in Preprocess c routine Process_OBCENG_Emiss was moved inside the detector loops The code was altered so that if up to five scans are dropped between the leading middle or middle trailing the leading or trailing granule will still be used in emissive calibration to form a cross granule average QA bits and are set for a gap between the leading middle and middle trailing granules respectively This may in rare instances lead to a change in emissive calibration coefficients for scans at the beginning or end of a granule A small bug in the Band correction algorithm was corrected an uncertainty value was being checked against an upper bound whereas the proper quantity to be checked was the corresponding SI
Definition: HISTORY.txt:595
int32 num_dead_detector_EV_data[NUM_DETECTORS]
Definition: Granule.h:1080
float32 counts_offset_RefSB[NUM_REFLECTIVE_BANDS]
Definition: Granule.h:806
int16 SWIR_corr_sending_detector[DETECTORS_PER_1KM_BAND]
Definition: L1B_Tables.h:620
int32 num_dead_subframe_EV_data[NUM_HIGH_RESOLUTION_DETECTORS]
Definition: Granule.h:1081
int16 EV_250m[DETECTORS_PER_250M_BAND][NUM_250M_BANDS][EV_250m_FRAMES]
Definition: Granule.h:779
int32 num_no_bg_DN_EV_data[NUM_DETECTORS]
Definition: Granule.h:1084
float32 X_OOB_1[NUM_SWIR_BANDS][MAX_DETECTORS_PER_SWIR_BAND][MAX_NUM_SWIR_SUBSAMPLES][NUM_MIRROR_SIDES]
Definition: L1B_Tables.h:629
int16 EV_1km_night[DETECTORS_PER_1KM_BAND][NUM_1000M_NIGHT_BANDS][EV_1km_FRAMES]
Definition: Granule.h:791
float32 RSB_UI_scaling_factor[NUM_REFLECTIVE_BANDS]
Definition: L1B_Tables.h:723
void L1BErrorMsg(char *L1B_location, PGSt_SMF_code code, char *input_message, char *assoc_function, int32 lun, char *other_msg, boolean error_out)
Definition: Granule.c:918
Definition: L1B_Tables.h:642
float32 K_inst[NUM_REFLECTIVE_BANDS][MAX_DETECTORS_PER_BAND][MAX_SAMPLES_PER_BAND][NUM_MIRROR_SIDES]
Definition: L1B_Tables.h:655
uint16 EV_250m_Aggr1km_RefSB[NUM_250M_BANDS][DETECTORS_PER_1KM_BAND][EV_1km_FRAMES]
Definition: Granule.h:981
PGSt_SMF_status Reflective_Cal(int16 S, L1A_granule_t *L1A_Gran, L1B_granule_t *L1B_Gran, L1A_Scan_t *L1A_Scan, L1B_Scan_t *L1B_Scan, Preprocess_Data_t *PP, refl_tables_t *refl_tables, common_QA_tables_t *QA_tables, QA_Common_t *QA_Common)
Definition: Reflective_Cal.c:20
Definition: L1B_Tables.h:878
float32 RVS_1km_RefSB[NUM_1000M_REFL_BANDS][DETECTORS_PER_1KM_BAND][EV_1km_FRAMES][NUM_MIRROR_SIDES]
Definition: Granule.h:835
uint32 negative_value_below_noise_pixels[NUM_BANDS]
Definition: Granule.h:884
float32 DN_obc_1km_day_avg[MAX_1KM_TRACK_DIM][NUM_1000M_DAY_BANDS][NUM_1KM_SUBSAMP]
Definition: Preprocess.h:120