NASA Logo
Ocean Color Science Software

ocssw V2022
anc_acq.h
Go to the documentation of this file.
1 #ifndef _ANC_ACQ_PROTO
2 #define _ANC_ACQ_PROTO
3 
4 #include <gsl/gsl_errno.h>
5 #include <gsl/gsl_interp2d.h>
6 #include <gsl/gsl_spline2d.h>
7 
8 /* define calls for the anc_acq here */
9 /* interpolation structure for one level, param, time */
10 typedef struct gen_int_str_def {
11  gsl_spline2d *int_id;
12  gsl_interp_accel *accel_lon, *accel_lat;
13  double anc_time;
14  double *lat_coord, *lon_coord;
15  unsigned char *qual;
16  int32_t nlon, nlat; /* sizes involved */
17 } gen_int_str;
18 
19 int anc_acq_init(instr *, l1str *, int32_t *);
20 int32_t anc_acq_ck(char *, char *);
21 int32_t anc_acq_ecmwf_init(char **, char **, int, int32_t);
22 int anc_acq_lin_olci(int, char *, l1str *);
23 int anc_acq_lin(int32_t, l1str *);
24 int32_t anc_acq_f_stat(char **, char, int32_t);
25 float anc_miss_fill(int32_t);
26 float bilin_interp(float *, int, int, int, float, float);
27 int64_t jd4713bc_get_jd(int32_t, int32_t, int32_t);
28 int jd4713bc_get_date(int64_t, int32_t *, int32_t *, int32_t *);
29 int32_t anc_acq_read_gmao_rad(char *file, const char *var_name, float **data, unsigned char **qa,
30  double *start_time, int32_t *ntime, int32_t *nlon, int32_t *nlat, int **time,
31  double **lon_coord, double **lat_coord);
32 
33 int32_t anc_acq_read_gmao(char *file, char *ds_name, float **data, unsigned char **qa, double *time,
34  int32_t *nlon, int32_t *nlat, int32_t *nlvl, double **lon_coord, double **lat_coord);
35 int32_t anc_acq_lin_rad(l1str *);
36 int32_t anc_acq_lin_met(l1str *);
37 int32_t anc_acq_lin_prof(l1str *);
38 int32_t anc_acq_lin_aerosol(l1str *);
39 int32_t anc_acq_lin_oz(l1str *);
40 int32_t anc_acq_gmao_rad_prep(char *, gen_int_str *, int32_t, int32_t, int32_t);
41 int32_t anc_acq_gmao_met_prep(char *, gen_int_str *);
42 int32_t anc_acq_gmao_prof_prep(char *, gen_int_str *, int32_t);
43 int32_t anc_acq_gmao_aer_prep(char *file, gen_int_str *aer_int);
44 int32_t anc_acq_gmao_oz_prep(char *, gen_int_str *);
45 int32_t anc_acq_fnd_t_interp(double, double *, int32_t, int32_t *, int32_t *, float *);
46 int32_t anc_acq_eval_pt(gen_int_str *, int32_t, int32_t, float, float, int32_t, int32_t *, float, int32_t,
47  int32_t, int32_t, float *, float *);
48 int32_t anc_rad_eval_pt(gen_int_str *rad_int, int32_t iprm, int32_t itim, int32_t nrad, float lat, float lon, float *val);
49 int32_t init_anc_add(l1str *);
50 int32_t init_anc_aerosol(l1str *l1rec);
51 int32_t init_anc_cld_rad(l1str *l1rec, size_t times_dim, const float *time_range);
52 #endif
int32_t anc_acq_fnd_t_interp(double, double *, int32_t, int32_t *, int32_t *, float *)
Definition: anc_acq.c:1964
int32_t nlon
Definition: anc_acq.h:16
double * lat_coord
Definition: anc_acq.h:14
float anc_miss_fill(int32_t)
Definition: anc_acq.c:3231
int anc_acq_lin_olci(int, char *, l1str *)
Definition: anc_acq.c:2916
int32_t anc_acq_eval_pt(gen_int_str *, int32_t, int32_t, float, float, int32_t, int32_t *, float, int32_t, int32_t, int32_t, float *, float *)
Definition: anc_acq.c:1868
int32_t init_anc_cld_rad(l1str *l1rec, size_t times_dim, const float *time_range)
Definition: anc_acq.c:1104
int32_t anc_acq_ck(char *, char *)
Definition: anc_acq.c:182
read l1rec
int anc_acq_init(instr *, l1str *, int32_t *)
Definition: anc_acq.c:84
int32_t anc_acq_lin_aerosol(l1str *)
Definition: anc_acq.c:618
no change in intended resolving MODur00064 Corrected handling of bad ephemeris attitude resolving resolving GSFcd00179 Corrected handling of fill values for[Sensor|Solar][Zenith|Azimuth] resolving MODxl01751 Changed to validate LUT version against a value retrieved from the resolving MODxl02056 Changed to calculate Solar Diffuser angles without adjustment for estimated post launch changes in the MODIS orientation relative to incidentally resolving defects MODxl01766 Also resolves MODxl01947 Changed to ignore fill values in SCI_ABNORM and SCI_STATE rather than treating them as resolving MODxl01780 Changed to use spacecraft ancillary data to recognise when the mirror encoder data is being set by side A or side B and to change calculations accordingly This removes the need for seperate LUTs for Side A and Side B data it makes the new LUTs incompatible with older versions of the and vice versa Also resolves MODxl01685 A more robust GRing algorithm is being which will create a non default GRing anytime there s even a single geolocated pixel in a granule Removed obsolete messages from seed file
Definition: HISTORY.txt:413
gsl_spline2d * int_id
Definition: anc_acq.h:11
double * lon_coord
Definition: anc_acq.h:14
int32_t anc_acq_lin_rad(l1str *)
Interpolates RAD layers.
Definition: anc_acq.c:924
double anc_time
Definition: anc_acq.h:13
int32_t init_anc_add(l1str *)
Definition: anc_acq.c:1131
int64_t jd4713bc_get_jd(int32_t, int32_t, int32_t)
Definition: anc_acq.c:3320
float bilin_interp(float *, int, int, int, float, float)
Definition: anc_acq.c:3275
int32_t anc_acq_gmao_aer_prep(char *file, gen_int_str *aer_int)
Definition: anc_acq.c:1789
int32_t init_anc_aerosol(l1str *l1rec)
Definition: anc_acq.c:1077
int jd4713bc_get_date(int64_t, int32_t *, int32_t *, int32_t *)
Definition: anc_acq.c:3359
int32_t anc_acq_read_gmao(char *file, char *ds_name, float **data, unsigned char **qa, double *time, int32_t *nlon, int32_t *nlat, int32_t *nlvl, double **lon_coord, double **lat_coord)
Definition: anc_acq.c:2193
int32_t anc_acq_read_gmao_rad(char *file, const char *var_name, float **data, unsigned char **qa, double *start_time, int32_t *ntime, int32_t *nlon, int32_t *nlat, int **time, double **lon_coord, double **lat_coord)
READ data from a RAD file.
Definition: anc_acq.c:2093
no change in intended resolving MODur00064 Corrected handling of bad ephemeris attitude data
Definition: HISTORY.txt:356
int32_t anc_acq_f_stat(char **, char, int32_t)
Definition: anc_acq.c:297
int32_t anc_acq_gmao_met_prep(char *, gen_int_str *)
Definition: anc_acq.c:1388
int32_t nlat
Definition: anc_acq.h:16
gsl_interp_accel * accel_lat
Definition: anc_acq.h:12
int anc_acq_lin(int32_t, l1str *)
Definition: anc_acq.c:2645
this program makes no use of any feature of the SDP Toolkit that could generate such a then geolocation is calculated at that and then aggregated up to Resolved feature request Bug by adding three new int8 SDSs for each high resolution offsets between the high resolution geolocation and a bi linear interpolation extrapolation of the positions This can be used to reconstruct the high resolution geolocation Resolved Bug by delaying cumulation of gflags until after validation of derived products Resolved Bug by setting Latitude and Longitude to the correct fill resolving to support Near Real Time because they may be unnecessary if use of entrained ephemeris and attitude data is turned resolving bug report Corrected to filter out Aqua attitude records with missing status helping resolve bug MOD_PR03 will still correctly write scan and pixel data that does not depend upon the start time
Definition: HISTORY.txt:248
int32_t anc_rad_eval_pt(gen_int_str *rad_int, int32_t iprm, int32_t itim, int32_t nrad, float lat, float lon, float *val)
Definition: anc_acq.c:1845
gsl_interp_accel * accel_lon
Definition: anc_acq.h:12
int32_t anc_acq_gmao_oz_prep(char *, gen_int_str *)
Definition: anc_acq.c:1718
int32_t anc_acq_lin_prof(l1str *)
Definition: anc_acq.c:765
int32_t anc_acq_lin_oz(l1str *)
Definition: anc_acq.c:1174
int32_t anc_acq_lin_met(l1str *)
Definition: anc_acq.c:386
int32_t anc_acq_ecmwf_init(char **, char **, int, int32_t)
Definition: anc_acq.c:2370
unsigned char * qual
Definition: anc_acq.h:15
int32_t anc_acq_gmao_prof_prep(char *, gen_int_str *, int32_t)
Definition: anc_acq.c:1600
int32_t anc_acq_gmao_rad_prep(char *, gen_int_str *, int32_t, int32_t, int32_t)
Definition: anc_acq.c:1328