368 |
|
|
369 |
IF ( advectionScheme.EQ.ENUM_UPWIND_1RST |
IF ( advectionScheme.EQ.ENUM_UPWIND_1RST |
370 |
& .OR. advectionScheme.EQ.ENUM_DST2 ) THEN |
& .OR. advectionScheme.EQ.ENUM_DST2 ) THEN |
371 |
CALL GAD_DST2U1_ADV_X( bi,bj,k, advectionScheme, |
CALL GAD_DST2U1_ADV_X( bi,bj,k, advectionScheme, .TRUE., |
372 |
I dTtracerLev(k),uTrans,uFld,localTij, |
I dTtracerLev(k),uTrans,uFld,localTij, |
373 |
O af, myThid ) |
O af, myThid ) |
374 |
ELSEIF (advectionScheme.EQ.ENUM_FLUX_LIMIT) THEN |
ELSEIF (advectionScheme.EQ.ENUM_FLUX_LIMIT) THEN |
375 |
CALL GAD_FLUXLIMIT_ADV_X( bi,bj,k, dTtracerLev(k), |
CALL GAD_FLUXLIMIT_ADV_X( bi,bj,k, .TRUE., dTtracerLev(k), |
376 |
I uTrans, uFld, maskLocW, localTij, |
I uTrans, uFld, maskLocW, localTij, |
377 |
O af, myThid ) |
O af, myThid ) |
378 |
ELSEIF (advectionScheme.EQ.ENUM_DST3 ) THEN |
ELSEIF (advectionScheme.EQ.ENUM_DST3 ) THEN |
379 |
CALL GAD_DST3_ADV_X( bi,bj,k, dTtracerLev(k), |
CALL GAD_DST3_ADV_X( bi,bj,k, .TRUE., dTtracerLev(k), |
380 |
I uTrans, uFld, maskLocW, localTij, |
I uTrans, uFld, maskLocW, localTij, |
381 |
O af, myThid ) |
O af, myThid ) |
382 |
ELSEIF (advectionScheme.EQ.ENUM_DST3_FLUX_LIMIT ) THEN |
ELSEIF (advectionScheme.EQ.ENUM_DST3_FLUX_LIMIT ) THEN |
383 |
CALL GAD_DST3FL_ADV_X( bi,bj,k, dTtracerLev(k), |
CALL GAD_DST3FL_ADV_X( bi,bj,k, .TRUE., dTtracerLev(k), |
384 |
I uTrans, uFld, maskLocW, localTij, |
I uTrans, uFld, maskLocW, localTij, |
385 |
O af, myThid ) |
O af, myThid ) |
386 |
|
#ifndef ALLOW_AUTODIFF_TAMC |
387 |
|
ELSEIF (advectionScheme.EQ.ENUM_OS7MP ) THEN |
388 |
|
CALL GAD_OS7MP_ADV_X( bi,bj,k, .TRUE., dTtracerLev(k), |
389 |
|
I uTrans, uFld, maskLocW, localTij, |
390 |
|
O af, myThid ) |
391 |
|
#endif |
392 |
ELSE |
ELSE |
393 |
STOP 'GAD_ADVECTION: adv. scheme incompatibale with multi-dim' |
STOP 'GAD_ADVECTION: adv. scheme incompatibale with multi-dim' |
394 |
ENDIF |
ENDIF |
541 |
|
|
542 |
IF ( advectionScheme.EQ.ENUM_UPWIND_1RST |
IF ( advectionScheme.EQ.ENUM_UPWIND_1RST |
543 |
& .OR. advectionScheme.EQ.ENUM_DST2 ) THEN |
& .OR. advectionScheme.EQ.ENUM_DST2 ) THEN |
544 |
CALL GAD_DST2U1_ADV_Y( bi,bj,k, advectionScheme, |
CALL GAD_DST2U1_ADV_Y( bi,bj,k, advectionScheme, .TRUE., |
545 |
I dTtracerLev(k),vTrans,vFld,localTij, |
I dTtracerLev(k),vTrans,vFld,localTij, |
546 |
O af, myThid ) |
O af, myThid ) |
547 |
ELSEIF (advectionScheme.EQ.ENUM_FLUX_LIMIT) THEN |
ELSEIF (advectionScheme.EQ.ENUM_FLUX_LIMIT) THEN |
548 |
CALL GAD_FLUXLIMIT_ADV_Y( bi,bj,k, dTtracerLev(k), |
CALL GAD_FLUXLIMIT_ADV_Y( bi,bj,k, .TRUE., dTtracerLev(k), |
549 |
I vTrans, vFld, maskLocS, localTij, |
I vTrans, vFld, maskLocS, localTij, |
550 |
O af, myThid ) |
O af, myThid ) |
551 |
ELSEIF (advectionScheme.EQ.ENUM_DST3 ) THEN |
ELSEIF (advectionScheme.EQ.ENUM_DST3 ) THEN |
552 |
CALL GAD_DST3_ADV_Y( bi,bj,k, dTtracerLev(k), |
CALL GAD_DST3_ADV_Y( bi,bj,k, .TRUE., dTtracerLev(k), |
553 |
I vTrans, vFld, maskLocS, localTij, |
I vTrans, vFld, maskLocS, localTij, |
554 |
O af, myThid ) |
O af, myThid ) |
555 |
ELSEIF (advectionScheme.EQ.ENUM_DST3_FLUX_LIMIT ) THEN |
ELSEIF (advectionScheme.EQ.ENUM_DST3_FLUX_LIMIT ) THEN |
556 |
CALL GAD_DST3FL_ADV_Y( bi,bj,k, dTtracerLev(k), |
CALL GAD_DST3FL_ADV_Y( bi,bj,k, .TRUE., dTtracerLev(k), |
557 |
|
I vTrans, vFld, maskLocS, localTij, |
558 |
|
O af, myThid ) |
559 |
|
#ifndef ALLOW_AUTODIFF_TAMC |
560 |
|
ELSEIF (advectionScheme.EQ.ENUM_OS7MP ) THEN |
561 |
|
CALL GAD_OS7MP_ADV_Y( bi,bj,k, .TRUE., dTtracerLev(k), |
562 |
I vTrans, vFld, maskLocS, localTij, |
I vTrans, vFld, maskLocS, localTij, |
563 |
O af, myThid ) |
O af, myThid ) |
564 |
|
#endif |
565 |
ELSE |
ELSE |
566 |
STOP 'GAD_ADVECTION: adv. scheme incompatibale with mutli-dim' |
STOP 'GAD_ADVECTION: adv. scheme incompatibale with mutli-dim' |
567 |
ENDIF |
ENDIF |
800 |
CALL GAD_DST3FL_ADV_R( bi,bj,k, dTtracerLev(k), |
CALL GAD_DST3FL_ADV_R( bi,bj,k, dTtracerLev(k), |
801 |
I rTrans, wFld, localTijk, |
I rTrans, wFld, localTijk, |
802 |
O fVerT(1-Olx,1-Oly,kUp), myThid ) |
O fVerT(1-Olx,1-Oly,kUp), myThid ) |
803 |
|
#ifndef ALLOW_AUTODIFF_TAMC |
804 |
|
ELSEIF (vertAdvecScheme.EQ.ENUM_OS7MP ) THEN |
805 |
|
CALL GAD_OS7MP_ADV_R( bi,bj,k, dTtracerLev(k), |
806 |
|
I rTrans, wFld, localTijk, |
807 |
|
O fVerT(1-Olx,1-Oly,kUp), myThid ) |
808 |
|
#endif |
809 |
ELSE |
ELSE |
810 |
STOP 'GAD_ADVECTION: adv. scheme incompatibale with mutli-dim' |
STOP 'GAD_ADVECTION: adv. scheme incompatibale with mutli-dim' |
811 |
ENDIF |
ENDIF |