14 |
#ifdef SEAICE_CAP_SUBLIM |
#ifdef SEAICE_CAP_SUBLIM |
15 |
I F_lh_max, |
I F_lh_max, |
16 |
#endif |
#endif |
17 |
U TSURF, |
I TSURFin, |
18 |
|
O TSURFout, |
19 |
O F_ia, IcePenetSW, |
O F_ia, IcePenetSW, |
20 |
O FWsublim, |
O FWsublim, |
21 |
I bi, bj, myTime, myIter, myThid ) |
I bi, bj, myTime, myIter, myThid ) |
74 |
#ifdef SEAICE_CAP_SUBLIM |
#ifdef SEAICE_CAP_SUBLIM |
75 |
_RL F_lh_max (1:sNx,1:sNy) |
_RL F_lh_max (1:sNx,1:sNy) |
76 |
#endif |
#endif |
77 |
_RL TSURF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RL TSURFin (1:sNx,1:sNy) |
78 |
|
_RL TSURFout (1:sNx,1:sNy) |
79 |
_RL F_ia (1:sNx,1:sNy) |
_RL F_ia (1:sNx,1:sNy) |
80 |
_RL IcePenetSW (1:sNx,1:sNy) |
_RL IcePenetSW (1:sNx,1:sNy) |
81 |
_RL FWsublim (1:sNx,1:sNy) |
_RL FWsublim (1:sNx,1:sNy) |
230 |
F_lwu (I,J) = 0. _d 0 |
F_lwu (I,J) = 0. _d 0 |
231 |
F_sens (I,J) = 0. _d 0 |
F_sens (I,J) = 0. _d 0 |
232 |
C Make a local copy of LW, surface & atmospheric temperatures |
C Make a local copy of LW, surface & atmospheric temperatures |
233 |
tsurfLoc (I,J) = TSURF(I,J,bi,bj) |
tsurfLoc (I,J) = TSURFin(I,J) |
234 |
c tsurfLoc (I,J) = MIN( celsius2K+MAX_TICE, TSURF(I,J,bi,bj) ) |
TSURFout (I,J) = TSURFin(I,J) |
235 |
|
c tsurfLoc (I,J) = MIN( celsius2K+MAX_TICE, TSURFin(I,J) ) |
236 |
lwdownLoc(I,J) = MAX( MIN_LWDOWN, LWDOWN(I,J,bi,bj) ) |
lwdownLoc(I,J) = MAX( MIN_LWDOWN, LWDOWN(I,J,bi,bj) ) |
237 |
atempLoc (I,J) = MAX( celsius2K+MIN_ATEMP, ATEMP(I,J,bi,bj) ) |
atempLoc (I,J) = MAX( celsius2K+MIN_ATEMP, ATEMP(I,J,bi,bj) ) |
238 |
|
|
330 |
print '(A,i6)','ibi merged initialization ', myIter |
print '(A,i6)','ibi merged initialization ', myIter |
331 |
print '(A,i6,4(1x,D24.15))', |
print '(A,i6,4(1x,D24.15))', |
332 |
& 'ibi iter, TSL, TS ',myIter, |
& 'ibi iter, TSL, TS ',myIter, |
333 |
& tsurfLoc(I,J), TSURF(I,J,bi,bj) |
& tsurfLoc(I,J), TSURFin(I,J) |
334 |
print '(A,i6,4(1x,D24.15))', |
print '(A,i6,4(1x,D24.15))', |
335 |
& 'ibi iter, TMELT ',myIter,TMELT |
& 'ibi iter, TMELT ',myIter,TMELT |
336 |
print '(A,i6,4(1x,D24.15))', |
print '(A,i6,4(1x,D24.15))', |
465 |
IF ( iceOrNot(I,J) ) THEN |
IF ( iceOrNot(I,J) ) THEN |
466 |
|
|
467 |
C Save updated tsurf and finalize the flux terms |
C Save updated tsurf and finalize the flux terms |
468 |
TSURF(I,J,bi,bj) = tsurfLoc(I,J) |
TSURFout(I,J) = tsurfLoc(I,J) |
469 |
|
|
470 |
#ifdef SEAICE_MODIFY_GROWTH_ADJ |
#ifdef SEAICE_MODIFY_GROWTH_ADJ |
471 |
Cgf no additional dependency through solver, snow, etc. |
Cgf no additional dependency through solver, snow, etc. |
472 |
IF ( SEAICEadjMODE.GE.2 ) THEN |
IF ( SEAICEadjMODE.GE.2 ) THEN |
473 |
CALL ZERO_ADJ_1D( 1, TSURF(I,J,bi,bj), myThid) |
CALL ZERO_ADJ_1D( 1, TSURFin(I,J), myThid) |
474 |
absorbedSW(I,J) = 0.3 _d 0 *SWDOWN(I,J,bi,bj) |
absorbedSW(I,J) = 0.3 _d 0 *SWDOWN(I,J,bi,bj) |
475 |
IcePenetSW(I,J)= 0. _d 0 |
IcePenetSW(I,J)= 0. _d 0 |
476 |
ENDIF |
ENDIF |
477 |
IF ( postSolvTempIter.EQ.2 .OR. SEAICEadjMODE.GE.2 ) THEN |
IF ( postSolvTempIter.EQ.2 .OR. SEAICEadjMODE.GE.2 ) THEN |
478 |
t1 = TSURF(I,J,bi,bj) |
t1 = TSURFin(I,J) |
479 |
#else /* SEAICE_MODIFY_GROWTH_ADJ */ |
#else /* SEAICE_MODIFY_GROWTH_ADJ */ |
480 |
|
|
481 |
IF ( postSolvTempIter.EQ.2 ) THEN |
IF ( postSolvTempIter.EQ.2 ) THEN |
545 |
print '(A,i6)','ibi complete ', myIter |
print '(A,i6)','ibi complete ', myIter |
546 |
print '(A,4(1x,D24.15))', |
print '(A,4(1x,D24.15))', |
547 |
& 'ibi T(SURF, surfLoc,atmos) ', |
& 'ibi T(SURF, surfLoc,atmos) ', |
548 |
& TSURF(I,J,bi,bj), tsurfLoc(I,J),atempLoc(I,J) |
& TSURFout(I,J), tsurfLoc(I,J),atempLoc(I,J) |
549 |
print '(A,4(1x,D24.15))', |
print '(A,4(1x,D24.15))', |
550 |
& 'ibi LWL ', lwdownLoc(I,J) |
& 'ibi LWL ', lwdownLoc(I,J) |
551 |
print '(A,4(1x,D24.15))', |
print '(A,4(1x,D24.15))', |