|
CrIS Code Collection
|
#include <netcdf.h>#include <gsl/gsl_randist.h>#include <gsl/gsl_fft_complex.h>#include <gsl/gsl_multifit.h>#include <gsl/gsl_poly.h>#include <gsl/gsl_sort.h>#include <gsl/gsl_spline.h>#include "jurassic.h"Go to the source code of this file.
Data Structures | |
| struct | cris_l1_t |
| CrIS Level-1 data. More... | |
| struct | pert_t |
| Perturbation data. More... | |
| struct | retr_t |
| Retrieval results. More... | |
| struct | wave_t |
| Wave analysis data. More... | |
Macros | |
| #define | NDS 200000 |
| Maximum number of data sets per granule. More... | |
| #define | NPG 30 |
| Maximum number of data points per granule. More... | |
| #define | L1_NTRACK 45 |
| Along-track size of CrIS radiance granule. More... | |
| #define | L1_NXTRACK 30 |
| Across-track size of CrIS radiance granule. More... | |
| #define | L1_NFOV 9 |
| Number of field of views of CrIS radiance granule. More... | |
| #define | L1_NCHAN_LW 717 |
| Number of CrIS longwave radiance channels. More... | |
| #define | L1_NCHAN_MW 869 |
| Number of CrIS midwave radiance channels. More... | |
| #define | L1_NCHAN_SW 637 |
| Number of CrIS shortwave radiance channels. More... | |
| #define | PERT_NTRACK 44000 |
| Along-track size of perturbation data. More... | |
| #define | PERT_NXTRACK 120 |
| Across-track size of perturbation data. More... | |
| #define | PERT_NFOV 9 |
| Number of field of views of perturbation data. More... | |
| #define | WX 300 |
| Across-track size of wave analysis data. More... | |
| #define | WY 33000 |
| Along-track size of wave analysis data. More... | |
| #define | PMAX 512 |
| Maximum number of data points for spectral analysis. More... | |
| #define | NC(cmd) |
| Execute netCDF library command and check result. More... | |
Functions | |
| void | add_att (const int ncid, const int varid, const char *unit, const char *long_name) |
| Add variable attributes to netCDF file. More... | |
| void | add_var (const int ncid, const char *varname, const char *unit, const char *longname, int type, int dimid[], int *varid, int ndims) |
| Add variable to netCDF file. More... | |
| void | background_poly (wave_t *wave, int dim_x, int dim_y) |
| Get background based on polynomial fits. More... | |
| void | background_poly_help (const double *xx, double *yy, const int n, const int dim) |
| Get background based on polynomial fits. More... | |
| void | background_smooth (wave_t *wave, int npts_x, int npts_y) |
| Smooth background. More... | |
| void | create_background (wave_t *wave) |
| Set background... More... | |
| void | create_noise (wave_t *wave, double nedt) |
| Add noise to perturbations and temperatures... More... | |
| void | create_wave (wave_t *wave, double amp, double lx, double ly, double phi, double fwhm) |
| Add linear wave pattern... More... | |
| void | fit_wave (wave_t *wave, double amp, double phi, double kx, double ky, double *chisq) |
| Evaluate wave fit... More... | |
| void | fft_help (double *fcReal, double *fcImag, int n) |
| Calculate 1-D FFT... More... | |
| void | fft (wave_t *wave, double *Amax, double *phimax, double *lhmax, double *kxmax, double *kymax, double *alphamax, double *betamax, char *filename) |
| Calculate 2-D FFT... More... | |
| void | gauss (wave_t *wave, double fwhm) |
| Apply Gaussian filter to perturbations... More... | |
| void | hamming (wave_t *wave, int nit) |
| Apply Hamming filter to perturbations... More... | |
| void | intpol_x (wave_t *wave, int n) |
| Interpolate to regular grid in x-direction. More... | |
| void | median (wave_t *wave, int dx) |
| Apply median filter to perturbations... More... | |
| void | merge_y (wave_t *wave1, wave_t *wave2) |
| Merge wave structs in y-direction. More... | |
| void | noise (wave_t *wave, double *mu, double *sig) |
| Estimate noise. More... | |
| void | noise_pert (pert_t *pert, int track0, int track1, double *mu, double *sig) |
| Estimate noise from perurbations. More... | |
| void | period (wave_t *wave, double lxymax, double dlxy, double *Amax, double *phimax, double *lhmax, double *kxmax, double *kymax, double *alphamax, double *betamax, char *filename) |
| Compute periodogram. More... | |
| void | pert2wave (pert_t *pert, wave_t *wave, int track0, int track1, int xtrack0, int xtrack1) |
| Convert radiance perturbation data to wave analysis struct. More... | |
| int | read_cris_l1 (char *filename, cris_l1_t *l1, int apo) |
| Read CrIS Level-1 data. More... | |
| void | read_pert (char *filename, char *pertname, int dc, pert_t *pert) |
| Read radiance perturbation data. More... | |
| void | read_retr (char *filename, retr_t *ret) |
| Read CrIS retrieval data. More... | |
| void | read_retr_help (double *help, int nds, int np, double mat[NDS][NPG]) |
| Convert array. More... | |
| void | read_wave (char *filename, wave_t *wave) |
| Read wave analysis data. More... | |
| void | ret2wave (retr_t *ret, wave_t *wave, int dataset, int ip) |
| Convert CrIS retrieval results to wave analysis struct. More... | |
| void | variance (wave_t *wave, double dh) |
| Compute local variance. More... | |
| void | write_wave (char *filename, wave_t *wave) |
| Write wave analysis data. More... | |
| #define NDS 200000 |
| #define L1_NTRACK 45 |
| #define L1_NXTRACK 30 |
| #define L1_NFOV 9 |
| #define L1_NCHAN_LW 717 |
| #define L1_NCHAN_MW 869 |
| #define L1_NCHAN_SW 637 |
| #define PERT_NTRACK 44000 |
| #define PERT_NXTRACK 120 |
| #define PERT_NFOV 9 |
| #define PMAX 512 |
| #define NC | ( | cmd | ) |
| void add_att | ( | const int | ncid, |
| const int | varid, | ||
| const char * | unit, | ||
| const char * | long_name | ||
| ) |
| void add_var | ( | const int | ncid, |
| const char * | varname, | ||
| const char * | unit, | ||
| const char * | longname, | ||
| int | type, | ||
| int | dimid[], | ||
| int * | varid, | ||
| int | ndims | ||
| ) |
Add variable to netCDF file.
Definition at line 20 of file libcris.c.
| void background_poly | ( | wave_t * | wave, |
| int | dim_x, | ||
| int | dim_y | ||
| ) |
Get background based on polynomial fits.
Definition at line 101 of file libcris.c.

| void background_poly_help | ( | const double * | xx, |
| double * | yy, | ||
| const int | n, | ||
| const int | dim | ||
| ) |
Get background based on polynomial fits.
Definition at line 47 of file libcris.c.
| void background_smooth | ( | wave_t * | wave, |
| int | npts_x, | ||
| int | npts_y | ||
| ) |
Smooth background.
Definition at line 151 of file libcris.c.
| void create_background | ( | wave_t * | wave | ) |
Set background...
Definition at line 204 of file libcris.c.
| void create_noise | ( | wave_t * | wave, |
| double | nedt | ||
| ) |
Add noise to perturbations and temperatures...
Definition at line 229 of file libcris.c.
| void create_wave | ( | wave_t * | wave, |
| double | amp, | ||
| double | lx, | ||
| double | ly, | ||
| double | phi, | ||
| double | fwhm | ||
| ) |
Add linear wave pattern...
Definition at line 250 of file libcris.c.
| void fit_wave | ( | wave_t * | wave, |
| double | amp, | ||
| double | phi, | ||
| double | kx, | ||
| double | ky, | ||
| double * | chisq | ||
| ) |
| void fft_help | ( | double * | fcReal, |
| double * | fcImag, | ||
| int | n | ||
| ) |
Calculate 1-D FFT...
Definition at line 305 of file libcris.c.
| void fft | ( | wave_t * | wave, |
| double * | Amax, | ||
| double * | phimax, | ||
| double * | lhmax, | ||
| double * | kxmax, | ||
| double * | kymax, | ||
| double * | alphamax, | ||
| double * | betamax, | ||
| char * | filename | ||
| ) |
Calculate 2-D FFT...
Definition at line 344 of file libcris.c.

| void gauss | ( | wave_t * | wave, |
| double | fwhm | ||
| ) |
Apply Gaussian filter to perturbations...
Definition at line 506 of file libcris.c.
| void hamming | ( | wave_t * | wave, |
| int | nit | ||
| ) |
Apply Hamming filter to perturbations...
Definition at line 546 of file libcris.c.
| void intpol_x | ( | wave_t * | wave, |
| int | n | ||
| ) |
Interpolate to regular grid in x-direction.
Definition at line 575 of file libcris.c.

| void median | ( | wave_t * | wave, |
| int | dx | ||
| ) |
Apply median filter to perturbations...
Definition at line 653 of file libcris.c.
| void noise | ( | wave_t * | wave, |
| double * | mu, | ||
| double * | sig | ||
| ) |
Estimate noise.
Definition at line 727 of file libcris.c.
| void noise_pert | ( | pert_t * | pert, |
| int | track0, | ||
| int | track1, | ||
| double * | mu, | ||
| double * | sig | ||
| ) |
Estimate noise from perurbations.
Definition at line 772 of file libcris.c.
| void period | ( | wave_t * | wave, |
| double | lxymax, | ||
| double | dlxy, | ||
| double * | Amax, | ||
| double * | phimax, | ||
| double * | lhmax, | ||
| double * | kxmax, | ||
| double * | kymax, | ||
| double * | alphamax, | ||
| double * | betamax, | ||
| char * | filename | ||
| ) |
Compute periodogram.
Definition at line 819 of file libcris.c.
Convert radiance perturbation data to wave analysis struct.
| int read_cris_l1 | ( | char * | filename, |
| cris_l1_t * | l1, | ||
| int | apo | ||
| ) |
Read CrIS Level-1 data.
Definition at line 1051 of file libcris.c.
| void read_pert | ( | char * | filename, |
| char * | pertname, | ||
| int | dc, | ||
| pert_t * | pert | ||
| ) |
Read radiance perturbation data.
Definition at line 1221 of file libcris.c.
| void read_retr | ( | char * | filename, |
| retr_t * | ret | ||
| ) |
Read CrIS retrieval data.
Definition at line 1352 of file libcris.c.

| void read_retr_help | ( | double * | help, |
| int | nds, | ||
| int | np, | ||
| double | mat[NDS][NPG] | ||
| ) |
| void read_wave | ( | char * | filename, |
| wave_t * | wave | ||
| ) |
Read wave analysis data.
Definition at line 1533 of file libcris.c.
Convert CrIS retrieval results to wave analysis struct.
Definition at line 1594 of file libcris.c.

| void variance | ( | wave_t * | wave, |
| double | dh | ||
| ) |
Compute local variance.
Definition at line 1648 of file libcris.c.
| void write_wave | ( | char * | filename, |
| wave_t * | wave | ||
| ) |
Write wave analysis data.
Definition at line 1698 of file libcris.c.