7 dest->npix = src->npix;
8 dest->length = src->length;
9 dest->iscan = src->iscan;
10 dest->detnum = src->detnum;
11 dest->mside = src->mside;
12 dest->scantime = src->scantime;
13 dest->margin_s = src->margin_s;
14 dest->fsol = src->fsol;
15 dest->tilt = src->tilt;
17 dest->is_l2 = src->is_l2;
19 dest->scn_fmt = src->scn_fmt;
20 dest->margin_s = src->margin_s;
22 memcpy(
dest->data, src->data,
dest->length);
24 if (
dest->uncertainty)
25 memcpy(
dest->uncertainty->data, src->uncertainty->data,
dest->uncertainty->length);
27 if (src->geom_per_band) {
28 int32_t
nbands = src->l1file->nbands;
29 int32_t
npix = src->npix;
31 if (!
dest->geom_per_band)
34 memcpy(
dest->geom_per_band->senz, src->geom_per_band->senz,
npix *
nbands * sizeof (
float));
35 memcpy(
dest->geom_per_band->sena, src->geom_per_band->sena,
npix *
nbands * sizeof (
float));
36 memcpy(
dest->geom_per_band->csenz, src->geom_per_band->csenz,
npix *
nbands * sizeof (
float));
37 memcpy(
dest->geom_per_band->solz, src->geom_per_band->solz,
npix *
nbands * sizeof (
float));
38 memcpy(
dest->geom_per_band->sola, src->geom_per_band->sola,
npix *
nbands * sizeof (
float));
39 memcpy(
dest->geom_per_band->csolz, src->geom_per_band->csolz,
npix *
nbands * sizeof (
float));
40 memcpy(
dest->geom_per_band->scattang, src->geom_per_band->scattang,
npix *
nbands * sizeof (
float));
41 memcpy(
dest->geom_per_band->delphi, src->geom_per_band->delphi,
npix *
nbands * sizeof (
float));
43 if (
dest->geom_per_band) {
44 printf(
"-W- cpl1rec - Copying from empty to allocated geom_per_band\n");
49 int32_t
npix = src->npix;
50 int32_t nlvl = src->anc_add->nlvl;
55 memcpy(
dest->anc_add->prof_temp, src->anc_add->prof_temp,
56 npix * nlvl * sizeof (
float));
57 memcpy(
dest->anc_add->prof_rh, src->anc_add->prof_rh,
58 npix * nlvl * sizeof (
float));
59 memcpy(
dest->anc_add->prof_height, src->anc_add->prof_height,
60 npix * nlvl * sizeof (
float));
61 memcpy(
dest->anc_add->prof_q, src->anc_add->prof_q,
62 npix * nlvl * sizeof (
float));
63 memcpy(
dest->anc_add->prof_o3, src->anc_add->prof_o3,
64 npix * nlvl * sizeof (
float));
67 printf(
"-W- cpl1rec - Copying from empty to allocated anc_add\n");
71 if (src->anc_aerosol) {
73 int32_t
npix = src->npix;
75 if (!
dest->anc_aerosol)
78 memcpy(
dest->anc_aerosol->black_carbon_ext, src->anc_aerosol->black_carbon_ext,
79 npix * sizeof (
float));
80 memcpy(
dest->anc_aerosol->black_carbon_scat, src->anc_aerosol->black_carbon_scat,
81 npix * sizeof (
float));
82 memcpy(
dest->anc_aerosol->dust_ext, src->anc_aerosol->dust_ext,
83 npix * sizeof (
float));
84 memcpy(
dest->anc_aerosol->dust_scat, src->anc_aerosol->dust_scat,
85 npix * sizeof (
float));
86 memcpy(
dest->anc_aerosol->organic_carbon_ext, src->anc_aerosol->organic_carbon_ext,
87 npix * sizeof (
float));
88 memcpy(
dest->anc_aerosol->organic_carbon_scat, src->anc_aerosol->organic_carbon_scat,
89 npix * sizeof (
float));
90 memcpy(
dest->anc_aerosol->sea_salt_ext, src->anc_aerosol->sea_salt_ext,
91 npix * sizeof (
float));
92 memcpy(
dest->anc_aerosol->sea_salt_scat, src->anc_aerosol->sea_salt_scat,
93 npix * sizeof (
float));
94 memcpy(
dest->anc_aerosol->sulphur_ext, src->anc_aerosol->sulphur_ext,
95 npix * sizeof (
float));
96 memcpy(
dest->anc_aerosol->sulphur_scat, src->anc_aerosol->sulphur_scat,
97 npix * sizeof (
float));
98 memcpy(
dest->anc_aerosol->total_aerosol_ext, src->anc_aerosol->total_aerosol_ext,
99 npix * sizeof (
float));
100 memcpy(
dest->anc_aerosol->total_aerosol_scat, src->anc_aerosol->total_aerosol_scat,
101 npix *
sizeof(
float));
102 memcpy(
dest->anc_aerosol->total_aerosol_angstrom, src->anc_aerosol->total_aerosol_angstrom,
103 npix * sizeof (
float));
106 if (
dest->anc_aerosol) {
107 printf(
"-W- cpl1rec - Copying from empty to allocated anc_aerosol\n");
113 int32_t
npix = src->npix;
118 memcpy(
dest->cld_dat->sfc_albedo_659, src->cld_dat->sfc_albedo_659,
119 npix *
sizeof(
float ));
120 memcpy(
dest->cld_dat->sfc_albedo_858, src->cld_dat->sfc_albedo_858,
121 npix *
sizeof(
float ));
122 memcpy(
dest->cld_dat->sfc_albedo_1240, src->cld_dat->sfc_albedo_1240,
123 npix *
sizeof(
float ));
124 memcpy(
dest->cld_dat->sfc_albedo_1640, src->cld_dat->sfc_albedo_1640,
125 npix *
sizeof(
float ));
126 memcpy(
dest->cld_dat->sfc_albedo_2130, src->cld_dat->sfc_albedo_2130,
127 npix *
sizeof(
float ));
128 memcpy(
dest->cld_dat->cth_alb_init, src->cld_dat->cth_alb_init,
129 npix *
sizeof(
float ));
130 memcpy(
dest->cld_dat->cth_alb_unc_init, src->cld_dat->cth_alb_unc_init,
131 npix *
sizeof(
float ));
134 printf(
"-W- cpl1rec - Copying from empty to allocated cld_dat\n");
139 const float *time_range = src->cld_rad->timecldrange;
140 size_t timesize = src->cld_rad->ntimes;
141 size_t npix = src->npix;
142 if (!
dest->cld_rad) {
145 for (
size_t ip = 0; ip <
npix; ip++) {
146 memcpy(
dest->cld_rad->taucld[ip], src->cld_rad->taucld[ip], timesize *
sizeof(
float));
147 memcpy(
dest->cld_rad->cfcld[ip], src->cld_rad->cfcld[ip], timesize *
sizeof(
float));
151 printf(
"-W- cpl1rec - Copying from empty to allocated cld_rad\n");