NASA Logo
Ocean Color Science Software

ocssw V2022
l1bgen_oci.h File Reference
#include <stdint.h>
#include <fstream>
#include <timeutils.h>
#include <netcdf>
#include <vector>
#include "common.h"
#include <gsl/gsl_fit.h>
Include dependency graph for l1bgen_oci.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cal_lut_struct
 
struct  gains_struct
 
class  l1bFile
 

Macros

#define NBWAVE   512
 
#define NRWAVE   512
 
#define NIWAVE   9
 
#define SWAP_2(x)   ( (((x) & 0xff) << 8) | ((unsigned short)(x) >> 8) )
 
#define SWAP_4(x)
 

Functions

int read_oci_cal_lut (netCDF::NcFile *calLUTfile, std::string tag, netCDF::NcGroup gidLUT, uint32_t &banddim, uint32_t mcedim, uint32_t &nldim, uint32_t &poldim, cal_lut_struct &cal_lut)
 
int make_oci_gains (uint32_t nib, uint32_t banddim, uint16_t iyr, uint32_t jd, double stime, size_t numTimes, double *K2t, int16_t board_id, int16_t iagg, int16_t *jagg, cal_lut_struct &cal_lut, float **gmat, gains_struct &gains)
 
int createField (netCDF::NcGroup &ncGrp, const char *sname, const char *lname, const char *standard_name, const char *units, void *fill_value, const char *flag_values, const char *flag_meanings, double low, double high, int nt, std::vector< netCDF::NcDim > &varVec)
 
template<typename T >
int get_oci_dark (size_t iscn, uint32_t nscan, uint8_t *hside, uint16_t ndsc, uint16_t nskp, int16_t iags, int16_t iagd, uint32_t ntaps, int16_t *jagg, uint32_t dfill, int16_t ndc, T ***dark, uint32_t nib, float *dc, int16_t &iret)
 
int get_oci_temp_corr (uint32_t nib, gains_struct gains, float *K3T, float *caltemps, uint32_t nscan, float *k3)
 
int get_oci_rvs_corr (uint32_t nib, uint16_t pdim, uint8_t hside, gains_struct gains, double *theta, float **k4)
 
int get_oci_lin_corr (uint32_t nib, uint16_t pdim, uint32_t nldim, gains_struct gains, float **dn, float **k5)
 
int get_oci_cal_temps (netCDF::NcFile *l1afile, netCDF::NcGroup edid, uint16_t ntemps, uint32_t nscan, double *evtime, float **caltemps)
 
template<typename T >
T *** make3dT (size_t dims[3])
 
template<typename T >
T **** make4dT (size_t dims[4])
 
int expandEnvVar (std::string *sValue)
 

Macro Definition Documentation

◆ NBWAVE

#define NBWAVE   512

Definition at line 14 of file l1bgen_oci.h.

◆ NIWAVE

#define NIWAVE   9

Definition at line 16 of file l1bgen_oci.h.

◆ NRWAVE

#define NRWAVE   512

Definition at line 15 of file l1bgen_oci.h.

◆ SWAP_2

#define SWAP_2 (   x)    ( (((x) & 0xff) << 8) | ((unsigned short)(x) >> 8) )

Definition at line 42 of file l1bgen_oci.h.

◆ SWAP_4

#define SWAP_4 (   x)
Value:
( ((x) << 24) | \
(((x) << 8) & 0x00ff0000) | \
(((x) >> 8) & 0x0000ff00) | \
((x) >> 24) )

Definition at line 44 of file l1bgen_oci.h.

Function Documentation

◆ createField()

int createField ( netCDF::NcGroup &  ncGrp,
const char *  sname,
const char *  lname,
const char *  standard_name,
const char *  units,
void *  fill_value,
const char *  flag_values,
const char *  flag_meanings,
double  low,
double  high,
int  nt,
std::vector< netCDF::NcDim > &  varVec 
)

◆ expandEnvVar()

int expandEnvVar ( std::string sValue)
inline

Definition at line 129 of file l1bgen_oci.h.

◆ get_oci_cal_temps()

int get_oci_cal_temps ( netCDF::NcFile *  l1afile,
netCDF::NcGroup  edid,
uint16_t  ntemps,
uint32_t  nscan,
double *  evtime,
float **  caltemps 
)

◆ get_oci_dark()

int get_oci_dark ( size_t  iscn,
uint32_t  nscan,
uint8_t *  hside,
uint16_t  ndsc,
uint16_t  nskp,
int16_t  iags,
int16_t  iagd,
uint32_t  ntaps,
int16_t *  jagg,
uint32_t  dfill,
int16_t  ndc,
T ***  dark,
uint32_t  nib,
float *  dc,
int16_t &  iret 
)

Definition at line 1795 of file l1bgen_oci.cpp.

◆ get_oci_lin_corr()

int get_oci_lin_corr ( uint32_t  nib,
uint16_t  pdim,
uint32_t  nldim,
gains_struct  gains,
float **  dn,
float **  k5 
)

Definition at line 1950 of file l1bgen_oci.cpp.

◆ get_oci_rvs_corr()

int get_oci_rvs_corr ( uint32_t  nib,
uint16_t  pdim,
uint8_t  hside,
gains_struct  gains,
double *  theta,
float **  k4 
)

Definition at line 1931 of file l1bgen_oci.cpp.

◆ get_oci_temp_corr()

int get_oci_temp_corr ( uint32_t  nib,
gains_struct  gains,
float *  K3T,
float *  caltemps,
uint32_t  nscan,
float *  k3 
)

Definition at line 1911 of file l1bgen_oci.cpp.

◆ make3dT()

T*** make3dT ( size_t  dims[3])

Definition at line 2122 of file l1bgen_oci.cpp.

◆ make4dT()

T**** make4dT ( size_t  dims[4])

Definition at line 2141 of file l1bgen_oci.cpp.

◆ make_oci_gains()

int make_oci_gains ( uint32_t  nib,
uint32_t  banddim,
uint16_t  iyr,
uint32_t  jd,
double  stime,
size_t  numTimes,
double *  K2t,
int16_t  board_id,
int16_t  iagg,
int16_t *  jagg,
cal_lut_struct cal_lut,
float **  gmat,
gains_struct gains 
)

Definition at line 1646 of file l1bgen_oci.cpp.

◆ read_oci_cal_lut()

int read_oci_cal_lut ( netCDF::NcFile *  calLUTfile,
std::string  tag,
netCDF::NcGroup  gidLUT,
uint32_t &  banddim,
uint32_t  mcedim,
uint32_t &  nldim,
uint32_t &  poldim,
cal_lut_struct cal_lut 
)