AIRS Code Collection
|
Retrieval processor for AIRS. More...
Go to the source code of this file.
Data Structures | |
struct | ncd_t |
Buffer for netCDF data. More... | |
struct | ret_t |
Retrieval results. More... | |
Macros | |
#define | NC(cmd) |
Execute netCDF library command and check result. More... | |
#define | L1_NCHAN 34 |
Number of AIRS radiance channels (don't change). More... | |
#define | L1_NTRACK 135 |
Along-track size of AIRS radiance granule (don't change). More... | |
#define | L1_NXTRACK 90 |
Across-track size of AIRS radiance granule (don't change). More... | |
#define | L2_NLAY 27 |
Number of AIRS pressure layers (don't change). More... | |
#define | L2_NTRACK 45 |
Along-track size of AIRS retrieval granule (don't change). More... | |
#define | L2_NXTRACK 30 |
Across-track size of AIRS retrieval granule (don't change). More... | |
Functions | |
void | add_var (int ncid, const char *varname, const char *unit, const char *longname, int type, int dimid[], int *varid, int ndims) |
Create variable in netCDF file. More... | |
void | buffer_nc (atm_t *atm, double chisq, ncd_t *ncd, int track, int xtrack, int np0, int np1) |
Buffer netCDF data. More... | |
double | cost_function (gsl_vector *dx, gsl_vector *dy, gsl_matrix *s_a_inv, gsl_vector *sig_eps_inv) |
Compute cost function. More... | |
void | fill_gaps (double x[L2_NTRACK][L2_NXTRACK][L2_NLAY], double cx, double cy) |
Fill data gaps in L2 data. More... | |
void | init_l2 (ncd_t *ncd, int track, int xtrack, ctl_t *ctl, atm_t *atm) |
Initialize with AIRS Level-2 data. More... | |
void | matrix_invert (gsl_matrix *a) |
Invert symmetric matrix. More... | |
void | matrix_product (gsl_matrix *a, gsl_vector *b, int transpose, gsl_matrix *c) |
Compute matrix product A^TBA or ABA^T for diagonal matrix B. More... | |
void | optimal_estimation (ret_t *ret, ctl_t *ctl, obs_t *obs_meas, obs_t *obs_i, atm_t *atm_apr, atm_t *atm_i, double *chisq) |
Carry out optimal estimation retrieval. More... | |
void | read_nc (char *filename, ncd_t *ncd) |
Read netCDF file. More... | |
void | read_ret_ctl (int argc, char *argv[], ctl_t *ctl, ret_t *ret) |
Read retrieval control parameters. More... | |
void | set_cov_apr (ret_t *ret, ctl_t *ctl, atm_t *atm, int *iqa, int *ipa, gsl_matrix *s_a) |
Set a priori covariance. More... | |
void | set_cov_meas (ret_t *ret, ctl_t *ctl, obs_t *obs, gsl_vector *sig_noise, gsl_vector *sig_formod, gsl_vector *sig_eps_inv) |
Set measurement errors. More... | |
void | write_nc (char *filename, ncd_t *ncd) |
Write to netCDF file... More... | |
int | main (int argc, char *argv[]) |
Retrieval processor for AIRS.
Definition in file retrieval.c.
#define NC | ( | cmd | ) |
Execute netCDF library command and check result.
Definition at line 36 of file retrieval.c.
#define L1_NCHAN 34 |
Number of AIRS radiance channels (don't change).
Definition at line 47 of file retrieval.c.
#define L1_NTRACK 135 |
Along-track size of AIRS radiance granule (don't change).
Definition at line 50 of file retrieval.c.
#define L1_NXTRACK 90 |
Across-track size of AIRS radiance granule (don't change).
Definition at line 53 of file retrieval.c.
#define L2_NLAY 27 |
Number of AIRS pressure layers (don't change).
Definition at line 56 of file retrieval.c.
#define L2_NTRACK 45 |
Along-track size of AIRS retrieval granule (don't change).
Definition at line 59 of file retrieval.c.
#define L2_NXTRACK 30 |
Across-track size of AIRS retrieval granule (don't change).
Definition at line 62 of file retrieval.c.
void add_var | ( | int | ncid, |
const char * | varname, | ||
const char * | unit, | ||
const char * | longname, | ||
int | type, | ||
int | dimid[], | ||
int * | varid, | ||
int | ndims | ||
) |
Create variable in netCDF file.
Add variable to netCDF file.
Definition at line 503 of file retrieval.c.
Buffer netCDF data.
Definition at line 530 of file retrieval.c.
double cost_function | ( | gsl_vector * | dx, |
gsl_vector * | dy, | ||
gsl_matrix * | s_a_inv, | ||
gsl_vector * | sig_eps_inv | ||
) |
Compute cost function.
Definition at line 553 of file retrieval.c.
void fill_gaps | ( | double | x[L2_NTRACK][L2_NXTRACK][L2_NLAY], |
double | cx, | ||
double | cy | ||
) |
Fill data gaps in L2 data.
Definition at line 587 of file retrieval.c.
Initialize with AIRS Level-2 data.
Definition at line 632 of file retrieval.c.
void matrix_invert | ( | gsl_matrix * | a | ) |
Invert symmetric matrix.
Definition at line 689 of file retrieval.c.
void matrix_product | ( | gsl_matrix * | a, |
gsl_vector * | b, | ||
int | transpose, | ||
gsl_matrix * | c | ||
) |
Compute matrix product A^TBA or ABA^T for diagonal matrix B.
Definition at line 719 of file retrieval.c.
void optimal_estimation | ( | ret_t * | ret, |
ctl_t * | ctl, | ||
obs_t * | obs_meas, | ||
obs_t * | obs_i, | ||
atm_t * | atm_apr, | ||
atm_t * | atm_i, | ||
double * | chisq | ||
) |
Carry out optimal estimation retrieval.
Definition at line 764 of file retrieval.c.
void read_nc | ( | char * | filename, |
ncd_t * | ncd | ||
) |
Read netCDF file.
Definition at line 948 of file retrieval.c.
Read retrieval control parameters.
Definition at line 987 of file retrieval.c.
Set a priori covariance.
Definition at line 1028 of file retrieval.c.
void set_cov_meas | ( | ret_t * | ret, |
ctl_t * | ctl, | ||
obs_t * | obs, | ||
gsl_vector * | sig_noise, | ||
gsl_vector * | sig_formod, | ||
gsl_vector * | sig_eps_inv | ||
) |
Set measurement errors.
Definition at line 1127 of file retrieval.c.
void write_nc | ( | char * | filename, |
ncd_t * | ncd | ||
) |
Write to netCDF file...
Definition at line 1170 of file retrieval.c.
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 283 of file retrieval.c.