|
AIRS Code Collection
|
Retrieval processor for AIRS. More...
#include <mpi.h>#include <omp.h>#include <netcdf.h>#include "jurassic.h"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, tbl_t *tbl, 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 507 of file retrieval.c.
| void buffer_nc | ( | atm_t * | atm, |
| double | chisq, | ||
| ncd_t * | ncd, | ||
| int | track, | ||
| int | xtrack, | ||
| int | np0, | ||
| int | np1 | ||
| ) |
Buffer netCDF data.
Definition at line 534 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 557 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 591 of file retrieval.c.
| void init_l2 | ( | ncd_t * | ncd, |
| int | track, | ||
| int | xtrack, | ||
| ctl_t * | ctl, | ||
| atm_t * | atm | ||
| ) |
Initialize with AIRS Level-2 data.
Definition at line 636 of file retrieval.c.
| void matrix_invert | ( | gsl_matrix * | a | ) |
Invert symmetric matrix.
Definition at line 693 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 723 of file retrieval.c.
| void optimal_estimation | ( | ret_t * | ret, |
| ctl_t * | ctl, | ||
| tbl_t * | tbl, | ||
| 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 768 of file retrieval.c.

| void read_nc | ( | char * | filename, |
| ncd_t * | ncd | ||
| ) |
Read netCDF file.
Definition at line 953 of file retrieval.c.
| void read_ret_ctl | ( | int | argc, |
| char * | argv[], | ||
| ctl_t * | ctl, | ||
| ret_t * | ret | ||
| ) |
Read retrieval control parameters.
Definition at line 992 of file retrieval.c.
| 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.
Definition at line 1033 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 1132 of file retrieval.c.
| void write_nc | ( | char * | filename, |
| ncd_t * | ncd | ||
| ) |
Write to netCDF file...
Definition at line 1175 of file retrieval.c.

| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Definition at line 284 of file retrieval.c.
