96 & LBi, UBi, LBj, UBj, &
97 & IminS, ImaxS, JminS, JmaxS, &
102#ifdef WET_DRY_NOT_YET
103 & umask_wet, vmask_wet, &
105 & om_v, on_u, pm, pn, &
127 integer,
intent(in) :: ng, tile
128 integer,
intent(in) :: LBi, UBi, LBj, UBj
129 integer,
intent(in) :: IminS, ImaxS, JminS, JmaxS
130 integer,
intent(in) :: nrhs, nstp, nnew
134 real(r8),
intent(in) :: umask(LBi:,LBj:)
135 real(r8),
intent(in) :: vmask(LBi:,LBj:)
137# ifdef WET_DRY_NOT_YET
138 real(r8),
intent(in) :: umask_wet(LBi:,LBj:)
139 real(r8),
intent(in) :: vmask_wet(LBi:,LBj:)
142 real(r8),
intent(in) :: diff3d_r(LBi:,LBj:,:)
144 real(r8),
intent(in) :: diff2(LBi:,LBj:,:)
146 real(r8),
intent(in) :: om_v(LBi:,LBj:)
147 real(r8),
intent(in) :: on_u(LBi:,LBj:)
148 real(r8),
intent(in) :: pm(LBi:,LBj:)
149 real(r8),
intent(in) :: pn(LBi:,LBj:)
150 real(r8),
intent(in) :: Hz(LBi:,LBj:,:)
151 real(r8),
intent(in) :: z_r(LBi:,LBj:,:)
152 real(r8),
intent(in) :: t(LBi:,LBj:,:,:,:)
154 real(r8),
intent(in) :: tclm(LBi:,LBj:,:,:)
156# ifdef DIAGNOSTICS_TS
159 real(r8),
intent(inout) :: ad_Hz(LBi:,LBj:,:)
160 real(r8),
intent(inout) :: ad_z_r(LBi:,LBj:,:)
161 real(r8),
intent(inout) :: ad_t(LBi:,LBj:,:,:,:)
164 real(r8),
intent(in) :: umask(LBi:UBi,LBj:UBj)
165 real(r8),
intent(in) :: vmask(LBi:UBi,LBj:UBj)
168 real(r8),
intent(in) :: umask_wet(LBi:UBi,LBj:UBj)
169 real(r8),
intent(in) :: vmask_wet(LBi:UBi,LBj:UBj)
172 real(r8),
intent(in) :: diff3d_r(LBi:UBi,LBj:UBj,N(ng))
174 real(r8),
intent(in) :: diff2(LBi:UBi,LBj:UBj,NT(ng))
176 real(r8),
intent(in) :: om_v(LBi:UBi,LBj:UBj)
177 real(r8),
intent(in) :: on_u(LBi:UBi,LBj:UBj)
178 real(r8),
intent(in) :: pm(LBi:UBi,LBj:UBj)
179 real(r8),
intent(in) :: pn(LBi:UBi,LBj:UBj)
180 real(r8),
intent(in) :: Hz(LBi:UBi,LBj:UBj,N(ng))
181 real(r8),
intent(in) :: z_r(LBi:UBi,LBj:UBj,N(ng))
182 real(r8),
intent(in) :: t(LBi:UBi,LBj:UBj,N(ng),3,NT(ng))
184 real(r8),
intent(in) :: tclm(LBi:UBi,LBj:UBj,N(ng),NT(ng))
186# ifdef DIAGNOSTICS_TS
190 real(r8),
intent(inout) :: ad_Hz(LBi:UBi,LBj:UBj,N(ng))
191 real(r8),
intent(inout) :: ad_z_r(LBi:UBi,LBj:UBj,N(ng))
192 real(r8),
intent(inout) :: ad_t(LBi:UBi,LBj:UBj,N(ng),3,NT(ng))
197 integer :: i, itrc, j, k, kk, kt, k1, k1b, k2, k2b
199 real(r8) :: cff, cff1, cff2, cff3, cff4
200 real(r8) :: ad_cff, ad_cff1, ad_cff2, ad_cff3, ad_cff4
201 real(r8) :: adfac, adfac1, adfac2, adfac3, adfac4
203 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS) :: ad_FE
204 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS) :: ad_FX
206 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS,2) :: dTdz
207 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS,2) :: dTdx
208 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS,2) :: dTde
209 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS,2) :: dZdx
210 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS,2) :: dZde
212 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS,2) :: ad_FS
213 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS,2) :: ad_dTdz
214 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS,2) :: ad_dTdx
215 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS,2) :: ad_dTde
216 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS,2) :: ad_dZdx
217 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS,2) :: ad_dZde
219#include "set_bounds.h"
231 ad_fe(imins:imaxs,jmins:jmaxs)=0.0_r8
232 ad_fx(imins:imaxs,jmins:jmaxs)=0.0_r8
234 ad_fs(imins:imaxs,jmins:jmaxs,1:2)=0.0_r8
236 ad_dtdz(imins:imaxs,jmins:jmaxs,1:2)=0.0_r8
237 ad_dtdx(imins:imaxs,jmins:jmaxs,1:2)=0.0_r8
238 ad_dtde(imins:imaxs,jmins:jmaxs,1:2)=0.0_r8
239 ad_dzdx(imins:imaxs,jmins:jmaxs,1:2)=0.0_r8
240 ad_dzde(imins:imaxs,jmins:jmaxs,1:2)=0.0_r8
254#ifdef TS_MIX_STABILITY
262 t_loop :
DO itrc=1,nt(ng)
278 k_loop :
DO k=n(ng),0,-1
291 IF (kk.lt.n(ng))
THEN
294 cff=0.5_r8*(pm(i,j)+pm(i-1,j))
298#ifdef WET_DRY_NOT_YET
299 cff=cff*umask_wet(i,j)
301 dzdx(i,j,k2b)=cff*(z_r(i ,j,kk+1)- &
303#if defined TS_MIX_STABILITY
304 dtdx(i,j,k2b)=cff*(0.75_r8*(t(i ,j,kk+1,nrhs,itrc)- &
305 & t(i-1,j,kk+1,nrhs,itrc))+ &
306 & 0.25_r8*(t(i ,j,kk+1,nstp,itrc)- &
307 & t(i-1,j,kk+1,nstp,itrc)))
308#elif defined TS_MIX_CLIMA
310 dtdx(i,j,k2b)=cff*((t(i ,j,kk+1,nrhs,itrc)- &
311 & tclm(i ,j,kk+1,itrc))- &
312 & (t(i-1,j,kk+1,nrhs,itrc)- &
313 & tclm(i-1,j,kk+1,itrc)))
315 dtdx(i,j,k2b)=cff*(t(i ,j,kk+1,nrhs,itrc)- &
316 & t(i-1,j,kk+1,nrhs,itrc))
319 dtdx(i,j,k2b)=cff*(t(i ,j,kk+1,nrhs,itrc)- &
320 & t(i-1,j,kk+1,nrhs,itrc))
334 cff=0.5_r8*(pn(i,j)+pn(i,j-1))
338#ifdef WET_DRY_NOT_YET
339 cff=cff*vmask_wet(i,j)
341 dzde(i,j,k2b)=cff*(z_r(i,j ,kk+1)- &
343#if defined TS_MIX_STABILITY
344 dtde(i,j,k2b)=cff*(0.75_r8*(t(i,j ,kk+1,nrhs,itrc)- &
345 & t(i,j-1,kk+1,nrhs,itrc))+ &
346 & 0.25_r8*(t(i,j ,kk+1,nstp,itrc)- &
347 & t(i,j-1,kk+1,nstp,itrc)))
348#elif defined TS_MIX_CLIMA
350 dtde(i,j,k2b)=cff*((t(i,j ,kk+1,nrhs,itrc)- &
351 & tclm(i,j ,kk+1,itrc))- &
352 & (t(i,j-1,kk+1,nrhs,itrc)- &
353 & tclm(i,j-1,kk+1,itrc)))
355 dtde(i,j,k2b)=cff*(t(i,j ,kk+1,nrhs,itrc)- &
356 & t(i,j-1,kk+1,nrhs,itrc))
359 dtde(i,j,k2b)=cff*(t(i,j ,kk+1,nrhs,itrc)- &
360 & t(i,j-1,kk+1,nrhs,itrc))
373 IF ((kk.eq.0).or.(kk.eq.n(ng)))
THEN
389 cff=1.0_r8/(z_r(i,j,kk+1)-z_r(i,j,kk))
390#if defined TS_MIX_STABILITY
391 dtdz(i,j,k2b)=cff*(0.75_r8*(t(i,j,kk+1,nrhs,itrc)- &
392 & t(i,j,kk ,nrhs,itrc))+ &
393 & 0.25_r8*(t(i,j,kk+1,nstp,itrc)- &
394 & t(i,j,kk ,nstp,itrc)))
395#elif defined TS_MIX_CLIMA
397 dtdz(i,j,k2b)=cff*((t(i,j,kk+1,nrhs,itrc)- &
398 & tclm(i,j,kk+1,itrc))- &
399 & (t(i,j,kk ,nrhs,itrc)- &
400 & tclm(i,j,kk ,itrc)))
402 dtdz(i,j,k2b)=cff*(t(i,j,kk+1,nrhs,itrc)- &
403 & t(i,j,kk ,nrhs,itrc))
406 dtdz(i,j,k2b)=cff*(t(i,j,kk+1,nrhs,itrc)- &
407 & t(i,j,kk ,nrhs,itrc))
425 ad_cff=ad_cff+ad_t(i,j,k,nnew,itrc)
432 adfac1=adfac*pm(i,j)*pn(i,j)
433 ad_fs(i,j,k2)=ad_fs(i,j,k2)+adfac
434 ad_fs(i,j,k1)=ad_fs(i,j,k1)-adfac
435 ad_fe(i,j )=ad_fe(i,j )-adfac1
436 ad_fe(i,j+1)=ad_fe(i,j+1)+adfac1
437 ad_fx(i ,j)=ad_fx(i ,j)-adfac1
438 ad_fx(i+1,j)=ad_fx(i+1,j)+adfac1
450 cff=0.5_r8*diff3d_r(i,j,k)
452 cff=0.5_r8*diff2(i,j,itrc)
454 cff1=min(dzde(i,j ,k1),0.0_r8)
455 cff2=min(dzde(i,j+1,k2),0.0_r8)
456 cff3=max(dzde(i,j ,k2),0.0_r8)
457 cff4=max(dzde(i,j+1,k1),0.0_r8)
481 adfac=cff*ad_fs(i,j,k2)
483 & (2.0_r8*cff1*dtdz(i,j,k2)-dtde(i,j ,k1))* &
486 & (2.0_r8*cff2*dtdz(i,j,k2)-dtde(i,j+1,k2))* &
489 & (2.0_r8*cff3*dtdz(i,j,k2)-dtde(i,j ,k2))* &
492 & (2.0_r8*cff4*dtdz(i,j,k2)-dtde(i,j+1,k1))* &
494 ad_dtdz(i,j,k2)=ad_dtdz(i,j,k2)+ &
499 ad_dtde(i,j ,k1)=ad_dtde(i,j ,k1)-cff1*adfac
500 ad_dtde(i,j+1,k2)=ad_dtde(i,j+1,k2)-cff2*adfac
501 ad_dtde(i,j ,k2)=ad_dtde(i,j ,k2)-cff3*adfac
502 ad_dtde(i,j+1,k1)=ad_dtde(i,j+1,k1)-cff4*adfac
506 ad_dzde(i,j+1,k1)=ad_dzde(i,j+1,k1)+ &
507 & (0.5_r8+sign(0.5_r8, &
508 & dzde(i,j+1,k1)))* &
514 ad_dzde(i,j ,k2)=ad_dzde(i,j ,k2)+ &
515 & (0.5_r8+sign(0.5_r8, &
522 ad_dzde(i,j+1,k2)=ad_dzde(i,j+1,k2)+ &
523 & (0.5_r8+sign(0.5_r8, &
524 & -dzde(i,j+1,k2)))* &
530 ad_dzde(i,j ,k1)=ad_dzde(i,j ,k1)+ &
531 & (0.5_r8+sign(0.5_r8, &
532 & -dzde(i,j ,k1)))* &
536 cff1=min(dzdx(i ,j,k1),0.0_r8)
537 cff2=min(dzdx(i+1,j,k2),0.0_r8)
538 cff3=max(dzdx(i ,j,k2),0.0_r8)
539 cff4=max(dzdx(i+1,j,k1),0.0_r8)
563 & (2.0_r8*cff1*dtdz(i,j,k2)-dtdx(i ,j,k1))* &
566 & (2.0_r8*cff2*dtdz(i,j,k2)-dtdx(i+1,j,k2))* &
569 & (2.0_r8*cff3*dtdz(i,j,k2)-dtdx(i ,j,k2))* &
572 & (2.0_r8*cff4*dtdz(i,j,k2)-dtdx(i+1,j,k1))* &
574 ad_dtdz(i,j,k2)=ad_dtdz(i,j,k2)+ &
579 ad_dtdx(i ,j,k1)=ad_dtdx(i ,j,k1)-cff1*adfac
580 ad_dtdx(i+1,j,k2)=ad_dtdx(i+1,j,k2)-cff2*adfac
581 ad_dtdx(i ,j,k2)=ad_dtdx(i ,j,k2)-cff3*adfac
582 ad_dtdx(i+1,j,k1)=ad_dtdx(i+1,j,k1)-cff4*adfac
587 ad_dzdx(i+1,j,k1)=ad_dzdx(i+1,j,k1)+ &
588 & (0.5_r8+sign(0.5_r8, &
589 & dzdx(i+1,j,k1)))* &
595 ad_dzdx(i ,j,k2)=ad_dzdx(i ,j,k2)+ &
596 & (0.5_r8+sign(0.5_r8, &
603 ad_dzdx(i+1,j,k2)=ad_dzdx(i+1,j,k2)+ &
604 & (0.5_r8+sign(0.5_r8, &
605 & -dzdx(i+1,j,k2)))* &
611 ad_dzdx(i ,j,k1)=ad_dzdx(i ,j,k1)+ &
612 & (0.5_r8+sign(0.5_r8, &
613 & -dzdx(i ,j,k1)))* &
622 cff=0.25_r8*(diff3d_r(i,j,k)+diff3d_r(i,j-1,k))* &
625 cff=0.25_r8*(diff2(i,j,itrc)+diff2(i,j-1,itrc))* &
655 adfac1=adfac*(dtde(i,j,k1)- &
656 & 0.5_r8*(min(dzde(i,j,k1),0.0_r8)* &
659 & max(dzde(i,j,k1),0.0_r8)* &
662 adfac2=adfac*(hz(i,j,k)+hz(i,j-1,k))
663 adfac3=adfac2*0.5_r8*min(dzde(i,j,k1),0.0_r8)
664 adfac4=adfac2*0.5_r8*max(dzde(i,j,k1),0.0_r8)
665 ad_hz(i,j-1,k)=ad_hz(i,j-1,k)+adfac1
666 ad_hz(i,j ,k)=ad_hz(i,j ,k)+adfac1
667 ad_dtde(i,j,k1)=ad_dtde(i,j,k1)+adfac2
668 ad_dtdz(i,j-1,k1)=ad_dtdz(i,j-1,k1)-adfac3
669 ad_dtdz(i,j ,k2)=ad_dtdz(i,j ,k2)-adfac3
670 ad_dtdz(i,j-1,k2)=ad_dtdz(i,j-1,k2)-adfac4
671 ad_dtdz(i,j ,k1)=ad_dtdz(i,j ,k1)-adfac4
672 ad_dzde(i,j,k1)=ad_dzde(i,j,k1)- &
674 & ((0.5_r8+sign(0.5_r8,-dzde(i,j,k1)))* &
675 & (dtdz(i,j-1,k1)+dtdz(i,j,k2))+ &
676 & (0.5_r8+sign(0.5_r8, dzde(i,j,k1)))* &
677 & (dtdz(i,j-1,k2)+dtdz(i,j,k1)))
684 cff=0.25_r8*(diff3d_r(i,j,k)+diff3d_r(i-1,j,k))* &
687 cff=0.25_r8*(diff2(i,j,itrc)+diff2(i-1,j,itrc))* &
717 adfac1=adfac*(dtdx(i,j,k1)- &
718 & 0.5_r8*(min(dzdx(i,j,k1),0.0_r8)* &
721 & max(dzdx(i,j,k1),0.0_r8)* &
724 adfac2=adfac*(hz(i,j,k)+hz(i-1,j,k))
725 adfac3=adfac2*0.5_r8*min(dzdx(i,j,k1),0.0_r8)
726 adfac4=adfac2*0.5_r8*max(dzdx(i,j,k1),0.0_r8)
727 ad_hz(i-1,j,k)=ad_hz(i-1,j,k)+adfac1
728 ad_hz(i ,j,k)=ad_hz(i ,j,k)+adfac1
729 ad_dtdx(i,j,k1)=ad_dtdx(i,j,k1)+adfac2
730 ad_dtdz(i-1,j,k1)=ad_dtdz(i-1,j,k1)-adfac3
731 ad_dtdz(i ,j,k2)=ad_dtdz(i ,j,k2)-adfac3
732 ad_dtdz(i-1,j,k2)=ad_dtdz(i-1,j,k2)-adfac4
733 ad_dtdz(i ,j,k1)=ad_dtdz(i ,j,k1)-adfac4
734 ad_dzdx(i,j,k1)=ad_dzdx(i,j,k1)- &
736 & ((0.5_r8+sign(0.5_r8,-dzdx(i,j,k1)))* &
737 & (dtdz(i-1,j,k1)+dtdz(i,j,k2))+ &
738 & (0.5_r8+sign(0.5_r8, dzdx(i,j,k1)))* &
739 & (dtdz(i-1,j,k2)+dtdz(i,j,k1)))
744 IF ((k.eq.0).or.(k.eq.n(ng)))
THEN
752 ad_dtdz(i,j,k2)=0.0_r8
758 cff=1.0_r8/(z_r(i,j,k+1)-z_r(i,j,k))
759#if defined TS_MIX_STABILITY
769 adfac=cff*ad_dtdz(i,j,k2)
772 ad_t(i,j,k ,nrhs,itrc)=ad_t(i,j,k ,nrhs,itrc)-adfac1
773 ad_t(i,j,k+1,nrhs,itrc)=ad_t(i,j,k+1,nrhs,itrc)+adfac1
774 ad_t(i,j,k ,nstp,itrc)=ad_t(i,j,k ,nstp,itrc)-adfac2
775 ad_t(i,j,k+1,nstp,itrc)=ad_t(i,j,k+1,nstp,itrc)+adfac2
776 ad_cff=ad_cff+(0.75_r8*(t(i,j,k+1,nrhs,itrc)- &
777 & t(i,j,k ,nrhs,itrc))+ &
778 & 0.25_r8*(t(i,j,k+1,nstp,itrc)- &
779 & t(i,j,k ,nstp,itrc)))* &
781 ad_dtdz(i,j,k2)=0.0_r8
782#elif defined TS_MIX_CLIMA
791 adfac=cff*ad_dtdz(i,j,k2)
792 ad_t(i,j,k ,nrhs,itrc)=ad_t(i,j,k ,nrhs,itrc)-adfac
793 ad_t(i,j,k+1,nrhs,itrc)=ad_t(i,j,k+1,nrhs,itrc)+adfac
794 ad_cff=ad_cff+((t(i,j,k+1,nrhs,itrc)- &
795 & tclm(i,j,k+1,itrc))- &
796 & (t(i,j,k ,nrhs,itrc)- &
797 & tclm(i,j,k ,itrc)))*ad_dtdz(i,j,k2)
798 ad_dtdz(i,j,k2)=0.0_r8
805 adfac=cff*ad_dtdz(i,j,k2)
806 ad_t(i,j,k ,nrhs,itrc)=ad_t(i,j,k ,nrhs,itrc)-adfac
807 ad_t(i,j,k+1,nrhs,itrc)=ad_t(i,j,k+1,nrhs,itrc)+adfac
808 ad_cff=ad_cff+(t(i,j,k+1,nrhs,itrc)- &
809 & t(i,j,k ,nrhs,itrc))*ad_dtdz(i,j,k2)
810 ad_dtdz(i,j,k2)=0.0_r8
818 adfac=cff*ad_dtdz(i,j,k2)
819 ad_t(i,j,k ,nrhs,itrc)=ad_t(i,j,k ,nrhs,itrc)-adfac
820 ad_t(i,j,k+1,nrhs,itrc)=ad_t(i,j,k+1,nrhs,itrc)+adfac
821 ad_cff=ad_cff+(t(i,j,k+1,nrhs,itrc)- &
822 & t(i,j,k ,nrhs,itrc))*ad_dtdz(i,j,k2)
823 ad_dtdz(i,j,k2)=0.0_r8
828 ad_z_r(i,j,k )=ad_z_r(i,j,k )+adfac
829 ad_z_r(i,j,k+1)=ad_z_r(i,j,k+1)-adfac
837 cff=0.5_r8*(pn(i,j)+pn(i,j-1))
841#ifdef WET_DRY_NOT_YET
842 cff=cff*vmask_wet(i,j)
844#if defined TS_MIX_STABILITY
851 adfac=cff*ad_dtde(i,j,k2)
854 ad_t(i,j-1,k+1,nrhs,itrc)=ad_t(i,j-1,k+1,nrhs,itrc)- &
856 ad_t(i,j ,k+1,nrhs,itrc)=ad_t(i,j ,k+1,nrhs,itrc)+ &
858 ad_t(i,j-1,k+1,nstp,itrc)=ad_t(i,j-1,k+1,nstp,itrc)- &
860 ad_t(i,j ,k+1,nstp,itrc)=ad_t(i,j ,k+1,nstp,itrc)+ &
862 ad_dtde(i,j,k2)=0.0_r8
863#elif defined TS_MIX_CLIMA
867 adfac=cff*ad_dtde(i,j,k2)
868 ad_t(i,j-1,k+1,nrhs,itrc)=ad_t(i,j-1,k+1,nrhs,itrc)- &
870 ad_t(i,j ,k+1,nrhs,itrc)=ad_t(i,j ,k+1,nrhs,itrc)+ &
872 ad_dtde(i,j,k2)=0.0_r8
877 adfac=cff*ad_dtde(i,j,k2)
878 ad_t(i,j-1,k+1,nrhs,itrc)=ad_t(i,j-1,k+1,nrhs,itrc)- &
880 ad_t(i,j ,k+1,nrhs,itrc)=ad_t(i,j ,k+1,nrhs,itrc)+ &
882 ad_dtde(i,j,k2)=0.0_r8
887 adfac=cff*ad_dzde(i,j,k2)
888 ad_z_r(i,j-1,k+1)=ad_z_r(i,j-1,k+1)-adfac
889 ad_z_r(i,j ,k+1)=ad_z_r(i,j ,k+1)+adfac
890 ad_dzde(i,j,k2)=0.0_r8
895 cff=0.5_r8*(pm(i,j)+pm(i-1,j))
899#ifdef WET_DRY_NOT_YET
900 cff=cff*umask_wet(i,j)
902#if defined TS_MIX_STABILITY
909 adfac=cff*ad_dtdx(i,j,k2)
912 ad_t(i-1,j,k+1,nrhs,itrc)=ad_t(i-1,j,k+1,nrhs,itrc)- &
914 ad_t(i ,j,k+1,nrhs,itrc)=ad_t(i ,j,k+1,nrhs,itrc)+ &
916 ad_t(i-1,j,k+1,nstp,itrc)=ad_t(i-1,j,k+1,nstp,itrc)- &
918 ad_t(i ,j,k+1,nstp,itrc)=ad_t(i ,j,k+1,nstp,itrc)+ &
920 ad_dtdx(i,j,k2)=0.0_r8
921#elif defined TS_MIX_CLIMA
925 adfac=cff*ad_dtdx(i,j,k2)
926 ad_t(i-1,j,k+1,nrhs,itrc)=ad_t(i-1,j,k+1,nrhs,itrc)- &
928 ad_t(i ,j,k+1,nrhs,itrc)=ad_t(i ,j,k+1,nrhs,itrc)+ &
930 ad_dtdx(i,j,k2)=0.0_r8
935 adfac=cff*ad_dtdx(i,j,k2)
936 ad_t(i-1,j,k+1,nrhs,itrc)=ad_t(i-1,j,k+1,nrhs,itrc)- &
938 ad_t(i ,j,k+1,nrhs,itrc)=ad_t(i ,j,k+1,nrhs,itrc)+ &
940 ad_dtdx(i,j,k2)=0.0_r8
945 adfac=cff*ad_dzdx(i,j,k2)
946 ad_z_r(i-1,j,k+1)=ad_z_r(i-1,j,k+1)-adfac
947 ad_z_r(i ,j,k+1)=ad_z_r(i ,j,k+1)+adfac
948 ad_dzdx(i,j,k2)=0.0_r8