Data2Dynamics/d2d

Bug caused by non-existing fields in ar.ple due to revised ple algorithm

amit-singh25 opened this issue · 5 comments

Dear D2D team,
Currently, I am calculating PLE using pleBwCluster.m in BWgrid. I am not able to fetch the out or merge the files. I got the following error,

m_20200915T102047_546819_results

path =

'/model/20200915T102047_546819_PLE/profile_1L'

Found profile for K1
Reference to non-existent field 'estimatetime'.

Error in arMergeProfiles>copyScalars (line 245)
PLEs.(names{j}) = curPLE.(names{j}) + 0;

Error in arMergeProfiles>loadSingle (line 210)
PLEs = copyScalars( PLEs, curPLE, {'estimatetime', 'fittime', 'timing', 'conf_lb', 'conf_ub', 'conf_lb_point', 'conf_ub_point', 'IDstatus', 'p'}, filled(b), loc(b) );

Error in arMergeProfiles (line 53)
PLEs = loadSingle( PLEs, path, filterProfile, appendProfiles);

Error in m_20200915T102047_546819_results (line 5)
arMergeProfiles('/model/20200915T102047_546819_PLE',[],[], true);

Please let me know how to fix this bug. I am waiting for your kind reply with anticipation.
Thank you.
Kind regards,
Amit

Dear Amit,

thanks for pointing out this bug. We recently replaced the old ple algorithm with a new one that has much better performance. Some of the fields in ar.ple like estimatetime do not exist anymore which leads to an error in arMergeProfiles. This bug should be easily fixed by removing the corresponding fields in ll. 202 and 210 of arMergeProfiles.

@litwiti could you please check if there are any other fields than estimatetime, fittime and timing you removed in the new ple algorithm?

The bug extends to ple.conf_rel_point which is called e.g. in plePrint. I guess we should do a grep with all the removed fields to make sure no other functions try to access them.

@amit-singh25 removing the lines 55 and 82 in plePrint makes it work for me

Hey @amit-singh25,

thanks for your bug report. I will be on the case next week and report back once (hopefully) everything is fixed.

Hey @amit-singh25, @adrianhauber ,

plePrint and arMergeProfiles were the only functions compromised as far as I can tell, so everything should work fine now.

@litwiti thanks for handling this!