#ifndef CALCULATE_ATMOSPHERIC_PARAMETERS_H
#define CALCULATE_ATMOSPHERIC_PARAMETERS_H

#include <stdbool.h>

/* Define spectral response counts */
#define L4_TM_SRS_COUNT (171)
#define L5_TM_SRS_COUNT (171)
#define L7_TM_SRS_COUNT (125)
#define L8_OLITIRS_SRS_COUNT (101)
#define L9_OLITIRS_SRS_COUNT (41)
#define MAX_SRS_COUNT (L5_TM_SRS_COUNT)

/* Define radiometric conversion (between RTTOV and MODTRAN) counts */
// RRRR TMP: We currently only have the table for L8; the others are copies
// RRRR TMP: of this.  When we get the others, these values might change.
#define L4_TM_RAD_CONV_COUNT (3351)
#define L5_TM_RAD_CONV_COUNT (3351)
#define L7_TM_RAD_CONV_COUNT (3351)
#define L8_OLITIRS_RAD_CONV_COUNT (3351)
#define L9_OLITIRS_RAD_CONV_COUNT (3351)
#define MAX_RAD_CONV_COUNT (L5_TM_RAD_CONV_COUNT)

/* This emissivity/albedo is for water */
#define WATER_ALBEDO (0.1)
#define WATER_EMISSIVITY (1.0 - WATER_ALBEDO)
#define INV_WATER_ALBEDO (1.0 / WATER_ALBEDO)

/* Define the radiometric conversion LUT columns */
typedef enum
{
    RAD_CONV_BT,         /* Brightness temperature - we don't use this */
    RAD_CONV_RTTOV,      /* RTTOV units */
    RAD_CONV_MODTRAN,    /* MODTRAN units */
    NUM_RAD_CONV_COLUMNS
} RAD_CONV_COLUMNS;

#endif /* CALCULATE_ATMOSPHERIC_PARAMETERS_H */

