52 |
C xA, yA - Per block temporaries holding face areas |
C xA, yA - Per block temporaries holding face areas |
53 |
C uTrans, vTrans, rTrans - Per block temporaries holding flow |
C uTrans, vTrans, rTrans - Per block temporaries holding flow |
54 |
C transport |
C transport |
55 |
C rVel o uTrans: Zonal transport |
C o uTrans: Zonal transport |
56 |
C o vTrans: Meridional transport |
C o vTrans: Meridional transport |
57 |
C o rTrans: Vertical transport |
C o rTrans: Vertical transport |
|
C o rVel: Vertical velocity at upper and |
|
|
C lower cell faces. |
|
58 |
C maskC,maskUp o maskC: land/water mask for tracer cells |
C maskC,maskUp o maskC: land/water mask for tracer cells |
59 |
C o maskUp: land/water mask for W points |
C o maskUp: land/water mask for W points |
60 |
C fVer[STUV] o fVer: Vertical flux term - note fVer |
C fVer[STUV] o fVer: Vertical flux term - note fVer |
83 |
_RL uTrans (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL uTrans (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
84 |
_RL vTrans (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL vTrans (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
85 |
_RL rTrans (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL rTrans (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
|
_RL rVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,2) |
|
86 |
_RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
87 |
_RS maskUp (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RS maskUp (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
88 |
_RL fVerT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,2) |
_RL fVerT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,2) |
135 |
C =================== |
C =================== |
136 |
C This is where all the accelerations and tendencies (ie. |
C This is where all the accelerations and tendencies (ie. |
137 |
C physics, parameterizations etc...) are calculated |
C physics, parameterizations etc...) are calculated |
|
C rVel = sum_r ( div. u[n] ) |
|
138 |
C rho = rho ( theta[n], salt[n] ) |
C rho = rho ( theta[n], salt[n] ) |
139 |
C b = b(rho, theta) |
C b = b(rho, theta) |
140 |
C K31 = K31 ( rho ) |
C K31 = K31 ( rho ) |
141 |
C Gu[n] = Gu( u[n], v[n], rVel, b, ... ) |
C Gu[n] = Gu( u[n], v[n], wVel, b, ... ) |
142 |
C Gv[n] = Gv( u[n], v[n], rVel, b, ... ) |
C Gv[n] = Gv( u[n], v[n], wVel, b, ... ) |
143 |
C Gt[n] = Gt( theta[n], u[n], v[n], rVel, K31, ... ) |
C Gt[n] = Gt( theta[n], u[n], v[n], wVel, K31, ... ) |
144 |
C Gs[n] = Gs( salt[n], u[n], v[n], rVel, K31, ... ) |
C Gs[n] = Gs( salt[n], u[n], v[n], wVel, K31, ... ) |
145 |
C |
C |
146 |
C "Time-stepping" or "Prediction" |
C "Time-stepping" or "Prediction" |
147 |
C ================================ |
C ================================ |
205 |
|
|
206 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
207 |
C-- HPF directive to help TAMC |
C-- HPF directive to help TAMC |
208 |
CHPF$ INDEPENDENT, NEW (rTrans,rVel,fVerT,fVerS,fVerU,fVerV |
CHPF$ INDEPENDENT, NEW (rTrans,fVerT,fVerS,fVerU,fVerV |
209 |
CHPF$& ,phiHyd,utrans,vtrans,maskc,xA,yA |
CHPF$& ,phiHyd,utrans,vtrans,maskc,xA,yA |
210 |
CHPF$& ,KappaRT,KappaRS,KappaRU,KappaRV |
CHPF$& ,KappaRT,KappaRS,KappaRU,KappaRV |
211 |
CHPF$& ) |
CHPF$& ) |
234 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
235 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
236 |
rTrans(i,j) = 0. _d 0 |
rTrans(i,j) = 0. _d 0 |
|
rVel (i,j,1) = 0. _d 0 |
|
|
rVel (i,j,2) = 0. _d 0 |
|
237 |
fVerT (i,j,1) = 0. _d 0 |
fVerT (i,j,1) = 0. _d 0 |
238 |
fVerT (i,j,2) = 0. _d 0 |
fVerT (i,j,2) = 0. _d 0 |
239 |
fVerS (i,j,1) = 0. _d 0 |
fVerS (i,j,1) = 0. _d 0 |
404 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
405 |
CPatrick Is this formula correct? |
CPatrick Is this formula correct? |
406 |
kkey = (ikey-1)*(Nr-1+1) + (k-1) + 1 |
kkey = (ikey-1)*(Nr-1+1) + (k-1) + 1 |
|
CADJ STORE rvel (:,:,kDown) = comlev1_bibj_k, key = kkey, byte = isbyte |
|
407 |
CADJ STORE rTrans(:,:) = comlev1_bibj_k, key = kkey, byte = isbyte |
CADJ STORE rTrans(:,:) = comlev1_bibj_k, key = kkey, byte = isbyte |
408 |
CADJ STORE KappaRT(:,:,:) = comlev1_bibj_k, key = kkey, byte = isbyte |
CADJ STORE KappaRT(:,:,:) = comlev1_bibj_k, key = kkey, byte = isbyte |
409 |
CADJ STORE KappaRS(:,:,:) = comlev1_bibj_k, key = kkey, byte = isbyte |
CADJ STORE KappaRS(:,:,:) = comlev1_bibj_k, key = kkey, byte = isbyte |
412 |
C-- Get temporary terms used by tendency routines |
C-- Get temporary terms used by tendency routines |
413 |
CALL CALC_COMMON_FACTORS ( |
CALL CALC_COMMON_FACTORS ( |
414 |
I bi,bj,iMin,iMax,jMin,jMax,k,km1,kup,kDown, |
I bi,bj,iMin,iMax,jMin,jMax,k,km1,kup,kDown, |
415 |
O xA,yA,uTrans,vTrans,rTrans,rVel,maskC,maskUp, |
O xA,yA,uTrans,vTrans,rTrans,maskC,maskUp, |
416 |
I myThid) |
I myThid) |
417 |
|
|
418 |
#ifdef INCLUDE_CALC_DIFFUSIVITY_CALL |
#ifdef INCLUDE_CALC_DIFFUSIVITY_CALL |