250 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
251 |
kkey = (igadkey-1)*Nr + k |
kkey = (igadkey-1)*Nr + k |
252 |
CADJ STORE tracer(:,:,k,bi,bj) = |
CADJ STORE tracer(:,:,k,bi,bj) = |
253 |
CADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
CADJ & comlev1_bibj_k_gad, key=kkey, kind=isbyte |
254 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
255 |
|
|
256 |
C-- Get temporary terms used by tendency routines |
C-- Get temporary terms used by tendency routines |
343 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
344 |
# ifndef DISABLE_MULTIDIM_ADVECTION |
# ifndef DISABLE_MULTIDIM_ADVECTION |
345 |
CADJ STORE localTij(:,:) = |
CADJ STORE localTij(:,:) = |
346 |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, byte=isbyte |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, kind=isbyte |
347 |
CADJ STORE af(:,:) = |
CADJ STORE af(:,:) = |
348 |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, byte=isbyte |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, kind=isbyte |
349 |
# endif |
# endif |
350 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
351 |
C |
C |
369 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
370 |
# ifndef DISABLE_MULTIDIM_ADVECTION |
# ifndef DISABLE_MULTIDIM_ADVECTION |
371 |
CADJ STORE localTij(:,:) = |
CADJ STORE localTij(:,:) = |
372 |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, byte=isbyte |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, kind=isbyte |
373 |
# endif |
# endif |
374 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
375 |
|
|
506 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
507 |
# ifndef DISABLE_MULTIDIM_ADVECTION |
# ifndef DISABLE_MULTIDIM_ADVECTION |
508 |
CADJ STORE localTij(:,:) = |
CADJ STORE localTij(:,:) = |
509 |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, byte=isbyte |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, kind=isbyte |
510 |
CADJ STORE af(:,:) = |
CADJ STORE af(:,:) = |
511 |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, byte=isbyte |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, kind=isbyte |
512 |
# endif |
# endif |
513 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
514 |
C |
C |
539 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
540 |
#ifndef DISABLE_MULTIDIM_ADVECTION |
#ifndef DISABLE_MULTIDIM_ADVECTION |
541 |
CADJ STORE localTij(:,:) = |
CADJ STORE localTij(:,:) = |
542 |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, byte=isbyte |
CADJ & comlev1_bibj_k_gad_pass, key=passkey, kind=isbyte |
543 |
#endif |
#endif |
544 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
545 |
|
|
726 |
|
|
727 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
728 |
CADJ STORE rtrans(:,:) = |
CADJ STORE rtrans(:,:) = |
729 |
CADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
CADJ & comlev1_bibj_k_gad, key=kkey, kind=isbyte |
730 |
cphCADJ STORE wfld(:,:) = |
cphCADJ STORE wfld(:,:) = |
731 |
cphCADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphCADJ & comlev1_bibj_k_gad, key=kkey, kind=isbyte |
732 |
#endif |
#endif |
733 |
|
|
734 |
C-- Compute Vertical transport |
C-- Compute Vertical transport |
743 |
|
|
744 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
745 |
cphmultiCADJ STORE wfld(:,:) = |
cphmultiCADJ STORE wfld(:,:) = |
746 |
cphmultiCADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & comlev1_bibj_k_gad, key=kkey, kind=isbyte |
747 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
748 |
|
|
749 |
C- Surface interface : |
C- Surface interface : |
760 |
|
|
761 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
762 |
cphmultiCADJ STORE wfld(:,:) = |
cphmultiCADJ STORE wfld(:,:) = |
763 |
cphmultiCADJ & comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & comlev1_bibj_k_gad, key=kkey, kind=isbyte |
764 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
765 |
|
|
766 |
C- Interior interface : |
C- Interior interface : |
785 |
|
|
786 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
787 |
cphmultiCADJ STORE localTijk(:,:,k) |
cphmultiCADJ STORE localTijk(:,:,k) |
788 |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, kind=isbyte |
789 |
cphmultiCADJ STORE rTrans(:,:) |
cphmultiCADJ STORE rTrans(:,:) |
790 |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, kind=isbyte |
791 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
792 |
|
|
793 |
C- Compute vertical advective flux in the interior: |
C- Compute vertical advective flux in the interior: |
823 |
|
|
824 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
825 |
cphmultiCADJ STORE rTrans(:,:) |
cphmultiCADJ STORE rTrans(:,:) |
826 |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, kind=isbyte |
827 |
cphmultiCADJ STORE rTranskp1(:,:) |
cphmultiCADJ STORE rTranskp1(:,:) |
828 |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
cphmultiCADJ & = comlev1_bibj_k_gad, key=kkey, kind=isbyte |
829 |
cph --- following storing of fVerT is critical for correct |
cph --- following storing of fVerT is critical for correct |
830 |
cph --- gradient with multiDimAdvection |
cph --- gradient with multiDimAdvection |
831 |
cph --- Without it, kDown component is not properly recomputed |
cph --- Without it, kDown component is not properly recomputed |
832 |
cph --- This is a TAF bug (and no warning available) |
cph --- This is a TAF bug (and no warning available) |
833 |
CADJ STORE fVerT(:,:,:) |
CADJ STORE fVerT(:,:,:) |
834 |
CADJ & = comlev1_bibj_k_gad, key=kkey, byte=isbyte |
CADJ & = comlev1_bibj_k_gad, key=kkey, kind=isbyte |
835 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
836 |
|
|
837 |
C-- Divergence of vertical fluxes |
C-- Divergence of vertical fluxes |