PSyclone
PSyclone copied to clipboard
[LFRic] [PSyAD] PSyAD no longer computes adjoint of vector assigments properly in PSyclone 3.0
In testing PSyclone 3.0, we find that forward code that looks like
vector(:) = vector(:) + constant(:) * scalar
where vector and scalar are active no longer adjoints to
do idx = vector_ubound, vector_lbound, -1
scalar = scalar + constant(idx) * vector(idx)
end do
but instead does
scalar = scalar + constant(:) * vector(:)
which fails to compile. The former behaviour is expected.