Problem on storing and reading sub-solution (as the norm difference between the initial and read solution is not near 0)

You should use write_checkpoint and read_checkpoint: Loading xdmf data back in