These changes allow you to call the 4 clubb "advance" subroutines in any order that you want to try. In the default order (where the order is the same as found in the current version of the CLUBB master), results are bit-for-bit when compared to CLUBB master.
I reordered advance_clubb_core so that the "Advance xp3" (which is a basic calculation of xp3 by the ansatz by default) section is moved out of the way of the "advance loop" to a point that is after advance_windm_edsclrm (or whatever will be called last in the advance loop.
This change does not alter the default results. Everything is still bit-for-bit.
I am committing the idiot-proofing code that forces l_min_xp2_from_corr_wx and l_enable_relaxed_clipping to have opposite values (one must be true and the other must be false). In this commit, both are set to true, so the code will produce an exception.
Temporarily commenting out the idiot proofing in order to run some tests ... The results from this branch are still bit-for-bit with the master branch.
I am committing some idiot proofing in regards to the advance subroutines ordering. No index can have a value of less than 1, greater than 4, and no index can have the same value as any other index. Each adv routine order index must have a unique value.