23 |
#include "TIMEAVE_STATV.h" |
#include "TIMEAVE_STATV.h" |
24 |
#endif |
#endif |
25 |
|
|
26 |
|
#ifdef ALLOW_AUTODIFF_TAMC |
27 |
|
#include "tamc.h" |
28 |
|
#include "tamc_keys.h" |
29 |
|
#endif /* ALLOW_AUTODIFF_TAMC */ |
30 |
|
|
31 |
EXTERNAL DIFFERENT_MULTIPLE |
EXTERNAL DIFFERENT_MULTIPLE |
32 |
LOGICAL DIFFERENT_MULTIPLE |
LOGICAL DIFFERENT_MULTIPLE |
33 |
|
|
61 |
ENDDO |
ENDDO |
62 |
ENDDO |
ENDDO |
63 |
|
|
64 |
|
#ifdef ALLOW_AUTODIFF_TAMC |
65 |
|
act1 = bi - myBxLo(myThid) |
66 |
|
max1 = myBxHi(myThid) - myBxLo(myThid) + 1 |
67 |
|
|
68 |
|
act2 = bj - myByLo(myThid) |
69 |
|
max2 = myByHi(myThid) - myByLo(myThid) + 1 |
70 |
|
|
71 |
|
act3 = myThid - 1 |
72 |
|
max3 = nTx*nTy |
73 |
|
|
74 |
|
act4 = ikey_dynamics - 1 |
75 |
|
|
76 |
|
ikey = (act1 + 1) + act2*max1 |
77 |
|
& + act3*max1*max2 |
78 |
|
& + act4*max1*max2*max3 |
79 |
|
#endif /* ALLOW_AUTODIFF_TAMC */ |
80 |
|
|
81 |
#ifdef ALLOW_KPP |
#ifdef ALLOW_KPP |
82 |
IF ( |
IF ( |
83 |
& (.NOT.useKPP) ! CONVECT not needed with KPP mixing |
& (.NOT.useKPP) ! CONVECT not needed with KPP mixing |
88 |
DO K=2,Nr |
DO K=2,Nr |
89 |
|
|
90 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
91 |
CADJ STORE theta(:,:,k-1,bi,bj) = comlev1_bibj, key = ikey, byte = isbyte |
CADJ STORE theta(:,:,k-1,bi,bj) = comlev1_bibj, key=ikey, byte=isbyte |
92 |
CADJ STORE salt (:,:,k-1,bi,bj) = comlev1_bibj, key = ikey, byte = isbyte |
CADJ STORE salt (:,:,k-1,bi,bj) = comlev1_bibj, key=ikey, byte=isbyte |
93 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
94 |
C- Density of K-1 layer (above W(K)) reference to K-1 T-level |
C- Density of K-1 layer (above W(K)) reference to K-1 T-level |
95 |
CALL FIND_RHO( |
CALL FIND_RHO( |
111 |
|
|
112 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
113 |
CADJ STORE rhoKm1(:,:) = comlev1_bibj, key = ikey, byte = isbyte |
CADJ STORE rhoKm1(:,:) = comlev1_bibj, key = ikey, byte = isbyte |
114 |
CADJ STORE rhoKp1(:,:) = comlev1_bibj, key = ikey, byte = isbyte |
CADJ STORE rhoK (:,:) = comlev1_bibj, key = ikey, byte = isbyte |
115 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
116 |
C- Check static stability with layer below and mix as needed. |
C- Check static stability with layer below and mix as needed. |
117 |
CALL CONVECT( |
CALL CONVECT( |