** Warning **
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=MITgcm at /usr/local/share/lxr/lib/LXR/Common.pm line 1224.
Last-Modified: Tue, 27 Oct 2025 05:09:23 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/pkg/seaice/seaice_itd_redist.F
File indexing completed on 2018-03-28 05:09:43 UTC
view on github raw file Latest commit e7af59f6 on 2018-03-24 21:24:35 UTC
86b84a92fc Patr* 0001 #include "SEAICE_OPTIONS.h "
0002
e7af59f6fd Jean* 0003
86b84a92fc Patr* 0004
0005
0006
0007 SUBROUTINE SEAICE_ITD_REDIST (
0008 I bi , bj , myTime , myIter , myThid )
0009
0010
0011
0012
b8f04b8c26 Jean* 0013
86b84a92fc Patr* 0014
b8f04b8c26 Jean* 0015
86b84a92fc Patr* 0016
0017
0018
0019
0020
0021
0022
0023 IMPLICIT NONE
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 #include "SIZE.h "
0037 #include "EEPARAMS.h "
e7af59f6fd Jean* 0038
86b84a92fc Patr* 0039 #include "SEAICE_SIZE.h "
0040 #include "SEAICE_PARAMS.h "
0041 #include "SEAICE.h "
0042
0043
0044
0045
0046
0047
0048
0049 _RL myTime
0050 INTEGER bi ,bj
0051 INTEGER myIter
0052 INTEGER myThid
0053
0054 #ifdef SEAICE_ITD
0055
0056
0057
0058
0059
0060
0061
0062 INTEGER i , j , k
524979f562 Mart* 0063 _RL openWater (1-OLx :sNx +OLx ,1-OLy :sNy +OLy )
e7af59f6fd Jean* 0064
86b84a92fc Patr* 0065
0066
0067
0068
0069
0070
0071
524979f562 Mart* 0072 DO j =1-OLy ,sNy +OLy
0073 DO i =1-OLx ,sNx +OLx
0074 openWater (i ,j ) = ONE
0075 ENDDO
0076 ENDDO
0077 DO k =1,nITD
0078 DO j =1-OLy ,sNy +OLy
0079 DO i =1-OLx ,sNx +OLx
0080 openWater (i ,j ) = openWater (i ,j ) - AREAITD (i ,j ,k ,bi ,bj )
86b84a92fc Patr* 0081 ENDDO
524979f562 Mart* 0082 ENDDO
0083 ENDDO
e7af59f6fd Jean* 0084
86b84a92fc Patr* 0085
b8f04b8c26 Jean* 0086
86b84a92fc Patr* 0087
0088
0089
0090
0091
524979f562 Mart* 0092
0093
0094
0095
0096 DO j =1-OLy ,sNy +OLy
0097 DO i =1-OLx ,sNx +OLx
0098 IF (openWater (i ,j ) .lt. 0.0)
0099 & AREAITD (i ,j ,1,bi ,bj ) = openWater (i ,j ) + AREAITD (i ,j ,1,bi ,bj )
0100 ENDDO
0101 ENDDO
86b84a92fc Patr* 0102
e7af59f6fd Jean* 0103
0104
524979f562 Mart* 0105 IF (nITD .gt. 1) THEN
86b84a92fc Patr* 0106
524979f562 Mart* 0107
0108 DO k =1,nITD -1
0109 DO j =1-OLy ,sNy +OLy
0110 DO i =1-OLx ,sNx +OLx
0111 IF (AREAITD (i ,j ,k ,bi ,bj ) .lt. 0.0) THEN
0112
0113
0114 AREAITD (i ,j ,k +1,bi ,bj ) = AREAITD (i ,j ,k +1,bi ,bj )
0115 & + AREAITD (i ,j ,k ,bi ,bj )
0116 AREAITD (i ,j ,k ,bi ,bj ) = ZERO
0117 HEFFITD (i ,j ,k +1,bi ,bj ) = HEFFITD (i ,j ,k +1,bi ,bj )
0118 & + HEFFITD (i ,j ,k ,bi ,bj )
0119 HEFFITD (i ,j ,k ,bi ,bj ) = ZERO
0120 HSNOWITD (i ,j ,k +1,bi ,bj ) = HSNOWITD (i ,j ,k +1,bi ,bj )
0121 & + HSNOWITD (i ,j ,k ,bi ,bj )
0122 HSNOWITD (i ,j ,k ,bi ,bj ) = ZERO
86b84a92fc Patr* 0123
0124
0125
0126
0127
b8f04b8c26 Jean* 0128
86b84a92fc Patr* 0129
524979f562 Mart* 0130 ENDIF
86b84a92fc Patr* 0131 ENDDO
0132 ENDDO
524979f562 Mart* 0133 ENDDO
86b84a92fc Patr* 0134
0135
0136
524979f562 Mart* 0137 DO k =1,nITD -1
0138 DO j =1-OLy ,sNy +OLy
0139 DO i =1-OLx ,sNx +OLx
0140 IF (HEFFITD (i ,j ,k ,bi ,bj ) .gt.
86b84a92fc Patr* 0141 & Hlimit (k )*AREAITD (i ,j ,k ,bi ,bj )) THEN
e7af59f6fd Jean* 0142
524979f562 Mart* 0143
0144 AREAITD (i ,j ,k +1,bi ,bj ) = AREAITD (i ,j ,k +1,bi ,bj )
0145 & + AREAITD (i ,j ,k ,bi ,bj )
0146 AREAITD (i ,j ,k ,bi ,bj ) = ZERO
0147 HEFFITD (i ,j ,k +1,bi ,bj ) = HEFFITD (i ,j ,k +1,bi ,bj )
0148 & + HEFFITD (i ,j ,k ,bi ,bj )
0149 HEFFITD (i ,j ,k ,bi ,bj ) = ZERO
0150 HSNOWITD (i ,j ,k +1,bi ,bj ) = HSNOWITD (i ,j ,k +1,bi ,bj )
0151 & + HSNOWITD (i ,j ,k ,bi ,bj )
0152 HSNOWITD (i ,j ,k ,bi ,bj ) = ZERO
86b84a92fc Patr* 0153
0154
0155
0156
b8f04b8c26 Jean* 0157
86b84a92fc Patr* 0158
524979f562 Mart* 0159 ENDIF
86b84a92fc Patr* 0160 ENDDO
0161 ENDDO
524979f562 Mart* 0162 ENDDO
e7af59f6fd Jean* 0163
524979f562 Mart* 0164 DO k =nITD ,2,-1
0165 DO j =1-OLy ,sNy +OLy
0166 DO i =1-OLx ,sNx +OLx
0167 IF (HEFFITD (i ,j ,k ,bi ,bj ) .lt.
86b84a92fc Patr* 0168 & Hlimit (k -1)*AREAITD (i ,j ,k ,bi ,bj )) THEN
e7af59f6fd Jean* 0169
524979f562 Mart* 0170
0171 AREAITD (i ,j ,k -1,bi ,bj ) = AREAITD (i ,j ,k -1,bi ,bj )
0172 & + AREAITD (i ,j ,k ,bi ,bj )
0173 AREAITD (i ,j ,k ,bi ,bj ) = ZERO
0174 HEFFITD (i ,j ,k -1,bi ,bj ) = HEFFITD (i ,j ,k -1,bi ,bj )
0175 & + HEFFITD (i ,j ,k ,bi ,bj )
0176 HEFFITD (i ,j ,k ,bi ,bj ) = ZERO
0177 HSNOWITD (i ,j ,k -1,bi ,bj ) = HSNOWITD (i ,j ,k -1,bi ,bj )
0178 & + HSNOWITD (i ,j ,k ,bi ,bj )
0179 HSNOWITD (i ,j ,k ,bi ,bj ) = ZERO
86b84a92fc Patr* 0180
0181
0182
0183
0184
b8f04b8c26 Jean* 0185
86b84a92fc Patr* 0186
524979f562 Mart* 0187 ENDIF
86b84a92fc Patr* 0188 ENDDO
0189 ENDDO
524979f562 Mart* 0190 ENDDO
86b84a92fc Patr* 0191
524979f562 Mart* 0192
0193 ENDIF
86b84a92fc Patr* 0194
0195
0196
0197
0198
0199
0200 #endif /* SEAICE_ITD */
0201 RETURN
b8f04b8c26 Jean* 0202 END