OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
common.h
Go to the documentation of this file.
1 #include <iostream>
2 #include <stdint.h>
3 #include <stdlib.h>
4 #include <cmath>
5 #include <vector>
6 #include <netcdf>
7 #include <sstream>
8 
9 typedef struct {
10  double master_clock;
11  double MCE_clock;
12 
13  double sc_to_tilt[3][3];
14  double tilt_axis[3];
15  double tilt_angles[2];
16  double tilt_to_oci_mech[3][3];
17  double oci_mech_to_oci_opt[3][3];
18  double rta_axis[3];
19  double ham_axis[3];
20  double ham_at_angles[2];
21  double ham_ct_angles[2];
22  double rta_enc_scale;
23  double ham_enc_scale;
24 
25  int32_t rta_nadir;
26 } geo_struct;
27 
28 
29 int get_ev( double secpline, int16_t *dtype, int16_t *lines, int16_t *iagg,
30  uint16_t& pcdim, uint16_t& psdim, double& ev_toff,
31  float *clines, float *slines, double *deltc, double *delts,
32  int16_t& iret);
33 
34 int get_oci_vecs( uint32_t nscan, uint16_t pdim, geo_struct& geoLUT,
35  double ev_toff, int32_t spin, float *slines, double *delt,
36  double revpsec, int32_t ppr_off, int32_t *mspin,
37  int32_t *ot_10us, uint8_t *enc_count, float **hamenc,
38  float **rtaenc, float **pview, double *theta, int16_t& iret);
39 
40 int createField( netCDF::NcGroup &ncGrp, const char *sname, const char *lname,
41  const char *standard_name, const char *units,
42  void *fill_value, const char *flag_values,
43  const char *flag_meanings,
44  double low, double high, int nt,
45  std::vector<netCDF::NcDim>& varVec);
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)
void spin(double st, double *pos1, double *pos2)
int get_oci_vecs(uint32_t nscan, uint16_t pdim, geo_struct &geoLUT, double ev_toff, int32_t spin, float *slines, double *delt, double revpsec, int32_t ppr_off, int32_t *mspin, int32_t *ot_10us, uint8_t *enc_count, float **hamenc, float **rtaenc, float **pview, double *theta, int16_t &iret)
Definition: common.cpp:56
int32 nscan
Definition: l1_czcs_hdf.c:19
double ham_enc_scale
Definition: common.h:23
double rta_enc_scale
Definition: common.h:22
int32_t rta_nadir
Definition: common.h:25
double MCE_clock
Definition: common.h:11
double master_clock
Definition: common.h:10
int get_ev(double secpline, int16_t *dtype, int16_t *lines, int16_t *iagg, uint16_t &pcdim, uint16_t &psdim, double &ev_toff, float *clines, float *slines, double *deltc, double *delts, int16_t &iret)
Definition: common.cpp:7
dtype
Definition: DDataset.hpp:31
These two strings are used for the product XML output If product_id is not set then prefix is used If the last char of the name_prefix is _ then it is removed If algorithm_id is not set then name_suffix is used If the first char is _ then it is removed l2prod standard_name[0]