Hello Violeta,
I think I see the point that I overlooked so far, in subroutine LIMI3D, ATABOL and BTABOL are coded as 0 for optimisation, so in bord3d.f when you fill them you have to say that they are no longer 0, by adding, for example just before the RETURN command:
IF(NTRAC.NE.0)THEN
DO ITRAC =1,NTRAC
ATABOL%ADR(ITRAC)%P%TYPR='Q'
ATABOL%ADR(ITRAC)%P%TYPR='Q'
ENDDO
ENDIF
Now you should see an effect. The arrays act on the lateral boundaries. As I explained in my previous post they allow to give a flux across the lateral boundaries, expressing the derivative of the tracer along a direction normal to the boundary as a function of an exterior tracer that I call T0, this flux depends on the turbulent diffusion NU. The variational formulation of the diffusion terms in the tracer equation, after an integration by parts, give an integral along the boundary of NU*dT/dn, and you have to give the value of NU*DT/dn in the form ATABOL*T + BTABOL, this is done so just to split into implicit and explicit terms, which are treated differently. The physics of fluxes through a solid boundary tells you that this flux is proportional to the difference between the value of T on either sides of the boundary, hence something like a*(T-T0), a being negative if the vector n points outward.
Fingers crossed again,
JMH