147 |
|
|
148 |
C-- Call external forcing package |
C-- Call external forcing package |
149 |
#ifdef ALLOW_BULK_FORCE |
#ifdef ALLOW_BULK_FORCE |
150 |
IF ( useBulkforce ) THEN |
IF ( useBulkForce ) THEN |
151 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
152 |
IF ( debugLevel .GE. debLevB ) |
IF ( debugLevel .GE. debLevB ) |
153 |
& CALL DEBUG_CALL('BULKF_FIELDS_LOAD',myThid) |
& CALL DEBUG_CALL('BULKF_FIELDS_LOAD',myThid) |
154 |
#endif |
#endif |
155 |
CALL TIMER_START('BULKF_FIELDS_LOAD[THE_MAIN_LOOP]',mythid) |
CALL TIMER_START('BULKF_FORCING [FORWARD_STEP]',mythid) |
156 |
CALL BULKF_FIELDS_LOAD( mytime, myiter, mythid ) |
C- load all forcing fields at current time |
157 |
CALL TIMER_STOP ('BULKF_FIELDS_LOAD[THE_MAIN_LOOP]',mythid) |
CALL BULKF_FIELDS_LOAD( myTime, myIter, myThid ) |
158 |
c calculate qnet and empmr (and wind stress) |
C- calculate qnet and empmr (and wind stress) |
159 |
DO bj=myByLo(myThid),myByHi(myThid) |
CALL BULKF_FORCING( myTime, myIter, myThid ) |
160 |
DO bi=myBxLo(myThid),myBxHi(myThid) |
CALL TIMER_STOP ('BULKF_FORCING [FORWARD_STEP]',mythid) |
|
CALL BULKF_FORCING( bi,bj, mytime, myiter, mythid ) |
|
|
ENDDO |
|
|
ENDDO |
|
|
c Update the tile edges. |
|
|
_EXCH_XY_R8(Qnet, mythid) |
|
|
_EXCH_XY_R8(EmPmR, mythid) |
|
|
CALL EXCH_UV_XY_RS(fu, fv, .TRUE., myThid) |
|
|
C _EXCH_XY_R8(fu , mythid) |
|
|
C _EXCH_XY_R8(fv , mythid) |
|
161 |
ELSE |
ELSE |
162 |
#endif /* ALLOW_BULK_FORCE */ |
#endif /* ALLOW_BULK_FORCE */ |
163 |
|
|
199 |
& CALL CTRL_MAP_FORCING (mythid) |
& CALL CTRL_MAP_FORCING (mythid) |
200 |
#endif |
#endif |
201 |
|
|
202 |
|
#ifdef ALLOW_THSICE |
203 |
|
IF (useThSIce) THEN |
204 |
|
#ifdef ALLOW_DEBUG |
205 |
|
IF ( debugLevel .GE. debLevB ) |
206 |
|
& CALL DEBUG_CALL('THSICE_MAIN',myThid) |
207 |
|
#endif |
208 |
|
C-- Step forward Therm.Sea-Ice variables |
209 |
|
C and modify forcing terms including effects from ice |
210 |
|
CALL TIMER_START('THSICE_MAIN [FORWARD_STEP]', myThid) |
211 |
|
CALL THSICE_MAIN( myTime, myIter, myThid ) |
212 |
|
CALL TIMER_STOP( 'THSICE_MAIN [FORWARD_STEP]', myThid) |
213 |
|
ENDIF |
214 |
|
#endif /* ALLOW_THSICE */ |
215 |
|
|
216 |
# ifdef ALLOW_SEAICE |
# ifdef ALLOW_SEAICE |
217 |
C-- Call sea ice model to compute forcing/external data fields. In |
C-- Call sea ice model to compute forcing/external data fields. In |
218 |
C addition to computing prognostic sea-ice variables and diagnosing the |
C addition to computing prognostic sea-ice variables and diagnosing the |
240 |
CADJ STORE theta = comlev1, key = ikey_dynamics |
CADJ STORE theta = comlev1, key = ikey_dynamics |
241 |
#endif |
#endif |
242 |
IF ( allowFreezing .AND. .NOT. useSEAICE |
IF ( allowFreezing .AND. .NOT. useSEAICE |
243 |
& .AND. .NOT. useThermSeaIce ) THEN |
& .AND. .NOT. useThSIce ) THEN |
244 |
CALL FREEZE_SURFACE( myTime, myIter, myThid ) |
CALL FREEZE_SURFACE( myTime, myIter, myThid ) |
245 |
ENDIF |
ENDIF |
246 |
|
|