ocssw
V2022
|
VcstViirsGeo.h
int write_dnb(int iscan, viirsSdrGeoPtrs *geoPtrs_)
const unsigned char GEO_PIXEL_QUALITY_SOLARANGLE_VALID
Definition: VcstViirsGeo.h:50
Definition: VcstCmnGeoStructs.h:309
int initialize_L1B_data()
void GEO_Upg_determine_sample_time_offsets(const focal_plane_geometry_struct &geometry_params, const int actScans, const double t_sync[MAX_SCAN_NUMBER], double sample_time[MAX_SCAN_NUMBER][MAX_SCAN_SAMPLE])
int Check_Scan_Sync_Failure(viirsSdrGeoPtrs *ptrs)
const unsigned char GEO_PIXEL_QUALITY_INPUT_INVALID
Definition: VcstViirsGeo.h:45
Definition: VcstGeoDataStructs.h:52
int GEO_evaluate_polynomial(double coef[MAX_POLY_DEGREE+1], double const in_x, int const degree, double *const out_fit)
const unsigned char GEO_PIXEL_QUALITY_POINTING_GOOD
Definition: VcstViirsGeo.h:46
const unsigned char GEO_SCAN_QUALITY_HAMIMP_DEGRADDATA
Definition: VcstViirsGeo.h:25
void adjustForPassThroughPI(float *io0, float *io1, float *io2)
Definition: VcstViirsGeo.h:729
int geolocatePixel(viirsSdrGeoPtrs *ptrs, const int inScan, const int inDet, const int inCol, VcstCmnGeo *geoPtr, ViirsGeoPixelType &outPix)
int write_mod(int iscan, viirsSdrGeoPtrs *geoPtrs_, bool modFromImg)
int findNSEW(float **lat, float **lon, size_t ny, size_t x0, size_t nx, float NSEW[4], float lonRanges[4])
VcstViirsGeo()
int getSolarEclipse(float lat[T_NUM_ROWS][T_NUM_COLS], float lon[T_NUM_ROWS][T_NUM_COLS], long long startTime, long long endTime, int startRow, int endRow, VcstCmnGeo *cmnGeoPtr, unsigned char &solEclipse)
Definition: VcstGeoRctnglStruct.h:26
MOD_PR01 Production producing one five minute granule of output data in each run It can be configured to produce as many as three five minute granules per run Each execution with one construction record and one date file for each dataset In normal these are created by which splits them out of the hour datasets For LANCE they are created by which merges all session MODIS L0 datasets overlapping the requested time and extracts from the merged data those packets which fall within that time period Each scan of data is stored in the L1A granule that covers the start time of that scan
Definition: MOD_PR01_pr.txt:19
int findGring(float **lat, float **lon, size_t ny, size_t x0, size_t nx, float gringLat[4], float gringLon[4])
int write_global_attributes(NcFile *nc_output, string type)
Definition: VcstCmnGeo.h:43
const unsigned char VIIRS_GEO_INVALID_TEL_HAM_ENC_DATA
Definition: VcstViirsGeo.h:98
int initGeoDataStructs(int iscan, viirsSdrGeoPtrs *ptrs)
const unsigned char GEO_PIXEL_QUALITY_POINTING_BAD
Definition: VcstViirsGeo.h:47
const unsigned char GEO_PIXEL_QUALITY_TERRAIN_GOOD
Definition: VcstViirsGeo.h:48
Definition: VcstViirsGeo.h:138
Definition: VcstGeoDataStructs.h:137
int GEO_interp_mod_unagg(viirsSdrGeoPtrs *ptrs)
int GEO_determine_thermal_corrections(viirsSdrGeoPtrs *ptrs)
const unsigned char GEO_PIXEL_QUALITY_INPUT_VALID
Definition: VcstViirsGeo.h:44
Definition: VcstGeoDataStructs.h:341
Definition: VcstGeoParameters.h:339
int eclipseAndSaaFlags(viirsSdrGeoPtrs *geoPtrs, VcstCmnGeo *cmnGeoPtr)
const unsigned char VIIRS_GEO_INVALID_MIRROR_SIDE
Definition: VcstViirsGeo.h:96
const unsigned char VIIRS_GEO_INVALID_SCAN_START_TIME
Definition: VcstViirsGeo.h:94
int GEO_interpolate_mirror_encoder(int const scan_number, int const sample_number, double *const sample_enc, viirsSdrGeoPtrs *ptrs)
int GEO_relative_limit_check(double data_samples[], int const number_of_samples, double const delta_limit, int sample_flags[])
int initialize_L1A_data()
const unsigned char GEO_SCAN_QUALITY_NOT_ABOVE_SAA
Definition: VcstViirsGeo.h:27
int GEO_validate_scan_encoder_data(viirsSdrGeoPtrs *ptrs)
int Check_Ham_Start_Not_Nominal(viirsSdrGeoPtrs *ptrs)
int write_nav_data(NcFile *nc_output)
Definition: VcstViirsGeo.h:121
void GEO_determine_DNB_sample_time_offsets(const focal_plane_geometry_struct &geometry_params, const int actScans, const double t_sync[MAX_SCAN_NUMBER], double sample_time[MAX_SCAN_NUMBER][MAX_SCAN_SAMPLE])
void GEO_determine_sample_time_offsets(const focal_plane_geometry_struct &geometry_params, double sample_time[MAX_SCAN_SAMPLE])
int getSaa(viirsSdrGeoPtrs *geoPtrs, float dLat, float dLon, VcstCmnGeo *cmnGeoPtr, unsigned char &inSAA)
const unsigned char GEO_SCAN_QUALITY_SOLAR_ECLIPSE
Definition: VcstViirsGeo.h:30
const unsigned char GEO_SCAN_QUALITY_SCESIDE_INVALID
Definition: VcstViirsGeo.h:40
int geolocate()
const unsigned char GEO_SCAN_QUALITY_HA_MIRROR_SIDE_MASK
Definition: VcstViirsGeo.h:35
Definition: VcstViirsGeo.h:171
const unsigned char GEO_SCAN_QUALITY_LUNAR_ECLIPSE
Definition: VcstViirsGeo.h:33
const unsigned char GEO_SCAN_QUALITY_SCESIDE_B_ON
Definition: VcstViirsGeo.h:39
const unsigned char GEO_SCAN_QUALITY_NO_SOLAR_ECLIPSE
Definition: VcstViirsGeo.h:29
void setGeoPixelQuality(viirsSdrGeoPtrs *ptrs, const int inRow, const int inCol, const unsigned char pixeQuality)
int calculateNadirData(const int inScan, viirsSdrGeoPtrs *ptrs, VcstCmnGeo *geoPtr, ViirsGeoFullType *outFull)
Definition: VcstGeoDataStructs.h:324
const unsigned char GEO_SCAN_QUALITY_NO_LUNAR_ECLIPSE
Definition: VcstViirsGeo.h:32
int Check_Tel_Start_Not_Nominal(viirsSdrGeoPtrs *ptrs)
int getDnbLunarEclipse(viirsSdrGeoPtrs *geoPtrs, double startTime, double endTime, int endRow, int startRow, VcstCmnGeo *cmnGeoPtr, unsigned char &lunEclipse)
const unsigned char GEO_PIXEL_QUALITY_TERRAIN_BAD
Definition: VcstViirsGeo.h:49
subroutine diff(x, conec, n, dconecno, dn, dconecmk, units, u, inno, i, outno, o, input, deriv)
Definition: ffnet.f:205
int write_scan_data(NcFile *nc_output)
const unsigned char GEO_SCAN_QUALITY_HAMIMP_MISSINGDATA
Definition: VcstViirsGeo.h:26
static string DISABLE_SERVO_CONTROL
Definition: VcstViirsGeo.h:198
int GEO_interpolate_telescope_encoder(int const scan_number, int const sample_number, double *const sample_enc, viirsSdrGeoPtrs *ptrs)
int GEO_absolute_limit_check(double data_samples[], int const number_of_samples, double data_limits[2], int sample_flags[])
int doProcessing()
const unsigned char GEO_SCAN_QUALITY_HAM_START_IS_NOMINAL
Definition: VcstViirsGeo.h:41
int calculateSCESide(viirsSdrGeoPtrs *ptrs)
const unsigned char GEO_PIXEL_QUALITY_SOLARANGLE_INVALID
Definition: VcstViirsGeo.h:51
int write_img(int iscan, viirsSdrGeoPtrs *geoPtrs_)
const unsigned char GEO_SCAN_QUALITY_HAMIMP_GOODDATA
Definition: VcstViirsGeo.h:23
int updateBbox(GeoOutputs geotype, size_t x0, size_t nx)
const unsigned char GEO_SCAN_QUALITY_HAM_START_NOT_NOMINAL
Definition: VcstViirsGeo.h:42
int storeGranule(const ViirsGeoFullType &inFull, const ViirsGeoRctnglType &inRect, viirsSdrGeoPtrs *ptrs)
const unsigned char GEO_SCAN_QUALITY_ABOVE_SAA
Definition: VcstViirsGeo.h:28
const unsigned char GEO_SCAN_QUALITY_HAMIMP_BADDATA
Definition: VcstViirsGeo.h:24
void geolocateAllRecPix(int scan, viirsSdrGeoPtrs *ptrs, ViirsGeoRctnglType *inRec, VcstCmnGeo *geoPtr, ViirsGeoFullType *ioFull, int extractPixelLimits[2])
virtual ~VcstViirsGeo()
const unsigned char GEO_SCAN_QUALITY_HA_MIRROR_SIDE_SHIFT
Definition: VcstViirsGeo.h:34
Definition: VcstGeoDataStructs.h:56
int getLandWaterMask(GeoOutputs geotype, size_t x0, size_t nx)
int initialize()
int appendQualityFlag2(viirsSdrGeoPtrs *ptrs, int scan, unsigned char flag)
const unsigned char GEO_SCAN_QUALITY_SCESIDE_A_ON
Definition: VcstViirsGeo.h:38
Definition: VcstGeoDataStructs.h:114
int GEO_process_parameters(GEO_param_struct *geoParams, ViirsGeoProcType *procStruct)
int GEO_find_next_flag(int sample_flags[], int const number_of_samples, int const start_sample)
Definition: GEO_find_next_flag.c:6
const unsigned char VIIRS_GEO_TERRAIN_CORR_FAIL
Definition: VcstViirsGeo.h:97
int VcstCreateInterpRectangles(const int bandType, int numZones, int *numPixPerZone, ViirsGeoRctnglType *outRec)
void cleanupDataItems()
int GEO_determine_view_vectors(const int scan_number, const int sample_number, const int det, viirsSdrGeoPtrs *ptrs, unsigned char *flag, double u_inst[VEC_SIZE])