156 |
CEOP |
CEOP |
157 |
|
|
158 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
159 |
act0 = tracerIdentity - 1 |
act0 = tracerIdentity |
160 |
max0 = maxpass |
max0 = maxpass |
161 |
act1 = bi - myBxLo(myThid) |
act1 = bi - myBxLo(myThid) |
162 |
max1 = myBxHi(myThid) - myBxLo(myThid) + 1 |
max1 = myBxHi(myThid) - myBxLo(myThid) + 1 |
165 |
act3 = myThid - 1 |
act3 = myThid - 1 |
166 |
max3 = nTx*nTy |
max3 = nTx*nTy |
167 |
act4 = ikey_dynamics - 1 |
act4 = ikey_dynamics - 1 |
168 |
igadkey = (act0 + 1) |
igadkey = act0 |
169 |
& + act1*max0 |
& + act1*max0 |
170 |
& + act2*max0*max1 |
& + act2*max0*max1 |
171 |
& + act3*max0*max1*max2 |
& + act3*max0*max1*max2 |
713 |
C-- Start of k loop for vertical flux |
C-- Start of k loop for vertical flux |
714 |
DO k=Nr,1,-1 |
DO k=Nr,1,-1 |
715 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
716 |
kkey = (igadkey-1)*Nr + k |
kkey = (igadkey-1)*Nr + (Nr-k+1) |
717 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
718 |
C-- kUp Cycles through 1,2 to point to w-layer above |
C-- kUp Cycles through 1,2 to point to w-layer above |
719 |
C-- kDown Cycles through 2,1 to point to w-layer below |
C-- kDown Cycles through 2,1 to point to w-layer below |
723 |
kp1Msk=1. |
kp1Msk=1. |
724 |
if (k.EQ.Nr) kp1Msk=0. |
if (k.EQ.Nr) kp1Msk=0. |
725 |
|
|
726 |
|
#ifdef ALLOW_AUTODIFF_TAMC |
727 |
|
CADJ STORE rtrans(:,:) = |
728 |
|
CADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
729 |
|
CADJ STORE wfld(:,:) = |
730 |
|
CADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
731 |
|
#endif |
732 |
|
|
733 |
C-- Compute Vertical transport |
C-- Compute Vertical transport |
734 |
#ifdef ALLOW_AIM |
#ifdef ALLOW_AIM |
735 |
C- a hack to prevent Water-Vapor vert.transport into the stratospheric level Nr |
C- a hack to prevent Water-Vapor vert.transport into the stratospheric level Nr |
741 |
#endif |
#endif |
742 |
|
|
743 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
744 |
CADJ STORE rtrans(:,:) = |
cphmultiCADJ STORE wfld(:,:) = |
745 |
CADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
|
CADJ STORE wfld(:,:) = |
|
|
CADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
|
746 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
747 |
|
|
748 |
C- Surface interface : |
C- Surface interface : |
758 |
ELSE |
ELSE |
759 |
|
|
760 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
761 |
CADJ STORE rtrans(:,:) = |
cphmultiCADJ STORE wfld(:,:) = |
762 |
CADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
|
CADJ STORE wfld(:,:) = |
|
|
CADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
|
763 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
764 |
|
|
765 |
C- Interior interface : |
C- Interior interface : |
783 |
#endif /* ALLOW_GMREDI */ |
#endif /* ALLOW_GMREDI */ |
784 |
|
|
785 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
786 |
CADJ STORE localTijk(:,:,k) |
cphmultiCADJ STORE localTijk(:,:,k) |
787 |
CADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
788 |
CADJ STORE rTrans(:,:) |
cphmultiCADJ STORE rTrans(:,:) |
789 |
CADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
790 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
791 |
|
|
792 |
C- Compute vertical advective flux in the interior: |
C- Compute vertical advective flux in the interior: |
821 |
ENDIF |
ENDIF |
822 |
|
|
823 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
824 |
CADJ STORE rTrans(:,:) |
cphmultiCADJ STORE rTrans(:,:) |
825 |
CADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
826 |
CADJ STORE rTranskp1(:,:) |
cphmultiCADJ STORE rTranskp1(:,:) |
827 |
CADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
828 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
829 |
|
|
830 |
C-- Divergence of vertical fluxes |
C-- Divergence of vertical fluxes |