- Timestamp:
- 2013-11-20T17:28:04+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90
r4147 r4292 572 572 INTEGER :: ierr ! local integer 573 573 REAL(wp) :: zfac12, zua, zva ! local scalars 574 REAL(wp) :: zmsk, ze3 ! local scalars 574 575 ! ! 3D workspace 575 576 REAL(wp), POINTER , DIMENSION(:,: ) :: zwx, zwy, zwz … … 577 578 #if defined key_vvl 578 579 REAL(wp), POINTER , DIMENSION(:,:,:) :: ze3f ! 3D workspace (lk_vvl=T) 579 #endif 580 #if ! defined key_vvl 580 #else 581 581 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), SAVE :: ze3f ! lk_vvl=F, ze3f=1/e3f saved one for all 582 582 #endif … … 604 604 ENDIF 605 605 606 IF( kt == nit000 .OR. lk_vvl ) THEN ! reciprocal of e3 at F-point (masked averaging of e3t )606 IF( kt == nit000 .OR. lk_vvl ) THEN ! reciprocal of e3 at F-point (masked averaging of e3t over ocean points) 607 607 DO jk = 1, jpk 608 608 DO jj = 1, jpjm1 609 609 DO ji = 1, jpim1 610 ze3f(ji,jj,jk) = ( fse3t(ji,jj+1,jk)*tmask(ji,jj+1,jk) + fse3t(ji+1,jj+1,jk)*tmask(ji+1,jj+1,jk) & 611 & + fse3t(ji,jj ,jk)*tmask(ji,jj ,jk) + fse3t(ji+1,jj ,jk)*tmask(ji+1,jj ,jk) ) * 0.25 612 IF( ze3f(ji,jj,jk) /= 0._wp ) ze3f(ji,jj,jk) = 1._wp / ze3f(ji,jj,jk) 610 ze3 = ( fse3t(ji,jj+1,jk)*tmask(ji,jj+1,jk) + fse3t(ji+1,jj+1,jk)*tmask(ji+1,jj+1,jk) & 611 & + fse3t(ji,jj ,jk)*tmask(ji,jj ,jk) + fse3t(ji+1,jj ,jk)*tmask(ji+1,jj ,jk) ) 612 zmsk = ( tmask(ji,jj+1,jk) + tmask(ji+1,jj+1,jk) & 613 & + tmask(ji,jj ,jk) + tmask(ji+1,jj ,jk) ) 614 IF( ze3 /= 0._wp ) ze3f(ji,jj,jk) = zmsk / ze3 613 615 END DO 614 616 END DO
Note: See TracChangeset
for help on using the changeset viewer.