Fix Issue 1137#1138
Conversation
There was a problem hiding this comment.
Let me try the branch at NERSC.
We also need to think about new picca_cf runs on old deltas, that do not have the header info. With the new code these would crash... This is annoying, but we might have to default to one afterall. Or add an option --order in picca_cf/xcf/dmat/xdmat so that we can recycle old delta files.
We could write a more detailed error message with the bit of code to add the missing keyword in the file. I'd need to confirm it, but I'm pretty confident we could even recover the correct value used for that run from the delta_extraction config files that are saved with the results |
|
As we discussed on Zoom, let's try to use the |
|
I added a bit of code to enhance backwards compatibility. Pseudo code to explain the workflow: |
|
That's great, Ignasi. Is it ready for me to try it out? |
|
@iprafols - I managed to make it work, after doing a minor change to the code: With this, it was able to find the value stored in the STACK (these were old deltas), and I could see a message saying "setting the order to 0". |
|
The missing |
|
All good, the error was only when running things on a terminal, no problem with slurm scripts |
|
@iprafols - should we worry about "true-continuum", or "raw-analysis" runs? In these analyses we should not need to look at the Similar for runs using LyCAN. There is no distortion, so we shouldn't need to find the |
|
I have been checking where I thought of having |
|
The variable "order" should be used in two places: in the computation of the distortion matrices, and in the "projection" of deltas. Neither of these should be done in true-continuum or LyCAN analyses. I agree the code should crash if |
|
I had missed the projection, thanks! A similar issue was happening; the code was behaving as |
andreufont
left a comment
There was a problem hiding this comment.
I only added a couple of minor comments on docstrings, a suggested crash point, and if you have time and energy a request for a separate function def find_order to hide some of the new code from read_deltas.
andreufont
left a comment
There was a problem hiding this comment.
I confirm that the code works well both for old deltas (guessing the right location) and for new deltas.
Description of the changes:
ordervariable. If not passed, the code looks for it in the standard placingordervariable cannot be read then crash the code (as opposed to continue withorder=1). This is the main change in behaviour