- Timestamp:
- 2015-11-25T17:58:51+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/NERC/dev_r5589_is_oce_cpl/NEMOGCM/NEMO/OPA_SRC/DOM/iscplrst.F90
r5835 r5920 34 34 !! * Substitutions 35 35 # include "domzgr_substitute.h90" 36 # include "vectopt_loop_substitute.h90" 36 37 !!---------------------------------------------------------------------- 37 38 !! NEMO/OPA 3.3 , NEMO Consortium (2010) … … 187 188 DO iz = 1,10 ! need to be tuned (configuration dependent) (OK for ISOMIP+) 188 189 zdsmask(:,:) = ssmask(:,:)-zsmask0(:,:) 189 DO j i = 2,jpi-1190 DO j j = 2,jpj-1190 DO jj = 2,jpj-1 191 DO ji = fs_2, fs_jpim1 ! vector opt. 191 192 jip1=ji+1; jim1=ji-1; 192 193 jjp1=jj+1; jjm1=jj-1; … … 280 281 vb(:,:,:)=vn(:,:,:) 281 282 DO jk = 1,jpk 282 DO j i = 1,jpi283 DO j j = 1,jpj283 DO jj = 1,jpj 284 DO ji = 1,jpi 284 285 un(ji,jj,jk) = ub(ji,jj,jk)*pe3u_b(ji,jj,jk)*pumask_b(ji,jj,jk)/fse3u_n(ji,jj,jk)*umask(ji,jj,jk); 285 286 vn(ji,jj,jk) = vb(ji,jj,jk)*pe3v_b(ji,jj,jk)*pvmask_b(ji,jj,jk)/fse3v_n(ji,jj,jk)*vmask(ji,jj,jk); … … 310 311 zucorr = 0._wp 311 312 zvcorr = 0._wp 312 DO j i = 1,jpi313 DO j j = 1,jpj313 DO jj = 1,jpj 314 DO ji = 1,jpi 314 315 IF (zbun(ji,jj) .NE. zbub(ji,jj) .AND. hu1(ji,jj) .NE. 0._wp ) THEN 315 316 zucorr(ji,jj) = (zbun(ji,jj) - zbub(ji,jj))/hu1(ji,jj) … … 334 335 ztmask1(:,:,:) = ptmask_b(:,:,:) 335 336 ztmask0(:,:,:) = ptmask_b(:,:,:) 336 DO iz = 1, 10! resolution dependent (OK for ISOMIP+ case)337 DO iz = 1,nn_drown ! resolution dependent (OK for ISOMIP+ case) 337 338 DO jk = 1,jpk-1 338 339 zdmask=tmask(:,:,jk)-ztmask0(:,:,jk); 339 DO j i = 2,jpi-1340 DO jj = 2,jpj-1340 DO jj = 2,jpj-1 341 DO ji = fs_2,fs_jpim1 341 342 jip1=ji+1; jim1=ji-1; 342 343 jjp1=jj+1; jjm1=jj-1; 343 344 summsk= (ztmask0(jip1,jj ,jk)+ztmask0(jim1,jj ,jk)+ztmask0(ji ,jjp1,jk)+ztmask0(ji ,jjm1,jk)) 345 IF (zdmask(ji,jj)==1._wp .AND. summsk .NE. 0._wp) THEN 344 346 !! horizontal basic extrapolation 345 IF (zdmask(ji,jj)==1._wp .AND. summsk .NE. 0._wp) THEN346 347 tsn(ji,jj,jk,1)=( zts0(jip1,jj ,jk,1)*ztmask0(jip1,jj ,jk) & 347 348 & +zts0(jim1,jj ,jk,1)*ztmask0(jim1,jj ,jk) & … … 353 354 & +zts0(ji ,jjm1,jk,2)*ztmask0(ji ,jjm1,jk) ) / summsk 354 355 ztmask1(ji,jj,jk)=1 355 END IF 356 !! vertical extrapolation if horizontal extra failed 357 IF (zdmask(ji,jj)==1._wp .AND. summsk==0._wp) THEN 356 ELSEIF (zdmask(ji,jj)==1._wp .AND. summsk==0._wp) THEN 357 !! vertical extrapolation if horizontal extrapolation failed 358 358 jkm1=max(1,jk-1) ; jkp1=min(jpk,jk+1) 359 359 summsk=(ztmask0(ji,jj,jkm1)+ztmask0(ji,jj,jkp1))
Note: See TracChangeset
for help on using the changeset viewer.