Andy Porter

Results 719 comments of Andy Porter

Just need to tidy up/remove the SymbolTable tests now that functionality has been removed from the `deep_copy` method.

I think this is ready for another look now. It has grown a lot so probably needs something of a fresh start.

I need to update the tests for Loop to explicitly cover the new `replace_symbols_using` method.

Failure is in LFRic adjoint example, `poly1d_w3_reconstruction_kernel_mod`. This has a loop with variable `stencil` and when we attempt to update this we are accidentally trying to use the symbol of...

Finally, this is ready for another look. It's certainly nicer than it was before after the latest update so thanks for the suggestions.

Link check failure seems to have sorted itself out. I've triggered the integration tests again. Ready for another look, CI-permitting.

LFRic 'everything-everywhere-all-at-once' integration test failed due to hitting max. recursion depth. Problem occurs in backend when processing (inlined?) kernel `mm_diagonal_kernel_code_r_double` for `reconstruct_w3_field_alg_mod_psy`.

The problem was that in `Reference.replace_symbols_using()` I had added a call to `replace_symbols_using` on the Symbol itself. This then hit an infinite recursion if the Symbol had an initial value...

Integration tests were green and coverage is all OK. Really ready for review...

Oops, that's a bit of an error :-( Yes, we should check that the Reference is an array before looking at its shape.