--- MITgcm/pkg/ptracers/ptracers_integrate.F 2004/01/07 21:21:26 1.13 +++ MITgcm/pkg/ptracers/ptracers_integrate.F 2004/12/05 22:22:06 1.22 @@ -1,12 +1,7 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/ptracers/ptracers_integrate.F,v 1.13 2004/01/07 21:21:26 jmc Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/ptracers/ptracers_integrate.F,v 1.22 2004/12/05 22:22:06 jmc Exp $ C $Name: $ #include "PTRACERS_OPTIONS.h" -cswdptr -- add --- -#ifdef ALLOW_GCHEM -# include "GCHEM_OPTIONS.h" -#endif -cswdptr -- end add --- CBOP C !ROUTINE: PTRACERS_INTEGRATE @@ -29,6 +24,7 @@ #include "EEPARAMS.h" #include "PARAMS.h" #include "DYNVARS.h" +#include "PTRACERS_SIZE.h" #include "PTRACERS.h" #include "GAD.h" @@ -43,11 +39,7 @@ C rTransKp1 :: vertical volume transport at interface k+1 C maskUp :: mask for vertical transport C rFlx :: vertical flux -C KappaRtr :: vertical diffusion of passive tracers -C NOTE! This is infact KappaRS from thermodynamics() -C and is being used only temporarily -C until we removed the need to store -C a "3D" diffusivity +C KappaRtr :: vertical diffusion of passive tracers, interf k C myIter :: time-step number C myTime :: model time C myThid :: thread number @@ -60,7 +52,7 @@ _RL rTransKp1(1-OLx:sNx+OLx,1-OLy:sNy+OLy) _RS maskUp (1-OLx:sNx+OLx,1-OLy:sNy+OLy) _RL rFlx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,2,PTRACERS_num) - _RL KappaRtr(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr) + _RL KappaRtr(1-Olx:sNx+Olx,1-Oly:sNy+Oly,PTRACERS_num) INTEGER myIter _RL myTime INTEGER myThid @@ -109,36 +101,23 @@ I uVel, vVel, wVel, I PTRACERS_diffKh(iTracer), I PTRACERS_diffK4(iTracer), - I KappaRtr, + I KappaRtr(1-Olx,1-Oly,iTracer), I pTracer(1-Olx,1-Oly,1,1,1,iTracer), I GAD_TR, I PTRACERS_advScheme(iTracer), - I calcAdvection, .FALSE., + I PTRACERS_advScheme(iTracer), + I calcAdvection, PTRACERS_ImplVertAdv(iTracer), U rFlx(1-Olx,1-Oly,1,iTracer), U gPtr(1-Olx,1-Oly,1,1,1,iTracer), - I myThid ) + I myTime, myIter, myThid ) C External forcing term(s) -cswdptr --add -- -#ifdef ALLOW_GCHEM -#ifndef PTRACERS_SEPARATE_FORCING - IF ( forcing_In_AB ) - & CALL GCHEM_FORCING_INT( - I bi,bj,iMin,iMax,jMin,jMax,k, - I iTracer, - I myTime,myIter, myThid) -#endif -#else -cswdptr - end add --- IF ( forcing_In_AB ) & CALL PTRACERS_FORCING( - I bi,bj,iMin,iMax,jMin,jMax,k, + I bi,bj,iMin,iMax,jMin,jMax,k,iTracer, U gPtr(1-Olx,1-Oly,1,1,1,iTracer), - I surfaceTendencyPtr(1-Olx,1-Oly,1,1,iTracer), + I surfaceForcingPtr(1-Olx,1-Oly,1,1,iTracer), I myIter,myTime,myThid) -cswdptr --add--- -#endif -cswdptr -- end add --- C If using Adams-Bashforth II, then extrapolate tendancies IF ( PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND @@ -152,26 +131,12 @@ ENDIF C External forcing term(s) -cswdptr - add-- -#ifdef ALLOW_GCHEM -#ifndef PTRACERS_SEPARATE_FORCING - IF ( .NOT.forcing_In_AB ) - & CALL GCHEM_FORCING_INT( - I bi,bj,iMin,iMax,jMin,jMax,k, - I iTracer, - I myTime,myIter, myThid) -#endif -#else -cswdptr - end add --- IF ( .NOT.forcing_In_AB ) & CALL PTRACERS_FORCING( - I bi,bj,iMin,iMax,jMin,jMax,k, + I bi,bj,iMin,iMax,jMin,jMax,k,iTracer, U gPtr(1-Olx,1-Oly,1,1,1,iTracer), - I surfaceTendencyPtr(1-Olx,1-Oly,1,1,iTracer), + I surfaceForcingPtr(1-Olx,1-Oly,1,1,iTracer), I myIter,myTime,myThid) -cswdptr - add-- -#endif -cswdptr -- end add --- #ifdef NONLIN_FRSURF C Account for change in level thickness