45 |
#include "GRID.h" |
#include "GRID.h" |
46 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
47 |
#include "PARAMS.h" |
#include "PARAMS.h" |
48 |
|
#include "FFIELDS.h" |
49 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
50 |
#include "tamc.h" |
#include "tamc.h" |
51 |
#include "tamc_keys.h" |
#include "tamc_keys.h" |
119 |
IF (k.EQ.1) THEN |
IF (k.EQ.1) THEN |
120 |
DO j=jMin,jMax |
DO j=jMin,jMax |
121 |
DO i=iMin,iMax |
DO i=iMin,iMax |
122 |
C *NOTE* The loading should go here but has not been implemented yet |
#ifdef ATMOSPHERIC_LOADING |
123 |
phiHyd(i,j,k)=0. |
phiHyd(i,j,k)=pload(i,j,bi,bj)*recip_rhoConst |
124 |
|
#else |
125 |
|
phiHyd(i,j,k)=0. _d 0 |
126 |
|
#endif |
127 |
ENDDO |
ENDDO |
128 |
ENDDO |
ENDDO |
129 |
ENDIF |
ENDIF |
234 |
DO j=jMin,jMax |
DO j=jMin,jMax |
235 |
DO i=iMin,iMax |
DO i=iMin,iMax |
236 |
phiHyd(i,j,K) = |
phiHyd(i,j,K) = |
237 |
& ddPIp*hFacC(I,J, K ,bi,bj) |
& ddPIp*_hFacC(I,J, K ,bi,bj) |
238 |
& *(theta(I,J, K ,bi,bj)-tRef( K )) |
& *(theta(I,J, K ,bi,bj)-tRef( K )) |
239 |
ENDDO |
ENDDO |
240 |
ENDDO |
ENDDO |
246 |
DO j=jMin,jMax |
DO j=jMin,jMax |
247 |
DO i=iMin,iMax |
DO i=iMin,iMax |
248 |
phiHyd(i,j,K) = phiHyd(i,j,K-1) |
phiHyd(i,j,K) = phiHyd(i,j,K-1) |
249 |
& +ddPIm*hFacC(I,J,K-1,bi,bj) |
& +ddPIm*_hFacC(I,J,K-1,bi,bj) |
250 |
& *(theta(I,J,K-1,bi,bj)-tRef(K-1)) |
& *(theta(I,J,K-1,bi,bj)-tRef(K-1)) |
251 |
& +ddPIp*hFacC(I,J, K ,bi,bj) |
& +ddPIp*_hFacC(I,J, K ,bi,bj) |
252 |
& *(theta(I,J, K ,bi,bj)-tRef( K )) |
& *(theta(I,J, K ,bi,bj)-tRef( K )) |
253 |
ENDDO |
ENDDO |
254 |
ENDDO |
ENDDO |
272 |
DO j=jMin,jMax |
DO j=jMin,jMax |
273 |
DO i=iMin,iMax |
DO i=iMin,iMax |
274 |
phiHyd(i,j,K) = |
phiHyd(i,j,K) = |
275 |
& ( ddPIm*max(zero, hFacC(i,j,K,bi,bj)-half) |
& ( ddPIm*max(zero, _hFacC(i,j,K,bi,bj)-half) |
276 |
& +ddPIp*min(zero, hFacC(i,j,K,bi,bj)-half) ) |
& +ddPIp*min(zero, _hFacC(i,j,K,bi,bj)-half) ) |
277 |
& *(theta(i,j, K ,bi,bj)-tRef( K )) |
& *(theta(i,j, K ,bi,bj)-tRef( K )) |
278 |
& * maskC(i,j, K ,bi,bj) |
& * maskC(i,j, K ,bi,bj) |
279 |
ENDDO |
ENDDO |
289 |
& + ddPIm*0.5 |
& + ddPIm*0.5 |
290 |
& *(theta(i,j,K-1,bi,bj)-tRef(K-1)) |
& *(theta(i,j,K-1,bi,bj)-tRef(K-1)) |
291 |
& * maskC(i,j,K-1,bi,bj) |
& * maskC(i,j,K-1,bi,bj) |
292 |
& +(ddPIm*max(zero, hFacC(i,j,K,bi,bj)-half) |
& +(ddPIm*max(zero, _hFacC(i,j,K,bi,bj)-half) |
293 |
& +ddPIp*min(zero, hFacC(i,j,K,bi,bj)-half) ) |
& +ddPIp*min(zero, _hFacC(i,j,K,bi,bj)-half) ) |
294 |
& *(theta(i,j, K ,bi,bj)-tRef( K )) |
& *(theta(i,j, K ,bi,bj)-tRef( K )) |
295 |
& * maskC(i,j, K ,bi,bj) |
& * maskC(i,j, K ,bi,bj) |
296 |
ENDDO |
ENDDO |
317 |
DO j=jMin,jMax |
DO j=jMin,jMax |
318 |
DO i=iMin,iMax |
DO i=iMin,iMax |
319 |
phiHyd(i,j,K) = |
phiHyd(i,j,K) = |
320 |
& ( ddPIm*max(zero,(hFacC(i,j,K,bi,bj)-one)*ratioRm+half) |
& ( ddPIm*max(zero,(_hFacC(i,j,K,bi,bj)-one)*ratioRm+half) |
321 |
& +ddPIp*min(zero, hFacC(i,j,K,bi,bj)*ratioRp -half) ) |
& +ddPIp*min(zero, _hFacC(i,j,K,bi,bj)*ratioRp -half) ) |
322 |
& *(theta(i,j, K ,bi,bj)-tRef( K )) |
& *(theta(i,j, K ,bi,bj)-tRef( K )) |
323 |
& * maskC(i,j, K ,bi,bj) |
& * maskC(i,j, K ,bi,bj) |
324 |
ENDDO |
ENDDO |
336 |
& + ddPIm*0.5 |
& + ddPIm*0.5 |
337 |
& *(theta(i,j,K-1,bi,bj)-tRef(K-1)) |
& *(theta(i,j,K-1,bi,bj)-tRef(K-1)) |
338 |
& * maskC(i,j,K-1,bi,bj) |
& * maskC(i,j,K-1,bi,bj) |
339 |
& +(ddPIm*max(zero,(hFacC(i,j,K,bi,bj)-one)*ratioRm+half) |
& +(ddPIm*max(zero,(_hFacC(i,j,K,bi,bj)-one)*ratioRm+half) |
340 |
& +ddPIp*min(zero, hFacC(i,j,K,bi,bj)*ratioRp -half) ) |
& +ddPIp*min(zero, _hFacC(i,j,K,bi,bj)*ratioRp -half) ) |
341 |
& *(theta(i,j, K ,bi,bj)-tRef( K )) |
& *(theta(i,j, K ,bi,bj)-tRef( K )) |
342 |
& * maskC(i,j, K ,bi,bj) |
& * maskC(i,j, K ,bi,bj) |
343 |
ENDDO |
ENDDO |