After some further investigations it turns out that there are other array elements in the da_copy_xa subroutine not well defined
xa_dst % qcw( : , :, : ) = xa_src % qcw( : ,: ,: )
xa_dst % qrn( :, :, : ) = xa_src % qrn,:,
xa_dst % qci,:, = xa_src % qci,:,
xa_dst % qsn,:, = xa_src % qsn,:,
xa_dst % qgr,:, = xa_src % qgr,:,
all these have not compatible dimensions, as an example xa_src%qcw has dimension 1,1,1 while the dst equivalent had much larger size.
this remains all un noticed unless you start running with check the array boundaries. Then the system will stop at these statements. if you compile without the system ignores this. But of course this is dangerous as you may overwrite some memory locations. And it prevents systematic debugging of code
if somebody knows how to fix this it would be appreciated.
(and the smilies are just the standard ( : ) fortran array notation. But they look nice
xa_dst % qcw( : , :, : ) = xa_src % qcw( : ,: ,: )
xa_dst % qrn( :, :, : ) = xa_src % qrn,:,
xa_dst % qci,:, = xa_src % qci,:,
xa_dst % qsn,:, = xa_src % qsn,:,
xa_dst % qgr,:, = xa_src % qgr,:,
all these have not compatible dimensions, as an example xa_src%qcw has dimension 1,1,1 while the dst equivalent had much larger size.
this remains all un noticed unless you start running with check the array boundaries. Then the system will stop at these statements. if you compile without the system ignores this. But of course this is dangerous as you may overwrite some memory locations. And it prevents systematic debugging of code
if somebody knows how to fix this it would be appreciated.
(and the smilies are just the standard ( : ) fortran array notation. But they look nice