fortcom: Error: t3dmix.f90, line 15: The statement following a CONTAINS is not a function-stmt or a subroutine-stmt.
END MODULE t3dmix_mod
------^
fortcom: Error: t3dmix.f90, line 13: This name does not have a type, and must have an explicit type. [T3DMIX2]
PUBLIC t3dmix2
-------------^
I find some other small errors of variable declarations in analitycal.f that I manage to fix, but I will apreciate some help with this two...
Have you looked at t3dmix.f90? Perhaps it doesn't contain any meat at all if all the cpp options for 3d mixing of tracers were turned off. Now look at t3dmix.F and see how they compare. Is it doing what you want? Are the cpp #ifdef statements in the right places? Some compilers are fussier than others about what is legal Fortran code.
Unless you have a specific reason for using version 2.2, I suggest you upgrade to the current version.
It looks like you've found a minor bug in the declarations in t3dmix. If you look in t3dmix.f90, as Kate suggests, you'll probably find there is no subroutine called t3dmix2 because a file that should have been included by the preprocessor hasn't been. However this bug (if that's what it is) has been fixed since version 2.2.