Hello Robinson,
I think that there are at least 2 problems with your implementation.
The 1st one is that the FORMATTED DATA FILE 2 (corresponding to canal number 27) is not partitionned like a SERAFIN file in parallel (the last argument in telemac3dv6p2.dico is SCAL). Thus, the numbering of the fields is not changed even when running in parallel and it does not correspond to the general fields in TELEMAC (like velocities, tracers...). In particular, you have to read all the information for every node for this file, not only NPOIN2 (the number of 2D nodes of the mesh of one subdomain in parallel), e.g. NPOIN27 if it is the number of lines in your FORMATTED DATA FILE 2.
The 2nd one is related to the numbering of the nodes in parallel in your loops and the definition of MESh3D%KNOGL%I if this does exist (I have to check).
I would first try something like:
REWIND 27
DO J=1,NPOIN27 ! OR HARD CODE OF THE NUMBER OF LINES IN FORMATTED DATA FILE 2
READ(27,*) NPO(J),SA(J)
ENDDO
!
! DO ITRAC=1,NTRAC
! CALL OS( 'X=C ', X=TA%ADR(I)%P, C=TRAC0(I))
! IF(ITRAC.EQ.1) THEN
ITRAC = 1
DO IPLAN=1,NPLAN
DO J=1,NPOIN2
IF(NCSIZE.GT.0) THEN
TA%ADR(ITRAC)%P%R((IPLAN-1)*NPOIN2+J)=SA(MESH2D%KNOLG%I(J))
ELSE
TA%ADR(ITRAC)%P%R((IPLAN-1)*NPOIN2+J)=SA(J)
ENDIF
ENDDO
ENDDO
! ENDIF
! ENDDO
Hope this helps,
Chi-Tuan