OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022

#include <VcstViirsThermal.h>

Collaboration diagram for ViirsThermal:
[legend]

Public Member Functions

 ViirsThermal ()
 
 ViirsThermal (VcstObc *pObc)
 
 ~ViirsThermal ()
 
int initialize (GRAN_SEQ_ENUM gran_seq)
 
double interpolate_Temp_to_Rad (int bandIndex, double *array_tp, double *array_rad, int indices[][2], double tp)
 
double interpolate_L_to_EBBT (int bandIndex, double *array_tp, double *array_rad, int indices[][2], double rad)
 
int compute_C (VIIRS_BAND_ENUM band)
 
int compute_F (VIIRS_BAND_ENUM band)
 

Public Attributes

float Telec_ [VIIRS_SCANS]
 
float fp_ [FOCAL_PLANES][VIIRS_SCANS]
 
float Tcav_ [VIIRS_SCANS]
 
float Trta_ [VIIRS_SCANS]
 
float Ttele_ [VIIRS_SCANS]
 
float Tsh_ [VIIRS_SCANS]
 
float mir_avg_ [VIIRS_SCANS]
 
float bb_avg_ [VIIRS_SCANS]
 
float Tomm_ [VIIRS_SCANS]
 
float RrtaRhamDiff_ [Number_of_Tbands][VIIRS_SCANS]
 
bool bbTempNotNominal_ [VIIRS_SCANS]
 
bool lwirFPAtempNonNominal_ [VIIRS_SCANS]
 
bool badThermValue_ [VIIRS_SCANS]
 
bool badInterpolateValue_ [VIIRS_SCANS]
 
float bt_lut_ [7][TEB_LUT_SIZE]
 
float bt_lut_M13_ [TEB_LUT_SIZE_M13]
 
double C_I_ [Number_of_Ibands][VIIRS_SCANS][Iband_detectors][C_Coefs]
 
double C_M_ [Number_of_Mbands][VIIRS_SCANS][Mband_detectors][Gain_States][C_Coefs]
 
float F_I_ [Number_of_ITbands][VIIRS_SCANS][Iband_detectors][Agg_Zones][Parity]
 
float F_M_ [Number_of_MTbands][VIIRS_SCANS][Mband_detectors][Gain_States]
 
float AVG_F_I_ [Number_of_ITbands][Mirror_Sides][Iband_detectors][Agg_Zones][Parity]
 
float AVG_F_M_ [Number_of_MTbands][Mirror_Sides][Mband_detectors][Gain_States]
 
VcstObcpObc_
 
tempLutPtrs pLut_
 
short bbTemp_ [VIIRS_SCANS][BB_THERMISTORS]
 
short mf_tel_blkhd_py_ [VIIRS_SCANS]
 
short mf_scan_cavity_nxp_ [VIIRS_SCANS]
 
short mf_scan_cavity_baf_pz_ [VIIRS_SCANS]
 
short mf_scan_cavity_baf_nz_ [VIIRS_SCANS]
 
short ap_lw_cca_ [VIIRS_SCANS]
 
short ap_vn_cca_ [VIIRS_SCANS]
 
short dp_dnb_cca_ [VIIRS_SCANS]
 
short ap_sm_cca_ [VIIRS_SCANS]
 
short mf_ao_blkhd_px_nz_ [VIIRS_SCANS]
 
short mf_ao_blkhd_nx_pz_ [VIIRS_SCANS]
 
short mf_stopassy_baff_nz_ [VIIRS_SCANS]
 
short mf_fold_mirror_blkhd_ [VIIRS_SCANS]
 
short mf_ham_blkhd_ [VIIRS_SCANS]
 
short ft_lw_cfpa_hi_rsl_ [VIIRS_SCANS]
 
short ft_lw_cfpa_lo_rsl_ [VIIRS_SCANS]
 
short ft_sm_cfpa_hi_rsl_ [VIIRS_SCANS]
 
short ft_sm_cfpa_lo_rsl_ [VIIRS_SCANS]
 
short ft_vis_nir_fpa_ [VIIRS_SCANS]
 
short ham_tmp1_ [VIIRS_SCANS]
 
short ham_tmp2_ [VIIRS_SCANS]
 
short ct_prec_tref_mux1ca1_ [VIIRS_SCANS]
 
short ct_prec_tref_mux1ca2_ [VIIRS_SCANS]
 
short ct_prec_tref_mux1ca3_ [VIIRS_SCANS]
 
short bb_htr_temp_ [VIIRS_SCANS]
 

Static Public Attributes

static constexpr int FOCAL_PLANES = 3
 
static constexpr int REF_RESISTANCES = 3
 
static constexpr int TEMP_COEFFS = 6
 
static constexpr int TEMP_MEASUREMENTS = 2
 
static constexpr int BB_THERMISTORS = 6
 
static constexpr int NUM_THERM = 19
 
static constexpr int TEMP_DN_LOW = -9000
 
static constexpr int THERM_LOW_VALUE = -8192
 
static constexpr int THERM_HI_VALUE = 8192
 
static constexpr int TEB_LUT_SIZE = 65536
 
static constexpr int TEB_LUT_VALUES = 65528
 
static constexpr int TEB_LUT_SIZE_M13 = 327681
 
static constexpr int TEB_LUT_VALUES_M13 = 327671
 
static constexpr double TOLLERANCE = 1.0E-20
 
static constexpr double LOWBTEMP = 0.0
 
static constexpr int C_COEFFS = 4
 
static constexpr int A_COEFFS = 3
 
static constexpr int T_FP_LEVELS = 5
 
static constexpr int T_ELEC_LEVELS = 5
 
static constexpr int DGSTATES = 2
 
static constexpr float C0_dcr = -5.381061f
 
static constexpr float C1_dcr = 1.357921e-003f
 
static constexpr float C2_dcr = 8.193453e-009f
 
static constexpr float C3_dcr = -1.679609e-012f
 
static constexpr int DCR_LIMIT = 8192
 
static constexpr unsigned char VISNIR = 0
 
static constexpr unsigned char SMWIR = 1
 
static constexpr unsigned char LWIR = 2
 
static constexpr unsigned char BG_DNB = 3
 
static const unsigned char band_to_fp_ [Viirs_Bands]
 

Protected Member Functions

int initialize_L1A_data (GRAN_SEQ_ENUM gran_seq)
 
int initialize_LUT_data ()
 

Protected Attributes

unsigned char ft_lw_80k_ [VIIRS_SCANS]
 
unsigned char ft_lw_82k_ [VIIRS_SCANS]
 

Detailed Description

Definition at line 46 of file VcstViirsThermal.h.

Constructor & Destructor Documentation

◆ ViirsThermal() [1/2]

Class constructor

◆ ViirsThermal() [2/2]

ViirsThermal ( VcstObc pObc)

◆ ~ViirsThermal()

Class destructor

Member Function Documentation

◆ compute_C()

int compute_C ( VIIRS_BAND_ENUM  band)

compute_C

Generate calibration coefficients

◆ compute_F()

int compute_F ( VIIRS_BAND_ENUM  band)

compute_F()

Compute F factors for TEB calibration

◆ initialize()

int initialize ( GRAN_SEQ_ENUM  gran_seq)

Initialize class data

◆ initialize_L1A_data()

int initialize_L1A_data ( GRAN_SEQ_ENUM  gran_seq)
protected

Initialize L1A data

◆ initialize_LUT_data()

int initialize_LUT_data ( )
protected

Initialize LUT data

◆ interpolate_L_to_EBBT()

double interpolate_L_to_EBBT ( int  bandIndex,
double *  array_tp,
double *  array_rad,
int  indices[][2],
double  rad 
)

interpolate_L_to_EBBT

Parameters
bandIndexband of interest for the interpolation
*array_tparray of temperatures
*array_radradiances corresponding to temps in array_tp
indices[][2]number of bands with data
rad
Returns
tp_interp derived temperature

◆ interpolate_Temp_to_Rad()

double interpolate_Temp_to_Rad ( int  bandIndex,
double *  array_tp,
double *  array_rad,
int  indices[][2],
double  tp 
)

interpolate_Temp_to_Rad

Parameters
bandIndexband of interest for the interpolation
*array_tparray of temperatures
*array_radradiances corresponding to temperatures in array_tp
indices[][2]number of bands for which there is data, offset
tptemperature for which radiance is derived
Returns
rad_interp derived radiance

Member Data Documentation

◆ A_COEFFS

constexpr int A_COEFFS = 3
staticconstexpr

Definition at line 69 of file VcstViirsThermal.h.

◆ ap_lw_cca_

short ap_lw_cca_[VIIRS_SCANS]

Definition at line 208 of file VcstViirsThermal.h.

◆ ap_sm_cca_

short ap_sm_cca_[VIIRS_SCANS]

Definition at line 211 of file VcstViirsThermal.h.

◆ ap_vn_cca_

short ap_vn_cca_[VIIRS_SCANS]

Definition at line 209 of file VcstViirsThermal.h.

◆ AVG_F_I_

Definition at line 191 of file VcstViirsThermal.h.

◆ AVG_F_M_

Definition at line 192 of file VcstViirsThermal.h.

◆ badInterpolateValue_

bool badInterpolateValue_[VIIRS_SCANS]

Definition at line 180 of file VcstViirsThermal.h.

◆ badThermValue_

bool badThermValue_[VIIRS_SCANS]

Definition at line 179 of file VcstViirsThermal.h.

◆ band_to_fp_

const unsigned char band_to_fp_[Viirs_Bands]
static

Definition at line 89 of file VcstViirsThermal.h.

◆ bb_avg_

float bb_avg_[VIIRS_SCANS]

Definition at line 173 of file VcstViirsThermal.h.

◆ bb_htr_temp_

short bb_htr_temp_[VIIRS_SCANS]

Definition at line 227 of file VcstViirsThermal.h.

◆ BB_THERMISTORS

constexpr int BB_THERMISTORS = 6
staticconstexpr

Definition at line 53 of file VcstViirsThermal.h.

◆ bbTemp_

short bbTemp_[VIIRS_SCANS][BB_THERMISTORS]

Definition at line 203 of file VcstViirsThermal.h.

◆ bbTempNotNominal_

bool bbTempNotNominal_[VIIRS_SCANS]

Definition at line 177 of file VcstViirsThermal.h.

◆ BG_DNB

constexpr unsigned char BG_DNB = 3
staticconstexpr

Definition at line 88 of file VcstViirsThermal.h.

◆ bt_lut_

float bt_lut_[7][TEB_LUT_SIZE]

Definition at line 182 of file VcstViirsThermal.h.

◆ bt_lut_M13_

float bt_lut_M13_[TEB_LUT_SIZE_M13]

Definition at line 183 of file VcstViirsThermal.h.

◆ C0_dcr

constexpr float C0_dcr = -5.381061f
staticconstexpr

Definition at line 76 of file VcstViirsThermal.h.

◆ C1_dcr

constexpr float C1_dcr = 1.357921e-003f
staticconstexpr

Definition at line 77 of file VcstViirsThermal.h.

◆ C2_dcr

constexpr float C2_dcr = 8.193453e-009f
staticconstexpr

Definition at line 78 of file VcstViirsThermal.h.

◆ C3_dcr

constexpr float C3_dcr = -1.679609e-012f
staticconstexpr

Definition at line 79 of file VcstViirsThermal.h.

◆ C_COEFFS

constexpr int C_COEFFS = 4
staticconstexpr

Definition at line 68 of file VcstViirsThermal.h.

◆ C_I_

Definition at line 185 of file VcstViirsThermal.h.

◆ C_M_

◆ ct_prec_tref_mux1ca1_

short ct_prec_tref_mux1ca1_[VIIRS_SCANS]

Definition at line 224 of file VcstViirsThermal.h.

◆ ct_prec_tref_mux1ca2_

short ct_prec_tref_mux1ca2_[VIIRS_SCANS]

Definition at line 225 of file VcstViirsThermal.h.

◆ ct_prec_tref_mux1ca3_

short ct_prec_tref_mux1ca3_[VIIRS_SCANS]

Definition at line 226 of file VcstViirsThermal.h.

◆ DCR_LIMIT

constexpr int DCR_LIMIT = 8192
staticconstexpr

Definition at line 81 of file VcstViirsThermal.h.

◆ DGSTATES

constexpr int DGSTATES = 2
staticconstexpr

Definition at line 72 of file VcstViirsThermal.h.

◆ dp_dnb_cca_

short dp_dnb_cca_[VIIRS_SCANS]

Definition at line 210 of file VcstViirsThermal.h.

◆ F_I_

◆ F_M_

Definition at line 189 of file VcstViirsThermal.h.

◆ FOCAL_PLANES

constexpr int FOCAL_PLANES = 3
staticconstexpr

Definition at line 49 of file VcstViirsThermal.h.

◆ fp_

Definition at line 167 of file VcstViirsThermal.h.

◆ ft_lw_80k_

unsigned char ft_lw_80k_[VIIRS_SCANS]
protected

Definition at line 246 of file VcstViirsThermal.h.

◆ ft_lw_82k_

unsigned char ft_lw_82k_[VIIRS_SCANS]
protected

Definition at line 247 of file VcstViirsThermal.h.

◆ ft_lw_cfpa_hi_rsl_

short ft_lw_cfpa_hi_rsl_[VIIRS_SCANS]

Definition at line 217 of file VcstViirsThermal.h.

◆ ft_lw_cfpa_lo_rsl_

short ft_lw_cfpa_lo_rsl_[VIIRS_SCANS]

Definition at line 218 of file VcstViirsThermal.h.

◆ ft_sm_cfpa_hi_rsl_

short ft_sm_cfpa_hi_rsl_[VIIRS_SCANS]

Definition at line 219 of file VcstViirsThermal.h.

◆ ft_sm_cfpa_lo_rsl_

short ft_sm_cfpa_lo_rsl_[VIIRS_SCANS]

Definition at line 220 of file VcstViirsThermal.h.

◆ ft_vis_nir_fpa_

short ft_vis_nir_fpa_[VIIRS_SCANS]

Definition at line 221 of file VcstViirsThermal.h.

◆ ham_tmp1_

short ham_tmp1_[VIIRS_SCANS]

Definition at line 222 of file VcstViirsThermal.h.

◆ ham_tmp2_

short ham_tmp2_[VIIRS_SCANS]

Definition at line 223 of file VcstViirsThermal.h.

◆ LOWBTEMP

constexpr double LOWBTEMP = 0.0
staticconstexpr

Definition at line 66 of file VcstViirsThermal.h.

◆ LWIR

constexpr unsigned char LWIR = 2
staticconstexpr

Definition at line 87 of file VcstViirsThermal.h.

◆ lwirFPAtempNonNominal_

bool lwirFPAtempNonNominal_[VIIRS_SCANS]

Definition at line 178 of file VcstViirsThermal.h.

◆ mf_ao_blkhd_nx_pz_

short mf_ao_blkhd_nx_pz_[VIIRS_SCANS]

Definition at line 213 of file VcstViirsThermal.h.

◆ mf_ao_blkhd_px_nz_

short mf_ao_blkhd_px_nz_[VIIRS_SCANS]

Definition at line 212 of file VcstViirsThermal.h.

◆ mf_fold_mirror_blkhd_

short mf_fold_mirror_blkhd_[VIIRS_SCANS]

Definition at line 215 of file VcstViirsThermal.h.

◆ mf_ham_blkhd_

short mf_ham_blkhd_[VIIRS_SCANS]

Definition at line 216 of file VcstViirsThermal.h.

◆ mf_scan_cavity_baf_nz_

short mf_scan_cavity_baf_nz_[VIIRS_SCANS]

Definition at line 207 of file VcstViirsThermal.h.

◆ mf_scan_cavity_baf_pz_

short mf_scan_cavity_baf_pz_[VIIRS_SCANS]

Definition at line 206 of file VcstViirsThermal.h.

◆ mf_scan_cavity_nxp_

short mf_scan_cavity_nxp_[VIIRS_SCANS]

Definition at line 205 of file VcstViirsThermal.h.

◆ mf_stopassy_baff_nz_

short mf_stopassy_baff_nz_[VIIRS_SCANS]

Definition at line 214 of file VcstViirsThermal.h.

◆ mf_tel_blkhd_py_

short mf_tel_blkhd_py_[VIIRS_SCANS]

Definition at line 204 of file VcstViirsThermal.h.

◆ mir_avg_

float mir_avg_[VIIRS_SCANS]

Definition at line 172 of file VcstViirsThermal.h.

◆ NUM_THERM

constexpr int NUM_THERM = 19
staticconstexpr

Definition at line 54 of file VcstViirsThermal.h.

◆ pLut_

tempLutPtrs pLut_

Definition at line 200 of file VcstViirsThermal.h.

◆ pObc_

VcstObc* pObc_

Definition at line 196 of file VcstViirsThermal.h.

◆ REF_RESISTANCES

constexpr int REF_RESISTANCES = 3
staticconstexpr

Definition at line 50 of file VcstViirsThermal.h.

◆ RrtaRhamDiff_

float RrtaRhamDiff_[Number_of_Tbands][VIIRS_SCANS]

Definition at line 175 of file VcstViirsThermal.h.

◆ SMWIR

constexpr unsigned char SMWIR = 1
staticconstexpr

Definition at line 86 of file VcstViirsThermal.h.

◆ T_ELEC_LEVELS

constexpr int T_ELEC_LEVELS = 5
staticconstexpr

Definition at line 71 of file VcstViirsThermal.h.

◆ T_FP_LEVELS

constexpr int T_FP_LEVELS = 5
staticconstexpr

Definition at line 70 of file VcstViirsThermal.h.

◆ Tcav_

float Tcav_[VIIRS_SCANS]

Definition at line 168 of file VcstViirsThermal.h.

◆ TEB_LUT_SIZE

constexpr int TEB_LUT_SIZE = 65536
staticconstexpr

Definition at line 60 of file VcstViirsThermal.h.

◆ TEB_LUT_SIZE_M13

constexpr int TEB_LUT_SIZE_M13 = 327681
staticconstexpr

Definition at line 62 of file VcstViirsThermal.h.

◆ TEB_LUT_VALUES

constexpr int TEB_LUT_VALUES = 65528
staticconstexpr

Definition at line 61 of file VcstViirsThermal.h.

◆ TEB_LUT_VALUES_M13

constexpr int TEB_LUT_VALUES_M13 = 327671
staticconstexpr

Definition at line 63 of file VcstViirsThermal.h.

◆ Telec_

float Telec_[VIIRS_SCANS]

Temperature data in the form used by the calibration algorithms

Definition at line 166 of file VcstViirsThermal.h.

◆ TEMP_COEFFS

constexpr int TEMP_COEFFS = 6
staticconstexpr

Definition at line 51 of file VcstViirsThermal.h.

◆ TEMP_DN_LOW

constexpr int TEMP_DN_LOW = -9000
staticconstexpr

Definition at line 56 of file VcstViirsThermal.h.

◆ TEMP_MEASUREMENTS

constexpr int TEMP_MEASUREMENTS = 2
staticconstexpr

Definition at line 52 of file VcstViirsThermal.h.

◆ THERM_HI_VALUE

constexpr int THERM_HI_VALUE = 8192
staticconstexpr

Definition at line 58 of file VcstViirsThermal.h.

◆ THERM_LOW_VALUE

constexpr int THERM_LOW_VALUE = -8192
staticconstexpr

Definition at line 57 of file VcstViirsThermal.h.

◆ TOLLERANCE

constexpr double TOLLERANCE = 1.0E-20
staticconstexpr

Definition at line 65 of file VcstViirsThermal.h.

◆ Tomm_

float Tomm_[VIIRS_SCANS]

Definition at line 174 of file VcstViirsThermal.h.

◆ Trta_

float Trta_[VIIRS_SCANS]

Definition at line 169 of file VcstViirsThermal.h.

◆ Tsh_

float Tsh_[VIIRS_SCANS]

Definition at line 171 of file VcstViirsThermal.h.

◆ Ttele_

float Ttele_[VIIRS_SCANS]

Definition at line 170 of file VcstViirsThermal.h.

◆ VISNIR

constexpr unsigned char VISNIR = 0
staticconstexpr

Definition at line 85 of file VcstViirsThermal.h.


The documentation for this class was generated from the following file: