ocssw
V2022
|
epr_api.h
Go to the documentation of this file.
954 void epr_print_element(const EPR_SRecord* record, epr_uint field_index, epr_uint element_index, FILE* ostream);
1292 epr_uint epr_copy_field_elems_as_ints(const EPR_SField* field, int* buffer, epr_uint num_elems);
1293 epr_uint epr_copy_field_elems_as_uints(const EPR_SField* field, epr_uint* buffer, epr_uint num_elems);
1294 epr_uint epr_copy_field_elems_as_floats(const EPR_SField* field, float* buffer, epr_uint num_elems);
1295 epr_uint epr_copy_field_elems_as_doubles(const EPR_SField* field, double* buffer, epr_uint num_elems);
epr_uchar epr_get_field_elem_as_uchar(const EPR_SField *field, epr_uint elem_index)
Definition: epr_typconv.c:98
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 the first two or last two tables respectively will be used for the interpolation If there is only one LUT in the set of it will be treated as a constant LUT The manner in which Earth View data is checked for saturation was changed Previously the raw Earth View DNs and Space View DNs were checked against the lookup table values contained in the table dn_sat The change made is to check the raw Earth and Space View DNs to be sure they are less than the maximum saturation value and to check the Space View subtracted Earth View dns against a set of values contained in the new lookup table dn_sat_ev The metadata configuration and ASSOCIATEDINSTRUMENTSHORTNAME from the MOD02HKM product The same metatdata with extensions and were removed from the MOD021KM and MOD02OBC products ASSOCIATEDSENSORSHORTNAME was set to MODIS in all products These changes are reflected in new File Specification which users may consult for exact the pow functions were eliminated in Emissive_Cal and Emissive bands replaced by more efficient code Other calculations throughout the code were also made more efficient Aside from a few round off there was no difference to the product The CPU time decreased by about for a day case and for a night case A minor bug in calculating the uncertainty index for emissive bands was corrected The frame index(0-based) was previously being used the frame number(1-based) should have been used. There were only a few minor changes to the uncertainty index(maximum of 1 digit). 3. Some inefficient arrays(Sigma_RVS_norm_sq) were eliminated and some code lines in Preprocess_L1A_Data were moved into Process_OBCEng_Emiss. There were no changes to the product. Required RAM was reduced by 20 MB. Now
const EPR_SDSD * epr_get_dsd(const EPR_SDatasetId *dataset_id)
Definition: epr_dataset.c:196
double epr_get_field_elem_as_double(const EPR_SField *field, epr_uint elem_index)
Definition: epr_typconv.c:514
const epr_ushort * epr_get_field_elems_ushort(const EPR_SField *field)
Definition: epr_typconv.c:261
epr_uint epr_get_num_dsds(const EPR_SProductId *product_id)
Definition: epr_dsd.c:610
Definition: epr_api.h:431
EPR_SRaster * epr_create_compatible_raster(EPR_SBandId *band_id, epr_uint source_width, epr_uint source_height, epr_uint source_step_x, epr_uint source_step_y)
Definition: epr_band.c:549
epr_uint epr_get_pixel_as_uint(const EPR_SRaster *raster, int x, int y)
Definition: epr_bitmask.c:736
epr_uint epr_get_data_type_size(EPR_EDataTypeId data_type_id)
Definition: epr_core.c:148
short epr_get_field_elem_as_short(const EPR_SField *field, epr_uint elem_index)
Definition: epr_typconv.c:155
const EPR_STime * epr_get_field_elem_as_mjd(const EPR_SField *field)
Definition: epr_typconv.c:596
Definition: epr_param.h:31
epr_uint epr_copy_field_elems_as_floats(const EPR_SField *field, float *buffer, epr_uint num_elems)
Definition: epr_typconv.c:729
const int * epr_get_field_elems_int(const EPR_SField *field)
Definition: epr_typconv.c:336
void epr_print_element(const EPR_SRecord *record, epr_uint field_index, epr_uint element_index, FILE *ostream)
Definition: epr_dump.c:172
float epr_get_pixel_as_float(const EPR_SRaster *raster, int x, int y)
Definition: epr_bitmask.c:789
int epr_init_api(EPR_ELogLevel log_level, EPR_FLogHandler log_handler, EPR_FErrHandler err_handler)
Definition: epr_api.c:40
epr_uint epr_copy_field_elems_as_uints(const EPR_SField *field, epr_uint *buffer, epr_uint num_elems)
Definition: epr_typconv.c:857
Definition: epr_record.h:31
void epr_dump_element(const EPR_SRecord *record, epr_uint field_index, epr_uint element_index)
Definition: epr_dump.c:161
void * epr_get_raster_pixel_addr(const EPR_SRaster *raster, epr_uint x, epr_uint y)
Definition: epr_band.c:1055
epr_uint epr_get_num_fields(const EPR_SRecord *record)
Definition: epr_record.c:383
EPR_SBandId * epr_get_band_id_at(EPR_SProductId *product_id, epr_uint index)
Definition: epr_band.c:217
double epr_get_pixel_as_double(const EPR_SRaster *raster, int x, int y)
Definition: epr_bitmask.c:815
const EPR_SField * epr_get_field(const EPR_SRecord *record, const char *field_name)
Definition: epr_field.c:247
EPR_SRaster * epr_create_raster(EPR_EDataTypeId data_type, epr_uint source_width, epr_uint source_height, epr_uint source_step_x, epr_uint source_step_y)
Definition: epr_band.c:495
epr_ushort epr_get_field_elem_as_ushort(const EPR_SField *field, epr_uint elem_index)
Definition: epr_typconv.c:222
EPR_EDataTypeId epr_get_field_type(const EPR_SField *field)
Definition: epr_field.c:302
Definition: epr_api.h:376
EPR_SDatasetId * epr_get_dataset_id(EPR_SProductId *product_id, const char *dataset_name)
Definition: epr_dsd.c:96
void(* EPR_FErrHandler)(EPR_EErrCode err_code, const char *err_message)
Definition: epr_api.h:181
void(* EPR_FLogHandler)(EPR_ELogLevel log_level, const char *log_message)
Definition: epr_api.h:182
const char * epr_get_field_elem_as_str(const EPR_SField *field)
Definition: epr_typconv.c:624
epr_uint epr_get_scene_width(const EPR_SProductId *product_id)
Definition: epr_product.c:357
Definition: epr_api.h:586
epr_uint epr_get_raster_elem_size(const EPR_SRaster *raster)
Definition: epr_band.c:1039
Definition: epr_dddb.h:10
const float * epr_get_field_elems_float(const EPR_SField *field)
Definition: epr_typconv.c:487
const struct RecordDescriptor * record_descriptor
Definition: epr_api.h:355
const char * epr_get_field_description(const EPR_SField *field)
Definition: epr_field.c:326
void epr_log_message(EPR_ELogLevel log_level, const char *log_message)
Definition: epr_api.c:121
const char * epr_get_dataset_name(EPR_SDatasetId *dataset_id)
Definition: epr_dataset.c:172
What value is used by your function when the data value is bad Default is BAD_FLT l2prod product_id[0]
Definition: HOWTO_Add_a_product.txt:102
epr_uint epr_get_field_elem_as_uint(const EPR_SField *field, epr_uint elem_index)
Definition: epr_typconv.c:363
const char * epr_data_type_id_to_str(EPR_EDataTypeId data_type_id)
Definition: epr_core.c:104
EPR_SRecord * epr_read_record(EPR_SDatasetId *dataset_id, epr_uint record_index, EPR_SRecord *record)
Definition: epr_dataset.c:269
epr_uint epr_get_num_datasets(EPR_SProductId *product_id)
Definition: epr_dsd.c:63
EPR_SRaster * epr_create_bitmask_raster(epr_uint source_width, epr_uint source_height, epr_uint source_step_x, epr_uint source_step_y)
Definition: epr_band.c:472
epr_uint epr_copy_field_elems_as_doubles(const EPR_SField *field, double *buffer, epr_uint num_elems)
Definition: epr_typconv.c:657
Definition: epr_api.h:505
char epr_get_field_elem_as_char(const EPR_SField *field, epr_uint elem_index)
Definition: epr_typconv.c:41
Definition: epr_api.h:576
epr_uint epr_copy_field_elems_as_ints(const EPR_SField *field, int *buffer, epr_uint num_elems)
const epr_uint * epr_get_field_elems_uint(const EPR_SField *field)
Definition: epr_typconv.c:408
void epr_print_record(const EPR_SRecord *record, FILE *ostream)
Definition: epr_dump.c:56
int epr_set_log_level(EPR_ELogLevel log_level)
const char * epr_get_dsd_name(const EPR_SDatasetId *dataset_id)
Definition: epr_dataset.c:208
float epr_get_field_elem_as_float(const EPR_SField *field, epr_uint elem_index)
Definition: epr_typconv.c:435
int epr_get_pixel_as_int(const EPR_SRaster *raster, int x, int y)
Definition: epr_bitmask.c:762
EPR_SRecord * epr_create_record(EPR_SDatasetId *dataset_id)
Definition: epr_dataset.c:241
void epr_print_field(const EPR_SField *field, FILE *ostream)
Definition: epr_dump.c:86
epr_uint epr_get_scene_height(const EPR_SProductId *product_id)
Definition: epr_product.c:374
const double * epr_get_field_elems_double(const EPR_SField *field)
Definition: epr_typconv.c:569
EPR_SDatasetId * epr_get_dataset_id_at(EPR_SProductId *product_id, epr_uint index)
Definition: epr_dsd.c:75
epr_uint epr_get_num_records(const EPR_SDatasetId *dataset_id)
Definition: epr_dataset.c:184
void epr_set_err_handler(EPR_FErrHandler err_handler)
const short * epr_get_field_elems_short(const EPR_SField *field)
Definition: epr_typconv.c:195
const epr_uchar * epr_get_field_elems_uchar(const EPR_SField *field)
Definition: epr_typconv.c:128
Definition: epr_api.h:620
Definition: epr_field.h:31
EPR_SBandId * epr_get_band_id(EPR_SProductId *product_id, const char *band_name)
Definition: epr_band.c:237
const char * epr_get_field_unit(const EPR_SField *field)
Definition: epr_field.c:314
void * epr_get_raster_line_addr(const EPR_SRaster *raster, epr_uint y)
Definition: epr_band.c:1063
Definition: epr_api.h:464
epr_uint epr_get_field_num_elems(const EPR_SField *field)
Definition: epr_field.c:277
EPR_SProductId * epr_open_product(const char *product_file_path)
Definition: epr_product.c:54
Definition: epr_api.h:740
const char * epr_get_field_name(const EPR_SField *field)
Definition: epr_field.c:289
Definition: epr_api.h:325
const char * epr_get_field_elems_char(const EPR_SField *field)
Definition: epr_typconv.c:71
int epr_read_band_raster(EPR_SBandId *band_id, int offset_x, int offset_y, EPR_SRaster *raster)
Definition: epr_band.c:593
void * epr_get_raster_elem_addr(const EPR_SRaster *raster, epr_uint offset)
Definition: epr_band.c:1047
int epr_get_field_elem_as_int(const EPR_SField *field, epr_uint elem_index)
Definition: epr_typconv.c:291
EPR_SDSD * epr_get_dsd_at(const EPR_SProductId *product_id, epr_uint dsd_index)
Definition: epr_dsd.c:615
int epr_read_bitmask_raster(EPR_SProductId *product_id, const char *bm_expr, int offset_x, int offset_y, EPR_SRaster *raster)
Definition: epr_bitmask.c:99
const EPR_SField * epr_get_field_at(const EPR_SRecord *record, epr_uint field_index)
Definition: epr_record.c:360
Definition: epr_api.h:219