OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
PreprocessP.h File Reference
#include "Preprocess.h"
Include dependency graph for PreprocessP.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Engineering_Coefficients_t
 
struct  Moon_arrays_t
 
struct  Temperatures_t
 
struct  L1A_granule_OBCEng_t
 
struct  Overlap_OBCEng_t
 

Macros

#define MAX_NUM_BANDS_PER_TYPE   11
 
#define NUM_BAND_TYPES   5
 
#define NUM_PV_VIS_BANDS   7
 
#define NUM_PV_NIR_BANDS   11
 
#define NUM_SM_BANDS   10
 
#define NUM_PV_LW_BANDS   4
 
#define NUM_PC_LW_BANDS   6
 
#define ELECTRONICS_PRIMARY   0 /* Electronics side "A" */
 
#define ELECTRONICS_REDUNDANT   1 /* Electronics side "B" */
 
#define ELECTRONICS_BOTH   2 /* both side of Electronics on */
 
#define MAX_NUM_OVERLAP_SCANS   MAX_NUM_SCANS
 
#define MAX_OVERLAP_TRACK_DIM   MAX_1KM_TRACK_DIM
 
#define MAX_TOTAL_XGRAN_SCANS   (2*MAX_NUM_OVERLAP_SCANS + MAX_NUM_SCANS)
 
#define GEO_NUM_SCANS_NAME   "Number of Scans"
 
#define GEO_SD_SUN_AZ_SDS_NAME   "SD Sun azimuth"
 
#define GEO_SD_SUN_ZEN_SDS_NAME   "SD Sun zenith"
 
#define OBC_SD_SUN_AZ_SDS_NAME   "SD Sun Azimuth"
 
#define OBC_SD_SUN_ZEN_SDS_NAME   "SD Sun Zenith"
 
#define DN_BG_FIRST_FRAME_SDS_NAME   "DN_obc_avg_first_frame_to_use"
 
#define DN_BG_NUM_FRAMES_SDS_NAME   "DN_obc_avg_number_of_frames_to_use"
 
#define VEC_DIM_NAME   "vecdim"
 
#define NUM_BANDS_DIM_NAME   "num_bands"
 
#define MOON_IN_KOB_SDS_NAME   "Moon in keep-out-box"
 
#define VEC_DIM   3
 
#define MOON_VECTOR_SDS_NAME   "Moon Vector"
 
#define MAX_ENG_MEM_DATA_DIM   550
 
#define MAX_NUM_VDATA   100
 
#define MAX_VDATA_SIZE   1024
 
#define NOMINAL_PIXEL_WIDTH   1.0
 
#define NOMINAL_PLATFORM_HEIGHT   705.295
 
#define PIXEL_WIDTH_RADIANS   (NOMINAL_PIXEL_WIDTH/NOMINAL_PLATFORM_HEIGHT)
 
#define SV_CNTR_ANG_FROM_Y   (-8.425 * (PGS_PI/180.0))
 
#define SC_ANCIL_SIZE   128
 
#define MOON_X_DATA_POSITION_IN_SC_ANCIL   61
 
#define CONVERT_TO_UINT8(x, y)
 
#define Celsius_To_Kelvin_Offset   273.15
 
#define DN_SAT_9BITS   511 /* saturation level for 9-bit temperature DN */
 
#define DN_SAT_10BITS   1023 /* saturation level for 10-bit voltage DN */
 
#define DN_SAT_12BITS   4095 /* saturation level for 12-bit temperature DN */
 
#define C_1   1.19106e+8
 
#define C_2   1.43879e+4
 
#define L(lambda, T)
 
#define RVS_CORRECTION_UPPER_LIMIT   2.4e+0
 
#define RVS_CORRECTION_LOWER_LIMIT   4.0e-1
 
#define SCAN_TIME_INTERVAL   1.47717
 
#define DROPPED_SCAN_UPPER_LIMIT   5
 
#define INNER_GRANULE_TIMEDIFF_TOLERANCE   .5*SCAN_TIME_INTERVAL
 
#define OUTER_GRANULE_TIMEDIFF_TOLERANCE   (DROPPED_SCAN_UPPER_LIMIT + .5)*SCAN_TIME_INTERVAL
 
#define TERRA   0
 
#define AQUA   1
 
#define INVALID_SATELLITE_ID   -1
 

Functions

void init_L1A_granule_OBCEng (L1A_granule_OBCEng_t *)
 
PGSt_SMF_status Calculate_Temp_QA (int32 num_scans, Temperatures_t *temps, QA_tables_t *tables, QA_Data_t *QA)
 
PGSt_SMF_status Process_OBCEng_Refl (int32 sd_id, int32 num_scans, float32 *T_ins, int16 *MirrorSide, refl_tables_t *refl_tables, Moon_arrays_t *moon_arrays, L1A_granule_OBCEng_t *L1A_OBCEng, DN_OBC_Avg_t *DN_OBC_Avg, QA_Refl_t *QA_refl, Preprocess_Refl_t *PP_Refl)
 
PGSt_SMF_status Process_OBCEng_Emiss (L1A_granule_t *L1A_Gran, L1A_granule_OBCEng_t *L1A_OBCEng, Emiss_Cal_Coeff_t *RVS_Coeff, emiss_tables_t *tables, QA_tables_t *QA_tables, Moon_arrays_t *moon_arrays, QA_Data_t *QA, Preprocess_Emiss_t *PP, DN_OBC_Avg_t *DN_OBC_Avg)
 
PGSt_SMF_status Get_Emiss_Coeff_Per_Scan (int8 moon_in_SV_KOB, int16 *BB, int16 *SV, int16 B, int16 D, int16 D_emiss, int16 MS, Emiss_Cal_Coeff_t *RVS_Coeff, emiss_tables_t *tables, float32 T_bb, float32 T_mir, float32 T_cav, float32 T_ins, float32 *Xdn_bb_31, float32 Xdn_bb_pvlw_xt[][DETECTORS_PER_1KM_BAND], float32 *Xb1, float32 *xdLbb, float32 *xdnbb, float32 *xLbb, float32 *xLcav, float32 *xdnsv, float32 *xdnsv_var, uint32 *sv_omask, float32 *SNR)
 
PGSt_SMF_status Calculate_Planck (float32 *RSR, float32 *wl, int16 size, float32 T, float32 *planck)
 
PGSt_SMF_status Read_L1A_OBCEng (emiss_tables_t *emiss_tables, L1A_granule_t *L1A_Gran, L1A_granule_OBCEng_t *L1A_OBCEng)
 
PGSt_SMF_status Read_Overlap_OBCEng (L1A_granule_t *L1A_Gran, emiss_tables_t *emiss_tables, PGSt_PC_Logical lun, Overlap_OBCEng_t *Overlap_OBCEng, boolean *scan_gap)
 
PGSt_SMF_status Write_L1B_OBCEng (L1A_granule_t *L1A_Gran, lookup_tables_t *tables, Moon_arrays_t *moon_arrays, DN_OBC_Avg_t *DN_OBC_Avg)
 
PGSt_SMF_status Copy_EngMemData (int32 in_sd_id, int32 out_sd_id, int32 num_scans)
 
PGSt_SMF_status Copy_ScanMetadata (int32 in_sd_id, int32 out_sd_id, int32 num_scans)
 
PGSt_SMF_status Copy_PixelQualityData (int32 in_sd_id, int32 out_sd_id, int32 num_scans)
 
PGSt_SMF_status Copy_EngVdata (int32 in_v_id, int32 out_v_id)
 
PGSt_SMF_status Read_Convert_Temperatures (emiss_tables_t *tables, int32 v_id, int32 start_scan, int32 num_scans, int32 satellite_ID, Temperatures_t *temps)
 
PGSt_SMF_status Calculate_PP_Planck_Mir (int32 num_scans, emiss_tables_t *tables, Preprocess_Emiss_t *PP)
 
PGSt_SMF_status Get_Leading_Gran_Emiss_Coeff (Overlap_OBCEng_t *Leading_OBCEng, int16 B, int16 D, int16 D_emiss, Emiss_Cal_Coeff_t *RVS_Coeff, emiss_tables_t *tables, Moon_arrays_t *moon_arrays, float32 Xdn_bb_31[][DETECTORS_PER_1KM_BAND], float32 Xdn_bb_pvlw_xt[][NUM_PVLW_XT_BANDS][DETECTORS_PER_1KM_BAND], float32 *Xb1, int16 *XMS)
 
PGSt_SMF_status Get_Middle_Gran_Emiss_Coeff (L1A_granule_OBCEng_t *L1A_OBCEng, int16 B, int16 D, int16 D_emiss, Emiss_Cal_Coeff_t *RVS_Coeff, emiss_tables_t *tables, emiss_QA_tables_t *QA_tables, Moon_arrays_t *moon_arrays, float32 Xdn_bb_31[][DETECTORS_PER_1KM_BAND], float32 Xdn_bb_pvlw_xt[][NUM_PVLW_XT_BANDS][DETECTORS_PER_1KM_BAND], float32 *Xb1, int16 *XMS, QA_Emiss_t *QA, Preprocess_Emiss_t *PP, DN_OBC_Avg_t *DN_OBC_Avg)
 
PGSt_SMF_status Get_Trailing_Gran_Emiss_Coeff (int32 num_scans_middle, Overlap_OBCEng_t *Trailing_OBCEng, int16 B, int16 D, int16 D_emiss, Emiss_Cal_Coeff_t *RVS_Coeff, emiss_tables_t *tables, Moon_arrays_t *moon_arrays, float32 Xdn_bb_31[][DETECTORS_PER_1KM_BAND], float32 Xdn_bb_pvlw_xt[][NUM_PVLW_XT_BANDS][DETECTORS_PER_1KM_BAND], float32 *Xb1, int16 *XMS)
 
PGSt_SMF_status Get_All_Emiss_Coeff (L1A_granule_OBCEng_t *L1A_OBCEng, int16 B, int16 D_emiss, float32 *Xb1, int16 *Xmir, emiss_tables_t *tables, emiss_QA_tables_t *QA_tables, QA_Emiss_t *QA, Preprocess_Emiss_t *PP)
 
PGSt_SMF_status Compute_BB_Temperature (emiss_tables_t *tables, int32 start_scan, int32 num_scans, uint16 *CP_index, uint16 **raw_BB_temp, int32 satellite_ID, Temperatures_t *temps)
 
PGSt_SMF_status Get_Electronics_index (int32 num_scans, uint16 *Electronics_pri, uint16 *Electronics_red, uint16 *Electronics_index)
 
PGSt_SMF_status Write_Geo_OBC_SDS (int32 obc_sd_id, int32 num_scans)
 
PGSt_SMF_status Fill_250m_DN_OBC_Avg (int32 sd_id, int32 num_scans, int16 *MirrorSide, refl_tables_t *refl_tables, Moon_arrays_t *moon_arrays, boolean Ecal_On[][NUM_BANDS], DN_OBC_Avg_t *DN_OBC_Avg, QA_Refl_t *QA_refl)
 
PGSt_SMF_status Fill_500m_DN_OBC_Avg (int32 sd_id, int32 num_scans, int16 *MirrorSide, refl_tables_t *refl_tables, Moon_arrays_t *moon_arrays, boolean Ecal_On[][NUM_BANDS], DN_OBC_Avg_t *DN_OBC_Avg, QA_Refl_t *QA_refl)
 
PGSt_SMF_status Fill_1km_day_DN_OBC_Avg (int32 sd_id, int32 num_scans, int16 *MirrorSide, refl_tables_t *refl_tables, Moon_arrays_t *moon_arrays, boolean Ecal_On[][NUM_BANDS], DN_OBC_Avg_t *DN_OBC_Avg, QA_Refl_t *QA_refl)
 
PGSt_SMF_status Fill_Band_26_DN_OBC_Avg (int32 sd_id, int32 num_scans, int16 *MirrorSide, refl_tables_t *refl_tables, Moon_arrays_t *moon_arrays, boolean Ecal_On[][NUM_BANDS], DN_OBC_Avg_t *DN_OBC_Avg, QA_Refl_t *QA_refl)
 
PGSt_SMF_status Check_For_Moon_in_SV_KOB (int32 num_scans, common_QA_tables_t *common_QA_tables, QA_Data_t *QA, Moon_arrays_t *moon_arrays)
 
PGSt_SMF_status Get_DN_Avg_SDev_Rejects (int32 start_index, int32 N, int32 index_increment, int16 *DN_array, int16 DN_upper_valid_limit, int16 DN_lower_valid_limit, float32 *mean_DN, float32 *sdev_DN, int16 *rejects)
 
PGSt_SMF_status Pack_Rejects_In_Outlier_Mask (int32 N, int16 *rejects, uint32 *packed_rejects)
 
PGSt_SMF_status Cross_Granule_Sliding_Average (int32 num_overlapScans, int32 num_scans_middle, float32 *Xarray, int16 *Xmir, float32 *avg)
 
PGSt_SMF_status Granule_Average_Temperature (int32 num_values, float32 *array, float32 *avg)
 
PGSt_SMF_status Get_Temp_Avg_And_Variance (int32 N, float32 *T, float32 *avg, float32 *var)
 
PGSt_SMF_status Fill_Invalid_Temp_DNs (int32 num_scans, uint16 miss_DN, uint16 sat_DN, uint16 *DN)
 
PGSt_SMF_status Adjust_dn_star_Min (float32 *dn_star_Min, int32 L1A_v_id, int32 num_scans)
 
PGSt_SMF_status Check_For_Ecal_On (int32 lun, int32 num_scans, int32 v_id, boolean Ecal_On[][NUM_BANDS])
 
PGSt_SMF_status Check_If_Sector_Rotated (int32 lun, int32 num_scans, int32 v_id, boolean Sector_Rotated[])
 
PGSt_SMF_status sort_int16_array (int32 n, int16 *a, int32 *indx)
 
PGSt_SMF_status Get_DN_Avg_SDev_Rejects_LowN (int32 N_include, int32 start_index, int32 N, int32 index_increment, int16 *DN_array, int16 DN_upper_valid_limit, int16 DN_lower_valid_limit, float32 *mean_DN, float32 *sdev_DN, int16 *rejects)
 
PGSt_SMF_status Calculate_RVS_Correction (lookup_tables_t *tables, L1B_granule_t *L1B_Gran)
 
void Compute_dn_bb_for_PVLW_XT_cor_Per_Scan (int8 moon_in_SV_KOB, int16 *BB, int16 *SV, emiss_tables_t *tables, float32 *xdnbb)
 
void Prepare_dn_bb_for_PVLW_XT_cor (Overlap_OBCEng_t *Leading_OBCEng, L1A_granule_OBCEng_t *L1A_OBCEng, Overlap_OBCEng_t *Trailing_OBCEng, emiss_tables_t *tables, Moon_arrays_t *moon_arrays, float32 Xdn_bb_pvlw_xt[][NUM_PVLW_XT_BANDS][DETECTORS_PER_1KM_BAND])
 

Variables

Engineering_Coefficients_t Engineering_Coefficients_PFM
 
Engineering_Coefficients_t Engineering_Coefficients_FM1
 

Macro Definition Documentation

◆ AQUA

#define AQUA   1

Definition at line 204 of file PreprocessP.h.

◆ C_1

#define C_1   1.19106e+8

Definition at line 181 of file PreprocessP.h.

◆ C_2

#define C_2   1.43879e+4

Definition at line 182 of file PreprocessP.h.

◆ Celsius_To_Kelvin_Offset

#define Celsius_To_Kelvin_Offset   273.15

Definition at line 171 of file PreprocessP.h.

◆ CONVERT_TO_UINT8

#define CONVERT_TO_UINT8 (   x,
 
)
Value:
if ( x < 0 ) y = 0; \
else if ( x >= 9) y = 255; \
else y = (uint8) (255.0 * (x / 9.0));

Definition at line 166 of file PreprocessP.h.

◆ DN_BG_FIRST_FRAME_SDS_NAME

#define DN_BG_FIRST_FRAME_SDS_NAME   "DN_obc_avg_first_frame_to_use"

Definition at line 150 of file PreprocessP.h.

◆ DN_BG_NUM_FRAMES_SDS_NAME

#define DN_BG_NUM_FRAMES_SDS_NAME   "DN_obc_avg_number_of_frames_to_use"

Definition at line 151 of file PreprocessP.h.

◆ DN_SAT_10BITS

#define DN_SAT_10BITS   1023 /* saturation level for 10-bit voltage DN */

Definition at line 173 of file PreprocessP.h.

◆ DN_SAT_12BITS

#define DN_SAT_12BITS   4095 /* saturation level for 12-bit temperature DN */

Definition at line 174 of file PreprocessP.h.

◆ DN_SAT_9BITS

#define DN_SAT_9BITS   511 /* saturation level for 9-bit temperature DN */

Definition at line 172 of file PreprocessP.h.

◆ DROPPED_SCAN_UPPER_LIMIT

#define DROPPED_SCAN_UPPER_LIMIT   5

Definition at line 194 of file PreprocessP.h.

◆ ELECTRONICS_BOTH

#define ELECTRONICS_BOTH   2 /* both side of Electronics on */

Definition at line 141 of file PreprocessP.h.

◆ ELECTRONICS_PRIMARY

#define ELECTRONICS_PRIMARY   0 /* Electronics side "A" */

Definition at line 139 of file PreprocessP.h.

◆ ELECTRONICS_REDUNDANT

#define ELECTRONICS_REDUNDANT   1 /* Electronics side "B" */

Definition at line 140 of file PreprocessP.h.

◆ GEO_NUM_SCANS_NAME

#define GEO_NUM_SCANS_NAME   "Number of Scans"

Definition at line 145 of file PreprocessP.h.

◆ GEO_SD_SUN_AZ_SDS_NAME

#define GEO_SD_SUN_AZ_SDS_NAME   "SD Sun azimuth"

Definition at line 146 of file PreprocessP.h.

◆ GEO_SD_SUN_ZEN_SDS_NAME

#define GEO_SD_SUN_ZEN_SDS_NAME   "SD Sun zenith"

Definition at line 147 of file PreprocessP.h.

◆ INNER_GRANULE_TIMEDIFF_TOLERANCE

#define INNER_GRANULE_TIMEDIFF_TOLERANCE   .5*SCAN_TIME_INTERVAL

Definition at line 197 of file PreprocessP.h.

◆ INVALID_SATELLITE_ID

#define INVALID_SATELLITE_ID   -1

Definition at line 205 of file PreprocessP.h.

◆ L

#define L (   lambda,
 
)
Value:
(C_1 / pow((double) (lambda), (double) 5) / \
(exp((double) (C_2 / ((lambda) * (T))) ) - 1) )

Definition at line 183 of file PreprocessP.h.

◆ MAX_ENG_MEM_DATA_DIM

#define MAX_ENG_MEM_DATA_DIM   550

Definition at line 157 of file PreprocessP.h.

◆ MAX_NUM_BANDS_PER_TYPE

#define MAX_NUM_BANDS_PER_TYPE   11

Definition at line 131 of file PreprocessP.h.

◆ MAX_NUM_OVERLAP_SCANS

#define MAX_NUM_OVERLAP_SCANS   MAX_NUM_SCANS

Definition at line 142 of file PreprocessP.h.

◆ MAX_NUM_VDATA

#define MAX_NUM_VDATA   100

Definition at line 158 of file PreprocessP.h.

◆ MAX_OVERLAP_TRACK_DIM

#define MAX_OVERLAP_TRACK_DIM   MAX_1KM_TRACK_DIM

Definition at line 143 of file PreprocessP.h.

◆ MAX_TOTAL_XGRAN_SCANS

#define MAX_TOTAL_XGRAN_SCANS   (2*MAX_NUM_OVERLAP_SCANS + MAX_NUM_SCANS)

Definition at line 144 of file PreprocessP.h.

◆ MAX_VDATA_SIZE

#define MAX_VDATA_SIZE   1024

Definition at line 159 of file PreprocessP.h.

◆ MOON_IN_KOB_SDS_NAME

#define MOON_IN_KOB_SDS_NAME   "Moon in keep-out-box"

Definition at line 154 of file PreprocessP.h.

◆ MOON_VECTOR_SDS_NAME

#define MOON_VECTOR_SDS_NAME   "Moon Vector"

Definition at line 156 of file PreprocessP.h.

◆ MOON_X_DATA_POSITION_IN_SC_ANCIL

#define MOON_X_DATA_POSITION_IN_SC_ANCIL   61

Definition at line 165 of file PreprocessP.h.

◆ NOMINAL_PIXEL_WIDTH

#define NOMINAL_PIXEL_WIDTH   1.0

Definition at line 160 of file PreprocessP.h.

◆ NOMINAL_PLATFORM_HEIGHT

#define NOMINAL_PLATFORM_HEIGHT   705.295

Definition at line 161 of file PreprocessP.h.

◆ NUM_BAND_TYPES

#define NUM_BAND_TYPES   5

Definition at line 132 of file PreprocessP.h.

◆ NUM_BANDS_DIM_NAME

#define NUM_BANDS_DIM_NAME   "num_bands"

Definition at line 153 of file PreprocessP.h.

◆ NUM_PC_LW_BANDS

#define NUM_PC_LW_BANDS   6

Definition at line 137 of file PreprocessP.h.

◆ NUM_PV_LW_BANDS

#define NUM_PV_LW_BANDS   4

Definition at line 136 of file PreprocessP.h.

◆ NUM_PV_NIR_BANDS

#define NUM_PV_NIR_BANDS   11

Definition at line 134 of file PreprocessP.h.

◆ NUM_PV_VIS_BANDS

#define NUM_PV_VIS_BANDS   7

Definition at line 133 of file PreprocessP.h.

◆ NUM_SM_BANDS

#define NUM_SM_BANDS   10

Definition at line 135 of file PreprocessP.h.

◆ OBC_SD_SUN_AZ_SDS_NAME

#define OBC_SD_SUN_AZ_SDS_NAME   "SD Sun Azimuth"

Definition at line 148 of file PreprocessP.h.

◆ OBC_SD_SUN_ZEN_SDS_NAME

#define OBC_SD_SUN_ZEN_SDS_NAME   "SD Sun Zenith"

Definition at line 149 of file PreprocessP.h.

◆ OUTER_GRANULE_TIMEDIFF_TOLERANCE

#define OUTER_GRANULE_TIMEDIFF_TOLERANCE   (DROPPED_SCAN_UPPER_LIMIT + .5)*SCAN_TIME_INTERVAL

Definition at line 198 of file PreprocessP.h.

◆ PIXEL_WIDTH_RADIANS

#define PIXEL_WIDTH_RADIANS   (NOMINAL_PIXEL_WIDTH/NOMINAL_PLATFORM_HEIGHT)

Definition at line 162 of file PreprocessP.h.

◆ RVS_CORRECTION_LOWER_LIMIT

#define RVS_CORRECTION_LOWER_LIMIT   4.0e-1

Definition at line 188 of file PreprocessP.h.

◆ RVS_CORRECTION_UPPER_LIMIT

#define RVS_CORRECTION_UPPER_LIMIT   2.4e+0

Definition at line 187 of file PreprocessP.h.

◆ SC_ANCIL_SIZE

#define SC_ANCIL_SIZE   128

Definition at line 164 of file PreprocessP.h.

◆ SCAN_TIME_INTERVAL

#define SCAN_TIME_INTERVAL   1.47717

Definition at line 191 of file PreprocessP.h.

◆ SV_CNTR_ANG_FROM_Y

#define SV_CNTR_ANG_FROM_Y   (-8.425 * (PGS_PI/180.0))

Definition at line 163 of file PreprocessP.h.

◆ TERRA

#define TERRA   0

Definition at line 203 of file PreprocessP.h.

◆ VEC_DIM

#define VEC_DIM   3

Definition at line 155 of file PreprocessP.h.

◆ VEC_DIM_NAME

#define VEC_DIM_NAME   "vecdim"

Definition at line 152 of file PreprocessP.h.

Function Documentation

◆ Adjust_dn_star_Min()

PGSt_SMF_status Adjust_dn_star_Min ( float32 *  dn_star_Min,
int32  L1A_v_id,
int32  num_scans 
)

Definition at line 8102 of file Preprocess.c.

◆ Calculate_Planck()

PGSt_SMF_status Calculate_Planck ( float32 *  RSR,
float32 *  wl,
int16  size,
float32  T,
float32 *  planck 
)

Definition at line 305 of file Preprocess.c.

◆ Calculate_PP_Planck_Mir()

PGSt_SMF_status Calculate_PP_Planck_Mir ( int32  num_scans,
emiss_tables_t tables,
Preprocess_Emiss_t PP 
)

Definition at line 1539 of file Preprocess.c.

◆ Calculate_RVS_Correction()

PGSt_SMF_status Calculate_RVS_Correction ( lookup_tables_t tables,
L1B_granule_t L1B_Gran 
)

Definition at line 8804 of file Preprocess.c.

◆ Calculate_Temp_QA()

PGSt_SMF_status Calculate_Temp_QA ( int32  num_scans,
Temperatures_t temps,
QA_tables_t tables,
QA_Data_t QA 
)

Definition at line 68 of file Preprocess.c.

◆ Check_For_Ecal_On()

PGSt_SMF_status Check_For_Ecal_On ( int32  lun,
int32  num_scans,
int32  v_id,
boolean  Ecal_On[][NUM_BANDS] 
)

Definition at line 8207 of file Preprocess.c.

◆ Check_For_Moon_in_SV_KOB()

PGSt_SMF_status Check_For_Moon_in_SV_KOB ( int32  num_scans,
common_QA_tables_t common_QA_tables,
QA_Data_t QA,
Moon_arrays_t moon_arrays 
)

Definition at line 6796 of file Preprocess.c.

◆ Check_If_Sector_Rotated()

PGSt_SMF_status Check_If_Sector_Rotated ( int32  lun,
int32  num_scans,
int32  v_id,
boolean  Sector_Rotated[] 
)

Definition at line 8416 of file Preprocess.c.

◆ Compute_BB_Temperature()

PGSt_SMF_status Compute_BB_Temperature ( emiss_tables_t tables,
int32  start_scan,
int32  num_scans,
uint16 *  CP_index,
uint16 **  raw_BB_temp,
int32  satellite_ID,
Temperatures_t temps 
)

Definition at line 5223 of file Preprocess.c.

◆ Compute_dn_bb_for_PVLW_XT_cor_Per_Scan()

void Compute_dn_bb_for_PVLW_XT_cor_Per_Scan ( int8  moon_in_SV_KOB,
int16 *  BB,
int16 *  SV,
emiss_tables_t tables,
float32 *  xdnbb 
)

Definition at line 567 of file Preprocess.c.

◆ Copy_EngMemData()

PGSt_SMF_status Copy_EngMemData ( int32  in_sd_id,
int32  out_sd_id,
int32  num_scans 
)

Definition at line 6006 of file Preprocess.c.

◆ Copy_EngVdata()

PGSt_SMF_status Copy_EngVdata ( int32  in_v_id,
int32  out_v_id 
)

Definition at line 6529 of file Preprocess.c.

◆ Copy_PixelQualityData()

PGSt_SMF_status Copy_PixelQualityData ( int32  in_sd_id,
int32  out_sd_id,
int32  num_scans 
)

Definition at line 6195 of file Preprocess.c.

◆ Copy_ScanMetadata()

PGSt_SMF_status Copy_ScanMetadata ( int32  in_sd_id,
int32  out_sd_id,
int32  num_scans 
)

Definition at line 6345 of file Preprocess.c.

◆ Cross_Granule_Sliding_Average()

PGSt_SMF_status Cross_Granule_Sliding_Average ( int32  num_overlapScans,
int32  num_scans_middle,
float32 *  Xarray,
int16 *  Xmir,
float32 *  avg 
)

Definition at line 2867 of file Preprocess.c.

◆ Fill_1km_day_DN_OBC_Avg()

PGSt_SMF_status Fill_1km_day_DN_OBC_Avg ( int32  sd_id,
int32  num_scans,
int16 *  MirrorSide,
refl_tables_t refl_tables,
Moon_arrays_t moon_arrays,
boolean  Ecal_On[][NUM_BANDS],
DN_OBC_Avg_t DN_OBC_Avg,
QA_Refl_t QA_refl 
)

Definition at line 7576 of file Preprocess.c.

◆ Fill_250m_DN_OBC_Avg()

PGSt_SMF_status Fill_250m_DN_OBC_Avg ( int32  sd_id,
int32  num_scans,
int16 *  MirrorSide,
refl_tables_t refl_tables,
Moon_arrays_t moon_arrays,
boolean  Ecal_On[][NUM_BANDS],
DN_OBC_Avg_t DN_OBC_Avg,
QA_Refl_t QA_refl 
)

Definition at line 6993 of file Preprocess.c.

◆ Fill_500m_DN_OBC_Avg()

PGSt_SMF_status Fill_500m_DN_OBC_Avg ( int32  sd_id,
int32  num_scans,
int16 *  MirrorSide,
refl_tables_t refl_tables,
Moon_arrays_t moon_arrays,
boolean  Ecal_On[][NUM_BANDS],
DN_OBC_Avg_t DN_OBC_Avg,
QA_Refl_t QA_refl 
)

Definition at line 7279 of file Preprocess.c.

◆ Fill_Band_26_DN_OBC_Avg()

PGSt_SMF_status Fill_Band_26_DN_OBC_Avg ( int32  sd_id,
int32  num_scans,
int16 *  MirrorSide,
refl_tables_t refl_tables,
Moon_arrays_t moon_arrays,
boolean  Ecal_On[][NUM_BANDS],
DN_OBC_Avg_t DN_OBC_Avg,
QA_Refl_t QA_refl 
)

Definition at line 7864 of file Preprocess.c.

◆ Fill_Invalid_Temp_DNs()

PGSt_SMF_status Fill_Invalid_Temp_DNs ( int32  num_scans,
uint16  miss_DN,
uint16  sat_DN,
uint16 *  DN 
)

Definition at line 3119 of file Preprocess.c.

◆ Get_All_Emiss_Coeff()

PGSt_SMF_status Get_All_Emiss_Coeff ( L1A_granule_OBCEng_t L1A_OBCEng,
int16  B,
int16  D_emiss,
float32 *  Xb1,
int16 *  Xmir,
emiss_tables_t tables,
emiss_QA_tables_t QA_tables,
QA_Emiss_t QA,
Preprocess_Emiss_t PP 
)

Definition at line 2305 of file Preprocess.c.

◆ Get_DN_Avg_SDev_Rejects()

PGSt_SMF_status Get_DN_Avg_SDev_Rejects ( int32  start_index,
int32  N,
int32  index_increment,
int16 *  DN_array,
int16  DN_upper_valid_limit,
int16  DN_lower_valid_limit,
float32 *  mean_DN,
float32 *  sdev_DN,
int16 *  rejects 
)

Definition at line 2480 of file Preprocess.c.

◆ Get_DN_Avg_SDev_Rejects_LowN()

PGSt_SMF_status Get_DN_Avg_SDev_Rejects_LowN ( int32  N_include,
int32  start_index,
int32  N,
int32  index_increment,
int16 *  DN_array,
int16  DN_upper_valid_limit,
int16  DN_lower_valid_limit,
float32 *  mean_DN,
float32 *  sdev_DN,
int16 *  rejects 
)

Definition at line 8631 of file Preprocess.c.

◆ Get_Electronics_index()

PGSt_SMF_status Get_Electronics_index ( int32  num_scans,
uint16 *  Electronics_pri,
uint16 *  Electronics_red,
uint16 *  Electronics_index 
)

Definition at line 3224 of file Preprocess.c.

◆ Get_Emiss_Coeff_Per_Scan()

PGSt_SMF_status Get_Emiss_Coeff_Per_Scan ( int8  moon_in_SV_KOB,
int16 *  BB,
int16 *  SV,
int16  B,
int16  D,
int16  D_emiss,
int16  MS,
Emiss_Cal_Coeff_t RVS_Coeff,
emiss_tables_t tables,
float32  T_bb,
float32  T_mir,
float32  T_cav,
float32  T_ins,
float32 *  Xdn_bb_31,
float32  Xdn_bb_pvlw_xt[][DETECTORS_PER_1KM_BAND],
float32 *  Xb1,
float32 *  xdLbb,
float32 *  xdnbb,
float32 *  xLbb,
float32 *  xLcav,
float32 *  xdnsv,
float32 *  xdnsv_var,
uint32 *  sv_omask,
float32 *  SNR 
)

Definition at line 707 of file Preprocess.c.

◆ Get_Leading_Gran_Emiss_Coeff()

PGSt_SMF_status Get_Leading_Gran_Emiss_Coeff ( Overlap_OBCEng_t Leading_OBCEng,
int16  B,
int16  D,
int16  D_emiss,
Emiss_Cal_Coeff_t RVS_Coeff,
emiss_tables_t tables,
Moon_arrays_t moon_arrays,
float32  Xdn_bb_31[][DETECTORS_PER_1KM_BAND],
float32  Xdn_bb_pvlw_xt[][NUM_PVLW_XT_BANDS][DETECTORS_PER_1KM_BAND],
float32 *  Xb1,
int16 *  XMS 
)

Definition at line 1875 of file Preprocess.c.

◆ Get_Middle_Gran_Emiss_Coeff()

PGSt_SMF_status Get_Middle_Gran_Emiss_Coeff ( L1A_granule_OBCEng_t L1A_OBCEng,
int16  B,
int16  D,
int16  D_emiss,
Emiss_Cal_Coeff_t RVS_Coeff,
emiss_tables_t tables,
emiss_QA_tables_t QA_tables,
Moon_arrays_t moon_arrays,
float32  Xdn_bb_31[][DETECTORS_PER_1KM_BAND],
float32  Xdn_bb_pvlw_xt[][NUM_PVLW_XT_BANDS][DETECTORS_PER_1KM_BAND],
float32 *  Xb1,
int16 *  XMS,
QA_Emiss_t QA,
Preprocess_Emiss_t PP,
DN_OBC_Avg_t DN_OBC_Avg 
)

Definition at line 2099 of file Preprocess.c.

◆ Get_Temp_Avg_And_Variance()

PGSt_SMF_status Get_Temp_Avg_And_Variance ( int32  N,
float32 *  T,
float32 *  avg,
float32 *  var 
)

Definition at line 3038 of file Preprocess.c.

◆ Get_Trailing_Gran_Emiss_Coeff()

PGSt_SMF_status Get_Trailing_Gran_Emiss_Coeff ( int32  num_scans_middle,
Overlap_OBCEng_t Trailing_OBCEng,
int16  B,
int16  D,
int16  D_emiss,
Emiss_Cal_Coeff_t RVS_Coeff,
emiss_tables_t tables,
Moon_arrays_t moon_arrays,
float32  Xdn_bb_31[][DETECTORS_PER_1KM_BAND],
float32  Xdn_bb_pvlw_xt[][NUM_PVLW_XT_BANDS][DETECTORS_PER_1KM_BAND],
float32 *  Xb1,
int16 *  XMS 
)

Definition at line 2351 of file Preprocess.c.

◆ Granule_Average_Temperature()

PGSt_SMF_status Granule_Average_Temperature ( int32  num_values,
float32 *  array,
float32 *  avg 
)

Definition at line 2973 of file Preprocess.c.

◆ init_L1A_granule_OBCEng()

void init_L1A_granule_OBCEng ( L1A_granule_OBCEng_t )

◆ Pack_Rejects_In_Outlier_Mask()

PGSt_SMF_status Pack_Rejects_In_Outlier_Mask ( int32  N,
int16 *  rejects,
uint32 *  packed_rejects 
)

Definition at line 2641 of file Preprocess.c.

◆ Prepare_dn_bb_for_PVLW_XT_cor()

void Prepare_dn_bb_for_PVLW_XT_cor ( Overlap_OBCEng_t Leading_OBCEng,
L1A_granule_OBCEng_t L1A_OBCEng,
Overlap_OBCEng_t Trailing_OBCEng,
emiss_tables_t tables,
Moon_arrays_t moon_arrays,
float32  Xdn_bb_pvlw_xt[][NUM_PVLW_XT_BANDS][DETECTORS_PER_1KM_BAND] 
)

Definition at line 398 of file Preprocess.c.

◆ Process_OBCEng_Emiss()

PGSt_SMF_status Process_OBCEng_Emiss ( L1A_granule_t L1A_Gran,
L1A_granule_OBCEng_t L1A_OBCEng,
Emiss_Cal_Coeff_t RVS_Coeff,
emiss_tables_t tables,
QA_tables_t QA_tables,
Moon_arrays_t moon_arrays,
QA_Data_t QA,
Preprocess_Emiss_t PP,
DN_OBC_Avg_t DN_OBC_Avg 
)

Definition at line 1094 of file Preprocess.c.

◆ Process_OBCEng_Refl()

PGSt_SMF_status Process_OBCEng_Refl ( int32  sd_id,
int32  num_scans,
float32 *  T_ins,
int16 *  MirrorSide,
refl_tables_t refl_tables,
Moon_arrays_t moon_arrays,
L1A_granule_OBCEng_t L1A_OBCEng,
DN_OBC_Avg_t DN_OBC_Avg,
QA_Refl_t QA_refl,
Preprocess_Refl_t PP_Refl 
)

Definition at line 2713 of file Preprocess.c.

◆ Read_Convert_Temperatures()

PGSt_SMF_status Read_Convert_Temperatures ( emiss_tables_t tables,
int32  v_id,
int32  start_scan,
int32  num_scans,
int32  satellite_ID,
Temperatures_t temps 
)

Definition at line 4610 of file Preprocess.c.

◆ Read_L1A_OBCEng()

PGSt_SMF_status Read_L1A_OBCEng ( emiss_tables_t emiss_tables,
L1A_granule_t L1A_Gran,
L1A_granule_OBCEng_t L1A_OBCEng 
)

Definition at line 3426 of file Preprocess.c.

◆ Read_Overlap_OBCEng()

PGSt_SMF_status Read_Overlap_OBCEng ( L1A_granule_t L1A_Gran,
emiss_tables_t emiss_tables,
PGSt_PC_Logical  lun,
Overlap_OBCEng_t Overlap_OBCEng,
boolean scan_gap 
)

Definition at line 3660 of file Preprocess.c.

◆ sort_int16_array()

PGSt_SMF_status sort_int16_array ( int32  n,
int16 *  a,
int32 *  indx 
)

Definition at line 8569 of file Preprocess.c.

◆ Write_Geo_OBC_SDS()

PGSt_SMF_status Write_Geo_OBC_SDS ( int32  obc_sd_id,
int32  num_scans 
)

Definition at line 5461 of file Preprocess.c.

◆ Write_L1B_OBCEng()

PGSt_SMF_status Write_L1B_OBCEng ( L1A_granule_t L1A_Gran,
lookup_tables_t tables,
Moon_arrays_t moon_arrays,
DN_OBC_Avg_t DN_OBC_Avg 
)

Definition at line 5608 of file Preprocess.c.

Variable Documentation

◆ Engineering_Coefficients_FM1

Engineering_Coefficients_t Engineering_Coefficients_FM1

Definition at line 382 of file PreprocessP.h.

◆ Engineering_Coefficients_PFM

Engineering_Coefficients_t Engineering_Coefficients_PFM

Definition at line 239 of file PreprocessP.h.

#define C_2
Definition: PreprocessP.h:182
data_t lambda[NROOTS+1]
Definition: decode_rs.h:75
#define C_1
Definition: PreprocessP.h:181