grasp_output_tile_result.h
Go to the documentation of this file.
1 /*
2  * Copyright 2016 CNRS & Universite Lille 1. All rights reserved.
3  *
4  * Licensed under the GRASP Open Source License V1.0 (see LICENSE file)
5  */
6 
7 /*
8  * File: grasp_output_tile_result.h
9  * Author: fuertes
10  *
11  * Created on 3 de octubre de 2014, 15:06
12  */
13 
14 #ifndef GRASP_OUTPUT_TILE_RESULT_H
15 #define GRASP_OUTPUT_TILE_RESULT_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include <inttypes.h>
22 //#include "mod_par_inv.inc"
23 //#include "mod_par_OS.inc"
24 #include "mod_par_DLS.inc"
25 #include "mod_par_DLS_bin.inc"
26 #include "../settings/grasp_products.h"
27 #include "../input/grasp_input_segment.h"
28 #include "../input/grasp_input_tile_description.h"
29 #include "../global/grasp_parameters.h"
30 
31 // Name(s) of the variable which contains the size of a pointer
32 #define DIMS(d)
33 /*
34  * Example Usage:
35  * float *sza DIMS("wln");
36  *
37  * This tells the python C parser that the sza array has a size dependent on the number of wavelengths.
38  * The list of all available dimension shortcuts (like "wln") is in grasp/src/python/output/output_structures.py
39  * in the DimensionLookup class. There you can also find the information on how those values are resolved.
40  *
41  * Oftentimes an array which should be indexed in a two dimensional way is stored as flat, one dimensional array here
42  * in memory. In that case the argument in DIMS() should look something like "(wln nsd)" which means that those two
43  * values together constitute the array size (wln * nsd) and indexing from python will work in a 2D way
44  *
45  * Also sometimes a pointer to an object doesn't mean it is an array, just that it is a reference to a single instance,
46  * which could also be null. In that case don't specify any DIMS, which will mark that field as size 1 and nullable
47  */
48 
50  // identification
51  int segment_time; // segment position
54  int it; // index inside segment
55  int ix;
56  int iy;
57  int out_x; // index in output grid
58  int out_y;
59  int out_t;
60  float latitude;
61  float longitude;
62  int grid_col; // index in input grid.
63  int grid_row;
64  int64_t time;
65  float real_time;
66  float user_time;
67  // content information
69  float land_percent;
71  float masl;
72  float *sza DIMS("wln");
73  float *hvp DIMS("nhvp");
75 
77  int niter;
78  float rest;
79  float *resa DIMS("nnoises"); //[nnoises]
80  float *resr DIMS("nnoises"); //[nnoises]
82 
84  float *parameters DIMS("npars"); //[npars]
85  float *sd DIMS("(sd_modes sd_bins)"); // [_KSD+1][4*_KIDIM3] Retrieved SD values: index=0 for total SD
87 
88  //typedef struct grasp_output_tile_retrieval_fit_{
89  // pixel_t *fitting_pixel;
90  //}grasp_output_tile_retrieval_fit;
91 
93  float Aexp;
94  float *extt DIMS("wln");
95  float *ssat DIMS("wln");
96  float *aextt DIMS("wln");
97  float *ext DIMS("(wln nsd)");
98  float *ssa DIMS("(wln nsd)");
99  float *aext DIMS("(wln nsd)");
101 
103  float *mreal DIMS("(wln nsd)");
104  float *mimag DIMS("(wln nsd)");
106 
108  float *ph11 DIMS("(wln nsd nmpar)");
109  float *ph12 DIMS("(wln nsd nmpar)");
110  float *ph22 DIMS("(wln nsd nmpar)");
111  float *ph33 DIMS("(wln nsd nmpar)");
112  float *ph34 DIMS("(wln nsd nmpar)");
113  float *ph44 DIMS("(wln nsd nmpar)");
114  float *pht11 DIMS("(wln nmpar)");
115  float *pht12 DIMS("(wln nmpar)");
116  float *pht22 DIMS("(wln nmpar)");
117  float *pht33 DIMS("(wln nmpar)");
118  float *pht34 DIMS("(wln nmpar)");
119  float *pht44 DIMS("(wln nmpar)");
121 
123  float *lr DIMS("(wln nsd)");
124  float *ldpar DIMS("(wln nsd)");
125  float *ldper DIMS("(wln nsd)");
126  float *lrt DIMS("wln");
127  float *ldprt DIMS("wln");
129 
131  float cv[3];
132  float std[3];
133  float rm[3];
134  float reff[3];
136 
138  float *ext DIMS("(wln 2)");
140 
142  float *rh DIMS("nsd");
143  float *fwrt DIMS("nsd");
144  float *fslbl DIMS("nsd");
145  float *vfract DIMS("(nsd N_CHEM_MAX)");
147 
149  float *pm DIMS("nPM_diam");
151 
153  int index;
155 
156  //
157 
159  float ndvi;
160  float *dhr DIMS("wln");
161  float *bhr_iso DIMS("wln");
163 
165  float *ERRP DIMS("npars");
166  float *BIASP DIMS("npars");
167  float *TSTDP DIMS("npars");
168  float *sd_err DIMS("(sd_modes sd_bins)");
170 
172  float *ERR_ext DIMS("(wln nsd)");
173  float *BIAS_ext DIMS("(wln nsd)");
174  float *TSTD_ext DIMS("(wln nsd)");
175  float *ERR_extt DIMS("wln");
176  float *BIAS_extt DIMS("wln");
177  float *TSTD_extt DIMS("wln");
178  float *ERR_ssa DIMS("(wln nsd)");
179  float *BIAS_ssa DIMS("(wln nsd)");
180  float *TSTD_ssa DIMS("(wln nsd)");
181  float *ERR_ssat DIMS("wln");
182  float *BIAS_ssat DIMS("wln");
183  float *TSTD_ssat DIMS("wln");
184  float *ERR_aext DIMS("(wln nsd)");
185  float *BIAS_aext DIMS("(wln nsd)");
186  float *TSTD_aext DIMS("(wln nsd)");
187  float *ERR_aextt DIMS("wln");
188  float *BIAS_aextt DIMS("wln");
189  float *TSTD_aextt DIMS("wln");
191 
193  float *ERR_lr DIMS("(wln nsd)");
194  float *BIAS_lr DIMS("(wln nsd)");
195  float *TSTD_lr DIMS("(wln nsd)");
196  float *ERR_lrt DIMS("wln");
197  float *BIAS_lrt DIMS("wln");
198  float *TSTD_lrt DIMS("wln");
200 
201 // MEH:
203  float *ERR_sdt DIMS("sd_bins");
204  float *BIAS_sdt DIMS("sd_bins");
205  float *TSTD_sdt DIMS("sd_bins");
207 
209  float *ERR_ext DIMS("(wln 2)");
210  float *BIAS_ext DIMS("(wln 2)");
211  float *TSTD_ext DIMS("(wln 2)");
213 
215  int nhlv;
216  float *bbufx0 DIMS("nhlv");
217  float *bbdfx0 DIMS("nhlv");
218  float *bbufxa DIMS("nhlv");
219  float *bbdfxa DIMS("nhlv");
220  float *hlv DIMS("nhlv");
222 
223 
225  int nhlv;
226  float *netforc DIMS("nhlv");
227  float *forceff DIMS("nhlv");
228  float *hlv DIMS("nhlv");
230 
231 
232  typedef struct grasp_output_tile_gases_{
233  float *absorption DIMS("(wln gases)");
235 
236  typedef struct pixel_result_t_{
261 
263  int npixel;
264  pixel_result_t *pixel_result DIMS("npixel");
266 
268  int tile_npixels; // Total number of pixels
272  int npars;
273  int nrc;
274  int nmpar;
275  int nsd;
276  int phmx_angle[_KMpar];
277  int nPM_diam;
278  int nnoises;
279  int nwl;
280  float wl[_KW];
282  int ngrid[_KSD+1]; // number of grid radii
283  float radius[_KSD+1][4*_KIDIM3]; // grid radius values (um)
284  float sd_lb[_KCpar][_NRR]; // values of SD (cv=1) for each precalculated lognormal bin
285  int nhlv; // number of levels for forcing and flux
286  float hlv[_KNT]; // values of levels (in meters!) for forcing and flux
287  int nhvp; // from nvbm (index for grasp_output_tile_pixel_information.hvp)
288  int ngases;
289  int nchem[_KSD]; // N_CHEM_MAX
291 
292  typedef struct grasp_results_t_{
293  output_segment_products products; // Available products in result
294  grasp_output_tile_segment_result_t *segment_result DIMS("(seg_t seg_col seg_row)"); // dimensions [t, x, y ] [itime,icol,irow]
295  sensor_data_t **segment_original DIMS("(seg_t seg_col seg_row)");
296  sensor_data_t **segment_fit DIMS("(seg_t seg_col seg_row)");
298  pixel_result_t **tile_result_map DIMS("(t x y)"); // dimensions [t, x, y ] [itime,icol,irow]. results reindexed
300 
311 
312 
321 bool grasp_output_tile_is_pixel(const grasp_results_t *output, int it, int ix, int iy);
322 
329 
336 
343 
350 
357 
364 
371 
378 
385 
392 
399 
406 
413 
420 
427 
434 
441 
448 
455 
462 
469 
470 
477 
484 
491 
498 
506 
513 
520 
527 
534 
541 
548 
555 
562 
569 
577 float grasp_output_tile_information_retrieval_par_SDL(const grasp_results_t *output, int irr, int irc);
578 
585 
592 int grasp_output_tile_information_phmx_angle(const grasp_results_t *output, int iangle);
593 
600 
607 float grasp_output_tile_information_wl(const grasp_results_t *output, int iwl);
608 
610 
611 
620 int grasp_output_tile_pixel_information_segment_time(const grasp_results_t *output,int it, int ix, int iy);
621 
630 int grasp_output_tile_pixel_information_segment_col(const grasp_results_t *output,int it, int ix, int iy);
631 
640 int grasp_output_tile_pixel_information_segment_row(const grasp_results_t *output,int it, int ix, int iy);
641 
650 int grasp_output_tile_pixel_information_it(const grasp_results_t *output,int it, int ix, int iy);
651 
660 int grasp_output_tile_pixel_information_ix(const grasp_results_t *output,int it, int ix, int iy);
661 
670 int grasp_output_tile_pixel_information_iy(const grasp_results_t *output,int it, int ix, int iy);
671 
680 int grasp_output_tile_pixel_information_out_x(const grasp_results_t *output,int it, int ix, int iy);
681 
690 int grasp_output_tile_pixel_information_out_y(const grasp_results_t *output,int it, int ix, int iy);
691 
700 int grasp_output_tile_pixel_information_out_t(const grasp_results_t *output,int it, int ix, int iy);
701 
710 float grasp_output_tile_pixel_information_latitude(const grasp_results_t *output,int it, int ix, int iy);
711 
720 float grasp_output_tile_pixel_information_longitude(const grasp_results_t *output,int it, int ix, int iy);
721 
730 int grasp_output_tile_pixel_information_grid_col(const grasp_results_t *output,int it, int ix, int iy);
731 
740 int grasp_output_tile_pixel_information_grid_row(const grasp_results_t *output,int it, int ix, int iy);
741 
750 int64_t grasp_output_tile_pixel_information_time(const grasp_results_t *output,int it, int ix, int iy);
751 
760 float grasp_output_tile_pixel_information_real_time(const grasp_results_t *output,int it, int ix, int iy);
761 
770 float grasp_output_tile_pixel_information_user_time(const grasp_results_t *output,int it, int ix, int iy);
771 
782 int grasp_output_tile_pixel_information_nwl(const grasp_results_t *output,int it, int ix, int iy);
783 
792 int grasp_output_tile_pixel_information_cloud_flag(const grasp_results_t *output,int it, int ix, int iy);
793 
802 float grasp_output_tile_pixel_information_land_percent(const grasp_results_t *output,int it, int ix, int iy);
803 
812 int grasp_output_tile_pixel_information_file_index(const grasp_results_t *output,int it, int ix, int iy);
813 
822 float grasp_output_tile_pixel_information_masl(const grasp_results_t *output,int it, int ix, int iy);
823 
832 float grasp_output_tile_pixel_information_sza(const grasp_results_t *output,int it, int ix, int iy, int iwl);
833 
843 int grasp_output_tile_pixel_information_nhvp(const grasp_results_t *output,int it, int ix, int iy);
844 
854 float grasp_output_tile_pixel_information_hvp(const grasp_results_t *output,int it, int ix, int iy, int ihvp);
855 
862 
871 int grasp_output_tile_information_ngrid(const grasp_results_t *output, int isd);
872 
883 float grasp_output_tile_information_radius(const grasp_results_t *output, int isd, int ipar);
884 
885 
896 float grasp_output_tile_information_retrieval_sd_lb(const grasp_results_t *output, int irc, int irr);
897 
906 int grasp_output_tile_information_nhlv(const grasp_results_t *output,int it, int ix, int iy);
907 
918 float grasp_output_tile_information_hlv(const grasp_results_t *output,int it, int ix, int iy, int ihlv);
919 
928 float grasp_output_tile_information_nhvp(const grasp_results_t *output,int it, int ix, int iy);
929 
940 int grasp_output_tile_pixel_segment_npixels(const grasp_results_t *output, int it, int ix, int iy, int nrCol, int nrRow);
941 
943 
952 int grasp_output_tile_retrieval_res_niter (const grasp_results_t *output,int it, int ix, int iy);
953 
962 float grasp_output_tile_retrieval_res_rest (const grasp_results_t *output,int it, int ix, int iy);
963 
973 float grasp_output_tile_retrieval_res_resa (const grasp_results_t *output,int it, int ix, int iy, int inoise);
974 
984 float grasp_output_tile_retrieval_res_resr (const grasp_results_t *output,int it, int ix, int iy, int inoise);
985 
986 
996 float grasp_output_tile_retrieval_par_parameters (const grasp_results_t *output, int it, int ix, int iy, int ipar);
997 
1008 float grasp_output_tile_retrieval_par_sd (const grasp_results_t *output, int it, int ix, int iy, int isd, int bin);
1009 
1018 const pixel_t *grasp_output_tile_retrieval_fit_pixel_original (const grasp_results_t *output, int it, int ix, int iy);
1019 
1028 const pixel_t *grasp_output_tile_retrieval_fit_pixel_fit (const grasp_results_t *output, int it, int ix, int iy);
1029 
1039 
1049 
1050 
1059 float grasp_output_tile_aerosol_opt_aexp (const grasp_results_t *output, int it, int ix, int iy);
1060 
1070 float grasp_output_tile_aerosol_opt_extt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1071 
1081 float grasp_output_tile_aerosol_opt_ssat (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1082 
1092 float grasp_output_tile_aerosol_opt_aextt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1093 
1104 float grasp_output_tile_aerosol_opt_ext (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1105 
1116 float grasp_output_tile_aerosol_opt_ssa (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1117 
1128 float grasp_output_tile_aerosol_opt_aext (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1129 
1140 float grasp_output_tile_aerosol_rind_mreal (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1141 
1152 float grasp_output_tile_aerosol_rind_mimag (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1153 
1155 
1167 float grasp_output_tile_aerosol_phmx_ph11 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd);
1168 
1180 float grasp_output_tile_aerosol_phmx_ph12 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd);
1181 
1193 float grasp_output_tile_aerosol_phmx_ph22 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd);
1194 
1206 float grasp_output_tile_aerosol_phmx_ph33 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd);
1207 
1219 float grasp_output_tile_aerosol_phmx_ph34 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd);
1220 
1232 float grasp_output_tile_aerosol_phmx_ph44 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd);
1233 
1244 float grasp_output_tile_aerosol_phmx_pht11 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar);
1245 
1256 float grasp_output_tile_aerosol_phmx_pht12 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar);
1257 
1268 float grasp_output_tile_aerosol_phmx_pht22 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar);
1269 
1280 float grasp_output_tile_aerosol_phmx_pht33 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar);
1281 
1292 float grasp_output_tile_aerosol_phmx_pht34 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar);
1293 
1304 float grasp_output_tile_aerosol_phmx_pht44 (const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar);
1305 
1307 
1318 float grasp_output_tile_aerosol_lidar_lr (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1319 
1330 float grasp_output_tile_aerosol_lidar_ldpar (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1331 
1342 float grasp_output_tile_aerosol_lidar_ldper (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1343 
1353 float grasp_output_tile_aerosol_lidar_lrt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1354 
1364 float grasp_output_tile_aerosol_lidar_ldprt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1365 
1375 float grasp_output_tile_aerosol_sd2m_mph_cv (const grasp_results_t *output, int it, int ix, int iy, int i);
1376 
1386 float grasp_output_tile_aerosol_sd2m_mph_std (const grasp_results_t *output, int it, int ix, int iy, int i);
1387 
1397 float grasp_output_tile_aerosol_sd2m_mph_rm (const grasp_results_t *output, int it, int ix, int iy, int i);
1398 
1408 float grasp_output_tile_aerosol_sd2m_mph_reff (const grasp_results_t *output, int it, int ix, int iy, int i);
1409 
1410 
1421 float grasp_output_tile_aerosol_sd2m_opt_ext (const grasp_results_t *output, int it, int ix, int iy, int iwl, int i);
1422 
1431 float grasp_output_tile_aerosol_sd2m_mph_cv_fine_mode (const grasp_results_t *output, int it, int ix, int iy);
1432 
1441 float grasp_output_tile_aerosol_sd2m_mph_std_fine_mode (const grasp_results_t *output, int it, int ix, int iy);
1442 
1451 float grasp_output_tile_aerosol_sd2m_mph_rm_fine_mode (const grasp_results_t *output, int it, int ix, int iy);
1452 
1461 float grasp_output_tile_aerosol_sd2m_mph_reff_fine_mode (const grasp_results_t *output, int it, int ix, int iy);
1462 
1463 
1473 float grasp_output_tile_aerosol_sd2m_opt_ext_fine_mode (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1474 
1475 
1484 float grasp_output_tile_aerosol_sd2m_mph_cv_coarse_mode (const grasp_results_t *output, int it, int ix, int iy);
1485 
1494 float grasp_output_tile_aerosol_sd2m_mph_std_coarse_mode (const grasp_results_t *output, int it, int ix, int iy);
1495 
1504 float grasp_output_tile_aerosol_sd2m_mph_rm_coarse_mode (const grasp_results_t *output, int it, int ix, int iy);
1505 
1514 float grasp_output_tile_aerosol_sd2m_mph_reff_coarse_mode (const grasp_results_t *output, int it, int ix, int iy);
1515 
1516 
1526 float grasp_output_tile_aerosol_sd2m_opt_ext_coarse_mode (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1527 
1528 
1538 float grasp_output_tile_aerosol_chem_rh (const grasp_results_t *output, int it, int ix, int iy, int isd);
1539 
1549 float grasp_output_tile_aerosol_chem_fwtr (const grasp_results_t *output, int it, int ix, int iy, int isd);
1550 
1560 float grasp_output_tile_aerosol_chem_fslbl (const grasp_results_t *output, int it, int ix, int iy, int isd);
1561 
1572 float grasp_output_tile_aerosol_chem_vfract (const grasp_results_t *output, int it, int ix, int iy, int isd, int ichem);
1573 
1574 
1575 
1576 
1587 float grasp_output_tile_aerosol_pm_pm (const grasp_results_t *output, int it, int ix, int iy, int i);
1588 
1597 int grasp_output_tile_aerosol_types_index (const grasp_results_t *output, int it, int ix, int iy);
1598 
1599 
1609 int grasp_output_tile_gases_absorption (const grasp_results_t *output, int it, int ix, int iy, int iwl, int igas);
1610 
1611 
1613 
1622 float grasp_output_tile_surface_ndvi (const grasp_results_t *output, int it, int ix, int iy);
1623 
1633 float grasp_output_tile_surface_dhr (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1634 
1644 float grasp_output_tile_surface_bhr_iso (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1645 
1647 
1657 float grasp_output_tile_errest_par_errp (const grasp_results_t *output, int it, int ix, int iy, int ipar);
1658 
1668 float grasp_output_tile_errest_par_biasp (const grasp_results_t *output, int it, int ix, int iy, int ipar);
1669 
1679 float grasp_output_tile_errest_par_tstdp (const grasp_results_t *output, int it, int ix, int iy, int ipar);
1680 
1681 /*
1682  * Return error of retrieved size distribution simplified for easy interpretation
1683  * +/- err(:,1:nsd) = exp(ln(GOUT%retrieval%par%pixel(ipix)%sd(:,1:nsd)) +/- GOUT%errest%par%pixel(ipix)%sd_err(:,1:nsd))
1684  * @param output Output of retrieval from a tile
1685  * @param it Time index of the pixel in the tile
1686  * @param ix X index of the pixel in the tile
1687  * @param iy Y index of the pixel in the tile
1688  * @param isd 0 if it is total size distriubtion or the number of the mode
1689  * @param bin value of the bin
1690  * @return retrieved value of the bin of SD
1691  */
1692 float grasp_output_tile_errest_par_sd_err (const grasp_results_t *output, int it, int ix, int iy, int isd, int ibin);
1693 
1704 float grasp_output_tile_errest_aerosol_opt_err_ext (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1705 
1716 float grasp_output_tile_errest_aerosol_opt_bias_ext (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1717 
1718 
1729 float grasp_output_tile_errest_aerosol_opt_tstd_ext (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1730 
1740 float grasp_output_tile_errest_aerosol_opt_err_extt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1741 
1751 float grasp_output_tile_errest_aerosol_opt_bias_extt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1752 
1753 
1763 float grasp_output_tile_errest_aerosol_opt_tstd_extt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1764 
1775 float grasp_output_tile_errest_aerosol_opt_err_ssa (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1776 
1787 float grasp_output_tile_errest_aerosol_opt_bias_ssa (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1788 
1799 float grasp_output_tile_errest_aerosol_opt_tstd_ssa (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1800 
1810 float grasp_output_tile_errest_aerosol_opt_err_ssat (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1811 
1821 float grasp_output_tile_errest_aerosol_opt_bias_ssat (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1822 
1832 float grasp_output_tile_errest_aerosol_opt_tstd_ssat (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1833 
1844 float grasp_output_tile_errest_aerosol_opt_err_aext (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1845 
1856 float grasp_output_tile_errest_aerosol_opt_bias_aext (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1857 
1868 float grasp_output_tile_errest_aerosol_opt_tstd_aext (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1869 
1879 float grasp_output_tile_errest_aerosol_opt_err_aextt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1880 
1890 float grasp_output_tile_errest_aerosol_opt_bias_aextt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1891 
1901 float grasp_output_tile_errest_aerosol_opt_tstd_aextt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1902 
1913 float grasp_output_tile_errest_aerosol_lidar_err_lr (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1914 
1925 float grasp_output_tile_errest_aerosol_lidar_bias_lr (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1926 
1937 float grasp_output_tile_errest_aerosol_lidar_tstd_lr (const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd);
1938 
1948 float grasp_output_tile_errest_aerosol_lidar_err_lrt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1949 
1959 float grasp_output_tile_errest_aerosol_lidar_bias_lrt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1960 
1970 float grasp_output_tile_errest_aerosol_lidar_tstd_lrt (const grasp_results_t *output, int it, int ix, int iy, int iwl);
1971 
1979 float grasp_output_tile_errest_aerosol_mic_err_sd (const grasp_results_t *output, int it, int ix, int iy, int ibin);
1980 
1988 float grasp_output_tile_errest_aerosol_mic_bias_sd (const grasp_results_t *output, int it, int ix, int iy, int ibin);
1989 
1997 float grasp_output_tile_errest_aerosol_mic_tstd_sd (const grasp_results_t *output, int it, int ix, int iy, int ibin);
1998 
2008 float grasp_output_tile_errest_aerosol_sd2m_extfc_err_fine_mode (const grasp_results_t *output, int it, int ix, int iy, int iwl);
2009 
2019 float grasp_output_tile_errest_aerosol_sd2m_extfc_bias_fine_mode (const grasp_results_t *output, int it, int ix, int iy, int iwl);
2020 
2030 float grasp_output_tile_errest_aerosol_sd2m_extfc_tstd_fine_mode (const grasp_results_t *output, int it, int ix, int iy, int iwl);
2031 
2041 float grasp_output_tile_errest_aerosol_sd2m_extfc_err_coarse_mode (const grasp_results_t *output, int it, int ix, int iy, int iwl);
2042 
2052 float grasp_output_tile_errest_aerosol_sd2m_extfc_bias_coarse_mode (const grasp_results_t *output, int it, int ix, int iy, int iwl);
2053 
2063 float grasp_output_tile_errest_aerosol_sd2m_extfc_tstd_coarse_mode (const grasp_results_t *output, int it, int ix, int iy, int iwl);
2064 
2065 
2067 
2076 int grasp_output_tile_forcing_bbflux_nhlv (const grasp_results_t *output, int it, int ix, int iy);
2077 
2087 float grasp_output_tile_forcing_bbflux_bbufx0 (const grasp_results_t *output, int it, int ix, int iy, int iknt);
2088 
2098 float grasp_output_tile_forcing_bbflux_bbdfx0 (const grasp_results_t *output, int it, int ix, int iy, int iknt);
2099 
2109 float grasp_output_tile_forcing_bbflux_bbufxa (const grasp_results_t *output, int it, int ix, int iy, int iknt);
2110 
2120 float grasp_output_tile_forcing_bbflux_bbdfxa (const grasp_results_t *output, int it, int ix, int iy, int iknt);
2121 
2131 float grasp_output_tile_forcing_bbflux_hlv (const grasp_results_t *output, int it, int ix, int iy, int iknt);
2132 
2141 int grasp_output_tile_forcing_forcing_nhlv (const grasp_results_t *output, int it, int ix, int iy);
2142 
2152 float grasp_output_tile_forcing_forcing_netforc (const grasp_results_t *output, int it, int ix, int iy, int iknt);
2153 
2163 float grasp_output_tile_forcing_forcing_forceff (const grasp_results_t *output, int it, int ix, int iy, int iknt);
2164 
2174 float grasp_output_tile_forcing_forcing_hlv (const grasp_results_t *output, int it, int ix, int iy, int iknt);
2175 
2176 
2177 #ifdef __cplusplus
2178 }
2179 #endif
2180 
2181 #endif /* GRASP_OUTPUT_TILE_RESULT_H */
2182 
int niter
Definition: grasp_output_tile_result.h:77
int grasp_output_tile_information_tile_npixels(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:118
bool grasp_output_tile_products_errest_aerosol_mic(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:102
struct grasp_output_tile_forcing_bbflux_ grasp_output_tile_forcing_bbflux
float grasp_output_tile_errest_aerosol_sd2m_extfc_bias_coarse_mode(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:702
float grasp_output_tile_surface_ndvi(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:549
Definition: grasp_output_tile_result.h:202
float masl
Definition: grasp_output_tile_result.h:71
int grasp_output_tile_aerosol_types_index(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:539
Definition: grasp_output_tile_result.h:164
float *netforc DIMS("nhlv")
[nhlv]
bool grasp_output_tile_products_aerosol_opt(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:38
const pixel_t * grasp_output_tile_retrieval_fit_pixel_original(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:335
int out_y
Definition: grasp_output_tile_result.h:58
float grasp_output_tile_aerosol_phmx_ph34(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd)
Definition: grasp_output_tile_result.c:403
bool grasp_output_tile_products_errest_aerosol_opt(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:94
float grasp_output_tile_aerosol_sd2m_mph_rm(const grasp_results_t *output, int it, int ix, int iy, int i)
Definition: grasp_output_tile_result.c:463
grasp_output_tile_aerosol_rind * aerosol_rind
Definition: grasp_output_tile_result.h:243
float grasp_output_tile_errest_aerosol_opt_bias_extt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:593
float grasp_output_tile_aerosol_phmx_ph44(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd)
Definition: grasp_output_tile_result.c:407
int ix
Definition: grasp_output_tile_result.h:55
float grasp_output_tile_aerosol_opt_ssa(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:371
float rest
Definition: grasp_output_tile_result.h:78
Definition: grasp_output_tile_result.h:148
int nhlv
Definition: grasp_output_tile_result.h:225
bool grasp_output_tile_products_aerosol_pm(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:66
float grasp_output_tile_aerosol_phmx_ph33(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd)
Definition: grasp_output_tile_result.c:399
Definition: grasp_output_tile_result.h:137
float grasp_output_tile_information_retrieval_sd_lb(const grasp_results_t *output, int irc, int irr)
Definition: grasp_output_tile_result.c:287
int npars
Definition: grasp_output_tile_result.h:272
int nnoises
Definition: grasp_output_tile_result.h:278
float grasp_output_tile_errest_aerosol_opt_tstd_extt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:597
pixel_result_t *pixel_result DIMS("npixel")
float radius[_KSD+1][4 *_KIDIM3]
Definition: grasp_output_tile_result.h:283
float *ERRP DIMS("npars")
[npars]
float grasp_output_tile_forcing_bbflux_bbdfxa(const grasp_results_t *output, int it, int ix, int iy, int iknt)
Definition: grasp_output_tile_result.c:727
float rm[3]
[3]
Definition: grasp_output_tile_result.h:133
float grasp_output_tile_aerosol_phmx_pht44(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar)
Definition: grasp_output_tile_result.c:431
float grasp_output_tile_errest_aerosol_sd2m_extfc_tstd_coarse_mode(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:706
int phmx_angle[_KMpar]
Definition: grasp_output_tile_result.h:276
float grasp_output_tile_pixel_information_sza(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:262
float grasp_output_tile_forcing_bbflux_hlv(const grasp_results_t *output, int it, int ix, int iy, int iknt)
Definition: grasp_output_tile_result.c:731
struct grasp_output_tile_pixel_information_ grasp_output_tile_pixel_information
int ngrid[_KSD+1]
Definition: grasp_output_tile_result.h:282
Definition: grasp_output_tile_result.h:92
int segment_col
Definition: grasp_output_tile_result.h:52
float grasp_output_tile_information_radius(const grasp_results_t *output, int isd, int ipar)
Definition: grasp_output_tile_result.c:283
float grasp_output_tile_aerosol_lidar_lr(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:435
const sensor_data_t * grasp_output_tile_retrieval_fit_segment_original(const grasp_results_t *output, int isegment)
Definition: grasp_output_tile_result.c:347
bool grasp_output_tile_products_retrieval_res(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:26
grasp_output_tile_retrieval_par * retrieval_par
Definition: grasp_output_tile_result.h:239
float *ERR_lr DIMS("(wln nsd)")
[nwl][nsd]
Definition: grasp_output_tile_result.h:102
Definition: grasp_output_tile_result.h:107
struct grasp_output_tile_gases_ grasp_output_tile_gases
bool grasp_output_tile_is_pixel(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:18
grasp_output_tile_aerosol_opt * aerosol_opt
Definition: grasp_output_tile_result.h:242
float grasp_output_tile_aerosol_chem_vfract(const grasp_results_t *output, int it, int ix, int iy, int isd, int ichem)
Definition: grasp_output_tile_result.c:527
grasp_output_tile_errest_aerosol_mic * errest_aerosol_mic
Definition: grasp_output_tile_result.h:255
Definition: grasp_output_tile_result.h:292
bool grasp_output_tile_products_aerosol_sd2m_ext(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:62
float grasp_output_tile_errest_aerosol_lidar_err_lrt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:661
struct pixel_result_t_ pixel_result_t
float grasp_output_tile_errest_aerosol_opt_bias_ext(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:581
int grasp_output_tile_pixel_information_nwl(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:242
bool grasp_output_tile_products_aerosol_phmx(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:50
par_number_NDIM grasp_output_tile_information_ndim(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:275
struct grasp_output_tile_errest_aerosol_opt_ grasp_output_tile_errest_aerosol_opt
bool grasp_output_tile_products_aerosol_types(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:70
float std[3]
[3]
Definition: grasp_output_tile_result.h:132
float grasp_output_tile_aerosol_lidar_ldper(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:443
float grasp_output_tile_pixel_information_hvp(const grasp_results_t *output, int it, int ix, int iy, int ihvp)
Definition: grasp_output_tile_result.c:271
float grasp_output_tile_aerosol_sd2m_mph_std_fine_mode(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:479
Definition: grasp_output_tile_result.h:236
Definition: grasp_output_tile_result.h:208
float *ERR_ext DIMS("(wln 2)")
[wln][2]
int grasp_output_tile_information_npars(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:142
bool grasp_output_tile_products_errest_aerosol_sd2m_extfc(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:106
struct grasp_output_tile_retrieval_information_ grasp_output_tile_retrieval_information
grasp_output_tile_aerosol_sd2m_mph * aerosol_sd2m_mph
Definition: grasp_output_tile_result.h:246
int nwl
Definition: grasp_output_tile_result.h:279
bool grasp_output_tile_products_forcing_bbflux(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:110
int nrc
Definition: grasp_output_tile_result.h:273
bool grasp_output_tile_products_aerosol_sd2m_mph(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:58
struct grasp_output_tile_aerosol_rind_ grasp_output_tile_aerosol_rind
grasp_output_tile_errest_aerosol_sd2m_extfc * errest_aerosol_sd2m_extfc
Definition: grasp_output_tile_result.h:256
float *ERR_sdt DIMS("sd_bins")
[4*_KIDIM3]
float *mreal DIMS("(wln nsd)")
[wln][nsd]
int grasp_output_tile_forcing_bbflux_nhlv(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:711
int tile_npixels_t
Definition: grasp_output_tile_result.h:269
float grasp_output_tile_errest_aerosol_sd2m_extfc_err_coarse_mode(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:698
int segment_time
Definition: grasp_output_tile_result.h:51
float Aexp
Definition: grasp_output_tile_result.h:93
float grasp_output_tile_information_hlv(const grasp_results_t *output, int it, int ix, int iy, int ihlv)
Definition: grasp_output_tile_result.c:296
int out_x
Definition: grasp_output_tile_result.h:57
float grasp_output_tile_errest_aerosol_opt_tstd_aextt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:645
Definition: grasp_input_tile_description.h:32
Definition: grasp_output_tile_result.h:83
float *pm DIMS("nPM_diam")
[nPM_diam]
bool grasp_output_tile_products_aerosol_rind(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:42
float grasp_output_tile_errest_aerosol_opt_tstd_ext(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:585
float grasp_output_tile_pixel_information_user_time(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:234
int grasp_output_tile_information_npm_diam(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:158
bool grasp_output_tile_products_aerosol_chem(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:46
float grasp_output_tile_pixel_information_longitude(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:214
struct grasp_output_tile_aerosol_chem_ grasp_output_tile_aerosol_chem
float grasp_output_tile_aerosol_pm_pm(const grasp_results_t *output, int it, int ix, int iy, int i)
Definition: grasp_output_tile_result.c:535
float grasp_output_tile_errest_aerosol_mic_err_sd(const grasp_results_t *output, int it, int ix, int iy, int ibin)
Definition: grasp_output_tile_result.c:674
const pixel_t * grasp_output_tile_retrieval_fit_pixel_fit(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:339
int grasp_output_tile_pixel_segment_npixels(const grasp_results_t *output, int it, int ix, int iy, int nrCol, int nrRow)
Definition: grasp_output_tile_result.c:304
float grasp_output_tile_errest_aerosol_lidar_bias_lrt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:665
grasp_output_tile_retrieval_res * retrieval_res
Definition: grasp_output_tile_result.h:238
float grasp_output_tile_aerosol_sd2m_opt_ext_coarse_mode(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:511
struct grasp_output_tile_segment_result_t_ grasp_output_tile_segment_result_t
float grasp_output_tile_forcing_forcing_forceff(const grasp_results_t *output, int it, int ix, int iy, int iknt)
Definition: grasp_output_tile_result.c:743
struct grasp_output_tile_aerosol_phmx_ grasp_output_tile_aerosol_phmx
Definition: grasp_output_tile_result.h:152
float grasp_output_tile_aerosol_sd2m_mph_std(const grasp_results_t *output, int it, int ix, int iy, int i)
Definition: grasp_output_tile_result.c:459
float grasp_output_tile_aerosol_sd2m_opt_ext_fine_mode(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:491
grasp_output_tile_aerosol_sd2m_ext * aerosol_sd2m_ext
Definition: grasp_output_tile_result.h:247
float grasp_output_tile_aerosol_phmx_pht34(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar)
Definition: grasp_output_tile_result.c:427
int file_index
Definition: grasp_output_tile_result.h:70
float grasp_output_tile_aerosol_opt_ssat(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:359
struct grasp_output_tile_errest_aerosol_mic_ grasp_output_tile_errest_aerosol_mic
float *absorption DIMS("(wln gases)")
[nwl][settings->retrieval.gases.nlut_name+1]
float grasp_output_tile_aerosol_sd2m_mph_reff(const grasp_results_t *output, int it, int ix, int iy, int i)
Definition: grasp_output_tile_result.c:467
float grasp_output_tile_errest_aerosol_sd2m_extfc_err_fine_mode(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:686
grasp_output_tile_surface_surf * surface_surf
Definition: grasp_output_tile_result.h:251
float grasp_output_tile_pixel_information_latitude(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:210
bool grasp_output_tile_products_gases_absorption(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:74
int index
Definition: grasp_output_tile_result.h:153
float *ph11 DIMS("(wln nsd nmpar)")
[wln][nsd][nmpar]
float grasp_output_tile_retrieval_par_parameters(const grasp_results_t *output, int it, int ix, int iy, int ipar)
Definition: grasp_output_tile_result.c:327
grasp_output_tile_retrieval_information information
Definition: grasp_output_tile_result.h:297
struct grasp_output_tile_aerosol_lidar_ grasp_output_tile_aerosol_lidar
int ngases
Definition: grasp_output_tile_result.h:288
float grasp_output_tile_errest_aerosol_lidar_bias_lr(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:653
float grasp_output_tile_retrieval_res_resa(const grasp_results_t *output, int it, int ix, int iy, int inoise)
Definition: grasp_output_tile_result.c:319
struct grasp_output_tile_forcing_forcing_ grasp_output_tile_forcing_forcing
grasp_output_tile_segment_result_t *segment_result DIMS("(seg_t seg_col seg_row)")
float grasp_output_tile_errest_aerosol_lidar_err_lr(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:649
int grasp_output_tile_information_tile_nchem(const grasp_results_t *output, int isd)
Definition: grasp_output_tile_result.c:126
float latitude
Definition: grasp_output_tile_result.h:60
float grasp_output_tile_information_nhvp(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:300
int grasp_output_tile_pixel_information_file_index(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:254
float grasp_output_tile_aerosol_sd2m_mph_rm_coarse_mode(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:503
Definition: grasp_products.h:71
grasp_output_tile_aerosol_types * aerosol_types
Definition: grasp_output_tile_result.h:250
Definition: grasp_output_tile_result.h:192
float *dhr DIMS("wln")
[nwl]
Definition: grasp_parameters.h:31
int nchem[_KSD]
Definition: grasp_output_tile_result.h:289
bool grasp_output_tile_products_aerosol_lidar(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:54
int grasp_output_tile_information_tile_ngases(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:122
int grasp_output_tile_gases_absorption(const grasp_results_t *output, int it, int ix, int iy, int iwl, int igas)
Definition: grasp_output_tile_result.c:543
struct grasp_output_tile_aerosol_opt_ grasp_output_tile_aerosol_opt
int grasp_output_tile_pixel_information_segment_row(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:182
int grasp_output_tile_information_tile_npixels_y(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:138
Definition: grasp_output_tile_result.h:158
Definition: grasp_input_segment.h:147
float grasp_output_tile_aerosol_phmx_ph22(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd)
Definition: grasp_output_tile_result.c:395
float user_time
Definition: grasp_output_tile_result.h:66
int grasp_output_tile_pixel_information_nhvp(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:267
int grasp_output_tile_pixel_information_grid_row(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:222
float grasp_output_tile_aerosol_sd2m_mph_cv_coarse_mode(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:495
bool grasp_output_tile_products_surface_surf(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:82
grasp_output_tile_aerosol_phmx * aerosol_phmx
Definition: grasp_output_tile_result.h:244
float grasp_output_tile_aerosol_chem_fslbl(const grasp_results_t *output, int it, int ix, int iy, int isd)
Definition: grasp_output_tile_result.c:523
int grasp_output_tile_information_nrr(const grasp_results_t *output)
int nmpar
Definition: grasp_output_tile_result.h:274
float grasp_output_tile_aerosol_sd2m_opt_ext(const grasp_results_t *output, int it, int ix, int iy, int iwl, int i)
Definition: grasp_output_tile_result.c:471
int iy
Definition: grasp_output_tile_result.h:56
float wl[_KW]
Definition: grasp_output_tile_result.h:280
int grasp_output_tile_pixel_information_grid_col(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:218
float ndvi
Definition: grasp_output_tile_result.h:159
float grasp_output_tile_errest_aerosol_opt_bias_aext(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:629
float grasp_output_tile_aerosol_sd2m_mph_cv(const grasp_results_t *output, int it, int ix, int iy, int i)
Definition: grasp_output_tile_result.c:455
float grasp_output_tile_aerosol_opt_aext(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:375
float grasp_output_tile_aerosol_phmx_ph11(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd)
Definition: grasp_output_tile_result.c:387
int grasp_output_tile_pixel_information_ix(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:190
Definition: grasp_output_tile_result.h:141
float grasp_output_tile_errest_aerosol_opt_err_ext(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:577
int tile_npixels_y
Definition: grasp_output_tile_result.h:271
int grasp_output_tile_pixel_information_it(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:186
grasp_output_tile_aerosol_pm * aerosol_pm
Definition: grasp_output_tile_result.h:249
float grasp_output_tile_pixel_information_masl(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:258
float grasp_output_tile_errest_par_sd_err(const grasp_results_t *output, int it, int ix, int iy, int isd, int ibin)
Definition: grasp_output_tile_result.c:573
float grasp_output_tile_errest_aerosol_lidar_tstd_lrt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:669
float *ext DIMS("(wln 2)")
[wln][2]
float grasp_output_tile_aerosol_opt_aexp(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:351
Definition: grasp_output_tile_result.h:76
struct grasp_output_tile_aerosol_sd2m_ext_ grasp_output_tile_aerosol_sd2m_ext
bool grasp_output_tile_products_gases_concentration(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:78
float grasp_output_tile_errest_aerosol_opt_bias_ssat(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:617
float grasp_output_tile_aerosol_lidar_ldprt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:451
float grasp_output_tile_errest_aerosol_opt_err_ssat(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:613
float sd_lb[_KCpar][_NRR]
Definition: grasp_output_tile_result.h:284
float grasp_output_tile_errest_aerosol_mic_tstd_sd(const grasp_results_t *output, int it, int ix, int iy, int ibin)
Definition: grasp_output_tile_result.c:682
float grasp_output_tile_errest_aerosol_opt_err_aextt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:637
int grasp_output_tile_forcing_forcing_nhlv(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:735
int grasp_output_tile_information_nmpar(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:150
bool grasp_output_tile_products_errest_aerosol_lidar(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:98
float grasp_output_tile_pixel_information_real_time(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:230
int segment_row
Definition: grasp_output_tile_result.h:53
float grasp_output_tile_aerosol_opt_aextt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:363
grasp_output_tile_aerosol_chem * aerosol_chem
Definition: grasp_output_tile_result.h:248
int grasp_output_tile_pixel_information_iy(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:194
float grasp_output_tile_information_retrieval_par_radius(const grasp_results_t *output, int irr)
float grasp_output_tile_aerosol_sd2m_mph_reff_coarse_mode(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:507
struct grasp_output_tile_errest_aerosol_lidar_ grasp_output_tile_errest_aerosol_lidar
float grasp_output_tile_errest_aerosol_opt_err_ssa(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:601
float grasp_output_tile_retrieval_res_rest(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:315
float grasp_output_tile_forcing_forcing_netforc(const grasp_results_t *output, int it, int ix, int iy, int iknt)
Definition: grasp_output_tile_result.c:739
float grasp_output_tile_forcing_bbflux_bbdfx0(const grasp_results_t *output, int it, int ix, int iy, int iknt)
Definition: grasp_output_tile_result.c:719
float grasp_output_tile_aerosol_phmx_pht33(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar)
Definition: grasp_output_tile_result.c:423
float grasp_output_tile_aerosol_sd2m_mph_cv_fine_mode(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:475
float grasp_output_tile_forcing_forcing_hlv(const grasp_results_t *output, int it, int ix, int iy, int iknt)
Definition: grasp_output_tile_result.c:747
Definition: grasp_output_tile_result.h:171
int grasp_output_tile_pixel_information_segment_time(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:174
float grasp_output_tile_errest_aerosol_sd2m_extfc_tstd_fine_mode(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:694
int grasp_output_tile_information_ngrid(const grasp_results_t *output, int isd)
Definition: grasp_output_tile_result.c:279
Definition: grasp_output_tile_result.h:232
int nPM_diam
Definition: grasp_output_tile_result.h:277
int grasp_output_tile_information_nhlv(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:292
bool grasp_output_tile_products_retrieval_par(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:30
struct grasp_results_description_ grasp_results_description
float grasp_output_tile_aerosol_phmx_pht12(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar)
Definition: grasp_output_tile_result.c:415
int tile_npixels_x
Definition: grasp_output_tile_result.h:270
Definition: grasp_output_tile_result.h:122
int grasp_output_tile_information_nrc(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:146
float grasp_output_tile_retrieval_res_resr(const grasp_results_t *output, int it, int ix, int iy, int inoise)
Definition: grasp_output_tile_result.c:323
float grasp_output_tile_errest_par_biasp(const grasp_results_t *output, int it, int ix, int iy, int ipar)
Definition: grasp_output_tile_result.c:565
float grasp_output_tile_aerosol_lidar_lrt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:447
float *resa DIMS("nnoises")
int tile_npixels
Definition: grasp_output_tile_result.h:268
float grasp_output_tile_information_retrieval_par_SDL(const grasp_results_t *output, int irr, int irc)
bool grasp_output_tile_products_errest_par(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:90
float grasp_output_tile_errest_aerosol_opt_err_extt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:589
struct grasp_output_tile_errest_aerosol_sd2m_extfc_ grasp_output_tile_errest_aerosol_sd2m_extfc
int nhvp
Definition: grasp_output_tile_result.h:287
grasp_output_tile_pixel_information information
Definition: grasp_output_tile_result.h:237
float grasp_output_tile_aerosol_chem_fwtr(const grasp_results_t *output, int it, int ix, int iy, int isd)
Definition: grasp_output_tile_result.c:519
struct grasp_output_tile_aerosol_sd2m_mph_ grasp_output_tile_aerosol_sd2m_mph
float grasp_output_tile_errest_aerosol_sd2m_extfc_bias_fine_mode(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:690
int64_t grasp_output_tile_pixel_information_time(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:226
bool grasp_output_tile_products_forcing_forcing(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:114
int grasp_output_tile_information_tile_npixels_t(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:130
float grasp_output_tile_retrieval_par_sd(const grasp_results_t *output, int it, int ix, int iy, int isd, int bin)
Definition: grasp_output_tile_result.c:331
float *extt DIMS("wln")
[wln]
int nhlv
Definition: grasp_output_tile_result.h:215
float grasp_output_tile_aerosol_rind_mimag(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:383
float grasp_output_tile_errest_aerosol_opt_tstd_aext(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:633
float grasp_output_tile_surface_bhr_iso(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:557
struct grasp_output_tile_aerosol_pm_ grasp_output_tile_aerosol_pm
struct grasp_output_tile_aerosol_types_ grasp_output_tile_aerosol_types
float grasp_output_tile_aerosol_rind_mreal(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:379
Definition: grasp_output_tile_result.h:49
Definition: grasp_input_segment.h:100
float grasp_output_tile_errest_aerosol_lidar_tstd_lr(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:657
float grasp_output_tile_aerosol_phmx_pht11(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar)
Definition: grasp_output_tile_result.c:411
Definition: grasp_output_tile_result.h:214
float real_time
Definition: grasp_output_tile_result.h:65
int grid_col
Definition: grasp_output_tile_result.h:62
float grasp_output_tile_aerosol_phmx_pht22(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar)
Definition: grasp_output_tile_result.c:419
float grasp_output_tile_forcing_bbflux_bbufx0(const grasp_results_t *output, int it, int ix, int iy, int iknt)
Definition: grasp_output_tile_result.c:715
grasp_output_tile_gases * gases
Definition: grasp_output_tile_result.h:259
float grasp_output_tile_errest_aerosol_opt_err_aext(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:625
float grasp_output_tile_errest_aerosol_opt_tstd_ssat(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:621
float grasp_output_tile_aerosol_sd2m_mph_reff_fine_mode(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:487
float grasp_output_tile_errest_aerosol_opt_tstd_ssa(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:609
int nsd
Definition: grasp_output_tile_result.h:275
float hlv[_KNT]
Definition: grasp_output_tile_result.h:286
float grasp_output_tile_aerosol_sd2m_mph_rm_fine_mode(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:483
float grasp_output_tile_errest_par_errp(const grasp_results_t *output, int it, int ix, int iy, int ipar)
Definition: grasp_output_tile_result.c:561
float grasp_output_tile_information_wl(const grasp_results_t *output, int iwl)
Definition: grasp_output_tile_result.c:170
float land_percent
Definition: grasp_output_tile_result.h:69
int grasp_output_tile_information_tile_npixels_x(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:134
const sensor_data_t * grasp_output_tile_retrieval_fit_segment_fit(const grasp_results_t *output, int isegment)
Definition: grasp_output_tile_result.c:343
float grasp_output_tile_aerosol_lidar_ldpar(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:439
float grasp_output_tile_surface_dhr(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:553
struct grasp_output_tile_surface_surf_ grasp_output_tile_surface_surf
struct grasp_output_tile_errest_par_ grasp_output_tile_errest_par
Definition: grasp_output_tile_result.h:224
pixel_t * pixel_fit
Definition: grasp_output_tile_result.h:240
int grasp_output_tile_pixel_information_out_t(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:206
float grasp_output_tile_errest_aerosol_opt_bias_ssa(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:605
grasp_output_tile_aerosol_lidar * aerosol_lidar
Definition: grasp_output_tile_result.h:245
int n_error_pixels
Definition: grasp_output_tile_result.h:309
float grasp_output_tile_errest_par_tstdp(const grasp_results_t *output, int it, int ix, int iy, int ipar)
Definition: grasp_output_tile_result.c:569
int grasp_output_tile_pixel_information_out_x(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:198
bool grasp_output_tile_products_surface_bhr_iso(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:86
float grasp_output_tile_errest_aerosol_opt_bias_aextt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:641
grasp_output_tile_errest_par * errest_par
Definition: grasp_output_tile_result.h:252
struct grasp_output_tile_retrieval_res_ grasp_output_tile_retrieval_res
int it
Definition: grasp_output_tile_result.h:54
grasp_output_tile_errest_aerosol_lidar * errest_aerosol_lidar
Definition: grasp_output_tile_result.h:254
float grasp_output_tile_pixel_information_land_percent(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:250
float grasp_output_tile_forcing_bbflux_bbufxa(const grasp_results_t *output, int it, int ix, int iy, int iknt)
Definition: grasp_output_tile_result.c:723
float cv[3]
[3]
Definition: grasp_output_tile_result.h:131
int nhlv
Definition: grasp_output_tile_result.h:285
int grasp_output_tile_information_nnoises(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:166
float *parameters DIMS("npars")
float longitude
Definition: grasp_output_tile_result.h:61
grasp_output_tile_errest_aerosol_opt * errest_aerosol_opt
Definition: grasp_output_tile_result.h:253
int out_t
Definition: grasp_output_tile_result.h:59
float grasp_output_tile_aerosol_phmx_ph12(const grasp_results_t *output, int it, int ix, int iy, int iwl, int impar, int isd)
Definition: grasp_output_tile_result.c:391
grasp_results_t * results
Definition: grasp_output_tile_result.h:306
Definition: grasp_output_tile_result.h:130
float grasp_output_tile_aerosol_opt_ext(const grasp_results_t *output, int it, int ix, int iy, int iwl, int isd)
Definition: grasp_output_tile_result.c:367
int grasp_output_tile_information_phmx_angle(const grasp_results_t *output, int iangle)
Definition: grasp_output_tile_result.c:162
Definition: grasp_output_tile_result.h:262
int grid_row
Definition: grasp_output_tile_result.h:63
float *rh DIMS("nsd")
[nsd]
int64_t time
Definition: grasp_output_tile_result.h:64
Definition: grasp_output_tile_result.h:267
struct grasp_output_tile_retrieval_par_ grasp_output_tile_retrieval_par
bool grasp_output_tile_products_retrieval_fit(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:34
grasp_output_tile_forcing_forcing * forcing_forcing
Definition: grasp_output_tile_result.h:258
int n_retrieved_pixels
Definition: grasp_output_tile_result.h:308
float grasp_output_tile_aerosol_opt_extt(const grasp_results_t *output, int it, int ix, int iy, int iwl)
Definition: grasp_output_tile_result.c:355
grasp_output_tile_forcing_bbflux * forcing_bbflux
Definition: grasp_output_tile_result.h:257
struct grasp_results_t_ grasp_results_t
float grasp_output_tile_errest_aerosol_mic_bias_sd(const grasp_results_t *output, int it, int ix, int iy, int ibin)
Definition: grasp_output_tile_result.c:678
par_number_NDIM ndim
Definition: grasp_output_tile_result.h:281
int grasp_output_tile_pixel_information_segment_col(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:178
float *ERR_ext DIMS("(wln nsd)")
[nwl][nsd]
pixel_t * pixel_original
Definition: grasp_output_tile_result.h:241
int grasp_output_tile_information_nsd(const grasp_results_t *output)
Definition: grasp_output_tile_result.c:154
float grasp_output_tile_aerosol_sd2m_mph_std_coarse_mode(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:499
float grasp_output_tile_aerosol_chem_rh(const grasp_results_t *output, int it, int ix, int iy, int isd)
Definition: grasp_output_tile_result.c:515
int npixel
Definition: grasp_output_tile_result.h:263
int grasp_output_tile_retrieval_res_niter(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:311
output_segment_products products
Definition: grasp_output_tile_result.h:293
int grasp_output_tile_pixel_information_cloud_flag(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:246
float *lr DIMS("(wln nsd)")
[wln][nsd]
int grasp_output_tile_pixel_information_out_y(const grasp_results_t *output, int it, int ix, int iy)
Definition: grasp_output_tile_result.c:202
float reff[3]
[3]
Definition: grasp_output_tile_result.h:134
Definition: grasp_output_tile_result.h:305
float *bbufx0 DIMS("nhlv")
[nhlv]
grasp_tile_description_t * description
Definition: grasp_output_tile_result.h:307
int cloud_flag
Definition: grasp_output_tile_result.h:68