ocssw
V2022
|
Include dependency graph for aerosol.c:
Go to the source code of this file.
Classes | |
struct | aermod_struct |
struct | aermodtab_struct |
struct | alphaT_struct |
struct | epsilonT_struct |
struct | geom_strdef |
struct | rhoaT_struct |
Macros | |
#define | MAXMODEL MAXAERMOD |
#define | INDEX(iw, isol, iphi, isen) (iw*aertab->nsolz*aertab->nphi*aertab->nsenz + isol*aertab->nphi*aertab->nsenz + iphi*aertab->nsenz + isen) |
Functions | |
aermodstr * | alloc_aermodstr (int nbands, int nscatt, int nphi, int nsolz, int nsenz, int ntheta) |
int | cmpfunc (const void *a, const void *b) |
float | first_deriv (float x[], float y[], int n) |
int | load_aermod (int32_t sensorID, float wave[], int32_t nwave, char *aermodfile, char models[MAXAERMOD][32], int32_t nmodels) |
void | ss_to_ms_coef (int modnum, geom_str *geom, float **a, float **b, float **c) |
float | fresnel_coef (float mu, float index) |
void | ms_eps_coef (int modnum, int32_t iwnir_l, float wave[], geom_str *geom, float **a, float **b, float **c, float **d, float **e) |
int | comp_epsilonT (epsilonTstr *x, epsilonTstr *y) |
void | model_select_ahmad (int32_t nmodels, int32_t *mindx, float eps_pred[], float eps_obs, int32_t *modmin, int32_t *modmax, float *modrat) |
int | comp_rhoa_ms_eps (int32_t nwave, float wave[], geom_str *geom, float tau_iwnir_l, int32_t modl, float tau_pred[], float rho_pred[]) |
int | comp_rhoa_ms_eps_lin (int32_t nwave, float wave[], geom_str *geom, float tau_iwnir_l, int32_t modl, float tau_pred[], float rho_pred[]) |
int | spectral_matching (int32_t sensorID, float wave[], int32_t nwave, int32_t iwnir_s, int32_t iwnir_l, int32_t nmodels, int32_t mindx1[], int32_t mindx2[], int32_t mindx3[], geom_str *geom, float wv, float rhoa[], float rho_aer[], int32_t *mod1_indx, int32_t *mod2_indx, float *weight, float tau_pred_min[], float tau_pred_max[], float tg_sol_sm[], float tg_sen_sm[], float Lt_sm[], int32_t ip) |
int | ahmad_atm_corr (int32_t sensorID, float wave[], int32_t nwave, int32_t iwnir_s, int32_t iwnir_l, int32_t nmodels, int32_t mindx[], geom_str *geom, float wv, float rhoa[], int32_t *modmin, int32_t *modmax, float *modrat, float *epsnir, float tau_pred_max[], float tau_pred_min[], float rho_pred_max[], float rho_pred_min[], float tau_aer[], float rho_aer[]) |
int | ahmad_atm_corr_lin (int32_t sensorID, float wave[], int32_t nwave, int32_t iwnir_s, int32_t iwnir_l, int32_t nmodels, int32_t mindx[], geom_str *geom, float wv, float rhoa[], int32_t *modmin, int32_t *modmax, float *modrat, float *epsnir, float tau_pred_max[], float tau_pred_min[], float rho_pred_max[], float rho_pred_min[], float tau_aer[], float rho_aer[]) |
float * | model_phase (int modnum, geom_str *geom) |
float | aeroob_cf (int modnum, geom_str *geom) |
float | aeroob (int32_t sensorID, int32_t iw, float airmass, float cf, float wv) |
int | rhoa_to_rhoas (int32_t sensorID, int modnum, geom_str *geom, float wv, float rhoa[], float wave[], int32_t nwave, int iw1, int iw2, float rhoas[]) |
void | rhoas_to_rhoa (int32_t sensorID, int modnum, geom_str *geom, float wv, float rhoas[], float wave[], int32_t nwave, int iw1, int iw2, float rhoa[]) |
float * | model_epsilon (int modnum, int32_t iwnir_l, float wave[], int32_t nwave, geom_str *geom) |
int | model_select_wang (int32_t sensorID, float wave[], int32_t nwave, int32_t nmodel, int32_t mindx[], geom_str *geom, float wv, float rhoa[], int32_t iwnir_s, int32_t iwnir_l, int32_t *modmin, int32_t *modmax, float *modrat, float *epsnir) |
int | compalphaT (alphaTstr *x, alphaTstr *y) |
void | model_select_angstrom (float angstrom, int32_t *modmin, int32_t *modmax, float *modrat) |
void | model_taua (int32_t sensorID, int modnum, float wave[], int32_t nwave, int32_t iwnir_l, float rhoa[], geom_str *geom, float wv, float taua[]) |
int | model_taua_mseps (int32_t modl, float wave[], int32_t nwave, int32_t iwnir_l, float rhoa[], geom_str *geom, float tau_pred[]) |
void | model_transmittance (int modnum, float wave[], int32_t nwave, float *theta, int gmult, float taua[], float dtran[]) |
void | diff_tran (int32_t sensorID, float wave[], int32_t nwave, int32_t iwnir_l, geom_str *geom, float wv, float pr, float taur[], int32_t modmin, int32_t modmax, float modrat, float rhoa[], float taua[], float tsol[], float tsen[], float tauamin[], float tauamax[], int taua_opt) |
int | smaer (int32_t sensorID, float wave[], int32_t nwave, int32_t iwnir_s, int32_t iwnir_l, int32_t nmodels, int32_t mindx1[], int32_t mindx2[], int32_t mindx3[], geom_str *geom, float wv, float rhoa[], float rho_aer[], int32_t *modmin, int32_t *modmax, float *modrat, float tau_pred_min[], float tau_pred_max[], float tg_sol_sm[], float tg_sen_sm[], float Lt_sm[], int32_t ip) |
int | ahmadaer (int32_t sensorID, float wave[], int32_t nwave, int32_t iwnir_s, int32_t iwnir_l, int32_t nmodels, int32_t mindx[], geom_str *geom, float wv, float rhoa[], int32_t *modmin, int32_t *modmax, float *modrat, float *epsnir, float tau_pred_min[], float tau_pred_max[]) |
int | wangaer (int32_t sensorID, float wave[], int32_t nwave, int32_t iwnir_s, int32_t iwnir_l, int32_t nmodels, int32_t mindx[], geom_str *geom, float wv, float rhoa[], int32_t *modmin, int32_t *modmax, float *modrat, float *epsnir, float tauamin[], float tauamax[]) |
int | comp_rhoaT (rhoaTstr *x, rhoaTstr *y) |
int | model_select_franz (int32_t sensorID, float wave[], int32_t nwave, int32_t nmodel, int32_t mindx[], geom_str *geom, float wv, float rhoa[], int32_t iwnir_s, int32_t iwnir_l, int32_t *modmin, int32_t *modmax, float *modrat, float *epsnir) |
int | rhaer (int32_t sensorID, float wave[], int32_t nwave, int32_t iwnir_s, int32_t iwnir_l, geom_str *geom, float wv, float rh, float pr, float taur[], float rhoa[], int32_t *modmin1, int32_t *modmax1, float *modrat1, int32_t *modmin2, int32_t *modmax2, float *modrat2, float *eps, float taua[], float tsol[], float tsen[], float tg_sol_sm[], float tg_sen_sm[], float Lt_sm[], int32_t ip) |
int | fixedaer (int32_t sensorID, int32_t modnum, float wave[], int32_t nwave, int32_t iwnir_s, int32_t iwnir_l, char models[MAXAERMOD][32], int32_t nmodels, geom_str *geom, float wv, float rhoa[], float *epsnir) |
int | fixedmodpair (int32_t sensorID, float wave[], int32_t nwave, int32_t iwnir_s, int32_t iwnir_l, geom_str *geom, float wv, int32_t modmin, int32_t modmax, float modrat, float rhoa[], float *eps) |
int | fixedaot (int32_t sensorID, float aot[], float wave[], int32_t nwave, int32_t iwnir_s, int32_t iwnir_l, geom_str *geom, float wv, int32_t *modmin, int32_t *modmax, float *modrat, float rhoa[], float *epsnir) |
int | aerosol (l2str *l2rec, int32_t aer_opt_in, aestr *aerec, int32_t ip, float wave[], int32_t nwave, int32_t iwnir_s_in, int32_t iwnir_l_in, float F0_in[], float La1_in[], float La2_out[], float t_sol_out[], float t_sen_out[], float *eps, float taua_out[], int32_t *modmin, int32_t *modmax, float *modrat, int32_t *modmin2, int32_t *modmax2, float *modrat2) |
void | get_angstrom (l2str *l2rec, int band, float angst[]) |
void | get_ms_epsilon (l2str *l2rec, float eps[]) |
Variables | |
geom_str | geom |
Macro Definition Documentation
◆ INDEX
#define INDEX | ( | iw, | |
isol, | |||
iphi, | |||
isen | |||
) | (iw*aertab->nsolz*aertab->nphi*aertab->nsenz + isol*aertab->nphi*aertab->nsenz + iphi*aertab->nsenz + isen) |
◆ MAXMODEL
Function Documentation
◆ aeroob()
float aeroob | ( | int32_t | sensorID, |
int32_t | iw, | ||
float | airmass, | ||
float | cf, | ||
float | wv | ||
) |
◆ aeroob_cf()
◆ aerosol()
int aerosol | ( | l2str * | l2rec, |
int32_t | aer_opt_in, | ||
aestr * | aerec, | ||
int32_t | ip, | ||
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_s_in, | ||
int32_t | iwnir_l_in, | ||
float | F0_in[], | ||
float | La1_in[], | ||
float | La2_out[], | ||
float | t_sol_out[], | ||
float | t_sen_out[], | ||
float * | eps, | ||
float | taua_out[], | ||
int32_t * | modmin, | ||
int32_t * | modmax, | ||
float * | modrat, | ||
int32_t * | modmin2, | ||
int32_t * | modmax2, | ||
float * | modrat2 | ||
) |
◆ ahmad_atm_corr()
int ahmad_atm_corr | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
int32_t | nmodels, | ||
int32_t | mindx[], | ||
geom_str * | geom, | ||
float | wv, | ||
float | rhoa[], | ||
int32_t * | modmin, | ||
int32_t * | modmax, | ||
float * | modrat, | ||
float * | epsnir, | ||
float | tau_pred_max[], | ||
float | tau_pred_min[], | ||
float | rho_pred_max[], | ||
float | rho_pred_min[], | ||
float | tau_aer[], | ||
float | rho_aer[] | ||
) |
◆ ahmad_atm_corr_lin()
int ahmad_atm_corr_lin | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
int32_t | nmodels, | ||
int32_t | mindx[], | ||
geom_str * | geom, | ||
float | wv, | ||
float | rhoa[], | ||
int32_t * | modmin, | ||
int32_t * | modmax, | ||
float * | modrat, | ||
float * | epsnir, | ||
float | tau_pred_max[], | ||
float | tau_pred_min[], | ||
float | rho_pred_max[], | ||
float | rho_pred_min[], | ||
float | tau_aer[], | ||
float | rho_aer[] | ||
) |
◆ ahmadaer()
int ahmadaer | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
int32_t | nmodels, | ||
int32_t | mindx[], | ||
geom_str * | geom, | ||
float | wv, | ||
float | rhoa[], | ||
int32_t * | modmin, | ||
int32_t * | modmax, | ||
float * | modrat, | ||
float * | epsnir, | ||
float | tau_pred_min[], | ||
float | tau_pred_max[] | ||
) |
◆ alloc_aermodstr()
aermodstr* alloc_aermodstr | ( | int | nbands, |
int | nscatt, | ||
int | nphi, | ||
int | nsolz, | ||
int | nsenz, | ||
int | ntheta | ||
) |
◆ cmpfunc()
◆ comp_epsilonT()
◆ comp_rhoa_ms_eps()
int comp_rhoa_ms_eps | ( | int32_t | nwave, |
float | wave[], | ||
geom_str * | geom, | ||
float | tau_iwnir_l, | ||
int32_t | modl, | ||
float | tau_pred[], | ||
float | rho_pred[] | ||
) |
◆ comp_rhoa_ms_eps_lin()
int comp_rhoa_ms_eps_lin | ( | int32_t | nwave, |
float | wave[], | ||
geom_str * | geom, | ||
float | tau_iwnir_l, | ||
int32_t | modl, | ||
float | tau_pred[], | ||
float | rho_pred[] | ||
) |
◆ comp_rhoaT()
◆ compalphaT()
◆ diff_tran()
void diff_tran | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_l, | ||
geom_str * | geom, | ||
float | wv, | ||
float | pr, | ||
float | taur[], | ||
int32_t | modmin, | ||
int32_t | modmax, | ||
float | modrat, | ||
float | rhoa[], | ||
float | taua[], | ||
float | tsol[], | ||
float | tsen[], | ||
float | tauamin[], | ||
float | tauamax[], | ||
int | taua_opt | ||
) |
◆ first_deriv()
◆ fixedaer()
int fixedaer | ( | int32_t | sensorID, |
int32_t | modnum, | ||
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
char | models[MAXAERMOD][32], | ||
int32_t | nmodels, | ||
geom_str * | geom, | ||
float | wv, | ||
float | rhoa[], | ||
float * | epsnir | ||
) |
◆ fixedaot()
int fixedaot | ( | int32_t | sensorID, |
float | aot[], | ||
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
geom_str * | geom, | ||
float | wv, | ||
int32_t * | modmin, | ||
int32_t * | modmax, | ||
float * | modrat, | ||
float | rhoa[], | ||
float * | epsnir | ||
) |
◆ fixedmodpair()
int fixedmodpair | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
geom_str * | geom, | ||
float | wv, | ||
int32_t | modmin, | ||
int32_t | modmax, | ||
float | modrat, | ||
float | rhoa[], | ||
float * | eps | ||
) |
◆ fresnel_coef()
◆ get_angstrom()
void get_angstrom | ( | l2str * | l2rec, |
int | band, | ||
float | angst[] | ||
) |
◆ get_ms_epsilon()
◆ load_aermod()
int load_aermod | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
char * | aermodfile, | ||
char | models[MAXAERMOD][32], | ||
int32_t | nmodels | ||
) |
◆ model_epsilon()
float* model_epsilon | ( | int | modnum, |
int32_t | iwnir_l, | ||
float | wave[], | ||
int32_t | nwave, | ||
geom_str * | geom | ||
) |
◆ model_phase()
◆ model_select_ahmad()
void model_select_ahmad | ( | int32_t | nmodels, |
int32_t * | mindx, | ||
float | eps_pred[], | ||
float | eps_obs, | ||
int32_t * | modmin, | ||
int32_t * | modmax, | ||
float * | modrat | ||
) |
◆ model_select_angstrom()
void model_select_angstrom | ( | float | angstrom, |
int32_t * | modmin, | ||
int32_t * | modmax, | ||
float * | modrat | ||
) |
◆ model_select_franz()
int model_select_franz | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | nmodel, | ||
int32_t | mindx[], | ||
geom_str * | geom, | ||
float | wv, | ||
float | rhoa[], | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
int32_t * | modmin, | ||
int32_t * | modmax, | ||
float * | modrat, | ||
float * | epsnir | ||
) |
◆ model_select_wang()
int model_select_wang | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | nmodel, | ||
int32_t | mindx[], | ||
geom_str * | geom, | ||
float | wv, | ||
float | rhoa[], | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
int32_t * | modmin, | ||
int32_t * | modmax, | ||
float * | modrat, | ||
float * | epsnir | ||
) |
◆ model_taua()
void model_taua | ( | int32_t | sensorID, |
int | modnum, | ||
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_l, | ||
float | rhoa[], | ||
geom_str * | geom, | ||
float | wv, | ||
float | taua[] | ||
) |
◆ model_taua_mseps()
int model_taua_mseps | ( | int32_t | modl, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_l, | ||
float | rhoa[], | ||
geom_str * | geom, | ||
float | tau_pred[] | ||
) |
◆ model_transmittance()
void model_transmittance | ( | int | modnum, |
float | wave[], | ||
int32_t | nwave, | ||
float * | theta, | ||
int | gmult, | ||
float | taua[], | ||
float | dtran[] | ||
) |
◆ ms_eps_coef()
void ms_eps_coef | ( | int | modnum, |
int32_t | iwnir_l, | ||
float | wave[], | ||
geom_str * | geom, | ||
float ** | a, | ||
float ** | b, | ||
float ** | c, | ||
float ** | d, | ||
float ** | e | ||
) |
◆ rhaer()
int rhaer | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
geom_str * | geom, | ||
float | wv, | ||
float | rh, | ||
float | pr, | ||
float | taur[], | ||
float | rhoa[], | ||
int32_t * | modmin1, | ||
int32_t * | modmax1, | ||
float * | modrat1, | ||
int32_t * | modmin2, | ||
int32_t * | modmax2, | ||
float * | modrat2, | ||
float * | eps, | ||
float | taua[], | ||
float | tsol[], | ||
float | tsen[], | ||
float | tg_sol_sm[], | ||
float | tg_sen_sm[], | ||
float | Lt_sm[], | ||
int32_t | ip | ||
) |
◆ rhoa_to_rhoas()
int rhoa_to_rhoas | ( | int32_t | sensorID, |
int | modnum, | ||
geom_str * | geom, | ||
float | wv, | ||
float | rhoa[], | ||
float | wave[], | ||
int32_t | nwave, | ||
int | iw1, | ||
int | iw2, | ||
float | rhoas[] | ||
) |
◆ rhoas_to_rhoa()
void rhoas_to_rhoa | ( | int32_t | sensorID, |
int | modnum, | ||
geom_str * | geom, | ||
float | wv, | ||
float | rhoas[], | ||
float | wave[], | ||
int32_t | nwave, | ||
int | iw1, | ||
int | iw2, | ||
float | rhoa[] | ||
) |
◆ smaer()
int smaer | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
int32_t | nmodels, | ||
int32_t | mindx1[], | ||
int32_t | mindx2[], | ||
int32_t | mindx3[], | ||
geom_str * | geom, | ||
float | wv, | ||
float | rhoa[], | ||
float | rho_aer[], | ||
int32_t * | modmin, | ||
int32_t * | modmax, | ||
float * | modrat, | ||
float | tau_pred_min[], | ||
float | tau_pred_max[], | ||
float | tg_sol_sm[], | ||
float | tg_sen_sm[], | ||
float | Lt_sm[], | ||
int32_t | ip | ||
) |
◆ spectral_matching()
int spectral_matching | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
int32_t | nmodels, | ||
int32_t | mindx1[], | ||
int32_t | mindx2[], | ||
int32_t | mindx3[], | ||
geom_str * | geom, | ||
float | wv, | ||
float | rhoa[], | ||
float | rho_aer[], | ||
int32_t * | mod1_indx, | ||
int32_t * | mod2_indx, | ||
float * | weight, | ||
float | tau_pred_min[], | ||
float | tau_pred_max[], | ||
float | tg_sol_sm[], | ||
float | tg_sen_sm[], | ||
float | Lt_sm[], | ||
int32_t | ip | ||
) |
◆ ss_to_ms_coef()
void ss_to_ms_coef | ( | int | modnum, |
geom_str * | geom, | ||
float ** | a, | ||
float ** | b, | ||
float ** | c | ||
) |
◆ wangaer()
int wangaer | ( | int32_t | sensorID, |
float | wave[], | ||
int32_t | nwave, | ||
int32_t | iwnir_s, | ||
int32_t | iwnir_l, | ||
int32_t | nmodels, | ||
int32_t | mindx[], | ||
geom_str * | geom, | ||
float | wv, | ||
float | rhoa[], | ||
int32_t * | modmin, | ||
int32_t * | modmax, | ||
float * | modrat, | ||
float * | epsnir, | ||
float | tauamin[], | ||
float | tauamax[] | ||
) |