ocssw
V2022
|
Emissive_Cal.c
Go to the documentation of this file.
76 No calibration is performed for the scan if both sides of PCLW electronics are on at the same time.
611 dtemp = (emiss_tables->sigma_L_lambda[B_emiss][0]+emiss_tables->sigma_L_lambda[B_emiss][1]*L_ev)
Definition: Granule.h:1095
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 which is the product of the Band radiance times the ratio of the Band to Band scaling factors times the LUT correction value for that detector In addition a new LUT which allows for a frame offset with regard to the Band radiance was added A LUT which switches the correction off or on was also added Changes which do not affect scientific output of the the pixel is flagged with the newly created flag TEB_B1_NOT_CALCULATED
Definition: HISTORY.txt:623
Definition: Granule.h:773
int32 num_sector_rotation_EV_data[NUM_DETECTORS]
Definition: Granule.h:1082
float32 sigma_b1_B21[DETECTORS_PER_1KM_BAND][NUM_MIRROR_SIDES]
Definition: L1B_Tables.h:854
int32 num_nadir_door_closed_EV_data[NUM_DETECTORS]
Definition: Granule.h:1088
uint16 EV_1km_Emissive[NUM_1000M_EMISS_BANDS][DETECTORS_PER_1KM_BAND][EV_1km_FRAMES]
Definition: Granule.h:905
int32 num_saturated_EV_data[NUM_DETECTORS]
Definition: Granule.h:1083
Definition: L1B_Tables.h:941
int32 num_exceed_max_for_scaling[NUM_DETECTORS]
Definition: Granule.h:1087
Definition: Granule.h:956
Definition: L1B_Setup.h:59
PGSt_SMF_status Emissive_Cal(int16 S, int16 MS, L1B_granule_t *L1B_Gran, L1A_Scan_t *L1A_Scan, L1B_Scan_t *L1B_Scan, Preprocess_Emiss_t *PP_emiss, emiss_tables_t *emiss_tables, QA_tables_t *QA_tables, QA_Data_t *QA, L1B_Scan_Metadata_t *L1B_Scan_Meta)
Definition: Emissive_Cal.c:19
float32 RVS_1km_Emiss_SV[NUM_EMISSIVE_DETECTORS][NUM_MIRROR_SIDES]
Definition: Granule.h:848
const double F
float32 sigma_a0[NUM_EMISSIVE_DETECTORS][MAX_NUM_SCANS]
Definition: Preprocess.h:140
float32 sigma_epsilon_BB[NUM_EMISSIVE_BANDS]
Definition: L1B_Tables.h:847
Definition: Granule.h:856
float32 sigma_a2[NUM_EMISSIVE_DETECTORS][MAX_NUM_SCANS]
Definition: Preprocess.h:143
float32 dn_bb[NUM_EMISSIVE_DETECTORS][MAX_NUM_SCANS]
Definition: Preprocess.h:145
Definition: L1B_Tables.h:761
float32 rad_offset_Emiss[NUM_EMISSIVE_BANDS]
Definition: Granule.h:809
#define FLOAT_TO_PIXEL(L, L_max, L_min, scale, offset, Scale_Integer)
Definition: Emissive_Cal.c:8
float32 TEB_specified_uncertainty[NUM_EMISSIVE_BANDS]
Definition: L1B_Tables.h:824
float32 sigma_RVS_Emiss_EV[NUM_EMISSIVE_DETECTORS][EV_1km_FRAMES][NUM_MIRROR_SIDES]
Definition: Granule.h:853
int32 num_missing_data_in_scans[NUM_DETECTORS]
Definition: Granule.h:1079
float32 DN_sv[NUM_EMISSIVE_DETECTORS][MAX_NUM_SCANS]
Definition: Preprocess.h:144
float32 dn_bb_sdev[NUM_EMISSIVE_DETECTORS][MAX_NUM_SCANS]
Definition: Preprocess.h:146
float32 L_cav[NUM_EMISSIVE_DETECTORS][MAX_NUM_SCANS]
Definition: Preprocess.h:148
int32 num_dead_detector_EV_data[NUM_DETECTORS]
Definition: Granule.h:1080
float32 RVS_1km_Emiss_EV[NUM_EMISSIVE_DETECTORS][EV_1km_FRAMES][NUM_MIRROR_SIDES]
Definition: Granule.h:846
uint8 EV_1km_Emissive_UI[NUM_1000M_EMISS_BANDS][DETECTORS_PER_1KM_BAND][EV_1km_FRAMES]
Definition: Granule.h:924
float32 rad_scale_Emiss[NUM_EMISSIVE_BANDS]
Definition: Granule.h:808
Definition: Preprocess.h:136
int32 num_no_bg_DN_EV_data[NUM_DETECTORS]
Definition: Granule.h:1084
float32 TEB_UI_scaling_factor[NUM_EMISSIVE_BANDS]
Definition: L1B_Tables.h:825
float32 sigma_L_lambda[NUM_EMISSIVE_BANDS][NUM_1ST_ORDER_COEFFS]
Definition: L1B_Tables.h:850
float32 PC_XT[NUM_PC_XT_BANDS][DETECTORS_PER_1KM_BAND][NUM_PC_XT_PARAMETERS]
Definition: L1B_Tables.h:772
int16 EV_1km_night[DETECTORS_PER_1KM_BAND][NUM_1000M_NIGHT_BANDS][EV_1km_FRAMES]
Definition: Granule.h:791
float32 Planck_mir[NUM_EMISSIVE_DETECTORS][MAX_NUM_SCANS]
Definition: Preprocess.h:138
float32 L_bb[NUM_EMISSIVE_DETECTORS][MAX_NUM_SCANS]
Definition: Preprocess.h:147
float32 sigma_epsilon_CAV[NUM_EMISSIVE_BANDS]
Definition: L1B_Tables.h:848
uint32 negative_value_below_noise_pixels[NUM_BANDS]
Definition: Granule.h:884