NASA Logo
Ocean Color Science Software

ocssw V2022
l1c_bin.cpp
Go to the documentation of this file.
1 // bin_L1C.cpp
2 //
3 //
4 // Created by Martin Montes on 1/30/2023
5 #include "l1c_bin.h"
6 #include <iostream>
7 #include <string>
8 #include "l1c_filehandle.h"
9 #include <stdlib.h>
10 #include <stdio.h>
11 #include <math.h>
12 #include <stdbool.h>
13 #include <stdint.h>
14 #include <netcdf.h>
15 #include <nc4utils.h>
16 #include "libnav.h"
17 #include <timeutils.h>
18 #include <genutils.h>
19 #include <allocate4d.h>
20 #include <allocate3d.h>
21 #include <allocate2d.h>
22 #include <l1.h>
23 
24 // static float *Fobar; // reflectance to radiance conversion factors
25 // static int extract_pixel_start = 0;
26 
27 // static short *tmpShort;
28 
29 // whole file stuff
30 // static size_t expected_num_blue_bands = 60; //120;
31 // static size_t expected_num_red_bands = 60; //120;
32 // static size_t expected_num_SWIR_bands = 9;
33 
34 // static size_t nviews;
35 // static size_t nbands;
36 // static size_t num_scans, num_pixels;
37 
38 // static size_t tot_num_bands = 123; //238;
39 
40 // scan line attributes
41 
42 // static int32_t scan_time_hour,scan_time_min;
43 // static double scan_time_secs;
44 
45 // static uint_8 *scan_quality;
46 
47 // geolocation data
48 
49 // Observation data
50 
51 namespace l1c {
52 
54  // global attributes
55  num_gridlines = -1;
56  nbinx = 1;
57  nrec_2D = nullptr; // row/col
58  nrec_3D = nullptr; // row/col/view
59 
60  // OCIS binned
61  diff_h2 = nullptr; // row/col
62  sca_3D = nullptr; // row/col/view
63  QC_bitwise_4D = nullptr; // row/col/view/bands
64  QC_3D = nullptr; // row/col/view
65  I_4D = nullptr; // row/col/view/bands
66  I_noise_4D = nullptr;
67 
68  // OCIS line by line
69  obs_per_view = nullptr;
70  QC_bitwise = nullptr;
71  QC = nullptr;
72  I = nullptr;
73  I_noise = nullptr;
74 
75  l1file = nullptr;
76 
77  // ancill info?
78 }
79 
81 }
82 
83 int32_t bin_L1C::open_binvars(bin_L1C *binstr, l1c_filehandle *l1cfile) {
84  return 0;
85 }
86 
87 int32_t bin_L1C::read_binvars(bin_L1C *binstr, l1c_filehandle *l1cfile, int32_t recnum) {
88  return 0;
89 }
90 
92  return 0;
93 }
94 
95 } // namespace l1c
Utility functions for allocating and freeing three-dimensional arrays of various types.
float ** diff_h2
Definition: l1c_bin.h:35
short * obs_per_view
Definition: l1c_bin.h:43
float * QC_bitwise
Definition: l1c_bin.h:44
float **** I_noise_4D
Definition: l1c_bin.h:40
float * I_noise
Definition: l1c_bin.h:47
float *** sca_3D
Definition: l1c_bin.h:36
int16_t num_gridlines
Definition: l1c_bin.h:29
virtual ~bin_L1C()
Definition: l1c_bin.cpp:80
virtual int32_t open_binvars(bin_L1C *binstr, l1c_filehandle *l1cfile)
Definition: l1c_bin.cpp:83
float *** QC_3D
Definition: l1c_bin.h:38
read recnum
Utility functions for allocating and freeing four-dimensional arrays of various types.
filehandle * l1file
Definition: l1c_bin.h:49
Definition: l1c.cpp:71
Utility functions for allocating and freeing two-dimensional arrays of various types.
float * QC
Definition: l1c_bin.h:45
virtual int32_t read_binvars(bin_L1C *binstr, l1c_filehandle *l1cfile, int32_t recnum)
Definition: l1c_bin.cpp:87
size_t ** nrec_2D
Definition: l1c_bin.h:31
float **** QC_bitwise_4D
Definition: l1c_bin.h:37
float * I
Definition: l1c_bin.h:46
virtual int32_t close_binvars_l1c(bin_L1C *binstr, l1c_filehandle *l1cfile)
Definition: l1c_bin.cpp:91
size_t *** nrec_3D
Definition: l1c_bin.h:32
int16_t nbinx
Definition: l1c_bin.h:30
float **** I_4D
Definition: l1c_bin.h:39