111 |
#endif /* EXACT_CONSERV */ |
#endif /* EXACT_CONSERV */ |
112 |
|
|
113 |
#ifdef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
114 |
C-- compute the future surface level thickness |
IF ( select_rStar.NE.0 ) THEN |
115 |
C according to etaH(n+1) |
C-- r* : compute the future level thickness according to etaH(n+1) |
116 |
IF ( nonlinFreeSurf.GT.0) THEN |
CALL TIMER_START('CALC_R_STAR [FORWARD_STEP]',mythid) |
117 |
|
CALL CALC_R_STAR(etaH, myTime, myIter, myThid ) |
118 |
|
CALL TIMER_STOP ('CALC_R_STAR [FORWARD_STEP]',mythid) |
119 |
|
ELSEIF ( nonlinFreeSurf.GT.0) THEN |
120 |
|
C-- compute the future surface level thickness according to etaH(n+1) |
121 |
CALL TIMER_START('CALC_SURF_DR [FORWARD_STEP]',mythid) |
CALL TIMER_START('CALC_SURF_DR [FORWARD_STEP]',mythid) |
122 |
CALL CALC_SURF_DR(etaH, myTime, myIter, myThid ) |
CALL CALC_SURF_DR(etaH, myTime, myIter, myThid ) |
123 |
CALL TIMER_STOP ('CALC_SURF_DR [FORWARD_STEP]',mythid) |
CALL TIMER_STOP ('CALC_SURF_DR [FORWARD_STEP]',mythid) |
124 |
ENDIF |
ENDIF |
125 |
#endif /* NONLIN_FRSURF */ |
#endif /* NONLIN_FRSURF */ |
126 |
|
|
127 |
C-- Load forcing/external data fields. |
C-- Load forcing/external data fields. |
232 |
#ifdef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
233 |
C-- update hfacC,W,S and recip_hFac according to etaH(n+1) : |
C-- update hfacC,W,S and recip_hFac according to etaH(n+1) : |
234 |
IF ( nonlinFreeSurf.GT.0) THEN |
IF ( nonlinFreeSurf.GT.0) THEN |
235 |
|
IF ( select_rStar.GT.0 ) THEN |
236 |
|
CALL TIMER_START('UPDATE_R_STAR [FORWARD_STEP]',myThid) |
237 |
|
CALL UPDATE_R_STAR( myTime, myIter, myThid ) |
238 |
|
CALL TIMER_STOP ('UPDATE_R_STAR [FORWARD_STEP]',myThid) |
239 |
|
ELSE |
240 |
CALL TIMER_START('UPDATE_SURF_DR [FORWARD_STEP]',myThid) |
CALL TIMER_START('UPDATE_SURF_DR [FORWARD_STEP]',myThid) |
241 |
CALL UPDATE_SURF_DR( myTime, myIter, myThid ) |
CALL UPDATE_SURF_DR( myTime, myIter, myThid ) |
242 |
CALL TIMER_STOP ('UPDATE_SURF_DR [FORWARD_STEP]',myThid) |
CALL TIMER_STOP ('UPDATE_SURF_DR [FORWARD_STEP]',myThid) |
243 |
|
ENDIF |
244 |
ENDIF |
ENDIF |
245 |
C- update also CG2D matrix (and preconditioner) |
C- update also CG2D matrix (and preconditioner) |
246 |
IF ( momStepping .AND. nonlinFreeSurf.GT.2 ) THEN |
IF ( momStepping .AND. nonlinFreeSurf.GT.2 ) THEN |