ocssw
V2022
|
sst_adt.cpp
Go to the documentation of this file.
5 const std::unordered_set<std::string> non_test_keywords = {"true", "false", "thresholds", "addTreesum", "setFlags",
81 void tree_traversal(float *inp_treesum, int16_t *inp_flags_sst, const VarsAtPixel &vars, Treenode *node) {
102 for (rapidjson::Value::ConstMemberIterator iter = member.MemberBegin(); iter != member.MemberEnd(); ++iter) {
114 void build_sub_tree(const rapidjson::Value &member, Treenode *node, std::set<std::string> &tests_name) {
116 for (rapidjson::Value::ConstMemberIterator iter = member.MemberBegin(); iter != member.MemberEnd(); ++iter) {
198 void build_tree(const std::string &config_path, Treenode *decision_tree, std::set<std::string> &tests_name) {
225 decision_tree->traverse_ptr = [](float *, int16_t *, const TestParameters &, const VarsAtPixel &,
249 print_error_message_for_adt(const std::string &file_path, const std::string &key_word, const std::string &message) {
259 std::cerr << message << " : " << key_word << " in line " << line_num << " in file " << file_path
void build_sub_tree(const rapidjson::Value &member, Treenode *node, std::set< std::string > &tests_name)
Recursively building the tree *.
Definition: sst_adt.cpp:114
Definition: FP_failed_pkt_queue.h:66
const std::unordered_set< std::string > non_test_keywords
Definition: sst_adt.cpp:5
void(* traverse_ptr)(float *, int16_t *, const TestParameters &, const VarsAtPixel &, Treenode *)
Definition: sst_adt.hpp:60
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
void tree_traversal(float *inp_treesum, int16_t *inp_flags_sst, const VarsAtPixel &vars, Treenode *node)
Definition: sst_adt.cpp:81
void print_error_message_for_adt(const std::string &file_path, const std::string &key_word, const std::string &message)
Prints error message for unrecognized keywords in the ADT config file.
Definition: sst_adt.cpp:249
void build_tree(const std::string &config_path, Treenode *decision_tree, std::set< std::string > &tests_name)
Building the from a json file *.
Definition: sst_adt.cpp:198
Definition: sst_adt.hpp:36
instead the metadata field ProcessingEnvinronment is filled in from the output of a call to the POSIX compliant function uname from within the L1B code A small bug in L1B_Tables an incorrect comparison of RVS coefficients for TEBs to RVS coefficients for RSBs was being made This was replaced with a comparison between TEB coefficients This error never resulted in an incorrect RVS correction but did lead to recalculating the coefficients for each detector in a thermal band even if the coefficients were the same for all detectors To reduce to overall size of the reflective LUT HDF fill values were eliminated from all LUTs previously dimensioned where and where NUM_TIMES is the number of time dependent table pieces In Preprocess a small error where the trailing dropped scan counter was incremented when the leading dropped scan counter should have been was fixed This counter is internal only and is not yet used for any chiefly to casting of were added to make it LINUX compatible Output of code run on LINUX machines displays differences of at most scaled sector incalculable values of the Emissive calibration factor and incalculable values of SV or BB averages was moved outside the loop over frames in Emissive_Cal c since none of these quantities are frame dependent Initialization of b1 and XMS values in Preprocess c routine Process_OBCENG_Emiss was moved inside the detector loops The code was altered so that if up to five scans are dropped between the leading middle or middle trailing the leading or trailing granule will still be used in emissive calibration to form a cross granule average QA bits and are set for a gap between the leading middle and middle trailing granules respectively This may in rare instances lead to a change in emissive calibration coefficients for scans at the beginning or end of a granule A small bug in the Band correction algorithm was corrected an uncertainty value was being checked against an upper bound whereas the proper quantity to be checked was the corresponding which is the product of the Band radiance times the ratio of the Band to Band scaling factors times the LUT correction value for that detector In addition a new LUT which allows for a frame offset with regard to the Band radiance was added A LUT which switches the correction off or on was also added Changes which do not affect scientific output of the the pixel is flagged with the newly created flag and the number of pixels for which this occurs is counted in the QA_common table The array of b1s in Preprocess c was being initialized to outside the loop over which meant that if b1 could not be the value of b1 from the previous band for that scan detector combination was used The initialization was moved inside the band loop Minor code changes were made to eliminate compiler warnings when the code is compiled in bit mode Temperature equations were upgraded to be MODIS AQUA or MODIS TERRA specific and temperature conversion coefficients for AQUA were MOD_PR02 will not cease execution if the value of this parameter is not but will print a message
Definition: HISTORY.txt:644
std::map< std::string, Traverse > traversal_functions
possible traversal functions.
Definition: sst_adt.cpp:10
Definition: sst_adt.hpp:43
std::vector< std::pair< Treenode *, bool > > children
Definition: sst_adt.hpp:58
Definition: aerosol.c:136