[MITgcm-devel] MITgcm/pkg/ptracers/ptracers_integrate.F - diff - 1.36
Jean-Michel Campin
jmc at ocean.mit.edu
Wed Jan 23 10:35:31 EST 2008
Hi Martin,
Thanks for pointing this problem.
It should be fixed now. I am also thinking of having
one of the test experiment at least compiling if not using
ptracers + non-lin free-surf. May be exp4 ?
Jean-Michel
On Wed, Jan 23, 2008 at 11:00:51AM +0100, Martin Losch wrote:
> Hi Jean-Michel,
> there's a syntax error in ptracers_integrate.F, that prevents
> compilation. I guess the THEN in line 194 is the problem, but I don't
> know what type of logic you intended, so I'll leave it to you to fix
> that.
>
> Martin
> Return to ptracers_integrate.F CVS log Up to [MITgcm] / MITgcm /
> pkg / ptracers
> Diff for /MITgcm/pkg/ptracers/ptracers_integrate.F between version
> 1.35 and 1.36
>
> version 1.35, 2007/11/05 18:48:04 version 1.36, 2007/12/17 22:03:15
> Line 27
> Line 27
> #include "DYNVARS.h" #include "DYNVARS.h"
> #include "PTRACERS_SIZE.h" #include "PTRACERS_SIZE.h"
> #include "PTRACERS_PARAMS.h" #include "PTRACERS_PARAMS.h"
> #include "PTRACERS_RESTART.h"
> #include "PTRACERS_FIELDS.h" #include "PTRACERS_FIELDS.h"
> #include "GAD.h" #include "GAD.h"
> #ifdef ALLOW_AUTODIFF_TAMC #ifdef ALLOW_AUTODIFF_TAMC
> Line 83
> Line 84
> INTEGER kUp,kDown,km1 INTEGER kUp,kDown,km1
> INTEGER GAD_TR INTEGER GAD_TR
> LOGICAL calcAdvection LOGICAL calcAdvection
> INTEGER iterNb, startAB INTEGER iterNb
> CEOP CEOP
>
> C Loop ranges for daughter routines C Loop ranges for daughter
> routines
> Line 128
> Line 129
>
> C Calculate active tracer tendencies (gPtr) due to internal
> processes C Calculate active tracer tendencies (gPtr) due to
> internal processes
> C (advection, [explicit] diffusion, parameterizations,...) C
> (advection, [explicit] diffusion, parameterizations,...)
> calcAdvection = .NOT.multiDimAdvection calcAdvection
> = .NOT.PTRACERS_MultiDimAdv(iTracer)
> & .OR. PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND
> & .OR. PTRACERS_advScheme(iTracer).EQ.ENUM_UPWIND_3RD
> & .OR. PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_4TH
> GAD_TR = GAD_TR1 + iTracer - 1 GAD_TR = GAD_TR1 +
> iTracer - 1
> CALL GAD_CALC_RHS( CALL GAD_CALC_RHS(
> I
> bi,bj,iMin,iMax,jMin,jMax,k,kM1,kUp,kDown, I
> bi,bj,iMin,iMax,jMin,jMax,k,km1,kUp,kDown,
> I xA, yA, maskUp, uFld, vFld, wFld,
> I xA, yA, maskUp, uFld, vFld, wFld,
> I uTrans, vTrans, rTrans, rTransKp1,
> I uTrans, vTrans, rTrans, rTransKp1,
> I PTRACERS_diffKh(iTracer),
> I PTRACERS_diffKh(iTracer),
> Line 163
> Line 161
>
> C If using Adams-Bashforth II, then extrapolate tendencies C If
> using Adams-Bashforth II, then extrapolate tendencies
> C gPtr is now the tracer tendency for explicit advection/diffusion
> C gPtr is now the tracer tendency for explicit advection/diffusion
> IF ( PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND
> IF ( PTRACERS_AdamsBashGtr(iTracer) ) THEN
> & .OR.PTRACERS_advScheme(iTracer).EQ.ENUM_UPWIND_3RD
> & .OR.PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_4TH ) THEN
> #ifdef ALLOW_MATRIX #ifdef ALLOW_MATRIX
> C If matrix is being computed, block call to S/R ADAMS_BASHFORTH2
> to C If matrix is being computed, block call to S/R
> ADAMS_BASHFORTH2 to
> C prevent gPtr from being replaced by the average of gPtr and
> gpTrNm1. C prevent gPtr from being replaced by the average of gPtr
> and gpTrNm1.
> Line 173
> Line 169
> #endif #endif
> iterNb = myIter iterNb = myIter
> IF (staggerTimeStep) iterNb = myIter - 1 IF
> (staggerTimeStep) iterNb = myIter - 1
> startAB = nIter0 - PTRACERS_Iter0
> CALL ADAMS_BASHFORTH2( CALL ADAMS_BASHFORTH2(
> I bi,bj,K,
> I bi,bj,K,
> U gPtr(1-Olx,1-Oly,
> 1,1,1,iTracer), U gPtr(1-Olx,1-Oly,
> 1,1,1,iTracer),
> U gpTrNm1(1-Olx,1-Oly,
> 1,1,1,iTracer), U gpTrNm1(1-Olx,1-Oly,
> 1,1,1,iTracer),
> I startAB, iterNb, myThid )
> I PTRACERS_startAB(iTracer), iterNb, myThid )
> #ifdef ALLOW_MATRIX #ifdef ALLOW_MATRIX
> ENDIF ENDIF
> #endif #endif
> Line 199
> Line 194
> I bi,bj,K,
> I bi,bj,K,
> U gPtr(1-Olx,1-Oly,
> 1,1,1,iTracer), U gPtr(1-Olx,1-Oly,
> 1,1,1,iTracer),
> I myThid )
> I myThid )
> IF ( PTRACERS_advScheme
> (iTracer).EQ.ENUM_CENTERED_2ND IF ( PTRACERS_AdamsBashGtr
> (iTracer) ) THEN
> & .OR.PTRACERS_advScheme(iTracer).EQ.ENUM_UPWIND_3RD
> & .OR.PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_4TH )
> & CALL FREESURF_RESCALE_G( & CALL FREESURF_RESCALE_G(
> I bi,bj,K,
> I bi,bj,K,
> U gpTrNm1(1-Olx,1-Oly,
> 1,1,1,iTracer), U
> gpTrNm1(1-Olx,1-Oly, 1,1,1,iTracer),
>
> Legend:
> Removed from v.1.35
> changed lines
> Added in v.1.36
>
> MITgcm-CVS-Admin
> Powered by
> ViewCVS 0.9.2
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list