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");