grasp_output_segment_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_segment_result.h
9  * Author: fuertes
10  *
11  * Created on 3 de octubre de 2014, 14:56
12  */
13 
14 #ifndef GRASP_OUTPUT_SEGMENT_RESULT_H
15 #define GRASP_OUTPUT_SEGMENT_RESULT_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include <stdbool.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 "../global/grasp_parameters.h"
29 
30 #ifdef WARN_DRY
31 #warning "__RETRIEVAL_OUTPUT_DEFINITION__ binded"
32 #endif
33 
34 #define index_ext 1
35 #define index_ssa 2
36 #define index_aext 3
37 #define index_lr 4
38 
39 
40 // Retrieval output
41 // Structure contains retrieval output data :
42 // res - single pixel total residual (meas + smothness constrain )
43 // resa,resr - detailed absolut and relative measurement residuals for single pixel
44 // niter - number of iterations
45 // rest - total residual for multi-pixel retrieval
46 // resat,resrt - detailed absolut and relative measurement residuals for segment
47 // par - retrieved aerosol and surface reflectance parameters
48 // ngrid - number of grid radii for SD (saved to print output)
49 // radius - grid radii (saved to print output)
50 // SDL - if applicable, precalculated lognormal bins SD (saved to print output)
51 
52  typedef struct output_pixel_residual_{
53  int niter;
54  float res;
55  float resa[_KKNOISE];
56  float resr[_KKNOISE];
58 
59  typedef struct output_segment_residual_{
60  int niter;
61  float rest;
62  float resat[_KKNOISE];
63  float resrt[_KKNOISE];
66 
67  typedef struct output_pixel_retr_par_{
68  float par[_KPARS];
69 // ! Retrieved SD values
70  float sd[_KSD+1][4*_KIDIM3]; // ! index=0 for total SD
71 // ! Cv values
72  float Cv[_KSD][_KIDIM3];
73 // ! ShD values
74  float ShD[_KSD][_KIDIM3];
75 // ! normalized VD values
76  float VD[_KSD][_KIDIM3];
77 // ! Values of surface parameters
78  float BRF[_KBF][_KW]; // ! land parameters
79  float BRP[_KBF][_KW]; // ! land parameters
80  float BRM[_KBF][_KW]; // ! water parameters
82 
83  typedef struct output_segment_retr_par_{
86 
87  typedef struct output_segment_info_{
88  int npixels;
89  int nsd; // KSD
90  int nnoises; // KKNOISE
91  int nbins; // NRC
92  int ngas;
93  int nwl; // KW
94  float wl[_KW];
96  int ngrid[_KSD+1]; // number of grid radii
97  float radius[_KSD+1][4*_KIDIM3]; // grid radius values (um)
98  float sd_lb[_KCpar][_NRR]; // values of SD (cv=1) for each precalculated lognormal bin
99  int nhlv; // number of levels for forcing and flux
100  float hlv[_KNT]; // values of levels (in meters!) for forcing and flux
101  float delta_ut; // Real time in seconds
102  float delta_ct; // User time in seconds
103  bool flag_plus;
105  int nchem[_KSD]; // N_CHEM_MAX
106  int nbrf; // KBF
107  int nbpf; // KBF
108  int nbrm; // KBF
110 
111  typedef struct output_pixel_coordinates_ { // position of the pixel
112  float x_lon;
113  float y_lat;
114  int64_t t_masl;
116 
120 
121  typedef struct output_segment_fitting_{
124 
125  typedef struct output_segment_retrieval_ {
131 
132  // Optical characteristics
133 
134 // ext,ssa,aext - spectral ext, sca and aext for each aerosol component
135 // Aexp - Angstrom exponent (wl(4)/wl(5))
136  typedef struct output_pixel_opt_wl_ {
137  float extt;
138  float ssat;
139  float aextt;
140  float ext[_KSD];
141  float ssa[_KSD];
142  float aext[_KSD];
143  float ext_cut_off[4][_KSD+1];
144  float ssa_cut_off[4][_KSD+1];
146 
147  typedef struct output_pixel_opt_ {
148  float Aexp;
151 
152  typedef struct output_segment_opt_ {
155 
156 // Refractive index
157  typedef struct output_pixel_rindex_wl_ {
158  float mreal[_KSD];
159  float mimag[_KSD];
161 
162  typedef struct output_pixel_rindex_ {
165 
166  typedef struct output_segment_rindex_ {
169 
170 // Phase matrix :
171  typedef struct output_pixel_ph_matrix_wl_ {
172  float ph11[_KSD][_KMpar];
173  float ph12[_KSD][_KMpar];
174  float ph22[_KSD][_KMpar];
175  float ph33[_KSD][_KMpar];
176  float ph34[_KSD][_KMpar];
177  float ph44[_KSD][_KMpar];
178 
179  float pht11[_KMpar];
180  float pht12[_KMpar];
181  float pht22[_KMpar];
182  float pht33[_KMpar];
183  float pht34[_KMpar];
184  float pht44[_KMpar];
185 
186  float ph11_cut_off[4][_KSD+1][_KMpar];
187  float ph12_cut_off[4][_KSD+1][_KMpar];
188  float ph22_cut_off[4][_KSD+1][_KMpar];
189  float ph33_cut_off[4][_KSD+1][_KMpar];
190  float ph34_cut_off[4][_KSD+1][_KMpar];
191  float ph44_cut_off[4][_KSD+1][_KMpar];
193 
194  typedef struct output_pixel_ph_matrix_ {
197 
198  typedef struct output_segment_ph_matrix_ {
199  int nangle;
200  float angle[_KMpar];
203 
204 //Lidar and depolarization ratios :
205 
207  float lr[_KSD];
208  float ldpar[_KSD];
209  float ldper[_KSD];
210  float lrt;
211  float ldprt;
213 
214  typedef struct output_pixel_lidar_ratio_ {
217 
221 
222 // Chemistry parameters
223  typedef struct output_pixel_chemistry_ {
224  float rh[_KSD];
225  float fwtr[_KSD];
226  float fslbl[_KSD];
227  float vfract[_KSD][_N_CHEM_MAX];
229 
230  typedef struct output_segment_chemistry_ {
233 
234 // Two mode aerosol characteristics
235 // Structure contains output data (microphysical parameters):
236 // 0 - total, 1 - fine mode, 2 - coarse mode
237 // reff - volume median radius
238 // std - standard deviation
239 // cv - concentration
240 // rm - median radius
241 // ext - ext each aerosol component
242  typedef struct output_pixel_sd2m_mph_ {
243  float cv[3];
244  float std[3];
245  float rm[3];
246  float reff[3];
248 
249  typedef struct output_segment_sd2m_mph_ {
252 
253  typedef struct output_pixel_sd2m_opt_wl_ {
254  float ext[2];
256 
257  typedef struct output_pixel_sd2m_opt_ {
260 
261  typedef struct output_segment_sd2m_opt_ {
264 
265  typedef struct output_segment_sd2m_ {
269 //-----------------------------------------------------------------------------------------
270 // AL Particulate Matter
271  typedef struct output_pixel_PM_ {
272  float pm[2];
273  } output_pixel_PM;
274  typedef struct output_segment_PM_ {
277 // AL aerosol or cloud type
278 // index value — Aerosol type
279 // 0 – Complex mixture
280 // 1 – Background Aerosol
281 // 2 – Water/Maritime
282 // 3 — Urban Polluted
283 // 4 – Mixed aerosol
284 // 5 – Urban Clean
285 // 6 – Smoke Smoldering
286 // 7 – Smoke flaming
287 // 8 – Mineral dust
288  typedef struct output_pixel_types_ {
289  int index;
291  typedef struct output_segment_types_ {
294 
295 //-----------------------------------------------------------------------------------------
296  // Gases
297  typedef struct output_pixel_gases_wl_ {
298  float abs[_NMG+1];
300 
301  typedef struct output_pixel_gases_ {
304 
305  typedef struct output_segment_gases_ {
308 //-----------------------------------------------------------------------------------------
309 
310 // Surface
311 
312 // Surface albedo
313 
314  typedef struct output_pixel_surface_wl_{
315  float dhr;
316  float bhr_iso;
318 
319  typedef struct output_pixel_surface_{
320  float ndvi;
323 
324  typedef struct output_segment_surface_ {
327 
328 // Radiative forcing
329 
330 // Radiative broad band flux and forcing
331  typedef struct output_pixel_bbflux_ {
332  int nhlv; // Repeated in output_segment_info structure
333  float bbufx0[_KNT];
334  float bbdfx0[_KNT];
335  float bbufxa[_KNT];
336  float bbdfxa[_KNT];
337  float hlv[_KNT]; // In Km!! but in info structure is in meters
339 
340  typedef struct output_segment_bbflux_ {
343 
344  typedef struct output_pixel_forcing_ {
345  int nhlv; // Repeated in output_segment_info structure
346  float netforc[_KNT];
347  float forceff[_KNT];
348  float hlv[_KNT]; // In Km!! but in info structure is in meters
350 
351  typedef struct output_segment_forcing_ {
354 
359 
360 // Error estimations
361 
362 // ERRP - Standard deviations of retrieved parameter logarithms (~relative errors)
363 // BIASP - Standard deviation of systematic errors of retrieved parameter logarithms
364 // TSTDP - Standard deviation sqrt(ERRP*ERRP+BIASP*BIASP)
365 // ERR_ - Standard deviations of retrieved optical characteristic logarithms (~relative errors)
366 // BIAS_ - Standard deviations of systematic errors of retrieved optical characteristic logarithms
367 // TSTD_ - Standard deviations sqrt(ERR_*ERR_+BIAS_*BIAS_)
368 // structure par contains BIAS & ERR for all retrieved (of aerosol, clouds and surface)
369 // structure aerosol1 contains BIAS & ERR for ext & ssa - optical thickness and single scattering albedo of aerosol
370 // structure aerosol2 contains BIAS & ERR for lr - lidar ratio of aerosol
371 // structure cloud1 contains BIAS & ERR for ext & ssa - optical thickness and single scattering albedo of clouds
372 // structure cloud2 contains BIAS & ERR for lr - lidar ratio of clouds
374  float ERRP[_KPARS];
375  float BIASP[_KPARS];
376  float TSTDP[_KPARS];
377  float sd_err[_KSD+1][4*_KIDIM3]; // index=0 for total SD errors
378  // can't be filled if number of particle components > 1
379 
380  bool use_mask;
381  int num;
382  int idim1[3];
383  int par_type[3];
384  bool KNSINGF_mask[_KPARS];
386 
390 
392  float ERR_ext[_KSD];
393  float BIAS_ext[_KSD];
394  float TSTD_ext[_KSD];
395  float ERR_extt;
396  float BIAS_extt;
397  float TSTD_extt;
398  float ERR_ssa[_KSD];
399  float BIAS_ssa[_KSD];
400  float TSTD_ssa[_KSD];
401  float ERR_ssat;
402  float BIAS_ssat;
403  float TSTD_ssat;
404  float ERR_aext[_KSD];
405  float BIAS_aext[_KSD];
406  float TSTD_aext[_KSD];
407  float ERR_aextt;
408  float BIAS_aextt;
409  float TSTD_aextt;
411 
415 
419 
421  float ERR_lr[_KSD];
422  float BIAS_lr[_KSD];
423  float TSTD_lr[_KSD];
424  float ERR_lrt;
425  float BIAS_lrt;
426  float TSTD_lrt;
428 
432 
436 
437 //MEH: structure for SD error estimates when it is not part of the retrieval
439  float ERR_sdt;
440  float BIAS_sdt;
441  float TSTD_sdt;
443 
447 
451 
452 //****
453 //MEH: structure for aodf and aodc error estimates when sd2m is true
455  float ERR_ext[2];
456  float BIAS_ext[2];
457  float TSTD_ext[2];
459 
463 
467 //****
468 
475 
476  typedef struct output_segment_err_estim_ {
479 // output_segment_err_estim_mic_sd sd;
481 
482 
483 // Aerosol
484 
485  typedef struct output_segment_particles_ {
495 
496 
497 // General output
498  typedef struct output_segment_general_ {
508 
509 
510 
518 const float *grasp_output_segment_parameters(const output_segment_general *output, int ipix);
519 
526 
533 
540 
547 
554 
561 
568 
575 
582 
589 
596 
603 
610 
617 
624 
631 
638 
639 //MEH:
646 
653 
654 
661 
668 
675 float grasp_output_segment_coord_pixel_x (const output_segment_general *output, int ipix);
676 
683 float grasp_output_segment_coord_pixel_y (const output_segment_general *output, int ipix);
684 
691 int64_t grasp_output_segment_coord_pixel_t (const output_segment_general *output, int ipix);
692 
699 
706 
713 float grasp_output_segment_retrieval_res_resat (const output_segment_general *output, int inoise);
714 
721 float grasp_output_segment_retrieval_res_resrt (const output_segment_general *output, int inoise);
722 
730 
738 
746 float grasp_output_segment_retrieval_res_pixel_resa (const output_segment_general *output, int ipix, int inoise);
747 
755 float grasp_output_segment_retrieval_res_pixel_resr (const output_segment_general *output, int ipix, int inoise);
756 
763 
771 
779 float grasp_output_segment_retrieval_par_sdl (const output_segment_general *output, int irr, int irc);
780 
788 float grasp_output_segment_retrieval_par_parameters (const output_segment_general *output, int ipix, int ipar);
789 
798 float grasp_output_segment_retrieval_par_sd (const output_segment_general *output, int ipix, int isd, int ibin);
799 
806 
814 
819 
824 
829 
834 
839 
844 
851 
859 
867 float grasp_output_segment_retrieval_information_radius (const output_segment_general *output, int isd, int ipar);
868 
876 float grasp_output_segment_retrieval_information_sd_lb (const output_segment_general *output, int irr, int irc);
877 
878 
883 
888 
889 
896 
903 
911 
912 
914 
921 float grasp_output_segment_aerosol_opt_aexp (const output_segment_general *output, int ipix);
922 
930 float grasp_output_segment_aerosol_opt_extt (const output_segment_general *output, int ipix, int iwl);
931 
939 float grasp_output_segment_aerosol_opt_ssat (const output_segment_general *output, int ipix, int iwl);
940 
948 float grasp_output_segment_aerosol_opt_aextt (const output_segment_general *output, int ipix, int iwl);
949 
958 float grasp_output_segment_aerosol_opt_ext (const output_segment_general *output, int ipix, int iwl, int isd);
959 
968 float grasp_output_segment_aerosol_opt_ssa (const output_segment_general *output, int ipix, int iwl, int isd);
969 
978 float grasp_output_segment_aerosol_opt_aext (const output_segment_general *output, int ipix, int iwl, int isd);
979 
988 float grasp_output_segment_aerosol_rind_mreal (const output_segment_general *output, int ipix, int iwl, int isd);
989 
990 
999 float grasp_output_segment_aerosol_rind_mimag (const output_segment_general *output, int ipix, int iwl, int isd);
1000 
1007 
1014 float grasp_output_segment_aerosol_phmx_angle (const output_segment_general *output, int impar);
1015 
1025 float grasp_output_segment_aerosol_phmx_ph11 (const output_segment_general *output, int ipix, int iwl, int impar, int isd);
1026 
1036 float grasp_output_segment_aerosol_phmx_ph12 (const output_segment_general *output, int ipix, int iwl, int impar, int isd);
1037 
1047 float grasp_output_segment_aerosol_phmx_ph22 (const output_segment_general *output, int ipix, int iwl, int impar, int isd);
1048 
1058 float grasp_output_segment_aerosol_phmx_ph33 (const output_segment_general *output, int ipix, int iwl, int impar, int isd);
1059 
1069 float grasp_output_segment_aerosol_phmx_ph34 (const output_segment_general *output, int ipix, int iwl, int impar, int isd);
1070 
1080 float grasp_output_segment_aerosol_phmx_ph44 (const output_segment_general *output, int ipix, int iwl, int impar, int isd);
1081 
1090 float grasp_output_segment_aerosol_phmx_pht11 (const output_segment_general *output, int ipix, int iwl, int impar);
1091 
1100 float grasp_output_segment_aerosol_phmx_pht12 (const output_segment_general *output, int ipix, int iwl, int impar);
1101 
1110 float grasp_output_segment_aerosol_phmx_pht22 (const output_segment_general *output, int ipix, int iwl, int impar);
1111 
1120 float grasp_output_segment_aerosol_phmx_pht33 (const output_segment_general *output, int ipix, int iwl, int impar);
1121 
1130 float grasp_output_segment_aerosol_phmx_pht34 (const output_segment_general *output, int ipix, int iwl, int impar);
1131 
1140 float grasp_output_segment_aerosol_phmx_pht44 (const output_segment_general *output, int ipix, int iwl, int impar);
1141 
1150 float grasp_output_segment_aerosol_lidar_lr (const output_segment_general *output, int ipix, int iwl, int isd);
1151 
1160 float grasp_output_segment_aerosol_lidar_ldpar (const output_segment_general *output, int ipix, int iwl, int isd);
1161 
1170 float grasp_output_segment_aerosol_lidar_ldper (const output_segment_general *output, int ipix, int iwl, int isd);
1171 
1179 float grasp_output_segment_aerosol_lidar_lrt (const output_segment_general *output, int ipix, int iwl);
1180 
1188 float grasp_output_segment_aerosol_lidar_ldprt (const output_segment_general *output, int ipix, int iwl);
1189 
1197 float grasp_output_segment_aerosol_sd2m_mph_cv (const output_segment_general *output, int ipix, int i);
1198 
1206 float grasp_output_segment_aerosol_sd2m_mph_std (const output_segment_general *output, int ipix, int i);
1207 
1215 float grasp_output_segment_aerosol_sd2m_mph_rm (const output_segment_general *output, int ipix, int i);
1216 
1224 float grasp_output_segment_aerosol_sd2m_mph_reff (const output_segment_general *output, int ipix, int i);
1225 
1234 float grasp_output_segment_aerosol_sd2m_opt_ext (const output_segment_general *output, int ipix, int iwl, int i);
1235 
1243 
1251 
1259 
1267 
1275 float grasp_output_segment_aerosol_sd2m_opt_ext_fine_mode (const output_segment_general *output, int ipix, int iwl);
1276 
1284 
1292 
1300 
1308 
1316 float grasp_output_segment_aerosol_sd2m_opt_ext_coarse_mode (const output_segment_general *output, int ipix, int iwl);
1317 
1325 float grasp_output_segment_aerosol_chem_rh (const output_segment_general *output, int ipix, int isd);
1326 
1334 float grasp_output_segment_aerosol_chem_fwtr (const output_segment_general *output, int ipix, int isd);
1335 
1343 float grasp_output_segment_aerosol_chem_fslbl (const output_segment_general *output, int ipix, int isd);
1344 
1353 float grasp_output_segment_aerosol_chem_vfract (const output_segment_general *output, int ipix, int isd, int nchem);
1354 
1355 
1356 
1364 float grasp_output_segment_aerosol_pm_pm (const output_segment_general *output, int ipix, int i);
1365 
1373 
1380 int grasp_output_segment_gases_absorption (const output_segment_general *output, int ipix, int iwl, int ngas);
1381 
1383 
1390 float grasp_output_segment_surface_ndvi (const output_segment_general *output, int ipix);
1391 
1399 float grasp_output_segment_surface_dhr (const output_segment_general *output, int ipix, int iwl);
1400 
1408 float grasp_output_segment_surface_bhr_iso (const output_segment_general *output, int ipix, int iwl);
1409 
1411 
1419 float grasp_output_segment_errest_par_errp (const output_segment_general *output, int ipix, int ipar);
1420 
1428 float grasp_output_segment_errest_par_biasp (const output_segment_general *output, int ipix, int ipar);
1429 
1437 float grasp_output_segment_errest_par_tstdp (const output_segment_general *output, int ipix, int ipar);
1438 
1447 float grasp_output_segment_errest_par_sd_err (const output_segment_general *output, int ipix, int isd, int ibin);
1448 
1457 float grasp_output_segment_errest_aerosol_opt_err_ext (const output_segment_general *output, int ipix, int iwl, int isd);
1458 
1467 float grasp_output_segment_errest_aerosol_opt_bias_ext (const output_segment_general *output, int ipix, int iwl, int isd);
1468 
1477 float grasp_output_segment_errest_aerosol_opt_tstd_ext (const output_segment_general *output, int ipix, int iwl, int isd);
1478 
1486 float grasp_output_segment_errest_aerosol_opt_err_extt (const output_segment_general *output, int ipix, int iwl);
1487 
1495 float grasp_output_segment_errest_aerosol_opt_bias_extt (const output_segment_general *output, int ipix, int iwl);
1496 
1504 float grasp_output_segment_errest_aerosol_opt_tstd_extt (const output_segment_general *output, int ipix, int iwl);
1505 
1514 float grasp_output_segment_errest_aerosol_opt_err_ssa (const output_segment_general *output, int ipix, int iwl, int isd);
1515 
1524 float grasp_output_segment_errest_aerosol_opt_bias_ssa (const output_segment_general *output, int ipix, int iwl, int isd);
1525 
1534 float grasp_output_segment_errest_aerosol_opt_tstd_ssa (const output_segment_general *output, int ipix, int iwl, int isd);
1535 
1543 float grasp_output_segment_errest_aerosol_opt_err_ssat (const output_segment_general *output, int ipix, int iwl);
1544 
1552 float grasp_output_segment_errest_aerosol_opt_bias_ssat (const output_segment_general *output, int ipix, int iwl);
1553 
1561 float grasp_output_segment_errest_aerosol_opt_tstd_ssat (const output_segment_general *output, int ipix, int iwl);
1562 
1571 float grasp_output_segment_errest_aerosol_opt_err_aext (const output_segment_general *output, int ipix, int iwl, int isd);
1572 
1581 float grasp_output_segment_errest_aerosol_opt_bias_aext (const output_segment_general *output, int ipix, int iwl, int isd);
1582 
1591 float grasp_output_segment_errest_aerosol_opt_tstd_aext (const output_segment_general *output, int ipix, int iwl, int isd);
1592 
1600 float grasp_output_segment_errest_aerosol_opt_err_aextt (const output_segment_general *output, int ipix, int iwl);
1601 
1609 float grasp_output_segment_errest_aerosol_opt_bias_aextt (const output_segment_general *output, int ipix, int iwl);
1610 
1618 float grasp_output_segment_errest_aerosol_opt_tstd_aextt (const output_segment_general *output, int ipix, int iwl);
1619 
1628 float grasp_output_segment_errest_aerosol_lidar_err_lr (const output_segment_general *output, int ipix, int iwl, int isd);
1629 
1638 float grasp_output_segment_errest_aerosol_lidar_bias_lr (const output_segment_general *output, int ipix, int iwl, int isd);
1639 
1648 float grasp_output_segment_errest_aerosol_lidar_tstd_lr (const output_segment_general *output, int ipix, int iwl, int isd);
1649 
1657 float grasp_output_segment_errest_aerosol_lidar_err_lrt (const output_segment_general *output, int ipix, int iwl);
1658 
1666 float grasp_output_segment_errest_aerosol_lidar_bias_lrt (const output_segment_general *output, int ipix, int iwl);
1667 
1675 float grasp_output_segment_errest_aerosol_lidar_tstd_lrt (const output_segment_general *output, int ipix, int iwl);
1676 
1684 float grasp_output_segment_errest_aerosol_mic_err_sd (const output_segment_general *output, int ipix, int ibin);
1685 
1693 float grasp_output_segment_errest_aerosol_mic_bias_sd (const output_segment_general *output, int ipix, int ibin);
1694 
1702 float grasp_output_segment_errest_aerosol_mic_tstd_sd (const output_segment_general *output, int ipix, int ibin);
1703 
1704 
1713 
1722 
1731 
1740 
1749 
1759 
1767 
1775 float grasp_output_segment_forcing_bbflux_bbufx0 (const output_segment_general *output, int ipix, int iknt);
1776 
1784 float grasp_output_segment_forcing_bbflux_bbdfx0 (const output_segment_general *output, int ipix, int iknt);
1785 
1793 float grasp_output_segment_forcing_bbflux_bbufxa (const output_segment_general *output, int ipix, int iknt);
1794 
1802 float grasp_output_segment_forcing_bbflux_bbdfxa (const output_segment_general *output, int ipix, int iknt);
1803 
1811 float grasp_output_segment_forcing_bbflux_hlv (const output_segment_general *output, int ipix, int iknt);
1812 
1820 
1828 float grasp_output_segment_forcing_forcing_netforc (const output_segment_general *output, int ipix, int iknt);
1829 
1837 float grasp_output_segment_forcing_forcing_forceff (const output_segment_general *output, int ipix, int iknt);
1838 
1846 float grasp_output_segment_forcing_forcing_hlv (const output_segment_general *output, int ipix, int iknt);
1847 
1848 
1849 
1850 #ifdef __cplusplus
1851 }
1852 #endif
1853 
1854 #endif /* GRASP_OUTPUT_SEGMENT_RESULT_H */
1855 
float grasp_output_segment_aerosol_opt_aextt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:244
float grasp_output_segment_forcing_bbflux_bbdfxa(const output_segment_general *output, int ipix, int iknt)
Definition: grasp_output_segment_result.c:620
float grasp_output_segment_aerosol_chem_fwtr(const output_segment_general *output, int ipix, int isd)
Definition: grasp_output_segment_result.c:408
float grasp_output_segment_errest_aerosol_lidar_tstd_lrt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:558
Definition: grasp_output_segment_result.h:387
float TSTD_aext[_KSD]
Definition: grasp_output_segment_result.h:406
float rm[3]
Definition: grasp_output_segment_result.h:245
int grasp_output_segment_aerosol_types_index(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:424
Definition: grasp_output_segment_result.h:291
int index
Definition: grasp_output_segment_result.h:289
struct output_segment_sd2m_mph_ output_segment_sd2m_mph
float ph12[_KSD][_KMpar]
Definition: grasp_output_segment_result.h:173
struct output_pixel_PM_ output_pixel_PM
float mimag[_KSD]
Definition: grasp_output_segment_result.h:159
struct output_segment_PM_ output_segment_PM
float BRP[_KBF][_KW]
Definition: grasp_output_segment_result.h:79
float grasp_output_segment_aerosol_chem_vfract(const output_segment_general *output, int ipix, int isd, int nchem)
Definition: grasp_output_segment_result.c:416
float grasp_output_segment_aerosol_sd2m_opt_ext(const output_segment_general *output, int ipix, int iwl, int i)
Definition: grasp_output_segment_result.c:360
float Aexp
Definition: grasp_output_segment_result.h:148
struct output_segment_forcing_ output_segment_forcing
float ph11_cut_off[4][_KSD+1][_KMpar]
Definition: grasp_output_segment_result.h:186
Definition: grasp_output_segment_result.h:253
float Cv[_KSD][_KIDIM3]
Definition: grasp_output_segment_result.h:72
int grasp_output_segment_retrieval_par_ngrid(const output_segment_general *output)
output_pixel_forcing pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:352
int grasp_output_segment_retrieval_information_npixels(const output_segment_general *output)
Definition: grasp_output_segment_result.c:169
float grasp_output_segment_aerosol_phmx_ph22(const output_segment_general *output, int ipix, int iwl, int impar, int isd)
Definition: grasp_output_segment_result.c:284
float grasp_output_segment_aerosol_phmx_ph34(const output_segment_general *output, int ipix, int iwl, int impar, int isd)
Definition: grasp_output_segment_result.c:292
float grasp_output_segment_forcing_bbflux_bbufxa(const output_segment_general *output, int ipix, int iknt)
Definition: grasp_output_segment_result.c:616
float grasp_output_segment_errest_aerosol_opt_tstd_aextt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:534
float ERR_extt
Definition: grasp_output_segment_result.h:395
int grasp_output_segment_forcing_forcing_nhlv(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:628
float grasp_output_segment_aerosol_sd2m_mph_rm_coarse_mode(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:392
float ext_cut_off[4][_KSD+1]
Definition: grasp_output_segment_result.h:143
Definition: grasp_output_segment_result.h:194
struct output_segment_err_estim_particles_lidar_ output_segment_err_estim_particles_lidar
struct output_pixel_retr_par_ output_pixel_retr_par
float TSTD_aextt
Definition: grasp_output_segment_result.h:409
float grasp_output_segment_forcing_bbflux_hlv(const output_segment_general *output, int ipix, int iknt)
Definition: grasp_output_segment_result.c:624
struct output_pixel_coordinates_ output_pixel_coordinates
struct output_segment_sd2m_ output_segment_sd2m
output_segment_err_estim_particles_sd2m_extfc sd2m_extfc
Definition: grasp_output_segment_result.h:473
bool grasp_output_segment_products_surface_surf(const output_segment_general *output)
Definition: grasp_output_segment_result.c:69
float grasp_output_segment_forcing_bbflux_bbdfx0(const output_segment_general *output, int ipix, int iknt)
Definition: grasp_output_segment_result.c:612
Definition: grasp_output_segment_result.h:83
float aext[_KSD]
Definition: grasp_output_segment_result.h:142
float grasp_output_segment_aerosol_phmx_pht34(const output_segment_general *output, int ipix, int iwl, int impar)
Definition: grasp_output_segment_result.c:316
struct output_pixel_ph_matrix_wl_ output_pixel_ph_matrix_wl
float grasp_output_segment_errest_aerosol_mic_bias_sd(const output_segment_general *output, int ipix, int ibin)
Definition: grasp_output_segment_result.c:568
output_pixel_ph_matrix_wl wl[_KW]
Definition: grasp_output_segment_result.h:195
const float * grasp_output_segment_parameters(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:17
output_segment_err_estim_par par
Definition: grasp_output_segment_result.h:477
bool use_mask
Definition: grasp_output_segment_result.h:380
float ph22[_KSD][_KMpar]
Definition: grasp_output_segment_result.h:174
float grasp_output_segment_aerosol_chem_fslbl(const output_segment_general *output, int ipix, int isd)
Definition: grasp_output_segment_result.c:412
Definition: grasp_output_segment_result.h:117
struct output_pixel_ph_matrix_ output_pixel_ph_matrix
float ldpar[_KSD]
Definition: grasp_output_segment_result.h:208
par_number_NDIM grasp_output_segment_retrieval_information_ndim(const output_segment_general *output)
Definition: grasp_output_segment_result.c:193
float radius[_KSD+1][4 *_KIDIM3]
Definition: grasp_output_segment_result.h:97
struct output_segment_rindex_ output_segment_rindex
Definition: grasp_output_segment_result.h:324
output_pixel_err_estim_particles_mic pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:449
int grasp_output_segment_retrieval_information_nhlv(const output_segment_general *output)
Definition: grasp_output_segment_result.c:209
Definition: grasp_output_segment_result.h:429
float ph44_cut_off[4][_KSD+1][_KMpar]
Definition: grasp_output_segment_result.h:191
float grasp_output_segment_errest_aerosol_lidar_bias_lrt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:554
struct output_pixel_gases_ output_pixel_gases
float ERR_aextt
Definition: grasp_output_segment_result.h:407
float grasp_output_segment_errest_aerosol_mic_err_sd(const output_segment_general *output, int ipix, int ibin)
Definition: grasp_output_segment_result.c:563
float BIAS_ssa[_KSD]
Definition: grasp_output_segment_result.h:399
float grasp_output_segment_errest_aerosol_opt_err_aext(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:514
struct output_segment_fitting_ output_segment_fitting
Definition: grasp_output_segment_result.h:111
float grasp_output_segment_aerosol_opt_ssa(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:252
float ERRP[_KPARS]
Definition: grasp_output_segment_result.h:374
Definition: grasp_output_segment_result.h:351
float grasp_output_segment_aerosol_lidar_lrt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:336
output_pixel_PM pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:275
struct output_pixel_err_estim_particles_opt_ output_pixel_err_estim_particles_opt
Definition: grasp_output_segment_result.h:433
bool grasp_output_segment_products_aerosol_opt(const output_segment_general *output)
Definition: grasp_output_segment_result.c:33
float grasp_output_segment_retrieval_information_delta_ct(const output_segment_general *output)
Definition: grasp_output_segment_result.c:221
float grasp_output_segment_aerosol_sd2m_mph_std_fine_mode(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:368
float pht33[_KMpar]
Definition: grasp_output_segment_result.h:182
float fwtr[_KSD]
Definition: grasp_output_segment_result.h:225
output_segment_lidar_ratio lidar
Definition: grasp_output_segment_result.h:489
float rh[_KSD]
Definition: grasp_output_segment_result.h:224
Definition: grasp_output_segment_result.h:257
float grasp_output_segment_retrieval_par_radius(const output_segment_general *output, int irr)
float delta_ct
Definition: grasp_output_segment_result.h:102
output_pixel_err_estim_particles_sd2m_extfc pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:465
float bbufx0[_KNT]
Definition: grasp_output_segment_result.h:333
float bbdfxa[_KNT]
Definition: grasp_output_segment_result.h:336
struct output_pixel_lidar_ratio_ output_pixel_lidar_ratio
int nbrf
Definition: grasp_output_segment_result.h:106
float BIAS_lr[_KSD]
Definition: grasp_output_segment_result.h:422
int grasp_output_segment_retrieval_information_nnoises(const output_segment_general *output)
Definition: grasp_output_segment_result.c:177
struct output_segment_err_estim_particles_mic_ output_segment_err_estim_particles_mic
float grasp_output_segment_errest_aerosol_sd2m_extfc_tstd_fine_mode(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:587
float grasp_output_segment_errest_aerosol_opt_bias_aext(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:518
Definition: grasp_output_segment_result.h:162
float grasp_output_segment_aerosol_rind_mimag(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:264
output_pixel_err_estim_particles_mic_rad grid[4 *_KIDIM3]
Definition: grasp_output_segment_result.h:445
bool grasp_output_segment_products_aerosol_types(const output_segment_general *output)
Definition: grasp_output_segment_result.c:65
Definition: grasp_output_segment_result.h:448
float ERR_ext[_KSD]
Definition: grasp_output_segment_result.h:392
int grasp_output_segment_retrieval_information_nbins(const output_segment_general *output)
Definition: grasp_output_segment_result.c:181
float grasp_output_segment_errest_aerosol_sd2m_extfc_tstd_coarse_mode(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:599
int niter
Definition: grasp_output_segment_result.h:53
int nsd
Definition: grasp_output_segment_result.h:89
Definition: grasp_output_segment_result.h:412
float hlv[_KNT]
Definition: grasp_output_segment_result.h:100
int grasp_output_segment_retrieval_information_ngrid(const output_segment_general *output, int isd)
Definition: grasp_output_segment_result.c:197
float grasp_output_segment_errest_aerosol_mic_tstd_sd(const output_segment_general *output, int ipix, int ibin)
Definition: grasp_output_segment_result.c:573
float ssa_cut_off[4][_KSD+1]
Definition: grasp_output_segment_result.h:144
float BIAS_sdt
Definition: grasp_output_segment_result.h:440
float ph33[_KSD][_KMpar]
Definition: grasp_output_segment_result.h:175
struct output_pixel_err_estim_particles_sd2m_extfc_wl_ output_pixel_err_estim_particles_sd2m_extfc_wl
float grasp_output_segment_retrieval_par_sd(const output_segment_general *output, int ipix, int isd, int ibin)
Definition: grasp_output_segment_result.c:156
struct output_segment_general_ output_segment_general
output_segment_chemistry chem
Definition: grasp_output_segment_result.h:491
float BIASP[_KPARS]
Definition: grasp_output_segment_result.h:375
bool KNSINGF_mask[_KPARS]
Definition: grasp_output_segment_result.h:384
struct output_pixel_surface_wl_ output_pixel_surface_wl
int nnoises
Definition: grasp_output_segment_result.h:90
float ldper[_KSD]
Definition: grasp_output_segment_result.h:209
float BIAS_ssat
Definition: grasp_output_segment_result.h:402
float grasp_output_segment_aerosol_pm_pm(const output_segment_general *output, int ipix, int i)
Definition: grasp_output_segment_result.c:420
bool grasp_output_segment_products_forcing_forcing(const output_segment_general *output)
Definition: grasp_output_segment_result.c:102
float fslbl[_KSD]
Definition: grasp_output_segment_result.h:226
float grasp_output_segment_retrieval_information_hlv(const output_segment_general *output, int ihlv)
Definition: grasp_output_segment_result.c:213
output_segment_ph_matrix phmx
Definition: grasp_output_segment_result.h:488
float grasp_output_segment_errest_aerosol_sd2m_extfc_bias_fine_mode(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:583
output_pixel_err_estim_par pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:388
struct output_segment_coordinates_ output_segment_coordinates
float grasp_output_segment_retrieval_res_resat(const output_segment_general *output, int inoise)
Definition: grasp_output_segment_result.c:128
output_segment_err_estim_particles_opt opt
Definition: grasp_output_segment_result.h:470
float grasp_output_segment_errest_aerosol_sd2m_extfc_err_fine_mode(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:579
float grasp_output_segment_retrieval_information_wl(const output_segment_general *output, int iwl)
Definition: grasp_output_segment_result.c:189
struct output_pixel_lidar_ratio_wl_ output_pixel_lidar_ratio_wl
output_pixel_lidar_ratio_wl wl[_KW]
Definition: grasp_output_segment_result.h:215
bool grasp_output_segment_products_aerosol_sd2m_mph(const output_segment_general *output)
Definition: grasp_output_segment_result.c:53
float TSTD_lr[_KSD]
Definition: grasp_output_segment_result.h:423
output_pixel_sd2m_opt pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:262
par_number_NDIM ndim
Definition: grasp_output_segment_result.h:95
float ssat
Definition: grasp_output_segment_result.h:138
float ext[_KSD]
Definition: grasp_output_segment_result.h:140
int nangle
Definition: grasp_output_segment_result.h:199
float grasp_output_segment_aerosol_sd2m_opt_ext_coarse_mode(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:400
float BRM[_KBF][_KW]
Definition: grasp_output_segment_result.h:80
float bbufxa[_KNT]
Definition: grasp_output_segment_result.h:335
Definition: grasp_output_segment_result.h:344
output_pixel_bbflux pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:341
float ndvi
Definition: grasp_output_segment_result.h:320
struct output_segment_types_ output_segment_types
bool grasp_output_segment_products_surface_bhr_iso(const output_segment_general *output)
Definition: grasp_output_segment_result.c:73
float TSTD_ext[2]
Definition: grasp_output_segment_result.h:457
float delta_ut
Definition: grasp_output_segment_result.h:101
output_segment_retr_par par
Definition: grasp_output_segment_result.h:127
float grasp_output_segment_aerosol_phmx_pht11(const output_segment_general *output, int ipix, int iwl, int impar)
Definition: grasp_output_segment_result.c:300
bool grasp_output_segment_products_retrieval_par(const output_segment_general *output)
Definition: grasp_output_segment_result.c:25
Definition: grasp_output_segment_result.h:476
float TSTD_ssa[_KSD]
Definition: grasp_output_segment_result.h:400
float grasp_output_segment_errest_par_sd_err(const output_segment_general *output, int ipix, int isd, int ibin)
Definition: grasp_output_segment_result.c:460
float ssa[_KSD]
Definition: grasp_output_segment_result.h:141
struct output_segment_bbflux_ output_segment_bbflux
bool grasp_output_segment_products_errest_aerosol_opt(const output_segment_general *output)
Definition: grasp_output_segment_result.c:81
Definition: grasp_output_segment_result.h:305
int nwl
Definition: grasp_output_segment_result.h:93
float grasp_output_segment_aerosol_sd2m_opt_ext_fine_mode(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:380
output_pixel_opt_wl wl[_KW]
Definition: grasp_output_segment_result.h:149
float BIAS_aext[_KSD]
Definition: grasp_output_segment_result.h:405
float grasp_output_segment_aerosol_sd2m_mph_reff_coarse_mode(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:396
float grasp_output_segment_retrieval_information_radius(const output_segment_general *output, int isd, int ipar)
Definition: grasp_output_segment_result.c:201
float aextt
Definition: grasp_output_segment_result.h:139
float VD[_KSD][_KIDIM3]
Definition: grasp_output_segment_result.h:76
Definition: grasp_output_segment_result.h:373
Definition: grasp_products.h:71
output_segment_fitting fit
Definition: grasp_output_segment_result.h:128
float BIAS_aextt
Definition: grasp_output_segment_result.h:408
float grasp_output_segment_aerosol_lidar_ldper(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:332
float lr[_KSD]
Definition: grasp_output_segment_result.h:207
output_segment_info information
Definition: grasp_output_segment_result.h:129
output_segment_err_estim errest
Definition: grasp_output_segment_result.h:505
float bhr_iso
Definition: grasp_output_segment_result.h:316
struct output_pixel_rindex_ output_pixel_rindex
float grasp_output_segment_aerosol_sd2m_mph_cv_fine_mode(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:364
Definition: grasp_parameters.h:31
int ngas
Definition: grasp_output_segment_result.h:92
Definition: grasp_output_segment_result.h:498
output_pixel_ph_matrix pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:201
Definition: grasp_input_segment.h:147
struct output_segment_err_estim_particles_opt_ output_segment_err_estim_particles_opt
output_pixel_retr_par pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:84
float cv[3]
Definition: grasp_output_segment_result.h:243
float BIAS_ext[_KSD]
Definition: grasp_output_segment_result.h:393
float grasp_output_segment_errest_aerosol_sd2m_extfc_err_coarse_mode(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:591
struct output_segment_info_ output_segment_info
float grasp_output_segment_coord_pixel_y(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:110
float TSTD_ssat
Definition: grasp_output_segment_result.h:403
output_segment_sd2m_opt opt
Definition: grasp_output_segment_result.h:267
int64_t grasp_output_segment_coord_pixel_t(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:114
float grasp_output_segment_errest_aerosol_opt_tstd_ext(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:474
Definition: grasp_output_segment_result.h:242
struct output_pixel_sd2m_mph_ output_pixel_sd2m_mph
int nbins
Definition: grasp_output_segment_result.h:91
float grasp_output_segment_aerosol_sd2m_mph_std(const output_segment_general *output, int ipix, int i)
Definition: grasp_output_segment_result.c:348
float grasp_output_segment_retrieval_information_delta_ut(const output_segment_general *output)
Definition: grasp_output_segment_result.c:217
struct output_pixel_err_estim_particles_mic_ output_pixel_err_estim_particles_mic
float ERR_aext[_KSD]
Definition: grasp_output_segment_result.h:404
float grasp_output_segment_retrieval_information_sd_lb(const output_segment_general *output, int irr, int irc)
Definition: grasp_output_segment_result.c:205
float grasp_output_segment_retrieval_par_parameters(const output_segment_general *output, int ipix, int ipar)
Definition: grasp_output_segment_result.c:152
output_segment_residual res
Definition: grasp_output_segment_result.h:126
output_pixel_chemistry pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:231
float grasp_output_segment_aerosol_opt_extt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:236
Definition: grasp_output_segment_result.h:314
Definition: grasp_output_segment_result.h:438
int num
Definition: grasp_output_segment_result.h:381
float grasp_output_segment_errest_aerosol_lidar_tstd_lr(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:546
Definition: grasp_output_segment_result.h:218
struct output_segment_opt_ output_segment_opt
struct output_segment_sd2m_opt_ output_segment_sd2m_opt
float hlv[_KNT]
Definition: grasp_output_segment_result.h:337
float ph34[_KSD][_KMpar]
Definition: grasp_output_segment_result.h:176
float pht44[_KMpar]
Definition: grasp_output_segment_result.h:184
float ERR_ssa[_KSD]
Definition: grasp_output_segment_result.h:398
output_pixel_sd2m_mph pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:250
bool grasp_output_segment_products_forcing_bbflux(const output_segment_general *output)
Definition: grasp_output_segment_result.c:98
float grasp_output_segment_retrieval_information_nchem(const output_segment_general *output, int isd)
Definition: grasp_output_segment_result.c:225
float grasp_output_segment_aerosol_opt_aext(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:256
const pixel_t * grasp_output_segment_retrieval_fit_pixel_fit(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:164
float ERR_sdt
Definition: grasp_output_segment_result.h:439
struct output_segment_particles_ output_segment_particles
float lrt
Definition: grasp_output_segment_result.h:210
struct output_pixel_rindex_wl_ output_pixel_rindex_wl
bool grasp_output_segment_products_retrieval_res(const output_segment_general *output)
Definition: grasp_output_segment_result.c:21
float BIAS_lrt
Definition: grasp_output_segment_result.h:425
float grasp_output_segment_aerosol_lidar_ldpar(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:328
output_pixel_surface pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:325
float TSTD_sdt
Definition: grasp_output_segment_result.h:441
struct output_segment_chemistry_ output_segment_chemistry
output_segment_gases gases
Definition: grasp_output_segment_result.h:503
float BIAS_ext[2]
Definition: grasp_output_segment_result.h:456
float ph12_cut_off[4][_KSD+1][_KMpar]
Definition: grasp_output_segment_result.h:187
float TSTD_lrt
Definition: grasp_output_segment_result.h:426
float grasp_output_segment_aerosol_phmx_pht33(const output_segment_general *output, int ipix, int iwl, int impar)
Definition: grasp_output_segment_result.c:312
struct output_pixel_opt_ output_pixel_opt
float grasp_output_segment_errest_aerosol_opt_err_ssa(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:490
float mreal[_KSD]
Definition: grasp_output_segment_result.h:158
int grasp_output_segment_forcing_bbflux_nhlv(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:604
Definition: grasp_output_segment_result.h:198
struct output_pixel_opt_wl_ output_pixel_opt_wl
bool grasp_output_segment_products_errest_aerosol_mic(const output_segment_general *output)
Definition: grasp_output_segment_result.c:86
output_segment_bbflux bbflux
Definition: grasp_output_segment_result.h:356
Definition: grasp_output_segment_result.h:469
float pht22[_KMpar]
Definition: grasp_output_segment_result.h:181
float grasp_output_segment_surface_dhr(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:438
Definition: grasp_output_segment_result.h:454
bool flag_plus
Definition: grasp_output_segment_result.h:103
float sd[_KSD+1][4 *_KIDIM3]
Definition: grasp_output_segment_result.h:70
int npixels
Definition: grasp_output_segment_result.h:88
output_pixel_lidar_ratio pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:219
output_segment_err_estim_particles aerosol
Definition: grasp_output_segment_result.h:478
struct output_pixel_types_ output_pixel_types
float grasp_output_segment_aerosol_sd2m_mph_std_coarse_mode(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:388
int nhlv
Definition: grasp_output_segment_result.h:345
Definition: grasp_output_segment_result.h:166
output_pixel_opt pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:153
output_segment_sd2m_mph mph
Definition: grasp_output_segment_result.h:266
bool grasp_output_segment_products_aerosol_chem(const output_segment_general *output)
Definition: grasp_output_segment_result.c:41
Definition: grasp_output_segment_result.h:355
float BIAS_extt
Definition: grasp_output_segment_result.h:396
float netforc[_KNT]
Definition: grasp_output_segment_result.h:346
float pht34[_KMpar]
Definition: grasp_output_segment_result.h:183
float grasp_output_segment_errest_aerosol_lidar_err_lrt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:550
float grasp_output_segment_errest_aerosol_opt_tstd_aext(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:522
int nbpf
Definition: grasp_output_segment_result.h:107
int grasp_output_segment_retrieval_res_niter(const output_segment_general *output)
Definition: grasp_output_segment_result.c:120
output_pixel_rindex_wl wl[_KW]
Definition: grasp_output_segment_result.h:163
float grasp_output_segment_aerosol_opt_aexp(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:232
struct output_pixel_err_estim_particles_sd2m_extfc_ output_pixel_err_estim_particles_sd2m_extfc
int par_type[3]
Definition: grasp_output_segment_result.h:383
float angle[_KMpar]
Definition: grasp_output_segment_result.h:200
struct output_pixel_sd2m_opt_wl_ output_pixel_sd2m_opt_wl
float TSTDP[_KPARS]
Definition: grasp_output_segment_result.h:376
bool grasp_output_segment_products_aerosol_lidar(const output_segment_general *output)
Definition: grasp_output_segment_result.c:49
float ShD[_KSD][_KIDIM3]
Definition: grasp_output_segment_result.h:74
float grasp_output_segment_aerosol_opt_ssat(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:240
bool grasp_output_segment_products_retrieval_fit(const output_segment_general *output)
Definition: grasp_output_segment_result.c:29
output_pixel_err_estim_particles_lidar_wl wl[_KW]
Definition: grasp_output_segment_result.h:430
struct output_pixel_err_estim_par_ output_pixel_err_estim_par
output_segment_rad_forcing forcing
Definition: grasp_output_segment_result.h:506
Definition: grasp_output_segment_result.h:223
float grasp_output_segment_aerosol_phmx_pht44(const output_segment_general *output, int ipix, int iwl, int impar)
Definition: grasp_output_segment_result.c:320
output_pixel_err_estim_particles_lidar pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:434
float grasp_output_segment_errest_par_errp(const output_segment_general *output, int ipix, int ipar)
Definition: grasp_output_segment_result.c:448
float grasp_output_segment_aerosol_sd2m_mph_rm(const output_segment_general *output, int ipix, int i)
Definition: grasp_output_segment_result.c:352
float ph33_cut_off[4][_KSD+1][_KMpar]
Definition: grasp_output_segment_result.h:189
float grasp_output_segment_aerosol_phmx_pht12(const output_segment_general *output, int ipix, int iwl, int impar)
Definition: grasp_output_segment_result.c:304
struct output_segment_lidar_ratio_ output_segment_lidar_ratio
struct output_segment_err_estim_particles_sd2m_extfc_ output_segment_err_estim_particles_sd2m_extfc
bool grasp_output_segment_products_aerosol_sd2m_ext(const output_segment_general *output)
Definition: grasp_output_segment_result.c:57
float sd_err[_KSD+1][4 *_KIDIM3]
Definition: grasp_output_segment_result.h:377
float ph11[_KSD][_KMpar]
Definition: grasp_output_segment_result.h:172
float grasp_output_segment_errest_aerosol_lidar_bias_lr(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:542
float grasp_output_segment_errest_aerosol_opt_tstd_extt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:486
output_pixel_err_estim_particles_opt pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:417
struct output_segment_err_estim_par_ output_segment_err_estim_par
output_segment_particles aerosol
Definition: grasp_output_segment_result.h:502
float par[_KPARS]
Definition: grasp_output_segment_result.h:68
int ngrid[_KSD+1]
Definition: grasp_output_segment_result.h:96
float rest
Definition: grasp_output_segment_result.h:61
output_pixel_gases_wl wl[_KW]
Definition: grasp_output_segment_result.h:302
struct output_segment_err_estim_ output_segment_err_estim
float grasp_output_segment_errest_aerosol_opt_bias_aextt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:530
float bbdfx0[_KNT]
Definition: grasp_output_segment_result.h:334
Definition: grasp_output_segment_result.h:230
bool grasp_output_segment_products_aerosol_rind(const output_segment_general *output)
Definition: grasp_output_segment_result.c:37
float x_lon
Definition: grasp_output_segment_result.h:112
Definition: grasp_output_segment_result.h:136
output_segment_types types
Definition: grasp_output_segment_result.h:493
output_segment_retrieval retrieval
Definition: grasp_output_segment_result.h:501
struct output_pixel_bbflux_ output_pixel_bbflux
Definition: grasp_output_segment_result.h:416
output_segment_rindex rind
Definition: grasp_output_segment_result.h:487
struct output_pixel_err_estim_particles_lidar_ output_pixel_err_estim_particles_lidar
float wl[_KW]
Definition: grasp_output_segment_result.h:94
struct output_pixel_residual_ output_pixel_residual
float TSTD_extt
Definition: grasp_output_segment_result.h:397
float resat[_KKNOISE]
Definition: grasp_output_segment_result.h:62
output_segment_surface surface
Definition: grasp_output_segment_result.h:504
float grasp_output_segment_errest_aerosol_opt_err_ext(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:466
Definition: grasp_output_segment_result.h:171
Definition: grasp_output_segment_result.h:331
float TSTD_ext[_KSD]
Definition: grasp_output_segment_result.h:394
output_segment_err_estim_particles_lidar lidar
Definition: grasp_output_segment_result.h:471
float grasp_output_segment_aerosol_phmx_ph12(const output_segment_general *output, int ipix, int iwl, int impar, int isd)
Definition: grasp_output_segment_result.c:280
Definition: grasp_output_segment_result.h:249
float grasp_output_segment_aerosol_sd2m_mph_cv_coarse_mode(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:384
float grasp_output_segment_retrieval_res_pixel_resr(const output_segment_general *output, int ipix, int inoise)
Definition: grasp_output_segment_result.c:148
struct output_pixel_err_estim_particles_mic_rad_ output_pixel_err_estim_particles_mic_rad
output_segment_sd2m sd2m
Definition: grasp_output_segment_result.h:490
float extt
Definition: grasp_output_segment_result.h:137
Definition: grasp_input_segment.h:100
struct output_pixel_gases_wl_ output_pixel_gases_wl
float resr[_KKNOISE]
Definition: grasp_output_segment_result.h:56
Definition: grasp_output_segment_result.h:319
Definition: grasp_output_segment_result.h:87
Definition: grasp_output_segment_result.h:444
struct output_pixel_surface_ output_pixel_surface
float grasp_output_segment_errest_aerosol_opt_tstd_ssa(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:498
float ERR_ssat
Definition: grasp_output_segment_result.h:401
float grasp_output_segment_errest_aerosol_opt_bias_ext(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:470
output_pixel_sd2m_opt_wl wl[_KW]
Definition: grasp_output_segment_result.h:258
float ext[2]
Definition: grasp_output_segment_result.h:254
struct output_pixel_sd2m_opt_ output_pixel_sd2m_opt
float grasp_output_segment_aerosol_phmx_angle(const output_segment_general *output, int impar)
Definition: grasp_output_segment_result.c:272
Definition: grasp_output_segment_result.h:121
float grasp_output_segment_aerosol_lidar_lr(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:324
output_segment_coordinates coord
Definition: grasp_output_segment_result.h:500
Definition: grasp_output_segment_result.h:147
float std[3]
Definition: grasp_output_segment_result.h:244
float grasp_output_segment_forcing_forcing_forceff(const output_segment_general *output, int ipix, int iknt)
Definition: grasp_output_segment_result.c:636
float ERR_lrt
Definition: grasp_output_segment_result.h:424
output_pixel_coordinates pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:118
struct output_pixel_chemistry_ output_pixel_chemistry
bool grasp_output_segment_products_aerosol_phmx(const output_segment_general *output)
Definition: grasp_output_segment_result.c:45
float grasp_output_segment_retrieval_res_rest(const output_segment_general *output)
Definition: grasp_output_segment_result.c:124
int nhlv
Definition: grasp_output_segment_result.h:332
float hlv[_KNT]
Definition: grasp_output_segment_result.h:348
float grasp_output_segment_retrieval_par_sdl(const output_segment_general *output, int irr, int irc)
bool grasp_output_segment_products_errest_aerosol_sd2m_extfc(const output_segment_general *output)
Definition: grasp_output_segment_result.c:94
int grasp_output_segment_retrieval_information_nwl(const output_segment_general *output)
Definition: grasp_output_segment_result.c:185
float grasp_output_segment_aerosol_phmx_ph44(const output_segment_general *output, int ipix, int iwl, int impar, int isd)
Definition: grasp_output_segment_result.c:296
int nchem[_KSD]
Definition: grasp_output_segment_result.h:105
Definition: grasp_output_segment_result.h:206
float grasp_output_segment_surface_bhr_iso(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:442
float grasp_output_segment_aerosol_chem_rh(const output_segment_general *output, int ipix, int isd)
Definition: grasp_output_segment_result.c:404
Definition: grasp_output_segment_result.h:420
output_segment_products products
Definition: grasp_output_segment_result.h:499
struct output_segment_rad_forcing_ output_segment_rad_forcing
float dhr
Definition: grasp_output_segment_result.h:315
bool grasp_output_segment_products_errest_aerosol_lidar(const output_segment_general *output)
Definition: grasp_output_segment_result.c:90
output_segment_forcing forcing
Definition: grasp_output_segment_result.h:357
float grasp_output_segment_errest_aerosol_sd2m_extfc_bias_coarse_mode(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:595
float pm[2]
Definition: grasp_output_segment_result.h:272
Definition: grasp_output_segment_result.h:301
Definition: grasp_output_segment_result.h:152
int nbrm
Definition: grasp_output_segment_result.h:108
float grasp_output_segment_errest_par_biasp(const output_segment_general *output, int ipix, int ipar)
Definition: grasp_output_segment_result.c:452
Definition: grasp_output_segment_result.h:67
float grasp_output_segment_aerosol_rind_mreal(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:260
float abs[_NMG+1]
Definition: grasp_output_segment_result.h:298
output_pixel_types pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:292
float grasp_output_segment_surface_ndvi(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:434
output_pixel_err_estim_particles_sd2m_extfc_wl wl[_KW]
Definition: grasp_output_segment_result.h:461
float res
Definition: grasp_output_segment_result.h:54
Definition: grasp_output_segment_result.h:59
struct output_segment_ph_matrix_ output_segment_ph_matrix
float resa[_KKNOISE]
Definition: grasp_output_segment_result.h:55
output_segment_PM pm
Definition: grasp_output_segment_result.h:492
struct output_pixel_err_estim_particles_lidar_wl_ output_pixel_err_estim_particles_lidar_wl
float grasp_output_segment_errest_aerosol_lidar_err_lr(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:538
float grasp_output_segment_aerosol_sd2m_mph_reff_fine_mode(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:376
float grasp_output_segment_errest_aerosol_opt_err_aextt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:526
float ERR_ext[2]
Definition: grasp_output_segment_result.h:455
Definition: grasp_output_segment_result.h:391
Definition: grasp_output_segment_result.h:261
output_segment_opt opt
Definition: grasp_output_segment_result.h:486
Definition: grasp_output_segment_result.h:340
float grasp_output_segment_aerosol_sd2m_mph_cv(const output_segment_general *output, int ipix, int i)
Definition: grasp_output_segment_result.c:344
float ERR_lr[_KSD]
Definition: grasp_output_segment_result.h:421
struct output_segment_surface_ output_segment_surface
struct output_segment_retrieval_ output_segment_retrieval
output_pixel_residual pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:64
float vfract[_KSD][_N_CHEM_MAX]
Definition: grasp_output_segment_result.h:227
const sensor_data_t * grasp_output_segment_retrieval_fit_segment_fit(const output_segment_general *output)
Definition: grasp_output_segment_result.c:160
Definition: grasp_output_segment_result.h:125
float ph22_cut_off[4][_KSD+1][_KMpar]
Definition: grasp_output_segment_result.h:188
output_segment_err_estim_particles_mic mic
Definition: grasp_output_segment_result.h:472
float grasp_output_segment_retrieval_res_pixel_resa(const output_segment_general *output, int ipix, int inoise)
Definition: grasp_output_segment_result.c:144
int64_t t_masl
Definition: grasp_output_segment_result.h:114
float grasp_output_segment_errest_aerosol_opt_err_extt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:478
int grasp_output_segment_gases_absorption(const output_segment_general *output, int ipix, int iwl, int ngas)
Definition: grasp_output_segment_result.c:428
int grasp_output_segment_retrieval_res_pixel_niter(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:136
float ldprt
Definition: grasp_output_segment_result.h:211
float ph44[_KSD][_KMpar]
Definition: grasp_output_segment_result.h:177
Definition: grasp_output_segment_result.h:297
output_pixel_gases pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:306
float BRF[_KBF][_KW]
Definition: grasp_output_segment_result.h:78
struct output_segment_residual_ output_segment_residual
int idim1[3]
Definition: grasp_output_segment_result.h:382
float grasp_output_segment_retrieval_res_pixel_res(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:140
Definition: grasp_output_segment_result.h:214
float grasp_output_segment_aerosol_phmx_ph33(const output_segment_general *output, int ipix, int iwl, int impar, int isd)
Definition: grasp_output_segment_result.c:288
struct output_pixel_forcing_ output_pixel_forcing
float grasp_output_segment_errest_aerosol_opt_bias_extt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:482
output_pixel_rindex pixel[_KIMAGE]
Definition: grasp_output_segment_result.h:167
Definition: grasp_output_segment_result.h:52
float ph34_cut_off[4][_KSD+1][_KMpar]
Definition: grasp_output_segment_result.h:190
float grasp_output_segment_errest_par_tstdp(const output_segment_general *output, int ipix, int ipar)
Definition: grasp_output_segment_result.c:456
int nhlv
Definition: grasp_output_segment_result.h:99
int grasp_output_segment_aerosol_phmx_nangle(const output_segment_general *output)
Definition: grasp_output_segment_result.c:268
struct output_segment_gases_ output_segment_gases
Definition: grasp_output_segment_result.h:157
float grasp_output_segment_coord_pixel_x(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:106
float resrt[_KKNOISE]
Definition: grasp_output_segment_result.h:63
float grasp_output_segment_aerosol_sd2m_mph_rm_fine_mode(const output_segment_general *output, int ipix)
Definition: grasp_output_segment_result.c:372
bool grasp_output_segment_products_errest_par(const output_segment_general *output)
Definition: grasp_output_segment_result.c:77
Definition: grasp_output_segment_result.h:265
float grasp_output_segment_errest_aerosol_opt_err_ssat(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:502
float grasp_output_segment_errest_aerosol_opt_bias_ssa(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:494
Definition: grasp_output_segment_result.h:460
output_pixel_err_estim_particles_opt_wl wl[_KW]
Definition: grasp_output_segment_result.h:413
float grasp_output_segment_forcing_forcing_hlv(const output_segment_general *output, int ipix, int iknt)
Definition: grasp_output_segment_result.c:640
float y_lat
Definition: grasp_output_segment_result.h:113
struct output_segment_err_estim_particles_ output_segment_err_estim_particles
Definition: grasp_output_segment_result.h:288
float grasp_output_segment_aerosol_phmx_ph11(const output_segment_general *output, int ipix, int iwl, int impar, int isd)
Definition: grasp_output_segment_result.c:276
float forceff[_KNT]
Definition: grasp_output_segment_result.h:347
par_number_NDIM ndim_plus
Definition: grasp_output_segment_result.h:104
Definition: grasp_output_segment_result.h:271
Definition: grasp_output_segment_result.h:485
float grasp_output_segment_aerosol_opt_ext(const output_segment_general *output, int ipix, int iwl, int isd)
Definition: grasp_output_segment_result.c:248
struct output_segment_retr_par_ output_segment_retr_par
Definition: grasp_output_segment_result.h:464
float pht11[_KMpar]
Definition: grasp_output_segment_result.h:179
float grasp_output_segment_forcing_forcing_netforc(const output_segment_general *output, int ipix, int iknt)
Definition: grasp_output_segment_result.c:632
float grasp_output_segment_aerosol_lidar_ldprt(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:340
float grasp_output_segment_forcing_bbflux_bbufx0(const output_segment_general *output, int ipix, int iknt)
Definition: grasp_output_segment_result.c:608
float grasp_output_segment_errest_aerosol_opt_bias_ssat(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:506
struct output_pixel_err_estim_particles_opt_wl_ output_pixel_err_estim_particles_opt_wl
float grasp_output_segment_aerosol_sd2m_mph_reff(const output_segment_general *output, int ipix, int i)
Definition: grasp_output_segment_result.c:356
bool grasp_output_segment_products_aerosol_pm(const output_segment_general *output)
Definition: grasp_output_segment_result.c:61
float reff[3]
Definition: grasp_output_segment_result.h:246
int niter
Definition: grasp_output_segment_result.h:60
float pht12[_KMpar]
Definition: grasp_output_segment_result.h:180
float grasp_output_segment_aerosol_phmx_pht22(const output_segment_general *output, int ipix, int iwl, int impar)
Definition: grasp_output_segment_result.c:308
float sd_lb[_KCpar][_NRR]
Definition: grasp_output_segment_result.h:98
Definition: grasp_output_segment_result.h:274
sensor_data_t segment_fit
Definition: grasp_output_segment_result.h:122
int grasp_output_segment_retrieval_information_nsd(const output_segment_general *output)
Definition: grasp_output_segment_result.c:173
float grasp_output_segment_errest_aerosol_opt_tstd_ssat(const output_segment_general *output, int ipix, int iwl)
Definition: grasp_output_segment_result.c:510
output_pixel_surface_wl wl[_KW]
Definition: grasp_output_segment_result.h:321
float grasp_output_segment_retrieval_res_resrt(const output_segment_general *output, int inoise)
Definition: grasp_output_segment_result.c:132