OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
table_io.h
Go to the documentation of this file.
1 #ifndef _TABLE_IO_H
2 #define _TABLE_IO_H
3 
4 #include <stdbool.h>
5 
6 char ch_cap(char c);
7 bool ch_eqi(char c1, char c2);
8 int ch_to_digit(char c);
9 int file_column_count(string input_filename);
10 int file_row_count(string input_filename);
11 int i4_log_10(int i);
12 int i4_max(int i1, int i2);
13 int i4_min(int i1, int i2);
14 int *i4mat_indicator(int m, int n);
15 void i4mat_print(int m, int n, int a[], string title);
16 void i4mat_print_some(int m, int n, int a[], int ilo, int jlo, int ihi,
17  int jhi, string title);
18 int *i4mat_border_add(int m, int n, int table[]);
19 int *i4mat_border_cut(int m, int n, int table[]);
20 int *i4mat_data_read(string input_filename, int m, int n);
21 void i4mat_header_read(string input_filename, int *m, int *n);
22 int *i4mat_read(string input_filename, int *m, int *n);
23 void i4mat_write(string output_filename, int m, int n, int table[]);
24 double *r8mat_border_add(int m, int n, double table[]);
25 double *r8mat_border_cut(int m, int n, double table[]);
26 double *r8mat_data_read(string input_filename, int m, int n);
27 void r8mat_header_read(string input_filename, int *m, int *n);
28 double *r8mat_indicator(int m, int n);
29 void r8mat_print(int m, int n, double a[], string title);
30 void r8mat_print_some(int m, int n, double a[], int ilo, int jlo, int ihi,
31  int jhi, string title);
32 double *r8mat_read(string input_filename, int *m, int *n);
33 void r8mat_transpose_print(int m, int n, double a[], string title);
34 void r8mat_transpose_print_some(int m, int n, double a[], int ilo, int jlo,
35  int ihi, int jhi, string title);
36 double *r8mat_uniform_01(int m, int n, int *seed);
37 void r8mat_write(string output_filename, int m, int n, double table[]);
38 int s_len_trim(string s);
39 int s_to_i4(string s, int *last, bool *error);
40 bool s_to_i4vec(string s, int n, int ivec[]);
41 double s_to_r8(string s, int *lchar, bool *error);
42 bool s_to_r8vec(string s, int n, double rvec[]);
43 int s_word_count(string s);
44 void timestamp();
45 
46 #endif
bool s_to_i4vec(string s, int n, int ivec[])
Definition: table_io.cpp:2062
int ch_to_digit(char c)
Definition: table_io.cpp:93
int * i4mat_indicator(int m, int n)
Definition: table_io.cpp:790
int i4_log_10(int i)
Definition: table_io.cpp:343
void r8mat_transpose_print(int m, int n, double a[], string title)
Definition: table_io.cpp:1627
void i4mat_header_read(string input_filename, int *m, int *n)
Definition: table_io.cpp:734
an array had not been initialized Several spelling and grammar corrections were which is read from the appropriate MCF the above metadata values were hard coded A problem calculating the average background DN for SWIR bands when the moon is in the space view port was corrected The new algorithm used to calculate the average background DN for all reflective bands when the moon is in the space view port is now the same as the algorithm employed by the thermal bands For non SWIR changes in the averages are typically less than Also for non SWIR the black body DNs remain a backup in case the SV DNs are not available For SWIR the changes in computed averages were larger because the old which used the black body suffered from contamination by the micron leak As a consequence of the if SV DNs are not available for the SWIR the EV pixels will not be the granule time is used to identify the appropriate tables within the set given for one LUT table(e.g. m1) to be used for interpolation. The table values will be linearly interpolated using the tables corresponding to the node times bracketing the granule time. If the granule time falls before the time of the first node or after the time of the last node
int i4_max(int i1, int i2)
Definition: table_io.cpp:417
int file_row_count(string input_filename)
Definition: table_io.cpp:263
int * i4mat_border_add(int m, int n, int table[])
Definition: table_io.cpp:493
int * i4mat_read(string input_filename, int *m, int *n)
Definition: table_io.cpp:989
void i4mat_print(int m, int n, int a[], string title)
Definition: table_io.cpp:850
double * r8mat_indicator(int m, int n)
Definition: table_io.cpp:1372
int i4_min(int i1, int i2)
Definition: table_io.cpp:455
int s_word_count(string s)
Definition: table_io.cpp:2427
a context in which it is NOT documented to do so subscript error
Definition: HISTORY.txt:53
int * i4mat_data_read(string input_filename, int m, int n)
Definition: table_io.cpp:632
void i4mat_write(string output_filename, int m, int n, int table[])
Definition: table_io.cpp:1045
void r8mat_transpose_print_some(int m, int n, double a[], int ilo, int jlo, int ihi, int jhi, string title)
Definition: table_io.cpp:1666
bool s_to_r8vec(string s, int n, double rvec[])
Definition: table_io.cpp:2372
void r8mat_print_some(int m, int n, double a[], int ilo, int jlo, int ihi, int jhi, string title)
Definition: table_io.cpp:1473
void r8mat_header_read(string input_filename, int *m, int *n)
Definition: table_io.cpp:1316
double * r8mat_uniform_01(int m, int n, int *seed)
Definition: table_io.cpp:1753
bool ch_eqi(char c1, char c2)
Definition: table_io.cpp:54
char ch_cap(char c)
Definition: table_io.cpp:15
double s_to_r8(string s, int *lchar, bool *error)
Definition: table_io.cpp:2117
int s_len_trim(string s)
Definition: table_io.cpp:1913
void i4mat_print_some(int m, int n, int a[], int ilo, int jlo, int ihi, int jhi, string title)
Definition: table_io.cpp:892
double * r8mat_data_read(string input_filename, int m, int n)
Definition: table_io.cpp:1112
int * i4mat_border_cut(int m, int n, int table[])
Definition: table_io.cpp:564
data_t s[NROOTS]
Definition: decode_rs.h:75
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 as required for compatibility with version of the SDP toolkit Corrected test output file names to end in per delivery and then split off a new MYD_PR03 pcf file for Aqua Added AssociatedPlatformInstrumentSensor to the inventory metadata in MOD01 mcf and MOD03 mcf Created new versions named MYD01 mcf and MYD03 where AssociatedPlatformShortName is rather than Terra The program itself has been changed to read the Satellite Instrument validate it against the input L1A and LUT and to use it determine the correct files to retrieve the ephemeris and attitude data from Changed to produce a LocalGranuleID starting with MYD03 if run on Aqua data Added the Scan Type file attribute to the Geolocation copied from the L1A and attitude_angels to radians rather than degrees The accumulation of Cumulated gflags was moved from GEO_validate_earth_location c to GEO_locate_one_scan c
Definition: HISTORY.txt:464
int file_column_count(string input_filename)
Definition: table_io.cpp:146
double * r8mat_border_add(int m, int n, double table[])
void timestamp()
Definition: table_io.cpp:2478
double * r8mat_read(string input_filename, int *m, int *n)
Definition: table_io.cpp:1571
int i
Definition: decode_rs.h:71
PGE01 indicating that PGE02 PGE01 V6 for and PGE01 V2 for MOD03 were used to produce the granule By convention adopted in all MODIS Terra PGE02 code versions are The fourth digit of the PGE02 version denotes the LUT version used to produce the granule The source of the metadata environment variable ProcessingCenter was changed from a QA LUT value to the Process Configuration A sign used in error in the second order term was changed to a
Definition: HISTORY.txt:424
void r8mat_write(string output_filename, int m, int n, double table[])
Definition: table_io.cpp:1846
int s_to_i4(string s, int *last, bool *error)
Definition: table_io.cpp:1956
void r8mat_print(int m, int n, double a[], string title)
Definition: table_io.cpp:1432
double * r8mat_border_cut(int m, int n, double table[])