7 |
C !ROUTINE: THSICE_SLAB_OCEAN |
C !ROUTINE: THSICE_SLAB_OCEAN |
8 |
C !INTERFACE: |
C !INTERFACE: |
9 |
SUBROUTINE THSICE_SLAB_OCEAN( |
SUBROUTINE THSICE_SLAB_OCEAN( |
10 |
|
O dTsurf, |
11 |
I bi, bj, myThid ) |
I bi, bj, myThid ) |
12 |
C !DESCRIPTION: \bv |
C !DESCRIPTION: \bv |
13 |
C *==========================================================* |
C *==========================================================* |
40 |
|
|
41 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
42 |
C == Routine Arguments == |
C == Routine Arguments == |
43 |
|
_RL dTsurf(sNx,sNy) |
44 |
INTEGER bi,bj |
INTEGER bi,bj |
45 |
INTEGER myThid |
INTEGER myThid |
46 |
CEOP |
CEOP |
62 |
DO j=1,sNy |
DO j=1,sNy |
63 |
DO i=1,sNx |
DO i=1,sNx |
64 |
IF ( hOceMxL(i,j,bi,bj).NE.0. _d 0 ) THEN |
IF ( hOceMxL(i,j,bi,bj).NE.0. _d 0 ) THEN |
65 |
|
dTsurf(i,j) = tOceMxL(i,j,bi,bj) |
66 |
tOceMxL(i,j,bi,bj) = tOceMxL(i,j,bi,bj) |
tOceMxL(i,j,bi,bj) = tOceMxL(i,j,bi,bj) |
67 |
& - heatFac*Qnet(i,j,bi,bj) / hOceMxL(i,j,bi,bj) |
& - heatFac*Qnet(i,j,bi,bj) / hOceMxL(i,j,bi,bj) |
68 |
sOceMxL(i,j,bi,bj) = sOceMxL(i,j,bi,bj) |
sOceMxL(i,j,bi,bj) = sOceMxL(i,j,bi,bj) |
96 |
ENDIF |
ENDIF |
97 |
#endif /* ALLOW_AIM */ |
#endif /* ALLOW_AIM */ |
98 |
|
|
99 |
|
C- Diagnose surf. temp. change |
100 |
|
DO j=1,sNy |
101 |
|
DO i=1,sNx |
102 |
|
IF ( hOceMxL(i,j,bi,bj).NE.0. _d 0 ) THEN |
103 |
|
dTsurf(i,j) = tOceMxL(i,j,bi,bj) - dTsurf(i,j) |
104 |
|
ENDIF |
105 |
|
ENDDO |
106 |
|
ENDDO |
107 |
|
|
108 |
#endif /* ALLOW_THSICE */ |
#endif /* ALLOW_THSICE */ |
109 |
|
|
110 |
RETURN |
RETURN |