New bits in PROBLEM are determined manually and may only be changed with prob_upd. [Except bit 31.] The intent is to retain manually generated information unless directed otherwise.
The value of PROBLEM to be updated come from the keywords in the level 1 log file.
prob_upd will always update the level 1 log file keywords.
prob_upd also sets PROB_VLD and T_PROB and regenerates QUALITY
and QUAL_VLD, and T_QUAL in the specified level log file and in the level 1 log file.
prob_upd updates the QUALITY keywords from DATA_SW and PROBLEM.
Note: at level 1.5 the Missing Record Bit in the DATA_SW needs to be retained.
prob_upd normally `|'s the existing PROBLEM and PROB_VLD bits from the level 1 log file with the new bits specified. If the "-r" flag is set, the specified values of PROBLEM and PROB_VLD replace existing values.
prob_upd always automatically sets bit 31 in PROBLEM and PROB_VLD to indicate that the data have been evaluated. Bit 31 in PROB_VLD will be set to zero by gather_qual whenever the DATA_SW keyword is changed. When prob_upd is called for a data record with no other information specified, only bit 31 in PROBLEM and PROB_VLD will be set, T_PROB should not be altered. This allows for revalidating PROBLEM bits without changing the other information.
At level 1.5 prob_upd uses the SOURCE from the level 1.5 logfile to determine which level 1 dataset to use.
We need a mechanism to make sure that gather_qual and gather_15qual are rerun after a session of prob_upd. Probably some kind of 'make' that checks the date of the dataset against the date of the level 1 log file.
prob_upd will update the 'audit trail' file, /soidata/info/mdi_log/prob_upd.log each time it is called. NOTES provided as a parameter to prob_upd will be kept only in the prob_upd.log (no longer in the log files). prob_upd users are encouraged to provide notes, in particular a record of their identity.