-
Notifications
You must be signed in to change notification settings - Fork 8
Description
In the old days there were not the bit comparison tools available that there are today. A simple mechanism was created to validate (at runtime - [almost] no post processing required) whether one run was "bitwise" impacted compared to a control run (generally the "release" version).
This was useful when making a change(s) that was not expected to change the result. Internally, per timestep, the outward fluxes, the soil temperature and moisture, and balances were integrated. At the end of a run, the model wrote this accumulated number to a file (I think it was called new_sumbal). The post-processing part was simply comparing this to a "sumbal" file created by a control run.
Caveat - this is not a 100% guaranteed method of preserving bitwise reproducibility. There is a one in a bazillion chance that the 'new_sumnbal" will comprise fluxes etc that miraculously return the control "sumbal". There is also a non-zero chance that whilst the fluxes etc remain the same some diagnostic field that has no effect on the model is impacted by the change.
Because this was frequently used versions of control "sumbal" at a few .Ampero.sumbal .Hytiallia.sumbal .Tumba.sumbal flux sites were shipped with the model in the (svn) trunk version. These were updated as the trunk was incremented. These sites were chosen primarily because - Tumbarumba was always the goto site, because it is in our backyard I guess. Ampero was chosen just to broaden the PFT range tested. Hytiallia was chosen as it was recognized the other two can (and did on occasion) neglect the impact of a change that affected snow.
At any rate, whilst organizing switches, initializations to go into a namelist for AM3, I came across (cable_user%) run_diag_level. This is declared in cable_user TYPE and initialized in cable.nml BUT appears nowhere in the code.
At some point this functionality was moved to the purview of the "consistency_check" switch. I kept the "run_diag_level" switch in place to accommodate other debugging initiatives.
The corresponding .hidden files in offline/ to consistency check, assuming anyone even knew they were there, are almost certainly out of date now and don't represent the "control" runs at Tumbarumba etc. These can probably be removed as well? Perhaps the whole "consistency check" thing can go?