- Timestamp:
- 2016-10-05T12:08:37+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/CO6_KD490_amm7oper/NEMOGCM/NEMO/OPA_SRC/BDY/bdytra.F90
r6331 r6991 160 160 !! 161 161 REAL(wp) :: zwgt ! boundary weight 162 INTEGER :: ib, ik, igrd ! dummy loop indices 163 INTEGER :: ii, ij,zcoef, zcoef1,zcoef2, ip, jp ! 2D addresses 162 REAL(wp) :: zcoef, zcoef1,zcoef2 163 INTEGER :: ib, ik, igrd ! dummy loop indices 164 INTEGER :: ii, ij, ip, jp ! 2D addresses 164 165 !!---------------------------------------------------------------------- 165 166 ! … … 174 175 zcoef1 = bdytmask(ii-1,ij ) + bdytmask(ii+1,ij ) 175 176 zcoef2 = bdytmask(ii ,ij-1) + bdytmask(ii ,ij+1) 176 IF ( zcoef1+zcoef2== 0) THEN177 IF ( NINT(zcoef1+zcoef2) == 0) THEN 177 178 ! corner 178 179 zcoef = tmask(ii-1,ij,ik) + tmask(ii+1,ij,ik) + tmask(ii,ij-1,ik) + tmask(ii,ij+1,ik) … … 181 182 & tsa(ii ,ij-1,ik,jp_tem) * tmask(ii ,ij-1,ik) + & 182 183 & tsa(ii ,ij+1,ik,jp_tem) * tmask(ii ,ij+1,ik) 183 tsa(ii,ij,ik,jp_tem) = ( tsa(ii,ij,ik,jp_tem) / MAX( 1 , zcoef) ) * tmask(ii,ij,ik)184 tsa(ii,ij,ik,jp_tem) = ( tsa(ii,ij,ik,jp_tem) / MAX( 1._wp, zcoef) ) * tmask(ii,ij,ik) 184 185 tsa(ii,ij,ik,jp_sal) = tsa(ii-1,ij ,ik,jp_sal) * tmask(ii-1,ij ,ik) + & 185 186 & tsa(ii+1,ij ,ik,jp_sal) * tmask(ii+1,ij ,ik) + & 186 187 & tsa(ii ,ij-1,ik,jp_sal) * tmask(ii ,ij-1,ik) + & 187 188 & tsa(ii ,ij+1,ik,jp_sal) * tmask(ii ,ij+1,ik) 188 tsa(ii,ij,ik,jp_sal) = ( tsa(ii,ij,ik,jp_sal) / MAX( 1 , zcoef) ) * tmask(ii,ij,ik)189 tsa(ii,ij,ik,jp_sal) = ( tsa(ii,ij,ik,jp_sal) / MAX( 1._wp, zcoef) ) * tmask(ii,ij,ik) 189 190 ELSE 190 ip = bdytmask(ii+1,ij ) - bdytmask(ii-1,ij)191 jp = bdytmask(ii ,ij+1) - bdytmask(ii ,ij-1)192 tsa(ii,ij,ik,jp_tem) = tsa(ii+ip,ij+jp,ik,jp_tem) * tmask(ii+ip,ij+jp,ik) 193 tsa(ii,ij,ik,jp_sal) = tsa(ii+ip,ij+jp,ik,jp_sal) * tmask(ii+ip,ij+jp,ik) 191 ip = NINT(bdytmask(ii+1,ij ) - bdytmask(ii-1,ij )) 192 jp = NINT(bdytmask(ii ,ij+1) - bdytmask(ii ,ij-1)) 193 tsa(ii,ij,ik,jp_tem) = tsa(ii+ip,ij+jp,ik,jp_tem) * tmask(ii+ip,ij+jp,ik) * tmask(ii,ij,ik) 194 tsa(ii,ij,ik,jp_sal) = tsa(ii+ip,ij+jp,ik,jp_sal) * tmask(ii+ip,ij+jp,ik) * tmask(ii,ij,ik) 194 195 ENDIF 195 196 END DO
Note: See TracChangeset
for help on using the changeset viewer.