42 double dt_met, gauss_dx, gauss_dy, grid_zmin, grid_zmax, ham_dz, ham_dz2,
45 int grid_nz, iarg, poly_dim;
52 ERRMSG(
"Give parameters: <ctl> <out.nc> <gps1.nc> [<gps2.nc> ...]");
55 dt_met = scan_ctl(argc, argv,
"DT_MET", -1,
"21600", NULL);
56 gauss_dx = scan_ctl(argc, argv,
"GAUSS_DX", -1,
"-999", NULL);
57 gauss_dy = scan_ctl(argc, argv,
"GAUSS_DY", -1,
"-999", NULL);
58 grid_zmin = scan_ctl(argc, argv,
"GRID_ZMIN", -1,
"0", NULL);
59 grid_zmax = scan_ctl(argc, argv,
"GRID_ZMAX", -1,
"40", NULL);
60 grid_nz = (int) scan_ctl(argc, argv,
"GRID_NZ", -1,
"-1", NULL);
61 ham_dz = scan_ctl(argc, argv,
"HAM_DZ", -1,
"-999", NULL);
62 ham_dz2 = scan_ctl(argc, argv,
"HAM_DZ2", -1,
"-999", NULL);
63 scan_ctl(argc, argv,
"METBASE", -1,
"", metbase);
64 poly_dim = (int) scan_ctl(argc, argv,
"POLY_DIM", -1,
"5", NULL);
65 poly_zmin = scan_ctl(argc, argv,
"POLY_ZMIN", -1,
"0", NULL);
66 poly_zmax = scan_ctl(argc, argv,
"POLY_ZMAX", -1,
"40", NULL);
69 for (iarg = 3; iarg < argc; iarg++)
70 if (!(in = fopen(argv[iarg],
"r")))
79 ERRMSG(
"No profiles found!");
83 grid_gps(gps, grid_zmin, grid_zmax, grid_nz);
89 if (gauss_dx > 0 && gauss_dy > 0)
90 gauss(gps, gauss_dx, gauss_dy);
101 if (metbase[0] !=
'-')
106 poly(gps, poly_dim, poly_zmin, poly_zmax);
void write_gps(char *filename, gps_t *gps)
Write GPS-RO data file.
void gauss(gps_t *gps, double dx, double dy)
Calculate horizontal Gaussian mean to extract perturbations.
void poly(gps_t *gps, int dim, double zmin, double zmax)
Remove polynomial fit from perturbation profile.
void grid_gps(gps_t *gps, double zmin, double zmax, int nz)
Interpolate GPS data to regular altitude grid.
void hamming_low_pass(gps_t *gps, double dz)
Apply vertical Hamming filter to extract perturbations.
void detrend_met(gps_t *gps, char *metbase, double dt_met)
Detrending by means of meteo data.
void read_gps_prof(char *filename, gps_t *gps)
Read GPS-RO profile.
void hamming_high_pass(gps_t *gps, double dz)
Apply vertical Hamming filter to reduce noise.
void tropopause(gps_t *gps)
Find tropopause height.
GPS Code Collection library declarations.
int main(int argc, char *argv[])
int nds
Number of profiles.