2 |
|
|
3 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
4 |
|
|
5 |
SUBROUTINE DYNAMICS(myThid) |
SUBROUTINE DYNAMICS(myTime, myIter, myThid) |
6 |
C /==========================================================\ |
C /==========================================================\ |
7 |
C | SUBROUTINE DYNAMICS | |
C | SUBROUTINE DYNAMICS | |
8 |
C | o Controlling routine for the explicit part of the model | |
C | o Controlling routine for the explicit part of the model | |
29 |
#include "DYNVARS.h" |
#include "DYNVARS.h" |
30 |
|
|
31 |
C == Routine arguments == |
C == Routine arguments == |
32 |
|
C myTime - Current time in simulation |
33 |
|
C myIter - Current iteration number in simulation |
34 |
C myThid - Thread number for this instance of the routine. |
C myThid - Thread number for this instance of the routine. |
35 |
INTEGER myThid |
INTEGER myThid |
36 |
|
_RL myTime |
37 |
|
INTEGER myIter |
38 |
|
|
39 |
C == Local variables |
C == Local variables |
40 |
C xA, yA - Per block temporaries holding face areas |
C xA, yA - Per block temporaries holding face areas |
202 |
I myThid ) |
I myThid ) |
203 |
C-- Calculate static stability and mix where convectively unstable |
C-- Calculate static stability and mix where convectively unstable |
204 |
CALL CONVECT( |
CALL CONVECT( |
205 |
I bi,bj,iMin,iMax,jMin,jMax,K,rhoKm1,rhoKp1,myThid) |
I bi,bj,iMin,iMax,jMin,jMax,K,rhoKm1,rhoKp1, |
206 |
|
I myTime,myIter,myThid) |
207 |
C-- Density of K-1 level (above W(K)) reference to K-1 level |
C-- Density of K-1 level (above W(K)) reference to K-1 level |
208 |
CALL FIND_RHO( |
CALL FIND_RHO( |
209 |
I bi, bj, iMin, iMax, jMin, jMax, K-1, K-1, 'LINEAR', |
I bi, bj, iMin, iMax, jMin, jMax, K-1, K-1, 'LINEAR', |
238 |
I myThid) |
I myThid) |
239 |
|
|
240 |
C-- Calculate accelerations in the momentum equations |
C-- Calculate accelerations in the momentum equations |
241 |
CALL CALC_MOM_RHS( |
IF ( momStepping ) THEN |
242 |
I bi,bj,iMin,iMax,jMin,jMax,k,kM1,kUp,kDown, |
CALL CALC_MOM_RHS( |
243 |
I xA,yA,uTrans,vTrans,wTrans,maskC, |
I bi,bj,iMin,iMax,jMin,jMax,k,kM1,kUp,kDown, |
244 |
I pH, |
I xA,yA,uTrans,vTrans,wTrans,maskC, |
245 |
U aTerm,xTerm,cTerm,mTerm,pTerm, |
I pH, |
246 |
U fZon, fMer, fVerU, fVerV, |
U aTerm,xTerm,cTerm,mTerm,pTerm, |
247 |
I myThid) |
U fZon, fMer, fVerU, fVerV, |
248 |
|
I myThid) |
249 |
|
ENDIF |
250 |
|
|
251 |
C-- Calculate active tracer tendencies |
C-- Calculate active tracer tendencies |
252 |
CALL CALC_GT( |
IF ( tempStepping ) THEN |
253 |
I bi,bj,iMin,iMax,jMin,jMax, k,kM1,kUp,kDown, |
CALL CALC_GT( |
254 |
I xA,yA,uTrans,vTrans,wTrans,maskUp, |
I bi,bj,iMin,iMax,jMin,jMax, k,kM1,kUp,kDown, |
255 |
I K13,K23,K33,KapGM, |
I xA,yA,uTrans,vTrans,wTrans,maskUp, |
256 |
U aTerm,xTerm,fZon,fMer,fVerT, |
I K13,K23,K33,KapGM, |
257 |
I myThid) |
U aTerm,xTerm,fZon,fMer,fVerT, |
258 |
|
I myThid) |
259 |
|
ENDIF |
260 |
Cdbg CALL CALC_GS( |
Cdbg CALL CALC_GS( |
261 |
Cdbg I bi,bj,iMin,iMax,jMin,jMax, k,kM1,kUp,kDown, |
Cdbg I bi,bj,iMin,iMax,jMin,jMax, k,kM1,kUp,kDown, |
262 |
Cdbg I xA,yA,uTrans,vTrans,wTrans,maskUp, |
Cdbg I xA,yA,uTrans,vTrans,wTrans,maskUp, |