|
ocssw
V2022
|
#include "libnav.h"#include "hdf4utils.h"#include "l1.h"#include <libgen.h>#include <hdf.h>#include <mfhdf.h>Go to the source code of this file.
Classes | |
| struct | sdslist |
| struct | modis_file |
| struct | modis_sds |
| struct | bandinfo |
| struct | sfcorr_table |
| struct | fill_table |
Macros | |
| #define | _XOPEN_SOURCE_EXTENDED /* for strdup() */ |
| #define | SCAN_TIME_INTERVAL 1.4771 |
| #define | TRYMEM(file, line, memstat) |
| #define | MIN_BAD_SI 65500 |
| #define | MAX_ATTERR 0.017453293 /* radians, ~= 1 degree */ |
| #define | LOOPI for (i = 0; i < nvals; i++) |
Enumerations | |
| enum | REF_SDS { GEO_TAISEC, GEO_MSIDE, GEO_ANGLES, GEO_MNORM, REF_NUM_SDS, GEO_TAISEC, GEO_MSIDE, GEO_ANGLES, GEO_MNORM, REF_NUM_SDS } |
| enum | GEO_SDS { GEO_LON, GEO_LAT, GEO_HGT, GEO_SOLZ, GEO_SOLA, GEO_SENZ, GEO_SENA, GEO_NUM_SDS, GEO_LON, GEO_LAT, GEO_HGT, GEO_SOLZ, GEO_SOLA, GEO_SENZ, GEO_SENA, GEO_NUM_SDS } |
| enum | GEO_COEFFS { GEO_SCALE, GEO_NUM_COEFFS, GEO_SCALE, GEO_NUM_COEFFS } |
| enum | L1B_SDS { RSB_250, RSB_500, RSB_1KM, CIR_1KM, TEB_1KM, L1B_NUM_SDS, RSB_250, RSB_500, RSB_1KM, CIR_1KM, TEB_1KM, L1B_NUM_SDS } |
| enum | L1B_COEFFS { REFL_SCALE, REFL_OFFSET, RAD_SCALE, RAD_OFFSET, L1B_NUM_COEFFS, REFL_SCALE, REFL_OFFSET, RAD_SCALE, RAD_OFFSET, L1B_NUM_COEFFS } |
Functions | |
| int | modpath_1km (const char *oldpath, const char *newchars, char *newpath) |
| int | open_modis_l1bfile (modis_file *l1bfile) |
| int | init_l1b (const char filename[FILENAME_MAX], int32_t *max_resolution) |
| int | open_modis_geofile (modis_file *geofile) |
| int | init_geo (const char filename[FILENAME_MAX]) |
| int | read_sds_1scan (sds_struct *sds, int32_t iscan, int32_t scandim, int32_t per_scan) |
| int | openl1_hmodis_hdf (filehandle *l1file) |
| int | alloc_scan (const int32_t nvals) |
| void | read_sfcorrtables (sfcorr_table *sfcorr, int32_t sensorID) |
| void | subframe_correction (const int32_t sensorID, const int32_t iband, const modis_sds mds, double *data) |
| void | init_detfill (fill_table *fill) |
| void | fill_dead_detectors (const int32_t iband, const modis_sds mds, double *data) |
| double | interp_bilin (double val[4], double dx, double dy) |
| double | interp_modis_EVdata (double val[4], double dx, double dy) |
| double | interp_modis_Longitude (double val[4], double dx, double dy) |
| int | modis_interp (const modis_sds s, const int32_t sdsband, const int32_t newres, double *olddata, double *newdata) |
| int | load_modis_scan (const int32_t iscan, const int32_t resolution, int32_t sensorID) |
| int | set_l1rec_scanvals (const int32_t iscan, l1str *l1rec) |
| int | readl1_hmodis_hdf (filehandle *l1file, const int32_t line, l1str *l1rec) |
| int | closel1_hmodis_hdf () |
| int | readl1_lonlat_hmodis_hdf (filehandle *l1file, int32_t line, l1str *l1rec) |
Variables | |
| double(* | interp_modis_var )(double val[4], double dx, double dy) |
Macro Definition Documentation
◆ _XOPEN_SOURCE_EXTENDED
Definition at line 11 of file l1_hmodis_hdf.c.
◆ LOOPI
◆ MAX_ATTERR
| #define MAX_ATTERR 0.017453293 /* radians, ~= 1 degree */ |
Definition at line 537 of file l1_hmodis_hdf.c.
◆ MIN_BAD_SI
| #define MIN_BAD_SI 65500 |
Definition at line 536 of file l1_hmodis_hdf.c.
◆ SCAN_TIME_INTERVAL
| #define SCAN_TIME_INTERVAL 1.4771 |
Definition at line 20 of file l1_hmodis_hdf.c.
◆ TRYMEM
| #define TRYMEM | ( | file, | |
| line, | |||
| memstat | |||
| ) |
Enumeration Type Documentation
◆ GEO_COEFFS
| enum GEO_COEFFS |
| Enumerator | |
|---|---|
| GEO_SCALE | scale_factor |
| GEO_NUM_COEFFS | last entry = number of scale attributes |
| GEO_SCALE | scale_factor |
| GEO_NUM_COEFFS | last entry = number of scale attributes |
Definition at line 77 of file l1_hmodis_hdf.c.
◆ GEO_SDS
| enum GEO_SDS |
Definition at line 56 of file l1_hmodis_hdf.c.
◆ L1B_COEFFS
| enum L1B_COEFFS |
Definition at line 112 of file l1_hmodis_hdf.c.
◆ L1B_SDS
| enum L1B_SDS |
Definition at line 86 of file l1_hmodis_hdf.c.
◆ REF_SDS
| enum REF_SDS |
Definition at line 40 of file l1_hmodis_hdf.c.
Function Documentation
◆ alloc_scan()
| int alloc_scan | ( | const int32_t | nvals | ) |
Allocates memory for global structure "scan", and initializes some constants
- Parameters
-
[in] nvals number of values per variable per scan
- Returns
Definition at line 770 of file l1_hmodis_hdf.c.
◆ closel1_hmodis_hdf()
| int closel1_hmodis_hdf | ( | ) |
- Returns
Definition at line 1631 of file l1_hmodis_hdf.c.
◆ fill_dead_detectors()
Definition at line 1038 of file l1_hmodis_hdf.c.
◆ init_detfill()
| void init_detfill | ( | fill_table * | fill | ) |
Definition at line 982 of file l1_hmodis_hdf.c.
◆ init_geo()
| int init_geo | ( | const char | filename[FILENAME_MAX] | ) |
Definition at line 444 of file l1_hmodis_hdf.c.
◆ init_l1b()
| int init_l1b | ( | const char | filename[FILENAME_MAX], |
| int32_t * | max_resolution | ||
| ) |
Definition at line 287 of file l1_hmodis_hdf.c.
◆ interp_bilin()
| double interp_bilin | ( | double | val[4], |
| double | dx, | ||
| double | dy | ||
| ) |
Definition at line 1111 of file l1_hmodis_hdf.c.
◆ interp_modis_EVdata()
| double interp_modis_EVdata | ( | double | val[4], |
| double | dx, | ||
| double | dy | ||
| ) |
Definition at line 1116 of file l1_hmodis_hdf.c.
◆ interp_modis_Longitude()
| double interp_modis_Longitude | ( | double | val[4], |
| double | dx, | ||
| double | dy | ||
| ) |
Definition at line 1150 of file l1_hmodis_hdf.c.
◆ load_modis_scan()
load values for one scan
- Parameters
-
[in] iscan
- Returns
Definition at line 1275 of file l1_hmodis_hdf.c.
◆ modis_interp()
| int modis_interp | ( | const modis_sds | s, |
| const int32_t | sdsband, | ||
| const int32_t | newres, | ||
| double * | olddata, | ||
| double * | newdata | ||
| ) |
Definition at line 1173 of file l1_hmodis_hdf.c.
◆ modpath_1km()
Definition at line 182 of file l1_hmodis_hdf.c.
◆ open_modis_geofile()
| int open_modis_geofile | ( | modis_file * | geofile | ) |
Definition at line 406 of file l1_hmodis_hdf.c.
◆ open_modis_l1bfile()
| int open_modis_l1bfile | ( | modis_file * | l1bfile | ) |
Definition at line 230 of file l1_hmodis_hdf.c.
◆ openl1_hmodis_hdf()
| int openl1_hmodis_hdf | ( | filehandle * | l1file | ) |
◆ read_sds_1scan()
| int read_sds_1scan | ( | sds_struct * | sds, |
| int32_t | iscan, | ||
| int32_t | scandim, | ||
| int32_t | per_scan | ||
| ) |
Definition at line 489 of file l1_hmodis_hdf.c.
◆ read_sfcorrtables()
| void read_sfcorrtables | ( | sfcorr_table * | sfcorr, |
| int32_t | sensorID | ||
| ) |
Definition at line 802 of file l1_hmodis_hdf.c.
◆ readl1_hmodis_hdf()
| int readl1_hmodis_hdf | ( | filehandle * | l1file, |
| const int32_t | line, | ||
| l1str * | l1rec | ||
| ) |
- Parameters
-
[in,out] l1file [in] line [in,out] l1rec
- Returns
Definition at line 1448 of file l1_hmodis_hdf.c.
◆ readl1_lonlat_hmodis_hdf()
| int readl1_lonlat_hmodis_hdf | ( | filehandle * | l1file, |
| int32_t | line, | ||
| l1str * | l1rec | ||
| ) |
Definition at line 1678 of file l1_hmodis_hdf.c.
◆ set_l1rec_scanvals()
| int set_l1rec_scanvals | ( | const int32_t | iscan, |
| l1str * | l1rec | ||
| ) |
set all scan-based values in l1rec
- Parameters
-
[in] iscan [in,out] l1rec
- Returns
Definition at line 1388 of file l1_hmodis_hdf.c.
◆ subframe_correction()
| void subframe_correction | ( | const int32_t | sensorID, |
| const int32_t | iband, | ||
| const modis_sds | mds, | ||
| double * | data | ||
| ) |
Definition at line 915 of file l1_hmodis_hdf.c.
Variable Documentation
◆ allbands
| float* allbands |
Scaled Integers for all bands
Definition at line 762 of file l1_hmodis_hdf.c.
◆ angles
| double angles[3] |
attitude_angles
Definition at line 753 of file l1_hmodis_hdf.c.
◆ hgt
| float* hgt |
Height
Definition at line 757 of file l1_hmodis_hdf.c.
◆ interp_modis_var
| double(* interp_modis_var) (double val[4], double dx, double dy) |
Definition at line 1171 of file l1_hmodis_hdf.c.
◆ iscan
| int32_t iscan |
scan number (0-based)
Definition at line 745 of file l1_hmodis_hdf.c.
◆ lat
| float* lat |
Latitude
Definition at line 756 of file l1_hmodis_hdf.c.
◆ lon
| float* lon |
Longitude
Definition at line 755 of file l1_hmodis_hdf.c.
◆ mnorm
| double mnorm[3] |
T_inst2ECR (need only 1st 3 values)
Definition at line 754 of file l1_hmodis_hdf.c.
◆ mside
| int32_t mside |
Mirror side
Definition at line 752 of file l1_hmodis_hdf.c.
◆ nbands
| int32_t nbands |
number of bands
Definition at line 748 of file l1_hmodis_hdf.c.
◆ npix
| int32_t npix |
number of values per variable per line
Definition at line 747 of file l1_hmodis_hdf.c.
◆ nvals
| int32_t nvals |
number of values per variable per scan
Definition at line 746 of file l1_hmodis_hdf.c.
◆ sena
| float* sena |
SensorAzimuth
Definition at line 761 of file l1_hmodis_hdf.c.
◆ senz
| float* senz |
SensorZenith
Definition at line 760 of file l1_hmodis_hdf.c.
◆ sola
| float* sola |
SolarAzimuth
Definition at line 759 of file l1_hmodis_hdf.c.
◆ solz
| float* solz |
SolarZenith
Definition at line 758 of file l1_hmodis_hdf.c.
◆ taisec
| double taisec |
EV start time
Definition at line 751 of file l1_hmodis_hdf.c.


