NASA Logo
Ocean Color Science Software

ocssw V2022
l1agen_oci.cpp File Reference
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <unistd.h>
#include <regex>
#include <sstream>
#include <fstream>
#include <iomanip>
#include <getopt.h>
#include <libgen.h>
#include <boost/algorithm/string.hpp>
#include "nc4utils.h"
#include "global_attrs.h"
#include "l1agen_oci.h"
#include "genutils.h"
#include "l0stream.hpp"
Include dependency graph for l1agen_oci.cpp:

Go to the source code of this file.

Macros

#define VERSION   "1.18.00_2024-06-12"
 

Functions

int ccsds_sec_to_yds (uint8_t *cctime, int32_t *iyear, int32_t *iday, double *sec)
 
void print_usage ()
 
void verify_packet_len (L0Stream *tfileStream, uint32_t &len, uint32_t apid, int32_t endfile, bool isSPW)
 
int main (int argc, char *argv[])
 
int make_oci_line_index (itab *itable, int16_t *cindex, int16_t *sindex, int16_t *cdindex, int16_t *sdindex, int16_t *swir_loff)
 
int unpack_oci_sci (uint32_t npkts, int32_t spin, uint16_t ncps, uint16_t nsps, uint16_t msps, uint16_t &nbands, uint16_t btaps[16], uint16_t rtaps[16], uint8_t(*pbuffer)[PKTSIZE], uint16_t **bbands, uint16_t **rbands, uint32_t **sbands, int16_t *blines, int16_t *rlines, int16_t *slines, uint16_t &btype, uint16_t bagg[16], uint16_t &rtype, uint16_t ragg[16], int8_t *sfrm, int &iret)
 
int unpack_ccd_packet (uint8_t *packet, uint16_t btaps[16], uint16_t rtaps[16], uint16_t &ccdid, uint32_t &line, uint16_t &dtype, uint16_t &iagg, uint16_t jagg[16], uint16_t &nbands, uint16_t **ccddata, uint16_t ossdata[16])
 
int unpack_swir_packet (uint8_t *packet, int16_t *slines, uint8_t *swirfrm, uint32_t *swirdata)
 
int check_load_oci_data (short dtype, uint16_t ncpt, uint16_t nspt0, uint16_t ndcs, uint16_t ndss, uint16_t nbbs, uint16_t nrbs, uint16_t nswb, int16_t *cindex, int16_t *sindex, int16_t *cdindex, int16_t *sdindex, uint16_t **bbands, uint16_t **rbands, uint32_t **sbands, int16_t *blines, int16_t *rlines, int16_t *slines, uint16_t **bsci, uint16_t **rsci, uint32_t **ssci, uint16_t **bdark, uint16_t **rdark, uint32_t **sdark, int8_t &linerr, int &icheck)
 
uint8_t check_sum (int32_t nc, uint8_t *dat, uint8_t *chk)
 
int find_nav_index (char *hkt_t_start, double usec_l1a_start, double usec_l1a_end, double *nav_t, size_t n_nav, int &ind_start, int &ind_end)
 
int createNCDF (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, const char *reference, double low, double high, int nt, vector< NcDim > &varVec)
 
int eight20 (uint8_t *inbytes, uint32_t *outsamples)
 

Variables

ofstream tempOut
 

Macro Definition Documentation

◆ VERSION

#define VERSION   "1.18.00_2024-06-12"

Definition at line 50 of file l1agen_oci.cpp.

Function Documentation

◆ ccsds_sec_to_yds()

int ccsds_sec_to_yds ( uint8_t *  cctime,
int32_t *  iyear,
int32_t *  iday,
double *  sec 
)

Definition at line 27 of file l1agen_oci.cpp.

◆ check_load_oci_data()

int check_load_oci_data ( short  dtype,
uint16_t  ncpt,
uint16_t  nspt0,
uint16_t  ndcs,
uint16_t  ndss,
uint16_t  nbbs,
uint16_t  nrbs,
uint16_t  nswb,
int16_t *  cindex,
int16_t *  sindex,
int16_t *  cdindex,
int16_t *  sdindex,
uint16_t **  bbands,
uint16_t **  rbands,
uint32_t **  sbands,
int16_t *  blines,
int16_t *  rlines,
int16_t *  slines,
uint16_t **  bsci,
uint16_t **  rsci,
uint32_t **  ssci,
uint16_t **  bdark,
uint16_t **  rdark,
uint32_t **  sdark,
int8_t &  linerr,
int &  icheck 
)

Definition at line 1533 of file l1agen_oci.cpp.

◆ check_sum()

uint8_t check_sum ( int32_t  nc,
uint8_t *  dat,
uint8_t *  chk 
)

Definition at line 1787 of file l1agen_oci.cpp.

◆ createNCDF()

int createNCDF ( 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,
const char *  reference,
double  low,
double  high,
int  nt,
vector< NcDim > &  varVec 
)

Definition at line 3889 of file l1agen_oci.cpp.

◆ eight20()

int eight20 ( uint8_t *  inbytes,
uint32_t *  outsamples 
)

Definition at line 4250 of file l1agen_oci.cpp.

◆ find_nav_index()

int find_nav_index ( char *  hkt_t_start,
double  usec_l1a_start,
double  usec_l1a_end,
double *  nav_t,
size_t  n_nav,
int &  ind_start,
int &  ind_end 
)

Definition at line 3370 of file l1agen_oci.cpp.

◆ main()

int main ( int  argc,
char *  argv[] 
)

An implementation of a Lon/Lat to UTM zone code written by Chuck Gantz chuck.nosp@m..gan.nosp@m.tz@gl.nosp@m.obal.nosp@m.star..nosp@m.com ...in 1998...found on http://www.gpsy.com/gpsinfo/geotoutm/, a site published by Karen Nakamura, last updated 22 June 2000.

Minor modifications to the code were made to eliminate deprecation warnings

Definition at line 191 of file l1agen_oci.cpp.

◆ make_oci_line_index()

int make_oci_line_index ( itab itable,
int16_t *  cindex,
int16_t *  sindex,
int16_t *  cdindex,
int16_t *  sdindex,
int16_t *  swir_loff 
)

Definition at line 1150 of file l1agen_oci.cpp.

◆ print_usage()

void print_usage ( )

Definition at line 161 of file l1agen_oci.cpp.

◆ unpack_ccd_packet()

int unpack_ccd_packet ( uint8_t *  packet,
uint16_t  btaps[16],
uint16_t  rtaps[16],
uint16_t &  ccdid,
uint32_t &  line,
uint16_t &  dtype,
uint16_t &  iagg,
uint16_t  jagg[16],
uint16_t &  nbands,
uint16_t **  ccddata,
uint16_t  ossdata[16] 
)

Definition at line 1431 of file l1agen_oci.cpp.

◆ unpack_oci_sci()

int unpack_oci_sci ( uint32_t  npkts,
int32_t  spin,
uint16_t  ncps,
uint16_t  nsps,
uint16_t  msps,
uint16_t &  nbands,
uint16_t  btaps[16],
uint16_t  rtaps[16],
uint8_t(*)  pbuffer[PKTSIZE],
uint16_t **  bbands,
uint16_t **  rbands,
uint32_t **  sbands,
int16_t *  blines,
int16_t *  rlines,
int16_t *  slines,
uint16_t &  btype,
uint16_t  bagg[16],
uint16_t &  rtype,
uint16_t  ragg[16],
int8_t *  sfrm,
int &  iret 
)

Definition at line 1243 of file l1agen_oci.cpp.

◆ unpack_swir_packet()

int unpack_swir_packet ( uint8_t *  packet,
int16_t *  slines,
uint8_t *  swirfrm,
uint32_t *  swirdata 
)

Definition at line 1501 of file l1agen_oci.cpp.

◆ verify_packet_len()

void verify_packet_len ( L0Stream tfileStream,
uint32_t &  len,
uint32_t  apid,
int32_t  endfile,
bool  isSPW 
)

Definition at line 183 of file l1agen_oci.cpp.

Variable Documentation

◆ tempOut

ofstream tempOut

Definition at line 181 of file l1agen_oci.cpp.