Hello William,
After many years working for TELEMAC, Jean-Michel retired a few years ago and no long works on TELEMAC. That is why he appears in grey on this forum.
Anyway, I do not think you face the same issue as John.
Please read carefully the error message:
Error: Symbol 'mesh' at (1) has no IMPLICIT type means that you that variable MESH has not been declared in the current subroutine, as there must be a declaration IMPLICIT NONE.
If starting to implement some FORTRAN lines, I would strongly recommend you to read a FORTRAN manual because this forum is not intended to FORTRAN lessons.
I wonder why you want to use KNOLG as you do not seem to need any global node numbers. What your write is to compare a global number and a code to know what kind of boundary conditions you have (KENT = 5).
I think you just have to start from the stratification or tetra examples as you did and adapt it to what you want to do.
Do not forget that NP is an integer, so comparisons with .GT. would be equivalent to .GE. e.g. (and easier to read). You can also directly use .EQ. to define the tracer values for some specific horizontal planes.
You can adapt the following lines, I did not test it, maybe id does not compile, I have not checked.
I thing you can also define plane number 1, otherwise with your implementation,
TABORL%ADR(1)%P%R(IBORD) = 23.D-3
TABORL%ADR(2)%P%R(IBORD) = 26.D0
DO K=1,NPTFR2
DO NP=1,NPLAN
IBORD = (NP-1)*NPTFR2+K
IF(LITABL%ADR(1)%P%I(IBORD).EQ.KENT) THEN
IF(NP.GT.1.AND.NP.LE.4) THEN
TABORL%ADR(1)%P%R(IBORD) = 3.9D-3 !Salinite ups
TABORL%ADR(2)%P%R(IBORD) = 10.D0 !Temperature deg C
ELSEIF(NP.EQ.5) THEN
TABORL%ADR(1)%P%R(IBORD) = 7.8D-3
TABORL%ADR(2)%P%R(IBORD) = 13.D0
ELSEIF(NP.EQ.6) THEN
TABORL%ADR(1)%P%R(IBORD) = 12.D-3
TABORL%ADR(2)%P%R(IBORD) = 14.D0
ELSEIF(NP.EQ.7) THEN
TABORL%ADR(1)%P%R(IBORD) = 15.D-3
TABORL%ADR(2)%P%R(IBORD) = 14.D0
ELSEIF(NP.EQ.8) THEN
TABORL%ADR(1)%P%R(IBORD) = 17.D-3
TABORL%ADR(2)%P%R(IBORD) = 17.D0
ELSEIF(NP.EQ.9) THEN
TABORL%ADR(1)%P%R(IBORD) = 23.D-3
TABORL%ADR(2)%P%R(IBORD) = 18.D0
ELSEIF(NP.EQ.10) THEN
TABORL%ADR(1)%P%R(IBORD) = 23.D-3
TABORL%ADR(2)%P%R(IBORD) = 20.D0
ELSEIF(NP.GT.10) THEN
TABORL%ADR(1)%P%R(IBORD) = 23.D-3
TABORL%ADR(2)%P%R(IBORD) = 22.D0
ELSE
TABORL%ADR(1)%P%R(IBORD) = 23.D-3
TABORL%ADR(2)%P%R(IBORD) = 26.D0
ENDIF
ENDIF
ENDDO
ENDDO
Hope this helps (and please stop using tabulations as already told in another topic, your FORTRAN code is unreadable and for sure once at least it will not compile),
Chi-Tuan