zpshde results differs with nn_hls = 1 or 2
When activating sn_cfctl%l_prtctl = .true., and running ORCA2_ICE_PICES twin experiments (nn_hls = 1 or 2) on 1 core for 1 time step, I found that the first différence between the 2 mono.output_0000 files is for slp wj (array wslpj in ldfslp).
After some digging, I identified that the problem is coming from an optimization on pgrv in zpshde that came with the last merge related to the tiles:
IF (nn_hls==1) CALL lbc_lnk( 'zpshde', pgru , 'U', -1.0_wp , pgrv , 'V', -1.0_wp ) ! Lateral boundary conditions
A quick and dirty solution is to suppress the "IF (nn_hls==1)”. The real problem is that I don’t understand why suppressing this “IF" solves the problem... Up to know, I was not able to figure out the list of dependancies that would explain why this call to lbc_lnk on pgrv is always needed (it should not! I agree with the use of this IF). I suspect a tricky trick somewhere in the way something is computed on each side of the north pole folding...but I could not find it...