50 |
integer mythid |
integer mythid |
51 |
integer myiter |
integer myiter |
52 |
_RL mytime |
_RL mytime |
53 |
|
INTEGER bi,bj |
54 |
|
|
55 |
C == local variables == |
C == local variables == |
56 |
|
|
71 |
CALL DUMMY_IN_STEPPING( myTime, myIter, myThid ) |
CALL DUMMY_IN_STEPPING( myTime, myIter, myThid ) |
72 |
#endif |
#endif |
73 |
|
|
74 |
|
#ifdef EXACT_CONSERV |
75 |
|
IF (exactConserv) THEN |
76 |
|
C-- Update etaH(n+1) : |
77 |
|
DO bj=myByLo(myThid),myByHi(myThid) |
78 |
|
DO bi=myBxLo(myThid),myBxHi(myThid) |
79 |
|
CALL CALC_EXACT_ETA( .FALSE., bi,bj, uVel,vVel, |
80 |
|
I startTime, nIter0, myThid ) |
81 |
|
ENDDO |
82 |
|
ENDDO |
83 |
|
IF (implicDiv2Dflow .NE. 1. _d 0 ) |
84 |
|
& _EXCH_XY_R8(etaH, myThid ) |
85 |
|
ENDIF |
86 |
|
#endif /* EXACT_CONSERV */ |
87 |
|
|
88 |
#ifdef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
89 |
C-- compute the future surface level thickness |
C-- compute the future surface level thickness |
90 |
C according to the current Eta field |
C according to etaH(n+1) |
91 |
IF ( nonlinFreeSurf.GT.0) THEN |
IF ( nonlinFreeSurf.GT.0) THEN |
92 |
CALL CALC_SURF_DR(etaN, myTime, myIter, myThid ) |
CALL CALC_SURF_DR(etaH, myTime, myIter, myThid ) |
93 |
ENDIF |
ENDIF |
94 |
#endif |
#endif /* NONLIN_FRSURF */ |
95 |
|
|
96 |
C-- Load forcing/external data fields. |
C-- Load forcing/external data fields. |
97 |
#ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE |
#ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE |
129 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
130 |
|
|
131 |
#ifdef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
132 |
C-- update hfacC,W,S and recip_hFac according to the current Eta field |
C-- update hfacC,W,S and recip_hFac according to etaH(n+1) : |
133 |
IF ( momStepping ) THEN |
IF ( momStepping ) THEN |
134 |
IF ( nonlinFreeSurf.GT.0) THEN |
IF ( nonlinFreeSurf.GT.0) THEN |
135 |
CALL UPDATE_SURF_DR( myTime, myIter, myThid ) |
CALL UPDATE_SURF_DR( myTime, myIter, myThid ) |